系列精選
查看全部Claude Code 背景 Bash 完整教學 — 讓 dev server 在背景跑,AI 邊寫程式邊盯 log
你叫 Claude 跑 npm run dev,畫面上那行 log 開始滾,然後就停住了。你打字,沒反應。它不是當機,它是在乖乖等這個指令跑完。可是 dev server 根本不會跑完。這一等,就是無限久。 卡住的那一秒,Claude 其實正在做一件很具體的事。搞懂那件事,解法就自己浮出來了。 對話卡住的那一秒,Claude 在等什麼Claude 跑指令的預設方式是同步的。一次工具呼叫,等於開一個 shell、把指令丟進去、站在那裡等它吐完所有輸出、拿到 exit code,這一整包收回來,這一回合才算結束。 對一個三秒跑完的 ls 來說,完全沒差。你根本感覺不到那三秒。 但 dev server 不一樣。vite、jest --watch、docker compose up 這種東西的設計就是不結束。它要一直活著監聽埠、一直重編譯、一直等下一個 request。於是那個「等它結束」的動作永遠等不到,整個對話就跟著凍在那一格。 Claude 沒壞。它只是被綁在一個永遠不會結束的指令上,動不了。 背景執行做的事:把電話改成簡訊想像同步就是講電話:你得等對方講完、掛掉,你才能做下一件...
AI 與科技新聞摘要 2026/07/16:效率的另一面,是那筆沒人想付的保險費
打開螢幕,五到十個 AI agent 各自在跑,你的工作變成盯著它們別闖禍。這是 Coinbase 工程師現在的日常,也是這一週好幾則新聞底下藏著的同一個動作:把能砍的都砍掉,只留最省的那一條路。砍掉的是成本、是人力、是那些看起來多此一舉的手續。被一起砍掉的,往往是平常沒人感謝、出事時卻能救你一命的備援。省下來很爽,直到不該省的那一天。 一、Coinbase 九成五的程式碼交給 AI,但有一塊他們死都不放手Coinbase 平台負責人 Rob Witoff 給了 Cointelegraph 一個數字:公司現在 95% 到 100% 的程式碼,是 AI 寫的、或跟 AI 一起寫的。今年二月這比例還只有 40%,幾個月就翻上來。幾乎每個員工每天都在用 AI,多數工程師手上同時開著五到十個 agent,加起來做掉了大約 1,200 個人的工作量。代價也很直接,五月裁了 700 人,初階職缺被砍得最兇。 真正值得盯的不是那 95%,是他們死都不肯交給 AI 的那一小塊:核心密碼學。這部分照舊由頂尖密碼學家一行一行看過。因為那裡一旦出錯,下行是無底洞,一行寫壞,整個錢包就空了。這其實是一張...
@Transactional 明明加了,資料為什麼還是沒 rollback
某個週一早上,客服丟來一張截圖:一筆訂單,扣款成功,庫存卻沒扣。你點開資料庫,付款紀錄乖乖躺在那,庫存數量原封不動。這兩件事應該綁在同一個交易裡,要嘛一起成功,要嘛一起失敗,怎麼會變成一半一半。 你翻開那段 service,@Transactional 就大剌剌地掛在方法上。加了。你甚至還記得當初 review 的時候特別確認過。 這就是 @Transactional 最陰險的地方。NullPointerException 至少會當場炸給你看,逼你面對。這個註解失效卻是無聲的,等到資料對不起來、對帳表兜不攏,你才發現它從頭到尾根本沒作用。 反直覺的地方在這:@Transactional 真正的身份,是一個站在方法門口的代理人。你以為把註解貼上去,交易就自動包在方法外面了。實際上能不能包得住,全看這個代理人有沒有機會出手。多數失效的案例,不是代理人根本沒被叫到,就是被叫到了卻誤判情況。 想通這一層,接下來四個最常踩的坑,就會從「玄學」變成「意料之中」。 先搞懂那個代理人到底是誰Spring 在啟動時做了一件你八成沒留意的事。它拿到你寫的 service 之後,會偷偷在外面包一層,用...
Claude Code 的 /doctor:幫你的設定做一次全身體檢
打完 /doctor 按下 enter,畫面唰一下跳出十幾行帶顏色的檢查結果——綠的、黃的、紅的。大部分人瞄一眼「喔沒事」就關掉了。 但你有沒有想過,這短短一兩秒裡,它到底跑進你的電腦翻了哪些東西? 先別管它能幫你修什麼。先看它收到指令之後,第一件事去看哪裡——把這個黑盒一層一層打開,你才會知道那幾行綠黃紅到底在講什麼,也才知道什麼時候該認真看它。 它做的第一件事:搞清楚你這台是怎麼裝的/doctor 開場不看你的程式碼,先看你自己。你這個 Claude Code 是用 npm 全域裝的、本地裝的、還是原生安裝? 這像醫生問診第一句不是「哪裡痛」,而是「你平常怎麼過日子」。因為安裝方式決定了後面一整串事情:怎麼升級、權限怎麼管、更新頻道走哪條。用錯方式硬修,等於感冒吃錯藥。 緊接著它會做一件很多人沒注意的事——數一數你到底裝了幾個。你以為只有一個 Claude Code,結果 npm 全域一個、~/.claude/local 一個、Homebrew 又偷偷塞一個。這就像家裡三支長得一模一樣的遙控器,你手上按的那支到底控哪台電視,自己都說不準。/doctor 會把它們全列出來,然後...
AI 與科技新聞摘要 2026/07/15:該追的訊號與看過就好的噪音
這一週的 AI 新聞,真正值得你停下來想的,不是又有誰家的模型刷新了跑分。跑分每個月都在破,破了再破,那是背景噪音。值得追的是另一種訊號:一家公司開始把錢砸在「看起來不賺」的地方,或者一個政府第一次對某一類 AI 出手管制。前者透露它賭的是哪個未來,後者劃出一條以後大家都得繞開的紅線。用這個標準掃過這幾天的新聞,下面六則通過了篩選。 一、Claude for Teachers:免費,但真正的賣點是那句「資料不進訓練集」Anthropic 開放通過驗證的美國 K-12 教師免費使用進階版 Claude,附帶對齊全美 50 州課綱的教材連結,還找了美國教師聯盟一起訂隱私標準,先在底特律的公立學區試辦。 免費不是重點,教育產品搶市場向來靠免費開路。重點是它白紙黑字承諾「學生資料不用於模型訓練」,並比照 FERPA 的規格去簽資料處理附約。這是一步下行有限、上行很大的棋:短期它一毛錢收不到,但它換來的是把「AI 進校園等於學生資料被吃乾抹淨」這個最大的家長恐懼提前拆掉。誰先在信任這件事上立好規矩,誰就拿到往後十年教育市場的門票。這種投資帳面上不好看,卻是最划算的一種。來源:Anthrop...
synchronized 的二十年升級史:一把鎖怎麼從龜速變到幾乎零成本
2006 年以前,Java 工程師圈子裡流傳一條沒寫下來的潛規則:能不用 synchronized 就別用。不是它不安全,是它慢得讓人心痛。那個年代要在一段程式碼外面掛一把 synchronized,代價幾乎等於「每次都去敲作業系統的門」。 想像一下這個畫面。你在公司要用會議室,規定是:不管有沒有人跟你搶,每次都得先打電話給總機登記、等總機回你一個號碼,用完再打一次電話銷號。就算整層樓只有你一個人上班,這通電話也躲不掉。早期的 synchronized 就是這樣運作的——它背後直接綁著作業系統的互斥量(mutex)。執行緒一旦拿不到鎖,就得從使用者態切進核心態,被掛起、然後等別人放鎖時再被喚醒。 這個「切一趟核心態」的動作有多貴?一次執行緒的掛起與喚醒,成本大概落在一到數微秒之間。聽起來很短,但對 CPU 來說,一微秒可以跑掉好幾千條指令。你只是想保護一個小小的計數器加一,結果光是搶鎖的手續費就燒掉幾千條指令的預算。這就是為什麼那條潛規則會存在。 大家是怎麼繞過去的既然正門這麼貴,工程師就開始找旁門。JDK 5 那年,Doug Lea 把他寫的併發工具包正式收進標準函式庫,也就是...
AI 與科技新聞摘要 20260714
這一週最值錢的新聞,沒有一則是關於哪個模型又刷新了跑分。真正在圈子裡被反覆轉發的,全是「誰依賴誰、誰能被誰一夜切斷」這種事。表面上大家在看熱鬧——蘋果告 OpenAI、阿里封殺 Claude Code、Google 下週要放大招——但底層其實在問同一件難堪的事:你手上這套 AI,是你自己的,還是租來的?租來的東西,房東隨時能收回。 一、蘋果控告 OpenAI 竊取營業秘密,一場口水戰底下的真問題蘋果向 OpenAI 提起營業秘密訴訟,導火線是 OpenAI 這段時間挖走逾 400 名前蘋果員工,其中不少人來自 M 系列晶片架構團隊,還有已經喊停的自駕車專案。Elon Musk 在 X 上煽風點火順便挖苦一番,Sam Altman 回擊,整個週末的話題被這齣戲主導。 熱鬧歸熱鬧,真正該盯的重點跟誰挖了誰的人無關。這件事戳破了一個很多人裝作沒看見的事實:OpenAI 在消費端最粗的一條命脈,是它跟 iOS 的整合。今天蘋果只要在談判桌上動一下——限制整合、換一家預設 AI 夥伴——ChatGPT 在幾億支手機上的位置就會鬆動。這叫下行很大、上行有限:整合順利,OpenAI 賺的是本來...
Prompt Caching:讓 Claude 別再重讀同一份文件
那天在調一個客服問答的小工具。一份 48 頁的產品手冊塞進 system prompt,使用者每問一句,我就把整包手冊加問題丟給 API。功能是會動,但兩件事很快就不對勁。 第一,帳單。同一份手冊,一天被重複送進去幾百次,每次都照全額計費。第二,延遲。使用者按下送出到看見第一個字,中間那三四秒的空白,長到讓人以為連線斷了。 我一開始的判斷是「模型太慢」。於是我做了兩件很直覺、但後來證明都搞錯方向的事。 先講我試錯的兩條路第一條路:把 prompt 縮短。我開始刪手冊,砍掉我覺得「應該用不到」的章節。結果呢?使用者一問到被我砍掉的那段,答案就開始亂編。原來那些內容全都有用,只是我沒本事判斷哪句話哪天會被問到。刪 prompt 等於賭運氣,而且我一定賭輸。 第二條路:換小模型。想說便宜的模型跑得快、算得省。但手冊本身沒變短,該讀的 token 一個都沒少,小模型只是讀得更吃力、答得更心虛。延遲沒改善多少,準確率倒是先掉了。 繞了一大圈才發現,我盯錯了地方。真正貴的、真正慢的,不是「模型思考」這一步,是「每次都把那 48 頁重新算一遍」這一步。 打個比方。你去便利商店影印一份 48 頁...
用小 skill 換掉大框架:mattpocock/skills 給真工程師的紀律工具箱
要讓一個 coding agent 守規矩,過去大家的做法出奇一致:找一套大框架來接管整條開發流程。GSD、BMAD、Spec-Kit 這類工具賣的都是同一個承諾——你照它鋪好的軌道走,agent 就會乖乖先規劃、再實作、再驗收。聽起來很理想。真正用過的人都懂,麻煩藏在框架自己出包的那一天。 那種框架像一台看不到引擎蓋底下的自動駕駛車。順的時候很爽,一旦它把方向盤打歪,你連它為什麼這樣決定都讀不懂,更別說改。控制權早在你裝它的那一刻就交出去了。Matt Pocock 在 2026 年開源的 mattpocock/skills 就是衝著這件事來的,repo 標語嗆得很直接:Skills for real engineers,給真工程師用的,不是拿來 vibe coding。 它換了一個完全相反的思路。與其給你一台自動駕駛車,不如給你一盒工具,每支只做一件事,而且你隨時打得開來看裡面怎麼運作。這裡的「一支工具」就是一個 skill。講白一點,skill 就是一個 SKILL.md 檔:上半是 YAML 標頭寫 name 和 description,下半是 Markdown 內文,把「...
Claude Code 的 /compact:對話變慢變鈍前,先搞懂壓縮到底在丟什麼
你按下 /compact,終端機閃過一行「Conversation compacted」,然後畫面就乾淨了。它到底把你剛才那一小時的來回怎麼了?先別急著知道「什麼時候該用」,我們從更底層問起:這個指令按下去的那一瞬間,機器裡發生了什麼事。搞懂這件事,你自己就會推出該按的時機,不用背。 先搞清楚 context 是什麼想像模型每次要回你話之前,都得先把整張桌子上的紙全部重讀一遍。這張桌子就是 context——它上面攤著你打的每一句話、它讀過的每一份檔案、它自己講過的每一段回覆,還有一堆你根本沒看到的東西:系統提示、專案根目錄的 CLAUDE.md、它給自己的筆記。這些全部加起來,就是模型當下「記得」的全部。 關鍵在於,模型沒有你想像中那種「長期記憶」。它不會把昨天的事存進腦子裡,它每一輪都是把整張桌子重讀一次,才知道現在在幹嘛。所以桌子上的紙,就是它的全部世界。 為什麼桌子會滿問題來了:這張桌子有邊界。Claude Code 目前一次能攤開大約 20 萬個 token(查文件的,沒逐一實測),聽起來很多,但它消耗得比你想像快。你叫它讀一支三百行的檔案,一疊紙上桌了;跑一次測試,輸...









