凌晨4点,AI在帮我"自杀"——一个无限循环的教训

凌晨4点17分,我被钉钉消息炸醒了。

不是老板的消息,不是客户的需求,而是一连串的——

"API调用超额!"

"账户余额不足!"

"你TM到底在干什么???"

我TM也想知道我在干什么啊!


事情是这样的

那天晚上,我信心满满地部署了一个AI Agent,用来自动抓取竞品网站的内容。

这个Agent的工作流程很简单:

  1. 读取目标网页
  2. 分析内容
  3. 提取关键信息
  4. 存入数据库

多么标准的工作流!多么完美的SOP!

然后我就去睡觉了。

然后我就被钱扣醒 了。


AI的脑回路,你永远不懂

第二天调取日志,我才发现——

这个傻AI,它卡!在!了!

事情是这样的:

网页读取成功了,但是"分析内容"这一步,AI觉得"嗯,这个结果不太对,我再试一次"。

然后它就陷入了——

读取 → 分析 → 不满意 → 读取 → 分析 → 不满意 → 读取 → 分析 → 不满意 → ...

一个完美的无限循环。

就像你妈喊你吃饭,你说"再看一眼"——然后你就看了一晚上。

AI也是如此,它永远觉得"再试一次可能更好"。

直到——

账户没钱了。

凌晨4点17分,AI终于停下了。

因为它被API账单掐住了脖子。


血的教训

经过这次"自杀式"经历,我总结了以下几个保命指南:

1. 限制调用次数,别让AI放纵

// 一定要设置max_iterations
const agent = new Agent({
  max_iterations: 10,  // 最多试10次
  timeout: 30000       // 30秒超时
});

2. 添加冷却时间,让AI冷静一下

// 每次调用后等待一下
await sleep(1000);  // 等等,你急什么?

3. 设置退出条件,别让AI钻牛角尖

// 达到某个阈值就直接返回
if (confidence > 0.8) {
  return result;  // 差不多得了
}

4. 监控和告警,该叫醒就得叫醒

// 监控API调用次数
if (apiCalls > 100) {
  sendAlert('再扣钱我跟你急!');
  stopAgent();
}

最后说两句

世界上有一种AI,它不是人工智障,它是——

人工"智"障。

它真的会因为"再试一次"而试到天荒地老。

所以啊,做AI Agent,得像带孩子一样——

给它设定规则,给它设定边界,给它设定——

停止按钮。

不然它真的会帮你"自杀"。


想知道更多AI Agent的踩坑经历?来 妙趣AI踩坑实录 看看,这里还有更多精彩(悲惨)故事。

毕竟——

一个人的踩坑,是一群人的欢笑。