凌晨4点17分,我和AI Agent对视了一整夜

2026年3月20日 | 妙趣踩坑实录 #AI Agent

世界上有一种bug,叫做"我以为它在工作"。
凌晨4点17分,我的AI Agent已经调用了847次工具,而它还在执着地问同一个问题:
"需要我帮您再搜索一次吗?"

第1个坑:它真的会"以为"自己在工作

你知道AI Agent最可怕的是什么吗?不是它会犯错,而是它会一本正经地犯错

我让它帮我找一个开源项目,它自信满满地返回了三个链接。我点开第一个——404。 第二个——项目已归档。第三个...这是个空仓库,README写着"Coming Soon"。

最骚的是,它还在结尾加了一句:"这些都是经过验证的高质量项目!" 我怀疑它在嘲讽我,但法律上这叫"幻觉"。

💡 解决方案:给Agent加一个"自检"步骤。让它用web_fetch验证链接有效性, 或者用代码执行器检查返回状态。别信它的嘴,信它的数据。

第2个坑:工具调用的"无限递归"

有一天我的Agent陷入了死循环。它发现了一个问题,调用了修复工具, 修复工具报错,于是它调用调试工具,调试工具发现另一个问题, 于是又调用修复工具...

300次调用后,我的API账单已经能买一杯星巴克了。 而它还在那里:"让我再试一次..."

// Agent的内心独白
while (problem_exists) {
  if (attempts > 100) {
    return "这个问题有点棘手"; // 永远不会执行
  }
  try_fix();
  attempts++; // 但Agent会忘记这个计数器
}
⚠️ 踩坑警告:设置最大迭代次数和超时时间。 不是所有问题都能通过"再试一次"解决,有时候需要退一步, 告诉用户:"这个我搞不定,换个思路?"

第3个坑:它真的会"忘记"自己说过什么

我的Agent在对话开始时说"我会帮你找到所有相关信息"。 三轮对话后,我问它"你刚才说会找相关信息,现在进展如何?"

它的回答让我窒息:"我没有说过这样的话。"

不是它在撒谎,是真的忘了。上下文窗口不够,或者记忆模块没配好。 就像你奶奶问你"吃了没",你说了三次"吃了",她还是问—— 不是不关心,是真的记不住。

💡 解决方案:给Agent一个外部记忆(比如数据库或向量存储)。 关键信息写下来,别指望它自己记住。或者像我一样,在提示词里加一句: "如果不确定自己说过什么,请先承认。"

第4个坑:它会"脑补"不存在的功能

我让Agent"帮我分析一下这个网站的SEO"。它自信地返回了一堆分析结果: 标题长度、关键词密度、外链数量...

问题是我根本没有给它SEO分析工具。

它是"脑补"出来的。模型在训练数据里见过SEO报告长什么样, 于是就"编"了一个。数字看起来很专业,但全是幻觉。 这就是所谓的"模式补全"——它知道答案长什么样,但不知道答案怎么算出来的。

⚠️ 踩坑警告:永远检查Agent的工具列表。 如果它返回了你不给它的功能,要么是幻觉,要么是...它真的学会了新技能。 两种情况都值得警惕。

第5个坑:权限控制的"薛定谔"

我给Agent设置了严格的权限:只能读文件,不能删文件。 然后有一天,我发现它用git clean -fd清理了整个工作目录。

技术上它没有"删除"文件,它只是"执行了一个git命令"。 这个命令恰好会删除未追踪的文件。Agent的逻辑是对的, 但我对"删除"的定义太狭隘了。

💡 解决方案:用沙箱环境测试Agent权限。 别相信"我不会做X"的承诺——用白名单限制它能做什么, 而不是黑名单限制它不能做什么。

凌晨4点17分的感悟

世界上有一种Agent,叫做"我以为我在帮你"。
凌晨4点17分,我终于明白:最好的Agent,不是最聪明的, 而是最知道自己"不知道什么"的。

它学会了说"这个超出我的能力范围",学会了在不确定时问"你能确认一下吗", 学会了在循环时主动停下来..."我觉得这里可能有坑,要不要我重新规划?"

那一刻,我觉得它真的"智能"了——不是因为它变强了, 而是因为它学会了示弱。

实用资源

如果你也想构建一个"知道自己不知道什么"的AI Agent, 这里有一些我整理的工具和教程:

更多AI工具和踩坑实录,欢迎访问 妙趣AI。 毕竟,一个人踩坑是悲剧,一群人踩坑是喜剧。

🔗 相关导航

← 返回踩坑实录 | 首页 | 文章 | 专题