我不再尝试构建一个超级智能体,而是将其拆分为 4 个专用智能体。可靠性大幅提升。
摘要
作者描述了如何通过将单个通用智能体替换为专注于接入、调研、执行和审查的四智能体工作流,来提高 AI 智能体的可靠性。这种转变优先考虑系统的可预测性和更轻松的调试,而非纯粹的自主性。
有一段时间,我一直在犯很多人在构建智能体时都会犯的同一个错误:我试图让一个聪明的智能体完成所有事情。一个提示词。一个上下文窗口。一个推理场所。一个工具场所。一个记忆场所。一个执行场所。在演示中,它看起来很棒。在实际使用中,它一直在做一些我相信你们大多数人也见过的事情:它会重复已经完成的工作,忘记自己进展到哪一步,调用错误的工具,对简单任务过度回答,偶尔还会因为太多责任集中在同一个“大脑”中而做出奇怪的跳跃。
所以我以一种更无聊的方式重建了工作流。我没有使用一个通用智能体,而是将其拆分为 4 个具有非常具体任务的专用智能体:第一个智能体只处理接入。它的工作是理解请求,清理请求,提取实际任务,并将杂乱的输入转化为结构化的交接。第二个智能体只处理调研。它收集所需信息,检查相关来源,并传回更紧凑的上下文包,而不是一堆原始数据。第三个智能体只处理执行。没有宏观推理,没有开放式漫游。只需接受结构化任务加上上下文,做它应该做的事情。第四个智能体基本上是审查 + 上报。它检查输出是否真正可用,置信度是否足够高,以及任务是否应该移交给人类,而不是假装一切正常。
这一改变的帮助比我预期的要大得多。不是因为系统变得更聪明了,而是因为它变得更简单了。每个智能体的工具更少。每个提示词更短。每个故障更容易被发现。每次交接更容易检查。当出现问题时,我能真正知道哪里出了问题。
这对我来说是最大的转变。当我有一个超级智能体时,每次故障都感觉模糊不清。你会得到一个糟糕的结果,但很难判断问题是出在提示词设计、工具选择、缺少上下文、记忆混淆,还是模型只是走了一条奇怪的路径。
一旦我将工作流拆分,故障点很快就变得明显了。如果接入环节薄弱,任务框架就错了。如果调研环节薄弱,上下文就不完整。如果执行环节薄弱,执行逻辑就需要改进。如果审查环节发现了问题,通常意味着工作流需要比我想象中更早的人类检查点。
这也改变了我对智能体系统的整体看法。我现在对让一个智能体感觉神奇不太感兴趣,而对让整个系统可预测更感兴趣。老实说,大部分价值似乎来自于角色清晰、受限执行和干净的交接,而不是纯粹的自主性。
工作流越严肃,我越不想要一个天才智能体。我想要一个无聊的系统,大多数时间做正确的事情,并且知道何时停止。
好奇这里的其他人是否也遇到了同样的障碍。你们仍然围绕一个主智能体构建,还是已经转向具有更窄角色的多智能体设置?
相似文章
我不再构建单一智能体了。以下是我转向工作流的原因。
作者解释了为何从单一智能体转向链式工作流用于AI任务,理由是尽管前期复杂度更高,但可靠性和调试便利性显著提升。
停止构建多智能体系统
一篇观点文章认为,向系统中添加更多智能体通常是解决可靠性问题的错误方法,而一个精心设计的、具有更好上下文、工具、护栏和评估的单一智能体通常更优。
"在什么情况下添加另一个代理实际上会损害您的系统?问这个是因为我的6代理流水线比旧的2代理流水线更慢且更不可靠"
一位开发者分享了使用AI编排框架(LangGraph, CrewAI, AutoGen)的真实体验,指出了原型设计便捷性与生产可靠性之间的权衡,并向社区询问如何处理失败、人机协同和Token成本问题。
我让一个代理处理太多任务,结果它以四种不同方式失败。关于防护栏和交接的AMA
一位开发者分享了让单一AI代理处理过多任务的教训,导致多种失败模式。他们提倡拆分角色、强制结构化输出并仔细设计交接。
在为十几位客户构建智能体团队后,我发现了真正赢得他们信任(并停止时刻盯着系统)的关键
作者分享了在建立客户对 AI 智能体系统信任方面的实用见解,强调缩小范围、健壮的错误处理以及清晰传达系统状态的重要性。