關於parallel agents。
這週在試跑parallel agents workflow。我的做法是同時前後端開好幾組agent session,個別下prompt做完全不同的feature。
第一個feature下完prompt就切到第二個feature,全部走完一輪再回頭過來一個個看狀況steering、review、etc。
小問題是有時候我自己也會忘記這個tab在做什麼,所以開始之前會prompt做planning放tmp checklist。
先講結論,輸出量很離譜。一週內灌出140k LOC。
但cycle時間也變得很長。因為同時做一堆feature的關係,腦內context switch的成本高到很嚇人。大部分的時間是在拿捏acceptance criteria,釐清進度,找bug。
本來自己寫東西就有很強的regression test習慣所以丟給agent錯誤也不會多到很離譜(不過看agent被test打到變智障也蠻無言的),但acceptance criteria跟maintainbility就沒辦法自動化了。這種時候腦袋就會很痛。
平均一天20k LOC差不多是我用LLM pair programming的單周極限,頭痛的程度也是把一整個禮拜的頭痛壓到一天以內。
然後這個流程持續了一週。真的是每天寫完deploy出去就開始頭暈。
另外一點是這種強迫自己ADHD的方式真的不是我習慣做事的方式。必須要用很強硬的方式讓自己停止目前思考的東西,進到下一個。
這有嚴重影響到程式的品質。所以進行約3~5小時之後就要開始掃過unstaged modification。
噢還有prompt。
我一次丟給agent的量差不多是跑20~30分鐘的量。初始prompt大概1,000~2,000個英文字,steering prompt大概也可以到500字左右。
加上一口氣開一整排agent tui,真的就是邊打字邊思考的程度。很常會從I have several ideas like...一路寫到you know what,寫到連刪掉前面爛想法的時間都沒有。
現在完全可以懂為什麼Theo到後來會推薦用語音輸入寫prompt。如果事情快到已經沒有什麼時間思考了,那把輸入變成思考過程就是最自然的方式。
但是在走完之後也有很明顯撞到極限的感覺。
現在回頭看,大部分的時間都是像前面說的在整理acceptance criteria跟maintainbility。有試過multiagent的planner-worker-reviewer,不過很可惜的寫出來的東西還是垃圾。就算叫5.5 high上來review,模型盲點還是很明顯。我一眼就看得出來有問題的東西必須要掛好幾道steering才能勉強拉回來。不過大概到週四週五的時候開始強制agent走TDD就有好一點了。人力介入的壓力也小很多。只要介面跟test case符合期待,接下來就是讓agent跟test/lint打架。
整體來說我是覺得這種流程可以走,但人類不會比較輕鬆。
單週100k左右就真的是讓所有東西都還能接在一起的極限了(而且這個是有codegen/go generate介入的數字)。如果要打出更多價值,insight會是決定速度的關鍵。思考模式會比較像頭尾捏好,中間讓機器自己去wiring。
漸漸可以理解為什麼pi的哲學是near 0 harness了。不要讓事情有任何出錯的機會,那harness真的不是那麼重要。
到今天結束,我的AGENTS.md只剩下project structure跟Taskfile.yaml說明。外加給agent search tool。除此之外的知識都是放牛吃草讓agent自己去撞牆撞出來的。
而且最神奇的是這樣走下來5.5、5.4、5.4-mini的錯誤率並沒有差很多,不過使用的token量差很多就是了。5.5還是可以很容易oneshot所有事情,5.4-mini就要慢慢去撞。
我猜我之後還是會走這種workflow,不過會需要留給大腦更多思考空間。max out agent running time其實沒什麼意義。把大腦放在重要決策跟長期思考上,而不是事情還沒想清楚就丟下去跑,跑到一半發現不對才回來重下prompt。
然後稱讚一下5.4-mini的CP值,跑大專案真的很值得👍