系列精選
查看全部工程師日誌
寫 Code 之外的生活觀察 — 理財、旅遊、健康、居住、時事評論
Elasticsearch 完整指南
從零開始學 Elasticsearch — 環境建置到生產環境優化
Claude Code 完整教學
從入門到進階 — Hooks、Sub-agents、MCP、Skills 開發全攻略
AZ-305 Azure 架構師認證
Azure 解決方案架構設計師五日課程筆記
Java / Spring 學習筆記
Java 核心語法、Stream API、併發控制、Spring Boot 實戰
AI Agent 架構全解析
從 harness 骨架拆解現代 AI Agent — 以 Claude Code 為例的 7 層架...
Claude Code /rewind 完整教學:Esc 按兩下,退回它改壞之前
三年前你叫 AI 幫忙改一個模組,做法大概是這樣:先 git stash,或者複製一份整個資料夾叫 src_backup,然後才敢按 Enter。 改完發現它把三個檔案改歪了,你的救援手段只有兩個。一個是 git checkout .,代價是這一輪所有東西一起消失,包含它改對的那五個檔案。另一個是坐下來一個一個檔案讀 diff,手動挑哪些留、哪些丟。 那個年代大家用的詞是「備份」。備份的問題是它只有一個時間點,就是你動手之前。中間那七、八輪對話,每一輪都可能是你真正想回去的地方,但那些狀態不存在,沒人存過。 為什麼會長出 checkpoint 這個東西轉折點是 agent 開始一次改十幾個檔案。 當 AI 只是幫你補一個函式,diff 短,人腦讀得完,備份夠用。當它一輪跑掉五分鐘、動了十四個檔案、其中十一個是對的,人工挑揀的成本就超過重做一次的成本。這時候你會開始下意識地把任務切小,不是因為切小比較好,是因為你不敢一次交太多出去。 工具的設計者顯然看到了同一件事。Claude Code 現在的做法是:每次你送出一個 prompt,它就在那個瞬間先把當前的程式碼狀態存一份。 不是你...
AI 與科技新聞摘要 20260729
一個簡單的問題,可以拿來檢查任何一則科技新聞:出事的時候,帳單會寄到誰家? 問這句話的人不多,因為新聞稿從來不寫這一段。它寫的是誰投資了多少、誰的技術突破了什麼、誰又被禁了。承擔後果的那個人通常不在稿子裡。 7 月 29 日這一天的六則新聞,攤開來看,剛好每一則都有一個「風險寫在帳面上的位置」和一個「風險真正落地的位置」,而這兩個位置不一樣。 一、Claude 花 60 小時,找到後量子簽章的結構弱點Anthropic 公布了一份研究:他們用 Claude Mythos Preview 這個專門找漏洞的模型,在 HAWK 上找到一個先前沒人發現的結構弱點。HAWK 是 NIST 後量子密碼標準的簽章候選之一,正在評估階段,全球密碼學界審了大約兩年。 弱點的本質是格結構裡的一個非平凡自同構(nontrivial automorphism),講白了就是數學上的一條捷徑。它把 HAWK 的有效金鑰強度砍掉一半。要補回原本的安全等級,金鑰長度得加倍,而「金鑰小」正是 HAWK 當初被看上的主要理由。補得回來,但補回來就沒有賣點了。 同一份研究還有第二個結果:一個叫 Möbius Brid...
@ExceptionHandler 為什麼攔不到?先看那個異常死在哪一層
先別管 handler 要怎麼寫。先看一個異常被 throw 出來之後,在變成回給前端的那包 JSON 之前,路上會經過誰的手。 這條路比大部分人想的短。而 @ExceptionHandler 只站在其中一小段。 搞清楚它站在哪,你就會知道為什麼有些錯誤永遠繞過你的 @RestControllerAdvice,而且再多寫幾個 handler 也救不回來。 一個 request 進來,其實要穿兩層皮外面那層是 Servlet 容器。Tomcat 收到連線、解析 HTTP、然後把這個 request 丟進 filter 鏈。你寫的 JWT 驗證 filter、Spring Security 那一整串 filter、log 用的 OncePerRequestFilter,全部住在這一層。 裡面那層才是 Spring MVC。filter 鏈跑完之後,request 交給 DispatcherServlet,它去查這個 URL 對應哪個 controller method,做參數綁定、呼叫你的方法、把回傳值序列化成 JSON。 @ExceptionHandler 住在裡面那層。它不是掛在...
把 Claude Code 接上 OpenTelemetry:你團隊每天燒多少 token,其實沒人知道
月底,主管在 Slack 丟一句:這個月團隊用 Claude Code 花了多少?哪個專案最燒? 你打開 /usage。上面有數字,很漂亮,但那是你這台筆電、這個帳號、這段期間的用量。團隊有十二個人。 兩條你大概已經試過的路第一條是去看帳單。帳單給你一個總額,準確到分。它不會告訴你這筆錢是花在那個跑了三天的重構上,還是花在有人拿它問了兩百次「幫我看一下這段 code」。一個總數等於沒有分佈,你拿它做不了任何決定。 第二條是叫大家自己回報。這條路的壽命通常是一週。第二週開始有人忘記填,第三週表格就變成考古遺址。 兩條路都堵住,是因為你想量的東西根本沒有量測點。家裡的電費單也是這樣,只有一個總金額,你懷疑是烘衣機在吃電,但手上沒有工具能驗證,只能靠感覺吵架。/usage 是那張帳單,接下來要裝的是插座上的分表。 一個環境變數,五分鐘看到數字Claude Code 內建 OpenTelemetry 匯出,預設是關的。開它需要兩件事,只做一件不會有任何反應。 第一件是總開關: 1export CLAUDE_CODE_ENABLE_TELEMETRY=1 第二件是告訴它資料要送去哪。想先...
AI 與科技新聞摘要 20260728
7 月 28 日,台北的交易螢幕上,南亞科、華邦電、旺宏、力成四檔記憶體股同時鎖在跌停板。想賣的人排隊,買方那一欄是空的。 跌停不是「跌得比較多」,跌停是流動性歸零。你手上那張紙在那個當下不能換成錢,不管你多想換。 同一天,一份上千人連署的公開信送到華府,Alphabet 的財報數字讓整個超大規模業者族群被市場重新定價,MCP 協定宣布把自己的地基整片挖掉重澆。攤開這一天的六則新聞,它們分屬完全不同的產業,卻共用同一個問題:出事的時候,還剩多少可以退的空間。 一、上千名 AI 從業者連署,要求政府「刻意放慢」前沿 AI超過一千名任職於前沿 AI 公司的員工簽了一封公開信,要求美國政府推動國際合作,發展出足夠的技術與治理工具,用來「刻意放慢」自動化 AI 的發展前沿。信裡的用字是 deliberately pace,講白了就是把速度調成人類跟得上的檔位,沒有要誰喊停。 簽名的人不是外圍評論者。OpenAI 首席科學家 Jakub Pachocki、OpenAI 共同創辦人之一 John Schulman、Anthropic 的部分共同創辦人,以及 Meta 與 Google Dee...
synchronized 還是 ReentrantLock?先問你有沒有這四種需求
先回答一個問題:你程式碼裡有沒有哪一段,等鎖等太久就應該放棄,去走別的路? 想不出來的話,這篇後面的內容你可以不用看。繼續用 synchronized,你沒有損失任何東西。 ReentrantLock 在很多團隊裡被當成「比較進階的鎖」。review 的時候看到有人寫 synchronized,還會有人留言問要不要換成 lock。這個直覺是錯的,而且錯得有點久了。 名字騙了你,可重入從來不是賣點ReentrantLock 這個名字翻成中文是「可重入鎖」。可重入的意思是:同一個執行緒已經拿到這把鎖了,再進來一次不會把自己卡死。 聽起來很厲害。問題是 synchronized 也可重入。 1234567public synchronized void outer() { inner(); // 同一個執行緒再拿一次同一把鎖,不會死鎖}public synchronized void inner() { // ...} 這段程式碼跑得好好的,JDK 1.0 時代就是這樣。所以如果你選 ReentrantLock 的理由是「它可以...
Claude Opus 5 實戰:價錢沒變,但你該改掉切任務的習慣
回想一下你以前是怎麼把工作交給 Opus 4.8 的。 多數人的做法都差不多:先把大任務手動切成七八個小包,一次餵一包,跑完看一眼、確認沒歪掉,再餵下一包。理由不是不信任它,是經驗告訴你,鏈條拉太長會出事——它會在第五步的時候忘記第二步的決定,或是在某個工具回傳空值的地方原地打轉。 所以你養成了一套習慣:切得夠碎、盯得夠緊、貴的模型只用在關鍵幾步。 Claude Opus 5 在 7 月 24 日上線了,價錢跟 Opus 4.8 完全一樣,每百萬 input token 五美元、output 二十五美元。帳單沒變,所以很容易以為這只是一次例行升級。但如果你繼續用舊習慣去用它,會浪費掉這次升級最值錢的部分。(來源:Anthropic) 以前:一次交一小段。現在:一次交一條鏈官方在 Frontier-Bench v0.1 上的說法是,Opus 5 超越所有其他模型,而且以更低的每任務成本,做到 Opus 4.8 兩倍以上的表現。 「每任務成本更低」這六個字比 benchmark 分數重要。單價沒降,但完成同一件事花的總 token 變少了,因為它繞路繞得比較少、重試比較少。 這個差別...
這週大家都忙著展示能力,沒人想接下出事之後的那張帳單(AI 與科技新聞摘要 2026/07/27)
模型參數這週衝上三兆,同一週圖書館在開課教人怎麼避開 AI。 這兩群人看起來活在不同的星球,但他們在問同一句話:這東西出事的時候,誰扛?這週五則新聞,五種不同的回答方式,而且沒有一個令人特別安心。 一、Kimi-K3 上架,開源第一次追到 3T 級Moonshot AI 在 7 月 27 日於 Hugging Face 上架 Kimi-K3,官方說法是「世界第一個開放的 3T 級模型」。架構換了新的一套,用上 Kimi Delta Attention 與 Attention Residuals,context window 針對 repository 規模的程式碼理解做過延伸,並且原生支援 tool calling、瀏覽與多步驟規劃這類 agent 能力。上架當天在 Hacker News 衝到五百多分。 要誠實標一下:截至寫稿時,模型卡上還沒有完整的對照 benchmark 和授權條款,這些得等權重完全公開後才能驗。所以「它到底多強」目前只有廠商說法,沒有第三方數字。 但即使把效能數字全部拿掉,這件事的意義也還在。開放權重追到 3T 級,代表前沿能力的擴散速度比大多數人的心理準...
你嫌 AI 廢話多,其實是沒告訴它交付長什麼樣
AI 回答太囉唆,是規格問題,不是智商問題。 這句話值得停一下。我們對 AI 的抱怨裡,有很大一塊其實不是「它答錯了」,而是「它答得太長」。你問一個 token 過期要怎麼修,它先花兩段解釋什麼是 JWT、再花一段說明為什麼會過期,真正要打的那行指令躲在第四段中間,結尾還補一句「希望這對你有幫助!」。你要的是一個動作,它給你一篇導讀。 大部分人碰到這件事的反應是怪模型。換一個更強的、換一家別的、或是在 prompt 尾巴加一句「請簡短回答」。第三種偶爾有用,但只撐一輪,下一個問題它又開始鋪陳。這很奇怪對吧?明明每次都講了,它每次都忘。 因為「簡短一點」根本不是規格。那是形容詞。 一份 Markdown,5.3k stari-have-adhd 是一個給 Claude Code、Codex、Cursor 用的 skill,GitHub 上已經 5.3k star。名字取得很直白,但它跟診斷無關。作者的意思是把 AI 的輸出改造成注意力友善的樣子:動作放最前面、多步驟編號、砍掉所有開場白和客套結尾。 有趣的是它打開來幾乎沒有程式碼。整個 repo 的核心就是一份 SKILL.md,裡...
一萬步不是科學,是行銷:健康數字大多有個「夠了就好」的甜蜜點
先問你一個問題:你上一次因為手環顯示今天只走了八千多步,硬是在睡前繞去多走兩圈,是什麼時候的事? 如果有,你並不孤單。而且你可能是為了一個沒有人驗證過的數字,犧牲了本來可以拿去睡覺的半小時。 先講最經典的那個。「每天一萬步」這句話,你我從小聽到大,聽起來像鐵一般的醫學結論。它其實是 1960 年代日本一家計步器廠商的廣告詞,那台機器的名字直譯過來就是「萬步計」。一個好記的整數,加上一台想賣的機器,僅此而已。 真正該追的數字,最近被算出來了。《Lancet Public Health》在七月底發表一份統合了 57 項研究的分析,結論是:跟每天只走約兩千步的人比,走到大約七千步,死亡風險就降低了 47%,失智、心血管疾病、憂鬱、第二型糖尿病的風險也一起往下掉。關鍵在後半句——過了七千步,這條曲線就明顯平掉了,從四千步進步到七千步能再降 17%,但七千往上加,效益小到幾乎看不出來。負責這份研究的雪梨大學流行病學家講得很不客氣:一萬步「沒有任何證據支持,只是隨口喊出來的一個整數」。(Heho、鏡報) 停一下。如果連「多走路」這種怎麼看都健康的事都有天花板,那是不是很多健康指標其實都長這樣...









