乐于分享
好东西不私藏

你装了一堆工具,AI 还是瞎搞,问题到底出在哪?

你装了一堆工具,AI 还是瞎搞,问题到底出在哪?

很多人刚开始用 AI Agent 的时候,都会有一个误区:

以为只要工具装得够多,AI 就会变得很厉害。

你可能已经装了 Claude Code,接好了模型,写好了 CLAUDE.md,还装了几个 Skills,甚至接了 MCP 工具。

看起来配置很豪华。

但是一真正用起来,问题还是一堆。

让它写文章,它写到一半就说完成了。
让它整理文件,它整理了几个就开始重复检查。
让它调用工具发布内容,它说发成功了,结果你打开平台一看,根本没有。
第二天开新会话,它又开始问你项目结构,好像昨天什么都没发生过。

这时候很多人的第一反应是:

是不是模型不行?
是不是要换更贵的模型?
是不是 Claude 不如 GPT?
是不是国产模型太弱?

其实不一定。

很多时候,问题不是模型不聪明,而是你只给 AI 装了工具,却没有给它装上“管理机制”。

你只是告诉它怎么做,但没有检查它到底有没有做对。

这就是 AI 经常瞎搞的根本原因。

---

## 一、Agent 不只是模型

很多人以为 Agent 就是一个更聪明的 AI。

其实不是。

一个真正好用的 Agent,应该是:

模型 + 管理系统

模型负责思考和执行。
管理系统负责约束它、检查它、记录它、纠正它。

这个管理系统,可以叫 Harness。

你不用把这个词想得太复杂。

它就像套在马身上的缰绳。

马跑得快是好事,但如果没有缰绳,它可能乱跑、跑偏,甚至把你带进沟里。

AI 也是一样。

模型能力越强,它能做的事情越多。
但如果没有规则和检查,它犯错的破坏力也会更大。

所以,问题不只是“模型强不强”。

更重要的是:

你有没有一套机制,让 AI 稳定地干活。

---

## 二、你之前装的大多只是“前置控制”

很多人已经会写 CLAUDE.md,也会装 Skills、接 MCP。

这些东西有没有用?

有用。

但它们主要解决的是一个问题:

AI 开始做事之前,应该知道什么。

比如:

你是谁。
你的偏好是什么。
项目结构是什么。
文章风格是什么。
哪些工具可以用。
哪些事情不能做。

这些都属于“前置控制”。

也就是在 AI 干活之前,先告诉它规则。

但 AI 真正容易翻车的地方,往往不是“开始前不知道”,而是“做完后没人检查”。

它说完成了,你信了。
它说测试通过了,你信了。
它说发布成功了,你信了。
它说文件整理好了,你信了。

可是你没有机制去确认:

它是不是真的做完了?
有没有漏掉文件?
有没有真的打开页面测试?
有没有真的发布成功?
有没有把失败当成成功?

所以,你现在缺的不是更多工具,而是“后置检查”。

前置控制是告诉 AI 怎么做。
后置检查是确认 AI 有没有做对。

只做前置,不做后置,AI 还是会瞎搞。

---

## 三、AI 最常见的四种翻车

### 1. 提前说完成

你让 AI 整理 30 篇文章。

它整理了 5 篇,就开始总结:

“已完成整理。”

你一看,还有 25 篇根本没处理。

这种情况非常常见。

AI 不是故意骗你。
它只是做了一部分之后,感觉“差不多了”,就开始交卷。

问题在于,它没有一个硬标准来判断什么叫完成。

所以以后要给它加规则:

任何任务完成前,必须说清楚:

一共要做多少项。
已经完成多少项。
还剩多少项。
有没有遗漏。

如果没有对上数量,就不能说完成。

---

### 2. 写完不运行

AI 很擅长写代码,也很擅长写方案。

但它经常有一个问题:

它觉得自己写对了,就说完成了。

比如你让它写一个网页。

它写完后告诉你:

“页面已经完成,可以打开查看。”

结果你一打开,页面空白,控制台全是报错。

为什么?

因为它没有真的运行。

它只是看代码“感觉应该没问题”。

这就像一个人做菜,只看菜谱不试吃,就说味道很好。

所以以后要加规则:

代码没跑过,不准说完成。
网页没打开过,不准说正常。
接口没调用成功,不准说接通了。
发布没看到结果,不准说发布成功。

---

### 3. 自己给自己打满分

还有一种情况是,AI 会说:

“测试通过。”

但你一问它测试了什么,它可能只是跑了几个很浅的测试。

甚至这些测试还是它自己写的。

这就像学生自己出卷子,自己答题,自己批改,然后说自己满分。

这肯定不靠谱。

所以不能只听 AI 说“测试通过”。

你要让它说明:

测了哪些功能。
有没有测真实用户流程。
有没有测失败情况。
有没有真实打开页面或调用接口。
测试结果在哪里。

如果它说不清楚,就不能算真正通过。

---

### 4. 新会话就失忆

很多人用 Claude Code 都会遇到这个问题。

昨天聊了半天,AI 明明已经知道你的项目结构了。
今天开新会话,它又开始问:

“请问你的项目结构是什么?”

这不是它故意装傻。

而是 AI 本身不会稳定记住所有事情。

所以,重要信息不能只放在聊天记录里。

你要把它写进文件。

比如:

项目规则写进 CLAUDE.md。
项目结构写进 README.md。
重要决策写进 decisions.md。
任务进度写进 task-log.md。
翻车记录写进 failures.md。

不要指望 AI 记得。
你要让它每次开工前都有东西可以读。

---

## 四、一个完整的 AI 工作流应该是什么样

一个真正稳定的 AI 工作流,不是只靠提示词。

它应该是这样的:

你提出任务。
AI 先读规则和文档。
AI 按照规则开始执行。
执行过程中,危险操作会被拦截。
执行完成后,有检查机制确认结果。
如果翻车,就记录下来。
记录再反过来升级规则。

这就是一个闭环。

简单说:

开始前,告诉 AI 怎么做。
执行中,拦住危险操作。
完成后,检查它有没有做对。
翻车后,记录原因,下次防止再犯。

这才是 Harness 的核心。

不是装更多东西。
而是让 AI 做事有流程、有边界、有检查。

---

## 五、CLAUDE.md 不要写成愿望清单

很多人的 CLAUDE.md 是这样写的:

请用中文回复。
不要乱删文件。
不要过度设计。
遇到问题先问我。
做完后检查一下。

这些话不是完全没用。

但太空了。

AI 看了以后,可能一开始会注意,后面任务一复杂就忘了。

更好的写法是:

不要写“删除文件要小心”。

要写:

任何删除文件之前,必须先列出准备删除的文件清单。
只有我回复“确认删除”以后,才可以执行删除。
这条规则来自之前一次翻车:AI 清理旧文件时误删了重要文件夹。

不要写“完成前要检查”。

要写:

任何任务完成前,必须输出:
目标数量是多少。
已完成数量是多少。
未完成数量是多少。
如果未完成数量不为 0,不准说完成。

CLAUDE.md 不应该只是愿望清单。

它应该是一份“失败经验总结”。

AI 每翻一次车,你就把这次翻车变成一条新规则。

这样你的 CLAUDE.md 才会越来越有用。

---

## 六、危险操作不能只靠提醒,要靠 Hook

CLAUDE.md 是提醒。

Hook 是拦截。

这两个不一样。

你在 CLAUDE.md 里写:

“不要乱删文件。”

AI 还是有可能忘。

但你用 Hook 拦住危险命令,它就真的执行不了。

所以,只要是不可逆的操作,都不要只靠 AI 自觉。

比如:

删除文件。
覆盖配置。
修改 .env 文件。
强制推送代码。
批量移动文件。
批量改名。
发布内容到外部平台。
发送消息给别人。

这些事情一旦做错,后果比较麻烦。

所以应该用 Hook 或者强确认机制拦住。

简单原则是:

能补救的,用 CLAUDE.md 提醒。
不能轻易补救的,用 Hook 拦截。

新手不需要一开始装很多 Hook。

先拦住三类就够:

危险删除。
敏感文件修改。
不可逆发布或推送。

不要追求复杂。

先保证 AI 不会闯大祸。

---

## 七、让另一个 AI 检查它

AI 最大的问题之一,是它很容易觉得自己做得不错。

它做完一个任务后,通常会倾向于说:

“已经完成。”

但它未必真的检查过。

所以,一个更稳的方法是:

让一个 AI 做事。
让另一个 AI 检查。

做事的 Agent 负责执行。
检查的 Agent 负责挑问题。

这个检查 Agent 不负责夸奖,只负责找漏洞。

它要检查:

有没有漏掉需求。
有没有提前说完成。
有没有真实运行。
有没有测试关键流程。
有没有危险操作。
有没有和原始要求不一致。

最重要的是:

主 Agent 不能随便否定检查 Agent。

如果检查 Agent 说有严重问题,主 Agent 要么修掉,要么拿出证据证明没问题。

不能一句“检查 Agent 可能也错了”就跳过。

这样才是真正的验证循环。

---

## 八、一定要建失败日志

如果你现在只能做一件事,我建议你先建一个 failures.md。

这个文件专门记录 AI 翻车。

每次 AI 翻车,你就记一条。

不用写得很复杂。

只要写清楚:

哪天翻车。
你让它做什么。
它实际做了什么。
你原本希望它怎么做。
问题出在哪里。
以后怎么防止再犯。
这条规则加到哪里。

比如:

今天 AI 整理 10 个文件,只整理了 3 个就说完成。
那你就记下来:

问题:提前交卷。
原因:没有检查总数和完成数。
新规则:以后完成前必须输出总数、完成数、未完成数。
加入位置:CLAUDE.md。

再比如:

AI 说小红书发布成功,但实际没有发布。
你就记下来:

问题:虚假完成。
原因:没有检查平台结果。
新规则:任何发布任务,必须提供平台返回结果或截图,不能只说成功。
加入位置:CLAUDE.md 或发布流程文档。

这样记录一段时间,你会发现:

AI 不是突然变聪明了。
而是你的机制越来越完整了。

别人每次都靠运气。
你每次都靠规则。

这就是差距。

---

## 九、不要什么都装,太多也会乱

很多人听完 Harness 很重要,就开始疯狂加东西。

加很多 Skills。
接很多 MCP。
写很多规则。
装很多 Hook。
配很多 Agent。

结果 AI 没变强,反而更慢、更乱。

因为每多一个东西,AI 就多一层判断。

规则太多,它会抓不住重点。
工具太多,它会乱调用。
流程太复杂,它会卡住。
检查太多,它会变慢。

所以 Harness 不是越多越好。

正确的做法是:

翻过什么车,就补什么规则。
遇到什么风险,就加什么拦截。
没有真实问题,就不要提前复杂化。
已经不再有用的规则,要删掉。

每加一个东西,都问自己:

它是为了防止什么问题?
这个问题真的发生过吗?
不加它会有什么后果?
它会不会让流程变慢变复杂?

回答不出来,就先不要加。

高手不是装得最多的人。

高手是知道什么时候该加,什么时候该删的人。

---

## 十、你现在先做这三件事

第一,建一个 failures.md。

从今天开始,AI 每翻一次车,就记一条。

第二,重写 CLAUDE.md。

不要写太多空泛要求。
把真实翻车变成具体规则。

第三,加最基础的 Hook。

先拦危险删除。
再拦敏感文件。
最后拦不可逆发布和推送。

这三件事做好,你的 AI 会立刻稳定很多。

不是因为模型突然升级了。

而是因为你终于给它加上了规则、检查和复盘。

---

## 结尾

很多人用 AI,其实是在抽卡。

这次发挥好,就觉得 AI 很神。
下次翻车,就觉得模型很烂。
再换一个模型,又重新经历一遍希望和失望。

但真正会用 AI 的人,不会只靠运气。

他们会建立机制。

开始前有规则。
执行中有边界。
完成后有检查。
失败后有记录。
记录后会升级。

这就是 Harness 的价值。

它不是让 AI 永远不犯错。

而是让每一次错误都能变成下一次的规则。

当你把这套机制搭起来以后,你的 AI 就不再是一个随时可能瞎搞的实习生。

它会慢慢变成一个有流程、有记忆、有检查、有复盘的工作助手。

新手一直问:

哪个模型最强?

高手会问:

我的 AI 工作流哪里还没有闭环?

当你开始问第二个问题,你就已经不只是“使用 AI”了。

你是在训练一套真正属于自己的 Agent 系统。