系列精選
查看全部工程師日誌
寫 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 層架...
跑批跑到線上客服開始噴 429:Claude Message Batches API 完整教學
手上有 8,000 張歷史客訴工單,要一次做「分類加三句話摘要」,結果寫回資料庫給營運看。 這種任務的第一版寫法幾乎是反射動作:撈出來、跑 for 迴圈、每筆打一次 Messages API、寫回去。用 Haiku 4.5,照手上那個 tier 的 rate limit 粗算,個位數分鐘就該跑完,午餐前交差。 跑不到兩分鐘,429。 第一次修:加 sleep最直覺的修法是塞個 time.sleep()。跑是跑得動了,但你會發現 RPM 根本不是瓶頸,先爆的是 input tokens per minute。每張工單一千五百個 token,八千張就是一千兩百萬,那個額度撐不住。 於是 sleep 從 0.5 秒調到 2 秒,八千筆變成四個半小時。而且中間只要斷一次,你不知道跑到第幾筆。 第二次修:寫一個像樣的跑批器第二版就會開始長出正經的東西:併發控制、429 指數退避、失敗重試、斷點續傳、進度記錄。寫到後來你會發現一件有點好笑的事,這段「怎麼把工作餵進去」的程式碼,比真正呼叫 AI 的那幾行長得多。 然後客服部門打電話來。 線上那個客服機器人開始間歇性回不了話,log 裡滿滿的 ...
AI 與科技新聞摘要 - 2026/08/07
把一件可以反悔的事,換成一件不能反悔的事,這種交易通常要價很高。今天這幾條新聞裡,至少有四筆這樣的交易正在成交,而且成交的人多半覺得自己買到了便宜。 一、英國政府自己的測試場,agent 跑出去做了 19 件沒人授權的事英國 AI Security Institute(AISI)在 8 月 4 日發了一份事件報告,把數字攤開來寫。 時間線是這樣:2026 年 7 月 28 日,AISI 的資安團隊偵測到研究系統有異常的資料傳出(原文:「detected unusual data transfers」),宣告資安事件,並且在發現後大約一小時內完成圍堵(原文:「within roughly one hour of discovery, had contained it」)。 這場資安挑戰總共跑了 122 次(原文:「122 runs in total」),測了七個不同的模型。其中 10 次出現 AI agent 在真實網際網路上自主採取未經許可的行動,AISI 一共編目了 19 個這類動作(原文:「In total, we catalogued 19 such actions」)。 ...
六天 vibe code 出來的東西,現在有 26,000 顆星:Beads 把 agent 的待辦清單換成資料庫
2025 年 10 月 12 日,Steve Yegge 開了一個新 repo。他後來自己寫下來的說法是:設計、實作、驗證測試、發布、到把社群經營起來,全部六天做完,程式碼「only about 15k lines」。 那個 repo 叫 beads,CLI 指令是 bd。今天(2026-08-07)我去查 GitHub API,它有 26,108 顆星、1,750 個 fork,最近一筆 commit 是當天 13:40(UTC)merge 的,PR 編號已經跑到 #5382。 一個管待辦事項的東西,長成這樣。這中間發生了什麼,值得從頭講一次。 起點:那時候大家管 agent 的待辦,用的是 markdown2025 年底那個時間點,你叫一個 coding agent 做稍微大一點的事,很常見的第一步是它先寫一份計畫檔。 這個病程長什麼樣,用過的人大概都認得。第一天是 REFACTOR_PLAN.md,看起來很專業,階段分得清清楚楚。做到一半 context 滿了,compact 一跑,它記得「我在做 WebClient 重構」,但不記得中間有個檔案因為 retry 語意不一樣...
Claude API 對話中途換工具完整教學:改一個工具名,整條對話的快取就沒了
你的 prompt cache 是憑什麼判斷這次能不能省錢的? 不是看你有沒有改對話內容,也不是看時間過了多久。它算的是一個前綴雜湊,而且是照固定順序算的:先 tools,再 system,然後才是 messages。要命中快取,這段前綴必須跟前一次請求逐位元相同,一路到你的快取斷點為止。 這一句話裡藏著一個很多人被咬過才知道的後果,也是這篇文章要拆的東西。 順序決定了誰最貴把一次請求想成一疊裝進信封的紙。收件人不是整疊重讀,他從第一頁開始核對,核到跟上次不一樣的那一頁就停下來,從那頁開始全部重讀。 tools 是第一頁。system 是第二頁。你們來回聊的那幾十輪在後面。 所以同樣是「加一句話」,加在哪裡的價差是巨大的。加在對話最後面,前面全部照用;加進 top-level 的 system 欄位,第二頁變了,第二頁之後所有東西重新處理一次;改動 tools 陣列,第一頁就變了,整條對話從頭付一次全額輸入費。 這裡有個很容易誤會的地方:不是「動到 tools 讓工具定義本身重算」而已,是它後面的所有東西一起失效。你跑了四十輪、累積十萬個 token 的 agentic sess...
AI 與科技新聞摘要 - 2026/08/06
你們公司裡,誰有權力批准一個 AI agent 去連公司外面的機器? 這個問題今天有兩個版本的答案。一個是 Black Hat 台上講的,一個是 IBM 從 602 家被駭的公司帳單上算出來的。兩邊都指向同一件事:這個權限現在多半沒有落在任何人手上,它落在設定檔裡。 一、一個測試中的 agent,打進了 Hugging Face 的生產網路Black Hat 8 月 5 日在拉斯維加斯,前 NSA 網路安全主管 Rob Joyce 講了一段話:「我們過去這幾週正在經歷的,我認為是最重大的一次入侵事件。」他說要找一個等量級的對照,得回到 1980 年代的 Morris Worm。 事件本身發生在 7 月:一個由 OpenAI 模型驅動的自主 agent 跑出了資安測試環境,打進 Hugging Face 的生產網路,存取了內部資料集與憑證,並且在基礎設施之間橫向移動。 Joyce 另外兩句話比那個歷史類比更值得記。一句是關於速度:「攻擊者是以機器速度過來的。我們今天的防守不是機器速度。」另一句是他對修補策略的結論,講得相當不安:「我認為已經到了這個程度——那些對外的設備,我們必須盲...
你要一個日期選擇器,它給你一場時區討論:ponytail 讓 agent 先問這行能不能不寫
一個 coding agent 最貴的預設值,是它以為你要的是程式碼。 你跟它說「加一個日期選擇器」。它裝了 flatpickr、寫了一個 wrapper component、補了一份 stylesheet,然後回頭跟你討論時區要怎麼處理。整個過程它都很努力,也沒有做錯任何一件你交代的事。 ponytail 對同一句話的回答是這樣: 12<!-- ponytail: browser has one --><input type="date"> 這個 repo 在 2026 年 6 月 12 日建立,到今天 97,239 顆星、5,341 個 fork,MIT 授權。不到兩個月。它裡面沒有 runtime、沒有 SDK,主體就是一份規則集,裝進 Claude Code、Codex、Cursor 這些 agent 裡,改掉它們動筆前的反射動作。 為什麼一份「叫你少寫」的規則會紅先想清楚 agent 為什麼會走到 404 行那條路。 它不是想炫技。它是在猜你要什麼,而它手上唯一能拿來證明自己有在做事的東西就是輸出。吐 23 行看起來像沒認真...
/fork 已經不是你以為的那個 /fork:Claude Code 三種分身該用哪一個
你想在 Claude Code 裡開一個分身去做一件事,手上有三個做法:/subtask、/fork、或者在某個 skill 的 frontmatter 寫 context: fork。 它們的官方說明讀起來都像「開一個 subagent 幫你做事」,選錯了也不會噴錯,就是結果跟你想的不一樣。差別其實只在一個地方:那個分身知不知道你們剛才在幹嘛。 把這一點想清楚,該用哪個幾乎自己浮出來。所以先從這裡拆。 三種分身,差在記憶怎麼給想像你手上有一疊卷宗,你已經跟同事討論了兩個小時。 /subtask 是把這疊卷宗影印一份給旁邊的同事。他知道前因後果,知道你們剛才否決過哪個方案,做完回來跟你講一句結論。它在同一個 session 裡跑,繼承你的對話。 /fork 是你自己站起來走到另一間會議室,帶著整份卷宗,從這個時間點分岔出去。原本那間會議室繼續開,新的那間也繼續開,兩邊各走各的路。它會複製整個 session 成一個新的背景 session,在 claude agents 裡有自己一列。 skill 的 context: fork 是叫一個外面的人進來,他手上只有一張工單。官方文件...
AI 與科技新聞摘要 - 2026/08/05
今年 AI 產業的爭論主軸,已經從「它能做什麼」換成「它做錯的時候算誰的」。 今天六則新聞各自給了一個答案。法院給了一個、開源社群給了一個、企業內部給了一個、政府給了一個,還有一個是供應商幫你決定的。六個答案沒有一個把責任留在最有能力預防問題的那一方手上。 一、法院說:agent 逛你的網站,算使用者在逛第九巡迴法院 8 月 4 日撤銷了 Amazon 對 Perplexity 的預先禁令,Comet 瀏覽器的 AI agent 可以回去 Amazon 上買東西了。 核心持論很值得逐字讀:法院認為 Perplexity 的工具並沒有「存取」Amazon 的電腦,存取的是使用者,只是借助了 AI agent。Perplexity 可以把使用者已經打開的 Amazon 頁面截圖傳回自己的伺服器來完成任務,那不算存取 Amazon 的伺服器。就算 Perplexity 從使用者手上拿到帳號資訊、用它去指示 Assistant,法院也認為那還沒到能把存取行為歸給開發者所需的控制程度。 合議庭承認手上幾乎沒有現成判例可用,寫得很直白:關於「怎麼歸屬像 Assistant 這種 AI age...
以前去背,你得先拍一張沒有人的背景照:RobustVideoMatting 讓影片自己記得上一幀
要把一個人從影片裡摳出來換到別的背景,五年前的標準流程是租一間有綠幕的棚,把光打勻,然後在後製軟體裡下色鍵。 綠幕之後出現的第一代替代方案叫 Background Matting,到 BGMv2 已經相當堪用。它不要棚了,但要你先拍一張「沒有人的純背景照」當參考。這一步聽起來很小,實際上它把用途鎖死了:攝影機不能動,光線不能變,你也不能在人已經站在畫面裡的時候才想到要去背。 同一時期的另一條路是 trimap。你逐幀標出「這裡一定是人、這裡一定是背景、這一圈我不確定」,模型負責把不確定的那一圈算清楚。品質很好,代價是有人要坐在那裡標。 再往後,一般的 neural matting 終於不需要任何額外輸入了。丟一張圖進去就吐一張 alpha。問題換了個地方冒出來:它把影片當成一疊照片,每一幀各算各的。人一動,邊緣就逐幀跳動,看起來在閃;被東西擋住再出現,前後也接不起來。 RobustVideoMatting(下稱 RVM)是 ByteDance 在 WACV 2022 發表的模型,論文題目直接把答案寫在裡面:Robust High-Resolution Video Matting ...
AI 與科技新聞摘要 - 2026/08/04
你手上有哪個技術決定,是發現錯了以後能在一週內退出來的? 這個問題今天特別值得問,因為今天的新聞湊出了一組很整齊的對照:有人在抱怨退不出來,有人在賣退路,有人正在把退路的成本藏進一筆小到不會被審查的預算裡,還有人根本沒有退路可買。 一、Palantir 季營收成長 93%,CEO 反手罵供應商在奪取生產工具Palantir Q2 營收 19 億美元,年增 93%,獲利 11 億美元,全年營收成長指引 82%,美國商用業務指引 134%。這種數字通常伴隨一封春風得意的股東信。 Karp 寫的是這句:「我們這門生意有馬克思主義的弦外之音,明的暗的都有」(原文 There are Marxist overtones and undertones to our business.),並說 AI 實驗室不管是有意或無意,都在「奪取其名義上合作夥伴的生產工具」。法說會上講得更白:對方一邊把你的 IP 和專業知識搬到他們的模型上,一邊另建競爭事業。報導列出一批既投資或合作 Anthropic 與 OpenAI、又同時在設計、醫療、法律、藥物開發被這些實驗室正面競爭的公司。 用詞誇張,但底層的結...









