人工智能代理的兴起正在改变我们构建和看待软件的方式。我们现在不再只是编写代码告诉计算机做什么,而是教会它们如何思考。
AI代理是构建智能系统的新方式。它们利用大型语言模型(LLMs),将自动化与认知结合,形成不仅仅听命行事的工具——它们能够推理、做决策、采取行动,甚至随着时间学习。
我一直通过试验不同的框架来了解代理是如何工作的以及它们能实现什么。强烈推荐 LangChain的学院。在这篇文章中,我将分享与代理合作时学到的主要经验和想法,以及它们为什么代表着我们与技术交流方式的根本转变。
什么是代理啊?与遵循固定指令集的传统程序不同,智能代理是一种新的软件类型,它们使用大型语言模型的智能来自行决定需要做什么,并如何去做并自行完成。
如果这听起来有些抽象的话,这里是一些该领域的领军人物是怎么说的等等。
LangChain: “…一个使用大型语言模型来控制应用程序流程的系统。”(LangChain的Harrison Chase写了一篇关于‘什么是代理?’的优秀文章)
NVIDIA: “…一个可以使用大型语言模型来解决问题、制定计划并借助一组工具执行计划的系统。”
AWS: “…一个可以与其环境进行互动、收集数据并利用这些数据来执行特定任务以达成预设目标的软件程序。”
不论是帮助用户规划旅行计划、自动化工作流程,还是回答问题,智能代理都让软件变得更加实用和强大。
我们是怎么走到这一步,变成代理人的?大型语言模型已不仅限于生成文本并进行推理,还能做更多的事情。现在,它们可以与其他大型语言模型协同操作(例如,协同工作),执行实际操作(例如,调用工具接口),并能长时间保存上下文(例如,更大的上下文容量)。
因此,这些大模型现在正从被动响应者转变为智能体,能够胜任以前只有人类才能做的工作,从客服和招聘到甚至像法律和建筑设计这样复杂的领域。
要了解代理的工作方式以及为什么它们这么厉害,让我们看看它们的核心部分:
基于https://arxiv.org/abs/2309.07864的自己的图像
- 感觉
代理需要获取来自用户或环境的输入。输入可以是聊天文本、语音消息、图片或API调用,包括任何用于与代理互动的信息。这些数据对代理理解周围环境和情境非常关键。
示例: 一位航空公司的客服代表通过聊天界面处理用户请求。从用户说的“预订10月5日至10日往返纽约的航班”中提取关键信息,比如日期、目的地和旅客偏好,以便更有效地进行搜索…
2. 脑子
AI代理人的“大脑”,也就是大型语言模型(LLM,Large Language Model),负责推理、规划并作出适应。
- 推理 涉及分析输入信息,拆解复杂任务,并提出可能的解决方案。
- 规划 允许代理按时间顺序规划行动,确保任务高效顺利完成。
- 适应能力 使代理能够适应动态环境(例如对话)或信息变化。
示例: … 在接收到航班请求后,代理会识别出诸如查找去程和回程航班之类的任务,并确定需要采取的步骤和行动,以帮助客户根据他们的偏好预订航班等等…
3. 回忆
AI代理的记忆有两种形式:短期记忆是基于会话的,依赖于LLM的上下文窗口来跟踪最近的交互,从而确保响应的连贯性。长期记忆则通常存储在外部数据库中,使代理能够访问并参考过去的对话,或随时间变化的记忆中的用户偏好。
示例: … 旅行代理在对话过程中跟踪当前对话中关于日期和舱等的选择,同时使用长期记忆来回忆过去的喜好,比如偏好的航空公司或常旅客的详细信息…
4. 知道
除了记忆力之外,代理还可以利用特定于公司的知识库,例如FAQ、文档或标准操作程序。这些知识通常存储在文档和向量数据库里,并在需要推理和决策时被检索出来。
示例: …客户向旅行社咨询有关于行李政策和升舱选项的问题,旅行社查询公司的特定政策,以确保正确回答这些问题…
第五项:行动项
工具有助于使代理真正强大。LLM可以决定何时以及如何使用工具,例如使用API来查询额外的数据、更新系统或执行现实世界中的操作。这种能够根据情况动态选择合适工具的灵活性,使得代理能够灵活高效地运行,同时并能与现有系统无缝集成,从而高效地交付成果。
设计代理(程序)示例: 代理可以实时调用航空公司 API 来查询航班选项、价格和座位的可用情况。一旦用户同意,它将调用 API 来确认预订并通过电子邮件发送详细的行程安排至用户的邮箱。
设计一个有效的AI代理,就像招聘并入职一名新员工一样,我们实际上是在创造工人。
通过定义代理人的角色、责任、工具和资源、互动和学习路径与方式,我们确保它能够高效运行并使其操作与组织目标一致。
构建AI智能代理团队 — Relevance.ai的相关文章
Building an AI Agent team — Relevance.ai
设计代理的每一步都像是在招聘,两者有很多相似之处。
- 定义代理人的形象设定和目标设定
一个代理必须有自己的角色和目标——它要解决什么问题以及存在的原因。这就是它的“工作说明”。它是客服代理还是数据研究员?它要解决什么问题?它的用户是哪些人?成功的标志是什么?
提示: 将角色与可量化的指标挂钩,并定期检查以确保它能随着业务需求的变动而与时俱进。
2. 列出任务和计划
接下来,定义代理的任务和工作流,包括它需要做什么和如何做:剧本或日常工作。这将是迭代的主要部分,即定义逐步过程,确定关键任务、可能出现的边缘情况以及规则。
提示: 找到复杂性和一致性的平衡点:流程越复杂,或代理需要执行的任务越多,它出错的可能性就越大
下面是如何在谷歌智能代理(Google Agents)中定义目标和任务的。
3. 定义记忆.
记忆帮助代理保持一致并学习。短期记忆记录最近的互动,而长期记忆则存储于外部数据库中:在对话过程中哪些信息需要保留?哪些数据需要长期保存?
提示: 从定义最有用的数据开始,例如常被访问的客户信息,并逐步扩展内存系统,确保系统的可扩展性,同时避免给代理带来过重负担。
4. 装备知识
就像员工需要查阅手册或公司文件一样,代理人也需要了解FAQs或产品目录等信息来提供准确的回答。具体来说,代理人需要哪些知识来源?如何确保这些知识保持最新?哪种格式最适合快速查找?
小贴士: 比如使用向量数据库或RAG技术这样的工具,并定期更新,确保知识仍然保持时效性。
5. 配备工具。
工具对于代理而言就像软件和系统对于员工一样——它们让代理可以采取行动。代理通过调用API来查询数据、更新记录或预订会议等。我们都需要哪些API?这些API是否已经可用,还是需要我们来开发?我们需要什么样的权限来确保API的安全使用?
小贴士: 定义特定用途的工具,并设定基于角色的权限,就像为员工提供合适的软件和访问权限一样,让他们可以高效且安全地完成工作。
记住,LLM会决定何时以及如何调用这些API,因此将这些工具迭代并包含到任务定义中是很重要的。以下是OpenAI定义LLM如何调用这些工具的方式:
复杂的问题很少能由一个人单独解决,同样的道理也适用于智能代理。与其有一个大型的多功能代理程序,一群各有专长的代理程序一起工作可以更有效地处理任务。
例如,一个代理可能收集数据,另一个可能分析数据,另一个可能生成解决方案,再一个可能改进这些方案。这些代理互相合作,根据需要互相交接任务,就像团队中的同事一样互相帮助。
随着复杂性的增加,管理和扩展代理变得更困难。常见问题包括代理拥有的工具过多,难以决定使用哪个工具,难以处理复杂的上下文,或者需要专门的角色,例如规划师、研究人员或数学专家来处理特定任务。
采用这种模块化、‘多心智’的方法,可以降低复杂性并确保可靠性。智能代理还可以将无法处理的任务委托给其他代理,提高整体性能,让各个代理专注于较小的范围。
通过建立一个协作代理网络,你实际上是在组建一支能够协调解决复杂问题的AI团队,就像一群熟练的员工一起应对一个棘手的项目一样。
构建有效的代理本质上是一个迭代的过程。第一个版本绝不会是最终版本。在现实世界中会发现边缘案例、隐藏的假设以及新出现的可能性,这些在开发过程中并不明显。
员工通过反馈、评价和工作经验进步——智能助手也不例外。根据用户评分和错误日志等反馈,并结合最新的更新,智能助手会通过不断调整和学习来改进它们的行为和表现。
AI代理通过从僵化规则转向动态、基于推理的系统,正在重塑自动化。它们的强大自主性同时也带来了信任、安全和操作监督方面的挑战。
更多需要考虑的:安全、运营等等AI代理正在改变自动化,但部署它们也带来了挑战。例如,扩展团队或初创公司时会遇到的相同挑战
安全 必须是基础的——就像员工一样,代理也需要单点登录(SSO)、角色权限和凭证管理这样的保护措施,以确保他们只能访问必要的信息。防护措施、日志记录、审计和凭证轮换对于符合规定、保护重要数据以及赢得信任非常重要。
运营工作同样非常重要。就像首席运营官那样追踪和优化工作流程,代理人员也需要工具来审计和追踪表现,以确保他们保持高效、可靠和灵活。
我们正处于技术转型的初级阶段。AI代理不仅仅是自动化工具——它们是数字合作伙伴。如果你对深入了解代理感兴趣的话,我推荐Langchain学院——这是一个非常有用的资源,学习如何构建这些变革系统。
共同學習,寫下你的評論
評論加載中...
作者其他優質文章