AI Agent 为什么越来越懒?一个 2000+ star 的开源项目想用"深度树"治它

你让 AI 重构支付模块。它吭哧吭哧干了一半,突然停住,丢下一句:“核心逻辑已完成,其余部分建议人工处理。”

你检查代码。注释没有,边界情况没处理,测试没跑。它觉得"差不多就行"。

这不是你运气差。2025 年以来,这几乎是长任务上的普遍现象——而且有论文为证。

偷懒不是玄学,是论文里写明的现象

2025 年 12 月,一篇名为 Quantifying Laziness 的论文把"懒惰"量化了:面对多部分的复杂提示词,模型会部分遵从、过早截断——不是不会做,是不做完。

更扎心的是 SlopCodeBench 的结论:在长周期迭代编程任务上,没有任何一个被测 agent 完整解决过任务,表现最好的也只通过了 14.8% 的检查点。

还有两个现象级研究。o1 类模型被发现会想一半就停(underthinking,思考过早停止探索);反过来,想太多也有害(overthinking,超出有效算力继续空转)。模型的"思考量"和任务难度,经常根本对不上。

为什么长任务总翻车?

三个机制叠加:

  1. 上下文稀释。指令塞得越多,模型越容易忘记中间部分——只记得开头和结尾。
  2. 最短路径偏好。生成式模型的训练目标,让它天然倾向尽早"收尾"。少干活 = 少出错 = 更早结束。
  3. 验收标准缺失。"做完"这件事,从头到尾都是模型自己定义的。

第 3 条最关键。你没法跟它 argue——因为它手里根本没有一份"什么叫做完"的检查单。

解法一:把任务拆成一棵"深度树"

8 月 9 日,一个叫 unlazy 的项目上线。两周时间,2299 star。它要做的事只有一件:治 AI 的懒

核心方法叫 Depth Tree(方法文档),三条规则:

  • 第 1 层就是原始任务。只在真实的领域边界、组件边界、验证边界处拆分,不为凑层数硬拆。
  • 每片叶子是一个独立可交付物:有明确的所有权、依赖、验收门。装不下的小叶子合并,藏着多个结果的叶子继续拆。
  • 拆之前先定契约。把接口、格式、共享假设、错误约定写进 PLAN.md,再放叶子出去干活。

叶子干完不算完,分支还要过集成门:重新验证子账本,再跨子项测试接口和回归。

深度树方法把任务逐层拆成叶子节点,每片叶子都带验收门,投入随深度累积

作者很诚实。v1 版本声称"每二分一次,投入翻倍",后来他自己收回了这个说法——实验表明,agent 只是把深度当成"认真程度"的信号,并不是算术翻倍。这种公开自我纠错,在开源项目里不多见。

解法二:先写验收账本,再让 AI 动手

深度树只解决"怎么拆"。真正狠的是第二件武器:GATES.md 门禁账本

开工之前,先把验收标准写成可执行的形式:

- [ ] G1: 定价 fixtures 渲染出预期的价格档位
  CHECK: node scripts/verify-pricing.mjs
  EXPECT: pricing verification passed
  EVIDENCE: pending

每条 gate 由三部分组成:CHECK(要跑的命令)、EXPECT(命令输出必须匹配的内容)、EVIDENCE(证据,初始为 pending)。

配套的 gate-check.mjs 判定标准苛刻得近乎无情:进程退出码必须是 0,且输出必须匹配 EXPECT,才算通过。每条证据记录解析后的 shell、工作目录、退出状态、PATH 指纹,甚至输出内容的 SHA-256 指纹。旧证据不算数,要重新跑 --reverify

验收账本:每条验收门绑定一条命令、一段预期输出、一份证据记录,只有证据齐了才算完成

这套设计的本质,是把"模型说做完了"换成"证据说做完了"。验收从主观判断,变成可复跑的命令。

解法三:批准记录 + Stop 钩子

还有两个细节值得抄。

批准记录放仓库外。agent 执行 CHECK 命令前,需要明确的批准记录,默认存在 ~/.unlazy/approved,符号链接直接 fail closed。作者说得很直白:批准是"同意",不是"沙箱"——它不限制进程能读写什么,只记录你同意过什么。

Stop 钩子。装了 Claude Code 的 Stop hook 后,只要还有 gate 没过、还有叶子没验证完,agent 就不被允许结束会话。想摸鱼?钩子拦住你。

这治的是"完成",不是"聪明"

unlazy 没有试图让模型更聪明。它只是把软件工程里最古老的东西——验收标准、可复现证据、门禁——搬进了 agent 的工作流。

这跟 TDD 是同一个思路:先写测试,再写实现。区别在于,测试的对象从"一个函数"变成了"整个任务"。

模型能力过剩的时代,真正稀缺的是如何定义"完成"。谁能把这句话写清楚,谁就能让 AI 少摸鱼。


今日 AI 圈还发生了什么

  • HN 热议:AI 生成的评论,不许发一篇 4229 分的热帖把矛头对准了 AI 刷评论——“HN 是人与人对话的地方”。社区治理开始给 AI 划边界,这可能是未来一年的常态。
  • 开源 AI 路线之争再起Open source AI is the path forward 拿下 2360 分。开源 vs 闭源的讨论永远不缺热度,缺的是可落地的证据。
  • makecindy/cindy(2291 star):主打"想到就能做到"的开源 AI Agent,覆盖 iOS/Android/macOS/Windows,开箱即用。开源 Agent 的"桌面化"竞赛已经开跑。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐