收拾 AI 编程代理制造的面条代码并削减 Token 费用
TuBrief Editorial
August 12, 2026
0
Computing/SoftwareWritten with AI assistance from the source video. The video is the authority.
More from the community
Comments (0)
Log in to leave a comment
No posts yet
Written with AI assistance from the source video. The video is the authority.
Log in to leave a comment
No posts yet
把编程交给代理后,代码暴增到数百万行,API 使用费也迎来了账单炸弹。这篇文章讲述的就是如何收拾这个烂摊子。
代理陷入死循环所拍摄的重复代码可以在 30 分钟内删掉。使用 knip 和 jscpd 即可。
在项目根目录下创建一个 knip.json 并写明入口点。在终端中输入 npx knip,找出代理使用后丢弃的幽灵包。接着运行 npx jscpd ./src -t 1,挑出通过复制粘贴增加的重复函数块。
在 158 个文件规模的单体仓库中,可以一次性清理掉不需要的代码。然后打开 biome.json,开启 noUnusedVariables 规则,防止死代码再次流入。
每次把全部代码丢给代理,Token 就会蒸发。必须应用 Aider 风格的 Repo-Map 结构,只隔离当前正在处理的文件。
加上 --map-tokens 1024 选项,即使在拥有 1,000 多个文件的项目中,用于摸清代码库结构的 Token 也能压制在 2,000 个以内。
如果想限制费用,LiteLLM Proxy 就是答案。配置好 litellm_config.yaml,并将每个会话的最大循环次数限制为 15 次。把费用上限设为 2.50 美元,代理一旦超出限额,代理服务器就会直接切断调用。
用马来语写再长的提示词也没用。必须先把会失败的单元测试代码丢给它,代理才不会胡乱操作。
根据 SWE-bench Verified 研究,采用预先注入单元测试用例的方法时,回归率从 6.08% 下降到了 1.82%,问题解决率从 24% 上升到了 32%。
先制作会失败的测试文件,然后指示代理只编写通过该测试的实现部分。
验证脚本也需要自动化。创建一个 local_verifier.sh 文件,并依次放入 npx tsc --noEmit、npx biome check ./src、npx vitest run 命令。哪怕代理硬说代码已经写完了,只要该脚本的退出代码不为 0,就阻止提交。
代理编写的代码以 Pull Request 为单位进行拆分,并由人工亲自审查。
检查修改的行数是否超过 200 行、package.json 中是否附加了奇怪的包、是否用 @ts-ignore 敷衍了事地掩盖错误。将 Husky 和 lint-staged 结合起来,就能在提交时直接拦截重复代码超过 2% 的情况。
拆分工作时按 3 个阶段进行。由顶层模型划分工作并创建 TODO.md。接着由性价比高的模型实现各个项目。最后由资深开发人员验证 Git diff。采用这种结构,比单靠一个前沿模型硬推能够节省 70% 以上的费用。