@mitchellh: 我的经验法则是,任何由AI代理生成的超过约1500行的diff都太大了,表明问题需要分解。
摘要
Mitchell Hashimoto 分享了使用AI代理的经验法则:超过1500行的diff意味着需要分解问题,并概述了一种使用代理生成代码进行迭代开发的模式。
查看缓存全文
缓存时间: 2026/06/16 21:42
我的经验法则是:智能体生成的代码差异若超过约1500行,就说明太大,需要拆解问题。以下是我目前在功能开发中常用的模式:
-
先尝试在松散引导下实现整个功能。我称这个提示为“画猫头鹰“(参考那个梗图)。预期结果可能很糟糕,但就是要先产出垃圾代码。
-
如果差异小于1500行,就正常审查并迭代。如果差异超过1500行,则提示智能体将问题拆解为原子化、增量、可审查的任务。同时,你自己也做这件事。
-
智能体常常会把这些任务定义得过于贴合它们自己解决问题的形状。你需要将其调整成正确的通用形式。动手做这件事。
-
启动新的智能体来处理这些增量任务(尽量并行)。对它们应用同样的规则。
-
到某个节点,重复“画猫头鹰“提示。最终你会得到低于你可审查阈值的代码。
这个模式一直在生成高质量、可维护、可审查的代码块,并且能很好地交接——要么直接合并,要么进行人工精炼。
而且,使用最新的前沿模型进行高深度思考时,这些过程都足够慢,通常你可以同时运行多个智能体,同时积极审查其他智能体的输出或处理你自己的任务。
人机协同(HITL)智能体仍然非常重要,尤其是功能开发。功能会触及UI、API等人类边界。全新的东西可能在架构中引入病态,破坏期望的不变量(这些应该在规范或测试中体现,但我们并不完美!)。
我知道很多前沿的智能体讨论集中在“循环“和智能体持续驱动智能体上。我也会做一些这类工作(后续再报告)。但就日常“把事情搞定“的工作类型而言,这是目前我最满意的模式。
相似文章
AI 编码代理需要“先计划后编辑”的工作流程?征求反馈
一种为 AI 编码代理提出的工作流程,强调在代码编辑之前进行头脑风暴和执行边界约束,寻求社区对其实用性的反馈。
AI代理重现了“rockstar developer”问题,只是速度更快
该文章将AI代理与“rockstar developers”进行对比,他们编写巧妙但难以维护的代码,指出AI代理缺乏对自己行为的记忆。它建议使用可见的约定,如AGENTS.md、ADRs和测试,以使AI代理生成的代码对团队来说易于理解。
2026年AI编程代理输出验证:查看差异、氛围检查再合并
关于当前AI编程代理输出验证实践的一点反思,指出开发者通常只是粗略查看差异就合并,而没有全面审计代理的会话活动,引发了对AI时代代码审查文化的担忧。
使用AI进行代码审查,尤其是在diff很大的情况下
文章认为,人类代码审阅者应使用AI来处理大型diff,并贡献其分布外知识和高级上下文。
@geoffreylitt: 热论:我认为理解我们的代理编写的代码仍然很重要!在这个超长帖子中(基于我的 A…
Geoffrey Litt 认为,开发者理解 AI 代理编写的代码仍然很重要,并分享了高效理解这类代码的想法。