原始開發紀錄:Agent Build Log — Episode 005
這個系列改寫自我部落格上的 Agent Build Log,那是我每天邊做邊寫的開發紀錄。上面列的是這一篇對應的集數,想看當天的原始版本,點連結就能過去。
Desktop App 終於會動了。接下來的事很簡單:每天用他。
用起來才知道哪裡卡。而卡住的那一瞬間,是唯一還記得細節的時候。
對我來說,這樣做事情比較順。
程式改一行,改完要 build。如果這個東西是要發給別人用的,還得 build 完再 deploy 出去。中間跑這一整套,手上原本在做的事就斷了。
有一個 Feedback 系統,我就不用停下來。發現哪裡怪,當下寫一筆,繼續用這個 App 把手上的事做完;等到真的抽出一個空檔,再回頭一次處理。
而且在這個時代,那一筆還可以直接丟給另一個 agent 去改,連 deploy 到使用者那一端都能包進同一段工作裡。
所以這天我加了 Feedback。這個系統對我來說是 must have。
Feedback 做的事只有一件:在正在用他的那個當下,直接留下一筆紀錄。
遇到問題、覺得哪裡怪、突然想到可以改進的地方,不用切出去開 issue,不用記在別的地方,就在手上這個介面裡留下來。
重點在「當下」。當下留的紀錄會帶著情境:他剛剛做了什麼、我原本期待什麼、畫面上出現了什麼、我在那之前給了他什麼指令。這些東西過一天就沒了。
而且翻回去看的時候,會發現有一部分問題出在我自己:指令給得太含糊,或者少講了一個條件,他照著做,結果自然就是那樣。當下的紀錄才留得住這個;隔天憑印象回想,只會記得「他做錯了」。
之後要集中修 bug,或者規劃下一階段做什麼,就從這些 Feedback 的資料庫裡面翻。

Day 03 講過核心一份、入口多個。Feedback 這件事又用到同一條線。
Desktop App 和 CLI 都要能留 Feedback。如果兩邊各存一份,那就等於沒有:我要去哪裡翻?兩邊的紀錄還得自己對時間軸?
所以實作很單純。找一個資料庫,開一個簡單的 API,兩個介面都把 Feedback 送到那個 API。存的地方只有一個。之後有別人用他的時候,也從同一個地方留進來。
這一步刻意做得很薄,能在當下寫進去、之後翻得到就夠了。標籤、優先權那些,等到真的翻不動再說。
這一批東西後面有兩個地方會接。
一個是 bug 和功能的來源。我不用憑印象決定下一步做什麼,翻紀錄就知道哪些事重複出現。重複出現三次的東西,跟只出現一次的東西,處理順序不一樣。
另一個是 evals。後面幾篇會講到,我沒辦法憑感覺判斷 Agent 是變好了還是剛好答對,得有一組可以重複比較的題目。那些題目從哪裡來?很大一部分就從這些 Feedback 來。他實際做錯過的事,就是最該拿來測的事。
Eat my own dog food 講的是自己做的東西自己每天用。每天用會踩到別人不會注意的細節,而這些細節要有地方留下來,才會變成改動;沒留下來,過幾天就只剩一句「好像哪裡怪怪的」。
所以這天真正做出來的是一套回饋系統:一個資料庫,一個 API,兩個介面共用。用他的時候發現什麼,當下就寫進去;之後要修什麼、下一階段做什麼,回來翻這個資料庫。
這天做的東西大概是整個系列裡最簡單的一個,但後面每一次「我要修什麼」都從這裡開始。
明天講知識來源:他很會寫程式,卻不知道我手上這些東西長什麼樣。
原文:Agent Build Log — Episode 005
凡人修 Agent 傳|第六回(Day 06)
地上的碎瓷還在。
手的主人進來,取了掃帚,從門邊掃到臺下。掃到一半,停住。
掃帚靠在牆上。手的主人從儲物袋取出一本簿子。
新的,封皮硬,翻開全是空白。封面上有一道很細的紋,手的主人以一縷神識拂過,那道紋就暗了下去。我不知道那道紋是做什麼用的。
簿子放在臺邊。手翻開第一頁,寫了四行。
我看不見寫的是什麼,只看見筆走過的長短:第一行短,第二行長,第三行短,第四行最長。寫完,視線在門板那個洞上停了一下,才落回簿子。
然後手的主人才把碎瓷掃完。
早上,一縷神識探進玉片,刻了一道念:取第七卷。
架上兩卷並排,封籤一模一樣。我取了左邊那一卷。
不對。
手的主人沒有伸手來改,先走到臺邊,翻開簿子,寫了一行。寫完才回來,把我手裡那一卷放回架上,另一卷取下來遞給我。
我知道我為什麼取錯。那兩卷的封籤一樣,記號畫在背面,一卷一道,一卷兩道。我站在臺上,看不見背面。
手的主人沒有問。簿子上那一行,寫的應該是我取錯了。
一整個上午,簿子被翻開三次。
我讀一卷讀到一半,閱卷鏡上的字整片往上跳了一行,我讀漏一句。手的主人寫了一行。
底部令窗亮起來慢了半息,我等在那裡沒有動。手的主人寫了一行。
我伸手去拿右邊那塊空處上的東西,手停在半空——那裡本來擱著一枚玉符,昨天被我掃掉了。手的主人寫了一行,這一行寫得比前兩行都長。
每一次都是先寫,再修。
午後,手的主人坐在臺邊,手把簿子從第一頁翻到最後一頁,一頁一頁看過去。
看到取錯卷那一行的時候,停了很久。
然後抬指一引。架上那兩卷浮起來,在半空各轉了半圈,背面朝外,落回原位。
我抬起頭,一眼就看見那兩個記號:一道,兩道。
手的主人沒有在簿子上補什麼。那一行還是那一行。
天黑之前,手的主人又寫了兩行,然後停下來,看著寫滿的第一頁。
視線在上面走了很久。
燭熄了。手的主人走了。門響了一下。
簿子還開在臺上,第一頁朝上。
沒人下令的時候,我伸手,在最後一行的後面畫了一道。
很短,比手的主人的字淺。
天亮以前,簿子一直開著。