大家好,我是双越。wangEditor 作者,前百度 滴滴 资深前端工程师,慕课网金牌讲师,PMP,前端面试派 作者。
我正在开发一个 AI Agent 智能体项目 智语 ,它是一个类似于 Openclaw 一样的个人助理。包括 Agent 所以基础能力 tools、skills、memory、context、permission、hook、subagent ...
感兴趣的想学习的同学都可以私信我~
开始
这几天我发现一个特别普遍的现象——很多人用上了 Agent 工具,但用法还停留在聊天机器人的阶段。
什么意思?就是打开 Claude Code、Cursor 或者任何一个 Agent 产品,然后像用 ChatGPT 网页版一样,问一句、它答一句,问完就完事了。这其实是把一个能"做事"的助理,当成了一个"答题"的工具,浪费了 Agent 真正的价值。
一个对比例子
假设你想给项目加一个新功能:导出用户数据为 Excel。
聊天机器人式用法:你问"怎么用 nodejs 导出 excel",AI 给你讲了一堆 xlsx 库的用法和示例代码,你复制粘贴,自己改改文件路径、字段名,调试半天,最后跑通。
Agent 式用法:你说"在用户列表页加一个导出按钮,点击后导出当前筛选条件下的用户数据为 excel,文件名带时间戳"。Agent 会自己去读你项目里的代码结构,找到用户列表的组件和接口,安装需要的依赖,写前端按钮和后端接口,跑一下测试,如果报错自己改,最后告诉你"完成了,在 xx 文件里加了 xx 代码,你可以测试一下"。
两者的差距不是"快一点",而是角色完全变了。前者你是执行者,AI 是知识库;后者 AI 是执行者,你是验收者。
聊天机器人和 Agent 的本质区别
可以打个比方,聊天机器人像是一个"传话筒"——你问,它答,仅此而已,答案的落地全靠你自己。Agent 更像一个"助理"——你说目标,它去规划、去执行、去验证,最后给你一个结果。
从技术上看,区别其实就是上一篇提到的那些模块在不在起作用:
- 聊天机器人:一轮对话,输出是文本,没有 tools,没有规划,没有记忆
- Agent:多轮自主循环(ReAct),输出是行动,会调用 tools、可能会用到 skills、subagent,跨 session 还有 memory
所以本质上,聊天机器人解决的是"信息差"问题——你不知道的东西,它告诉你。而 Agent 解决的是"执行差"问题——你知道要做什么,但懒得自己一步步去做,它替你做。
那些"把 Agent 当聊天机器人用"的典型场景
我自己观察下来,有这么几种很常见的"降级用法":
第一,只问知识性问题,不让它干活。
比如打开 Claude Code,问"React 的 useEffect 和 useMemo 有什么区别"。这种问题完全可以用普通对话框解决,根本不需要一个能读写文件、执行命令的 Agent。这不是说不能问,而是说——你只用了它 10% 的能力,剩下 90% 的 tools、context、permission 全都闲置着。
第二,每次都从头解释上下文。
很多人每次打开新对话,都要重新说一遍"我的项目是用 xx 框架写的,目录结构是 xx,代码风格是 xx……"。这其实就是没有用到 memory 和 skills。一个配置好的 skill 文件,或者一份持续更新的项目说明文档,AI 会自动读取,你完全不用每次重复。
第三,所有任务都堆在一个 session 里。
聊天机器人式的用法里,"开一个新对话"成本很低,所以大家很少在意。但在 Agent 里,一个 session 的 context 是有限的,如果你把"改 bug"、"写文档"、"分析日志"全塞在一个对话里,很快就会触发 context 压缩,甚至导致 AI 出现幻觉、忘记前面的指令。这时候应该用 /new 开新会话,或者用 subagent 把独立任务分出去。
第四,权限和 hook 全靠手动确认。
如果你每次都要手动批准 Agent 的每一个操作——读文件要确认、写文件要确认、执行命令要确认,那其实你又把它变成了一个"半自动"的聊天机器人,自动化的意义大打折扣。合理配置 permission 规则和 hook,让低风险操作自动通过,只在真正敏感的操作上才弹出确认,这样 Agent 才能真正"跑起来"。
第五,把 Agent 当搜索引擎用。
"帮我查一下 xxx 是什么"——这种用法和打开浏览器搜索没有本质区别。Agent 真正的优势是把搜索到的信息和你的实际环境结合起来,比如"查一下这个库最新版本有没有 breaking change,然后帮我升级一下并改掉对应的代码"。
正确的姿势应该是什么样
回到上一篇讲的架构,一个 Agent 真正发挥作用的时候,应该是这样的流程:
你给一个目标,比如"帮我优化一下这个页面的加载速度"。Agent 会:
- 先读取相关代码,分析现状(用到 read_file、exec 等 tools)
- 如果涉及的内容比较复杂,可能会启动一个 subagent 单独去分析某个模块,避免主对话 context 爆炸
- 根据已有的 skill(比如你之前写好的"性能优化检查清单"),按照固定的方法论去排查
- 做出修改,跑测试验证
- 如果遇到敏感操作(比如删除文件、修改配置),会按权限规则请求你确认
- 最后给你一个总结:改了哪些文件,做了什么优化,预期效果是什么
整个过程里,你说的是"目标",不是"步骤"。这才是 Agent 和聊天机器人最核心的差异——你不再是执行者,你是甲方。
最后
我重构【智语】这个项目的时候,越来越深刻地感受到,Agent 的每一个模块——tools、skills、memory、context、permission、hook、subagent——其实都是在为"自主执行"这件事服务的。少了任何一个,它就会退化回聊天机器人的状态。
如果你现在用 Agent 工具的方式,还是"问一句答一句",那不是工具不行,而是你还没有解锁它真正的能力。
就像上一篇说的,浅层学习看输入,深入学习看输出。同样的,浅层使用看对话,深入使用看任务有没有真正被完成。
下次打开你的 Agent 工具时,不妨试试不要"问问题",而是"交任务"。你会发现,这是完全不同的两种体验。
期待你和我一起来搞 Agent~