Day 09 - Coding Agent 為什麼選擇用字串替換來改 code?

高見龍系列文章:探討 coding agent 該整檔重寫還是用字串替換(old_string)的實作取捨。

• 本文探討在建構 Coding Agent 時,為何不採用整檔重寫或 Diff,而是選擇以字串替換(String Replacement)作為編輯檔案的核心手段。 • 整檔重寫雖然直覺,但會大幅增加 API 的 token 成本,且模型在重新生成時容易遺漏部分內容。 • 為了確保修改準確,字串替換必須遵守嚴格的唯一匹配(Unique Matching)原則,避免模型改錯位置。 • 在讀寫檔案時必須使用 bytes 模式,以防止 Python 自動轉換換行符號(如 與 )導致 Git 出現大量不必要的異動。 • 程式中應直接強制檢查並擋下空字串與相同內容等不合理的輸入,而不只是依賴模型的提示詞。

「這些檢查都會寫在工具程式裡而不是只放在 description 交代一句就算了。會造成實際損害、或是讓模型誤以為成功的問題就該由程式強制擋下來。」 • 目前的字串替換工具仍有侷限,例如不檢查新內容的語法正確性,未來可再補上自動備份與跑測試等機制。


來源:高見龍

閱讀原文 ↗
← 回首頁