Day2 建立了一個心智模型:一個 coding agent 收到任務之後,會不斷重複「看現況、想下一步、動手做、看結果」這四站,直到任務做完為止。
這張地圖不是憑空畫出來的,它就是把那個迴圈攤開、放大,看看每一站上面實際掛了哪些可以拆解的元件。往後三十天,幾乎每一篇要講的東西,都能在這張地圖上找到自己的位置——今天先把整張圖攤開來看一次,之後每拆一個元件,你都會知道「喔,這個是掛在迴圈的哪一站上」。
迴圈第一站是「看現況」——模型每一輪開始前,會看到任務、歷史紀錄,還有專案本身給它的線索。這裡藏著幾個問題:
AGENTS.md/CLAUDE.md 這類檔案在做的事——把「這個專案該怎麼做事」寫成一份說明書,讓模型在動手之前先讀過。這一站決定了 agent 一開始站在什麼樣的起跑點上。起跑點對不對,很大程度決定了後面能不能做對。
第二站是模型判斷「現在該做什麼」的地方。這裡看不太到具體的「元件」,但看得到一些可以調整的旋鈕——比如模型願意花多少力氣想清楚再動手(也就是所謂的 thinking level),想得多不一定做得好,但通常會花更多成本,這中間的取捨是可以量出來的。
第三站是 agent 真正採取行動的地方,也是最直觀能感覺到「它在做事」的一站。這裡至少有三件事值得拆:
第四站是把結果看回去,然後回到第一站繼續下一輪。但如果任務很長,迴圈跑了很多輪,會出現一個麻煩:每一輪都要把「目前為止發生的所有事」重新整包送給模型看一次,這包東西會越滾越大。
太大會有什麼問題?成本會爆增,而且模型不見得記得住那麼多細節。所以勢必要有一套機制,決定哪些歷史可以精簡、哪些必須留著——這也是後面要拆的一塊。
前面四站講的是迴圈「跑起來」的樣子,但還有一層是跳出迴圈之外,回頭看整件事的:
這一層不屬於迴圈本身的任何一站,但它是讓整個系列站得住腳的地基——沒有這層,前面拆的每個元件都只是紙上談兵。
如果把三十天攤開來看,形狀其實很像一篇研究論文:先花幾天把問題講清楚,接著花一天把量測的工具搭起來,然後進入第一輪一邊拆元件、一邊量測的循環;中段會把量測工具再升級一次,讓它能量得更細,接著進入第二輪拆解與量測;最後幾天收斂成一份完整的結論與清單。
不用記住確切是哪幾天做什麼,只要知道大方向是「先立地基、再搭儀器、然後邊拆邊量、中途升級儀器、最後收斂」,接下來每一篇讀起來就會知道自己現在站在系列的哪個階段。
地圖有了,接下來一個自然的問題是:為什麼要用 Pi 這個工具,把上面這些元件一個一個拆開來看?Day4 會回答這個問題——答案的關鍵字是「極簡」,而極簡這件事,跟這系列能不能把每一個「為什麼」查清楚,關係比想像中更直接。