核心要点
1. AI代理超越简单聊天机器人
“代理”一词在本书构建强大代理的过程中,采用了词典中的定义,这也意味着“助手”一词将与“代理”同义。
智能的定义。 AI代理不仅仅是对话界面,它们是代表指导智能体行动、施加影响并产生效果的实体。这个广义定义涵盖了从简单助手到复杂自主系统的多种形式。核心区别在于它们具备独立决策和执行行动的能力,超越了单纯的信息检索。
交互的光谱。 代理与大型语言模型(LLM)的交互存在一个连续体:直接用户交互、代理/助手代理(如ChatGPT中的DALL·E 3)、经用户批准代表用户行动的代理,以及完全自主、独立决策的代理。自主代理虽强大,但因其自我驱动的特性带来伦理和安全问题,需谨慎设计与监管。
协同智能。 针对复杂问题,多代理系统利用专门的“角色”或“人格”协同工作。控制代理负责协调编码代理与测试代理之间的任务,促进内部反馈与评估循环。这种协作方式放大了单一代理的优势,实现任务并行处理并减少复杂任务中的错误。
2. LLM构成核心,代理赋予行动力
本书构建强大代理的旅程中,重点关注被称为聊天完成模型的LLM类别。
生成基础。 大型语言模型(LLM),尤其是基于生成式预训练变换器(GPT)的模型,是训练用于内容生成而非仅仅预测或分类的生成模型。它们以庞大的训练数据、模型架构(如参数数量)、针对特定用例(如聊天完成)的训练及微调过程为特征。聊天完成模型因其对话性质和迭代优化能力,非常适合代理开发。
超越直接交互。 虽然直接与LLM交互功能强大,代理通过提供结构和外部能力提升了实用性。代理作为中介,解读用户请求,制定最优提示,并协调外部工具。这层抽象使LLM能执行其本身未设计的任务,如调用外部服务或管理复杂工作流,极大增强了其多样性。
战略性LLM选择。 为代理选择合适的LLM需评估任务表现(如编码能力)、模型规模(影响硬件需求和速度)、用例(聊天完成适合代理)、训练数据及成本。学习和研究常推荐商业模型如GPT-4 Turbo,因其能力强大且易于访问;开源替代品发展迅速,可借助LM Studio等工具本地部署。
3. 有效的提示工程是基础
提示工程是一门新兴领域,旨在构建系统化的方法来设计提示。
引导智能。 提示工程是为大型语言模型(LLM)精心设计输入信息的艺术与科学,目的是引出更好、更一致且符合预期的输出。它是一个迭代过程,通过不断优化查询和提供上下文,显著提升LLM的响应质量。该学科对将通用LLM能力转化为精准的代理行为至关重要,确保输出的准确性和相关性。
明确指令。 核心策略是撰写清晰指令,包括提供详细查询、采用特定人格、使用分隔符区分内容、指定逐步操作、给出示例及限定输出长度等手段。这些策略确保LLM理解任务、角色及预期格式,减少歧义,提高准确度。例如,要求“给出3个例子”或“用50字总结”能有效引导输出。
人格的力量。 采用人格是一种特别有效的策略,使代理在特定角色、背景或个性框架内回应。例如,指示烹饪代理“以Julia Child的口吻说话”,不仅增添趣味,也引导其提供专业烹饪建议。人格驱动的方法是打造专业且生动代理形象的基础,使交互更自然、高效。
4. 行动与工具扩展代理能力
行动是插件的延伸——它赋予插件实际功能。
外部赋能。 代理通过“行动”、“工具”或“技能”与外部世界交互,超越单纯对话。这些能力通常封装为插件或函数,使代理能执行网页搜索、调用API、生成图像或运行代码等任务。外部交互将LLM从被动响应者转变为复杂工作流中的主动参与者,实现现实世界的影响力。
OpenAI函数调用。 OpenAI提出了定义可操作接口的标准规范,使LLM能识别与函数描述匹配的用户请求并提取参数。LLM本身不执行函数,而是返回建议的函数调用及参数,由外部系统处理。这种委托机制支持强大且具上下文感知的工具使用,ChatGPT插件即为典范。
Semantic Kernel的作用。 微软的Semantic Kernel(SK)是构建和管理代理行动的强大框架,将其称为“语义插件”。SK能将“语义函数”(提示模板)和“本地函数”(基于代码的操作)封装为可复用插件,创建“GPT接口”,通过自然语言暴露任何服务或API,使聊天界面或其他代理(如电影数据库API)轻松访问。
5. 多代理系统协作解决复杂问题
多代理系统采用单代理系统的许多工具,但因能相互反馈和评估而获益。
协同智能。 多代理系统通过分工协作提升问题解决能力,专门代理间沟通协作,形成内部反馈和评估,显著降低错误率,提升方案质量。代理可专注不同角色,如“编码者”和“测试者”,协同完成共同目标。
AutoGen的对话能力。 微软AutoGen平台是对话式多代理系统的典范,代理间使用自然语言交流。“用户代理”协调任务,指挥“助手代理”生成代码,随后评估并反馈,循环迭代直至任务满意完成,有效替代人工监督,甚至自动安装所需软件包。
CrewAI的结构化方法。 CrewAI面向企业应用,提供基于角色和自主代理的更结构化方案,支持顺序和层级任务管理,使代理专注目标的特定领域。AgentOps等可观测性工具对监控复杂交互至关重要,跟踪性能、成本并识别协作低效,揭示单次笑话生成成本超过50美分的细节。
6. 自主代理需结构化控制(行为树)
行为树是控制机器人和游戏AI的成熟模式。
复杂性编排。 具备独立决策能力的自主代理需要强健的控制机制。行为树源自机器人和游戏AI,提供可扩展且模块化的框架,编排复杂行为。其定义了层级节点结构——选择器、序列、条件和行动,依据成功或失败决定执行流程。
执行逻辑。 行为树不同于传统布尔逻辑,基于“成功”或“失败”状态执行。执行自上而下、从左至右,复合节点(选择器、序列)决定执行哪些子节点。该结构清晰直观,便于调试和可视化代理决策过程,确保自主行为可预测且受控,例如AI决定吃苹果还是梨。
代理行为树(ABT)。 应用于AI代理时,称为代理行为树(ABT),通过提示引导行动和条件。GPT助理游乐场等工具支持构建ABT,实现复杂工作流,如编码挑战或社交媒体发布。ABT结合孤立代理交互与对话线程,发挥两者优势,实现无偏审查和涌现行为。
7. 记忆与知识增强代理上下文(RAG)
检索是代理和聊天应用获取知识以存储的机制,通常为外部且持久。
上下文丰富。 代理需知识与记忆为提示提供相关上下文,突破初始训练数据限制。知识指用外部非结构化文档(如PDF或代码)增强提示,记忆则指结合对话历史、事实或偏好。两者均依赖“检索增强生成”(RAG)模式。
RAG流程。 RAG包括加载文档、拆分成可管理“块”、将块嵌入高维向量并存储于向量数据库(如Chroma DB)。查询同样嵌入,利用“语义相似度搜索”检索最相关块,增强LLM提示生成更有信息量的回答,优于发送整篇文档。
记忆类型。 代理记忆类比人类认知,分为感官记忆、短期记忆(对话历史)和长期记忆(语义、情节、程序性)。长期记忆尤其是语义记忆,允许存储和检索事实、概念及偏好。Nexus等平台支持配置记忆库,LLM将对话转化为语义相关记忆,提升个性化交互并通过压缩减少冗余。
8. 系统化评估是代理性能关键(Prompt Flow)
提示/角色性能评估通常无法用准确率或正确率衡量。
超越直觉。 虽然迭代提示工程有效,系统化评估提示和代理角色性能对构建可靠AI代理至关重要。需定义明确标准和准则,客观衡量代理完成任务的效果,超越主观判断,确保真实改进和输出一致性。
Prompt Flow的优势。 微软开源工具Prompt Flow擅长系统化评估,支持开发者构建、测试和大规模比较多种提示变体,利用多线程批处理。此功能对快速评估不同代理角色、LLM配置(如温度、最大令牌数)乃至不同模型(如GPT-3.5与GPT-4)表现极为宝贵。
评分标准与依据。 Prompt Flow评估常用“评分标准”——结构化的评判准则和评分尺度,衡量响应与预设目标、上下文的契合度(“依据”)。通过第二个LLM自动对照评分标准评估响应,开发者可建立客观基线,比较角色变体,迭代优化代理,确保推荐符合特定要求。
9. 推理与规划驱动代理智能
LLM虽非专为推理设计,但训练材料涵盖推理、规划与思考。
激发智能。 尽管LLM本质上不具备“推理”或“规划”能力,精心设计提示可激发这些行为,利用其训练数据中蕴含的丰富知识。推理指理解思考过程并应用行动解决任务,规划则是有序安排行动以达成目标。这些能力对代理处理复杂多步骤问题至关重要。
思维链(CoT)。 思维链提示是一种强大技术,通过少量示例展示明确推理步骤,引导LLM“逐步思考”,将复杂问题拆解为可管理部分,展现内部逻辑。此法显著提升解决时间旅行悖论或数学难题等复杂问题的准确率。
高级推理。 “零样本思维链”(如“让我们一步步思考”)和“提示链”(多提示序列分解问题)进一步增强推理能力。“自洽性”生成多解并选最频繁,“思维树”(ToT)探索多条推理路径,评估并剪除无效步骤。虽计算量大,这些方法推动LLM问题解决能力极限。
10. 反馈循环确保代理持续改进
规划虽重要,但反馈是常被忽视的关键因素。
适应性智能。 规划与推理固然关键,反馈机制则是使代理持续适应和改进的核心。反馈使代理从执行中学习,纠正错误,优化策略,超越静态计划,形成动态自我修正行为。这对在不可预测或变化环境中运行的代理尤为重要。
内外反馈。 反馈可内嵌于LLM(如OpenAI的Strawberry模型具备自我批评与改进能力),也可通过人工监督或其他评估代理实现。例如,代理计划失败时,明确反馈促使其复核假设、调整方法,甚至修改内部指令以应对未来类似任务,避免如时间旅行天数计算错误。
系统应用。 反馈在各类代理应用中至关重要:个人助手学习用户偏好,客服机器人根据满意度调查优化回答,自主代理调整复杂工作流。多代理协作系统中,代理间相互反馈,促进集体学习。严谨反馈结合评估,构建对代理性能的信心,推动系统长期优化。
11. 代理平台简化开发与部署
Nexus是本书配套开源平台,旨在教授构建全功能AI代理的核心概念。
简化复杂性。 AI代理工具和框架的激增凸显了简化开发与部署的平台需求。Nexus、AutoGen和CrewAI等平台抽象了LLM交互、工具编排和多代理协调的底层复杂性,使开发者专注于代理逻辑和问题解决,降低构建复杂AI系统的门槛。
模块化架构。 Nexus基于Streamlit构建,提供直观网页界面,体现模块化代理平台设计。它通过插件系统动态发现并集成代理组件,如角色/人格、行动/工具、知识/记忆库和规划器。该架构便于定制和扩展,用户可尝试不同代理能力组合,从“健谈AI”人格到特定维基百科搜索行动。
实用实现。 这些平台为构建和测试代理提供具体环境。例如,Nexus允许用户定义代理人格,附加自定义行动(本地或语义函数),配置知识与记忆库,选择规划策略。结合日志记录和调试功能,使复杂的代理开发过程对各层级开发者均可驾驭。
读者评价
《AI Agents in Action》评价不一,评分从一星到五星不等。一部分读者称赞其注重实用性,内容涵盖了AI代理开发的方方面面,尤其强调利用OpenAI能力构建AI代理的价值;另一部分读者则批评其过度依赖第三方工具,缺乏深度。正面评价认为本书适合学习如何打造AI代理,而负面评价则指出内容有些过时,代码片段使用过多,核心概念解释不足。还有读者提到该领域变化迅速,导致书中部分内容很快失去时效性。
其他人还在读