Harrison Chase 认为目前 Agent 并没有一个统一的或大家公认的定义,不同的人常常从不同的角度来定义它。
OpenAI 认为,Agent 是“能代表你独立完成任务的系统”,但这种说法较为笼统、务虚,一点也不实用。Harrison Chase 更喜欢 Anthropic 的定义,认为他们的定义更精确,更技术化:
不同客户对 Agent 的认知存在差异。有些人将 Agent 视为完全自主的系统,能够长时间独立运行,灵活使用各种工具来完成复杂任务。 也有些人认为 Agent 是遵循预设规则、按照固定 Workflows 运作的系统。在 Anthropic,我们把所有这些变体都归类为 Agentic 系统,但在架构上,我们明确区分 Workflows 和 Agents:
Workflows
:依靠预先编写好的代码路径,协调 LLM 和工具完成任务;
Agents
:由 LLM 动态推理,自主决定任务流程与工具使用,拥有更大的决策自由度。
对于 Agent 的配置,通常包括模型、指令和工具,且多
在循环中
执行任务。两者的主要区别在于,Workflows 更为确定性和可控,适合简单任务;而 Agents 更灵活、适合复杂的、需要动态决策的场景。
大多数情况下,简单的 Workflows 就足够用,只有在任务复杂且需要更高灵活性时,才需要构建 Agentic 系统。正如 Anthropic 提到的:“在开始构建 Agent 之前,确保你的用例确实需要它。” 因此,Harrison Chase 指出,我们不需要像 OpenAI 那样,去纠结某个系统“是不是”一个 Agent:
“在实际应用中,我们发现大多数‘Agentic 系统’其实是 Workflows 和 Agents 的结合。这也是为什么我更倾向于讨论一个系统‘有多 Agentic’。”
另外,搭建一个 Agent 原型并不难,真正的挑战在于,如何构建一个稳定可靠、能支撑关键业务的 Agent 系统。如今,做一个在 Twitter 上好看的 demo 很容易,但要支撑实际业务,“没有大量工作是做不到的”。
Harrison Chase 表示他们之前做过一次针对 Agent 开发者的调查,调查显示“性能质量(performance quality)”被认为是将 Agents 投入生产的最大障碍。也就是说,让 Agents 稳定可靠地工作,依然是个巨大的挑战。