系列精選
查看全部工程師日誌
寫 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 設 session 上限?v2.1.212 三道保險絲的取捨
先分清楚:你是坐在旁邊,還是放它自己跑Claude Code 在 v2.1.212(2026-07-17)悄悄加了三個 session 級的資源上限。官方 changelog 講得很平淡,多數人滑過去大概也不會多想。但這三個開關的價值,完全取決於你怎麼用 Claude Code,所以在講該不該動它們之前,得先把使用情境切成兩種。 第一種,你坐在終端機前面,一句一句跟它對話,它每要動一次危險操作你都看得到。這種情況下,這三個上限你幾乎可以當它不存在。第二種,你把一個任務丟給它,關掉螢幕去睡覺,或乾脆掛在排程上每天自動跑。這種情況下,這三個數字就從「裝飾」變成「保險絲」。 我用電箱裡的保險絲來想這件事最順。保險絲不是拿來限制你用電的,你想開幾盞燈、吹不吹冷氣,它一概不管。它只在一種時刻起作用:電線快要走火、整間房子有燒起來的風險時,「啪」一聲把電切掉。這三個上限的角色一模一樣。平常你感覺不到它們,它們只在 agent 陷入某種失控迴圈、準備把你的 token 額度燒到見底的那一刻,跳出來把電閘拉下。 三根保險絲各自防的是什麼火先把三個開關擺出來,順便說清楚每一根防的是哪一種走火。它們...
AI 與科技新聞摘要 2026/07/20:產業的重量,正往少數幾個點集中
軍備競賽這個比喻,這禮拜開始有點不夠用了。如果只看標題,你會覺得又是一輪你追我趕:誰的模型分數高一點、誰的晶片快一點。但把這幾天的消息並排放著看,浮上來的其實是另一個字:集中。運算、模型能力、平台入口,正快速往少數幾個點聚攏。集中會讓整個系統跑得更快,也會讓它更怕單一個點出事。而有意思的是,同一批新聞裡,還藏著一股從反方向推回來的力量——開源。以下六則,就照這條線來看。 一、Kimi K3 登頂前端競技場,開源權重下週落地Moonshot AI(月之暗面)發表了 Kimi K3,一個 2.8 兆參數、支援 100 萬 token 上下文的稀疏 MoE 模型。它在 LMArena 的「前端程式競技場」以 1679 分登頂,據報壓過了 Claude Fable 5、GPT-5.6 Sol 與 GLM-5.2,開源權重預告在 07-27 釋出。DeepSeek 也預告 V4 穩定版將在 07-24 開源,兩波權重擠在同一週。 值得先踩一下煞車:這些名次多半來自廠商自報,獨立測試還指出 K3 的幻覺率升到約五成,權重公開前沒辦法完全驗證。所以「登頂」這件事,比較穩妥的讀法不是「它最強」,...
agent 是怎麼跑起來的:核心迴圈的四塊拼圖(AI Agent 架構全解析 2/8)
一張只會講話的嘴原始的模型呼叫,說穿了很無聊。你把一串訊息送進去,它吐一段文字回來,然後就沒了。你問它「台北今天要不要帶傘」,它可以回你一整段條理分明的「我得先查一下天氣預報、再看看降雨機率」,可是它連一次查詢都發不出去。它是一張很會講話的嘴,沒有手,也沒有記性。 上一篇把一台 agent 拆成兩半:model 負責推理和決策,harness 是包在模型呼叫外圍那一圈程式碼,負責遞工具、幫忙記事、必要時踩煞車。那篇講的是分工的觀念。這一篇要把手伸進去,看 harness 的心臟,也就是迴圈本身,到底怎麼一圈一圈轉起來。 我想先講一件容易被忽略的事:核心迴圈的四個零件,不是誰坐下來一次設計出來的。它是一個痛點逼出下一個零件,這樣累積出來的。看懂這個「一塊一塊長出來」的順序,比背下四個名詞有用得多。所以這篇的順序,跟著它們一個逼出一個的先後走。 先把四個名字報一下,等一下你會看到它們是怎麼接力出場的: 零件 它補上的能力 一句話類比 agent loop 反覆問模型「下一步做什麼」,直到收工 一顆會跳的心臟 tool runtime 把模型講的工具名字接到真正的程式碼...
越覺得自己分辨得出,越容易中招:AI 深偽詐騙時代該重設的信任判準
上禮拜滑臉書,張忠謀跟他太太出現在一支影片裡,笑得很慈祥,說要送書給有緣人,順便帶大家進一個「穩健佈局」的投資群組。畫面很清楚,嘴型對得上,連那個熟悉的溫和語調都在。留言區一堆人在問怎麼加入。 你會不會點? 先講事實:台積電早就發過聲明,張忠謀夫婦、魏哲家都沒有經營任何公開社群帳號,也沒辦過這種活動。那支影片是假的。可是它逼真到連留言區都在排隊。問題來了,真正該問的問題其實不是「這支影片做得多像」,而是你到底憑什麼決定要不要相信螢幕上的一張臉。 眼見為憑,第一次大規模失效人類幾萬年來最省成本的信任機制,就是「我親眼看到、親耳聽到」。它便宜、快、大部分時候夠用,所以我們的大腦把它設成了預設值:看到臉先信,聽到聲音先信,有懷疑再說。 deepfake 幹的事情,是第一次讓這個預設值大規模失靈。以前偽造一個名人站台要成本、要技術、要冒被抓的風險;現在生成一支假影片、複製一段聲音,幾分鐘、幾乎零成本。這裡有個很不對稱的東西:詐騙方的成本趨近於零,你的下行卻可能是畢生積蓄。 只要一件事的下行很大、上行有限,理性的做法就是別碰。你點進那個投資群組,最好的結果是「沒被騙」,也就是回到原點;最壞...
AI 與科技新聞摘要 — 2026/07/19(賭錯了,帳單寄給誰)
一個駭客,一份 2023 年的舊源碼,把 AI 音樂公司 Suno 的爬蟲清單攤在陽光底下:十一萬小時的 YouTube Music、Deezer、Genius,連 podcast 的 RSS 都沒放過。公司對外的說法一直是「訓練資料來自公開網路上的音樂檔」,源碼裡寫的,是另一回事。 我看這禮拜的新聞,腦子裡一直轉同一個問題。不是「誰的模型比較強」,是「這場豪賭要是賭錯了,痛的會是誰」。你會發現答案幾乎都一樣:不是按下按鈕的那個人。 一、Suno 被駭,爬蟲清單攤在陽光下404 Media 揭露了細節。駭客說他在 2025 年 11 月用一次供應鏈攻擊,拿到 Suno 一名員工的 GitHub 與雲端憑證,順著摸進源碼。裡面清清楚楚寫著要去哪裡抓資料:genius_hq、youtube_music、freesound、jamendo、deezer 一路列下去,光 YouTube Music 就標了十一萬小時,還特地去搜歌曲的 a cappella 版本,好把人聲軌拆出來訓練。順帶外洩的,還有幾十萬名付費用戶的 email、電話跟部分刷卡資料。Suno 的回應是這批是「已經沒在用的...
@RequestMapping 省掉的不是幾行 XML,是你腦子裡那張請求分派表
要讓 /users 這個網址對到一段處理程式,Servlet 時代你得先開一個 class 繼承 HttpServlet,覆寫 doGet,再翻到 web.xml 補上兩段 XML:一段 <servlet> 宣告這個 class,一段 <servlet-mapping> 把它綁到 /users。兩段分開寫,中間靠一個 <servlet-name> 字串對上。字串打錯,編譯器不會理你,Tomcat 起來之前你也不會知道,等到瀏覽器噴 404 才回頭找,原來是 mapping 裡的名字少打一個字。 同樣一件事,現在你只要在方法上面掛一行 @GetMapping("/users")。 大部分人講到這裡就結束了,結論是「註解比較簡潔,少打很多字」。這句話沒錯,但它把重點講小了。註解省下的不是那幾行 XML,是那張「哪個請求該交給哪段程式」的分派表本身。這張表以前存在你腦子裡,也散在每個 doGet 的 if-else 裡。現在它被搬走了。這篇就順著同一個動作,一段一段對照,看那張表是怎麼從你手上消失的。 掛一個網址上去,以前要動三個...
拆解 harness:AI Agent 的能動性到底從哪來(AI Agent 架構全解析 1/8)
先講結論:讓 agent 會「動」的,不是那顆模型你每天用的 ChatGPT、Claude,本質上是一次問、一次答:你丟一段文字進去,它吐一段文字出來,然後就結束了。它可以在回答裡「說」自己要去查資料、改檔案、寄信,但它一件也做不了——沒有手、沒有記憶、沒有權限。 那為什麼像 Claude Code 這種東西,可以真的打開你的 repo、改十幾個檔案、跑測試、看到紅字再回頭修? 答案不在模型身上,在模型外面那一圈程式碼。這圈程式碼有個名字,叫 harness(骨架、外層架構)。模型負責推理與決策;harness 負責給它工具、幫它記住狀態、在它闖禍前先攔一手。一句話:agent 的能動性,是 harness 給的,不是模型自帶的。 這是一個 8 篇的系列。我會帶你從最裡面那個小小的迴圈開始,一層一層把 harness 拆開,看清楚一個現代 AI agent 到底由哪些零件組成。這一篇是開篇導讀——先讓你看懂全貌,後面 7 篇再逐層鑽進去。內容全部來自一份很扎實的開源教材 hardness1020/awesome-agent-architecture,它把現代 agent 拆成 8...
在 Slack @Claude 就生出一個 PR:Claude Code in Slack 完整教學
你在 Slack 頻道打一句「@Claude 幫我把這個 timeout 的 bug 查一下」,然後回去喝咖啡。三分鐘後,thread 裡多了一個 PR 連結。 這中間發生了什麼?先別急著問它能拿來幹嘛。先看它收到你這句話之後,第一件事做什麼,把這條流程拆開,什麼時候該用、什麼時候不該用,答案自己會浮出來。 第一步:它先判斷你到底想幹嘛你 @Claude 的那句話進來,它做的第一件事不是動手寫 code,是分類。判斷你這句是要它「寫程式」,還是只是要它「聊聊、分析一下」。 管這件事的設定叫 Routing Mode,有兩種。Code only 很單純,不管你說什麼都當成 coding 任務丟給 Claude Code。Code + Chat 聰明一點,會自己分流:像在寫程式的丟去 Claude Code,像在問問題的就當一般對話回。萬一它判斷錯了,把你的 coding 需求當成閒聊,你可以按一個「Retry as Code」把它掰回來。 拿生活場景比喻,這就是公司前台。你進門,前台先問你「找工程部,還是諮詢櫃台?」,問對了,後面才不會把你帶錯地方。Routing Mode 就是在...
AI 與科技新聞摘要 20260718
同一個禮拜,一家公司靠著「市場終於相信它會賺到 AI 的錢」衝上全球市值第一,另一家只因為一個模型晚交了幾週,一天蒸發掉快兩千億美元。市場到底在為哪一種東西付錢? 答案比大家願意承認的難聽:付的是敘事,不是地基。敘事漲得快、崩得也快;真正抽不走的那部分,藏在沒人愛看的營收數字裡。這禮拜六條新聞,剛好把這條縫拉開給你看。 一、Apple 市值一度超車 Nvidia,重登全球第一07-17 盤中,Apple 股價衝到 332 美元附近,市值逼近 4.88 兆美元,一度壓過 Nvidia 的 4.84 兆,兩邊當天多次互換第一名,收盤 Nvidia 才小幅反超。Apple 今年以來漲了約 23%,市場對它的說法從「AI 落後者」翻成「AI 變現受益者」。 值得盯的不是誰第一,是這個位子換人坐的理由。Apple 這半年沒推出什麼驚天動地的模型,漲的是「敘事」,大家開始相信它能把 AI 塞進十幾億台裝置去收錢。股價領先於事實,這在多頭裡是常態。但要記得,靠敘事撐起來的領先,跟靠出貨撐起來的領先,是兩種東西。前者換個故事就會掉下來。(來源:CNBC) 二、Google Gemini 3.5 ...
graphify:在陌生 codebase 裡找東西,其實不是搜尋問題
在一個你沒寫過的 codebase 裡搞懂某個功能怎麼實作,這件事一直被當成搜尋問題。開 grep、打關鍵字、翻結果。但它其實不是搜尋問題,是一張圖的問題。 grep 一次只回答一件事:哪幾行出現了這個字串。可是你翻 codebase 的時候,腦子裡真正想知道的通常不是「這個字在哪」,是「這個函式被誰呼叫、它又呼叫了誰、我改它會炸到哪裡」。那是關係,不是字串。grep 看得到點,看不到線。 你其實一直在用腦袋拼一張圖回想一下上次接手別人的專案。你打開一個 controller,看到它注入了一個 service,跳過去;service 又依賴三個 repository,再跳過去;其中一個 repository 繼承了某個 base class,藏在另一個目錄。翻到第七個檔案的時候,前三個檔案的關係你已經記不清了,得往回捲。 你在做的事,是拿肉眼跟短期記憶,手動把一張依賴關係圖拼出來。拼得慢、還很容易漏。graphify 做的,就是把這張你本來要用腦拼的圖,先幫你建好。 它的做法不玄。用 tree-sitter 把大約 40 種語言的原始碼解析成 AST,從裡面抓出 import、呼...









