大模型——如何构建高效的 Agents
过去一年里,我们与来自不同行业的数十个团队合作,共同开发基于大语言模型(LLM)的代理系统。我们发现一个持续的现象:最成功的实现并非依赖复杂的框架或专门的代码库,而是采用简单、可组合的模式构建。
在这篇文章中,我们将分享与客户合作以及自主构建代理系统过程中的经验,并为开发者提供一些实用建议。
什么是 Agents 代理?
“代理”(Agent)可以有多种定义方式。有些客户将代理定义为完全自主的系统,它们能够长期独立运行,利用各种工具完成复杂任务。
也有客户用这个术语来描述更具规范性的实现,即遵循预定义工作流程的系统。
在Anthropic,我们将这些变体都归类为代理型系统,但在架构上区分了工作流和代理:
- • 工作流是通过预定义的代码路径来编排LLM和工具的系统。
- • 而代理则是LLM能够动态指导自身的处理过程和工具使用的系统,它们能够自主控制任务的完成方式。
接下来,我们将详细探讨这两类代理型系统。
在附录1(“代理的实践应用”)中,我们会介绍客户在使用这些系统时发现特别有价值的两个领域。
何时(以及何时不)使用代理?
在构建基于LLM的应用时,我们建议先寻找最简单的解决方案,只在必要时才增加复杂性。这可能意味着完全不需要构建代理型系统。代理型系统通常会用延迟和成本来换取更好的任务表现,您需要考虑这种取舍是否值得。当确实需要更复杂的系统时,对于明确定义的任务,工作流能提供更好的