输入“/”快速插入内容

实践出真知:Agents 领域“一年打怪升级”的经验分享

2024年8月13日修改
作者💐 | Patrick Dougherty
编者按:在你构建 AI Agents 时,是否曾遇到这些困扰:总是在简单任务上出错,从而让你有时会怀疑自己的技术水平?面对客户的需求,AI Agent() 表现得像个“笨蛋”,无法准确理解和执行指令?随着底层模型的更新,AI Agents 的性能不升反降,让人手足无措?
这些问题不仅影响了 AI Agents 的性能,甚至可能导致项目延期、成本超支,甚至失去客户的信任。在 AI 技术飞速🚀发展的今天,任何一个表现不佳的 Agents 都可能很快被市场淘汰。
今天我们分享的这篇文章将为各位提供来自一线 Agents 开发者的宝贵经验。作者基于过去一年的实践,总结了 7 条经验教训,包括重新认识 AI Agent 的推理能力、优化 Agent-Computer Interface (ACI)、选择和适配底层模型、以及构建差异化的基础设施等。对于正在或计划构建 AI Agents 的开发者和企业而言,这篇文章提供了许多切实可行的操作建议和深入的见解,是一份不可多得的参考指南📄。
作者 | Patrick Dougherty
编译 | 岳扬
01 何为“Agent”?(Definitions)
在讨论本文的主要内容之前,需要明确定义一下本文所指的“Agent”到底是啥。借用一下这位Twitter用户的话([1]):
What the hell is “agent”?
我尽力给出了一个简明扼要的定义:
该定义大致与 OpenAI 在 ChatGPT 中提及的 “生成式预训练模型(GPTs)” 和其 API 中的 “助手(Assistants([2]))” 概念相符。不过,Agent 并不会局限于这些能力,任何能进行逻辑推理(reasoning)并调用工具(making tool calls)的模型都能胜任这项任务,比如 Anthropic 公司的 Claude()([3])、Cohere 的 Command R+([4]) 等众多模型皆可。
Note
tool calls 是一种让模型表达它想要执行的某种特定操作并获取操作结果的方式,例如调用 get_weather_forecast_info(seattle) 或 wikipedia_lookup(dealey plaza) 这样的函数。
构建一个 Agent 仅需几行代码就可以了,这些代码能够处理一个有明确目标且由系统提示词(system prompt)引导的对话过程,能够处理模型想要执行的任何 tool calls ,循环执行这些操作,并在达到目标后停止。
下面这幅图示(visual)可以帮助解释这一流程: