实战笔记:用 MCP 和多智能体技术压住 AI 的“胡说八道”
最近在搞一个比较棘手的代码重构项目,原本以为只是常规活,结果却被 AI 助手给搞心态了。
大家应该都有过类似的经历:你问它一个比较生僻的库怎么用,或者让它基于某个旧项目文档写新代码,它回得头头是道,代码看着也挺像那么回事。结果一跑起来,全是报错——不是 API 名字瞎编,就是参数版本对不上。这就是典型的“AI 幻觉”,以前我觉得这是大模型的原罪,只能靠人工反复核对来 mitigate。
但这几天,我试着把目前最火的 MCP(Model Context Protocol)和多智能体架构串起来用了一轮,效果有点惊艳。最直观的感受就是:AI 不太敢瞎编了,产出的东西能直接用的比例大幅提升。
今天就专门来聊聊这套组合拳是怎么打的,以及我踩过的一些坑。
为什么以前 AI 总是“一本正经地胡说八道”?
图示:AI 幻觉产生的原理
其实核心原因很简单:大模型是靠训练数据的“记忆”在干活。当你问的知识点超出了它的训练窗口,或者你的需求高度依赖私有数据(比如公司内部文档、私有 Repo)时,它为了强行回答你的问题,就会根据概率去“脑补”。这种脑补出来的内容,往往逻辑自洽但事实错误,这就是幻觉的来源。
以前的做法是拼命写 Prompt,告诉它“不知道就说不知道”,但这治标不治本。根本的解法,是给它一个“查书”的权利,并且把“写书”和“查书”的人分开。
MCP:给 AI 装上“眼睛”和“手脚”
图示:MCP 如何连接 AI 与外部资源
MCP 这东西其实出现有一阵子了,我去年就玩过,当时只是简单给 Claude 挂了几个 Server,感觉就是“有了更好,没有也能凑合”,没太当回事。
但这次实战不一样。MCP 的本质其实是一个标准协议,它让 AI 模型能够通过统一的接口去访问外部资源。
简单理解,MCP Server 就像是 AI 的“插件”或“工具集”。我这次主要启用了这几个能力:
- 联网搜索 Server: 遇到不确定的 API,不再靠猜,而是直接去 Google / GitHub 搜最新的定义。
- 文档检索 Server: 把项目的官方文档(PDF 或网页版)喂进去,让 AI 像查字典一样去抠细节。
- 文件系统 Server: 允许 AI 直接读取本地项目的代码库,而不是让我把代码粘贴来粘贴去。
关键点来了: 当 MCP 接入后,AI 的“推理路径”变了。以前它直接输出答案,现在它在输出答案前,会调用 MCP 工具去取证据。比如它想调用一个 API,它会先用工具去查这个 API 的签名,确认无误后再写代码。这个过程把“幻觉空间”压缩到了极低——因为它每一步都有据可依。
图示:Planner、Researcher 和 Coder 的分工协作
多智能体:拒绝全能选手,专业的事交给专门的人
光有 MCP 还不够。如果你把所有任务都丢给一个全能 AI,它依然会对“什么时候该查资料”、“什么时候该写代码”感到混乱,导致效率低下。
这时候就需要引入“多智能体”架构。简单说,就是把一个复杂的任务拆解成几个角色,大家各司其职。
我的团队配置大概是这样的:
- Planner(策划者): 负责拆解任务,理解我的需求,并制定执行步骤。它不写具体代码,只负责发号施令:“先去查这个文档,再读取那个文件。”
- Researcher(研究员): 这个 Agent 绑定了联网搜索和文档库的 MCP 工具。它唯一的任务就是搜资料、读文档,然后整理出最准确的信息摘要。
- Coder(程序员): 它拿不到搜索权限,只能阅读文件和写代码。它完全依赖 Researcher 传来的信息来干活,这样它就没有机会基于模糊记忆去瞎编 API。
实战中的效果与反差
这套组合打下来,最大的变化不是代码写得有多快,而是代码的正确性极高。
以前重构一个模块,AI 可能会引用一个不存在的类名,我得花半小时 Debug。现在?如果遇到它没把握的库,Researcher Agent 会先把 GitHub 上的源码链接和示例扒出来,贴给 Coder 看。Coder 看着真实的例子写代码,自然就不会错。
避坑指南:不是接上就完美的
虽然听起来很美好,但实际落地时我也踩了不少坑,这里列几个最典型的,大家如果打算自己搭可以注意一下:
-
不要启用太多 MCP Server: 一开始我想着“法力无边”,把能挂的工具全挂上了。结果 AI 在决策时会陷入混乱,不知道该用搜索引擎去查,还是用本地文件去查,导致 Token 消耗巨大且反应变慢。建议按需开启,够用就行。
-
上下文窗口管理: MCP 获取回来的文档往往是很长的,如果直接全量塞回给模型,很容易撑爆上下文。最好配置一个“过滤”机制,或者要求 MCP Server 只返回最相关的片段。
-
Agent 之间的通信成本: 多个 Agent 交互是有开销的。如果任务非常简单(比如写个斐波那契数列),千万别走这一整套流程,直接单聊最快。这套架构是针对“复杂、长链路、高准确性要求”的任务设计的。
总结
用 MCP 加多智能体,其实本质上就是从“让 AI 凭记忆答题”变成了“让 AI 带着开卷考试资格和专业团队去答题”。
虽然搭建这套环境稍微有点麻烦,还要折腾一下配置文件,但换来的是**“第一版代码就能跑”**的爽感,对于正经的开发工作来说,这笔账绝对划算。
评论已关闭