初识:AI Agent(智能体)
第一部分:初学者——人工智能代理
什么是人工智能代理?

常规大语言模型的运作逻辑十分简单,仅依托单次线性交互完成任务,接收用户提问后直接输出答案,全程无需迭代优化。
💡
AI智能代理的工作模式与人处理复杂任务的逻辑相近,遵循ReAct循环机制运转:先进行推理规划,再执行对应操作、观测反馈结果,之后判断是输出最终答案,还是再次进入循环迭代。
这套“推理—行动—观察—循环”的流程,能够持续加深内容深度、强化逻辑推理能力,有效降低模型幻觉问题,让输出内容更具条理性,弥补了传统大模型单次应答模式存在的短板。
代理人究竟有什么用?

并非所有场景都需要部署AI智能代理,可借助复杂度-精度二维四象限矩阵来做选型判断。
以任务复杂度、所需精度为两大坐标轴,划分四类应用场景:
💡
•
低复杂度且高精度的任务,直接使用代码实现;
•
低复杂度、低精度的场景,依靠大模型提示词即可满足需求;
•
高复杂度且要求高精度的工作,需搭配规范管控机制的智能代理,例如税务填报、法律文书处理等;
•
高复杂度、低精度的场景,是落地智能代理、快速收获早期价值的最优选择。
资料检索撰写报告、客户邮件回复、发票处理、数据入库、库存核对类咨询等,都是适配智能代理的典型场景。
这类任务普遍具备多流程步骤、需调取外部信息、支持迭代自查与修正的特点,也是智能代理发挥优势的核心领域。简言之,若单一提示词就能完成任务,便无需额外搭建智能代理。
自主性谱系

构建智能体时的第一个重大决定在于你愿意赋予它多少控制权。
我们可以想象一个从“脚本化”到“完全自主”的连续谱:
💡
在最左端,你对每个步骤都进行硬编码——例如生成搜索词、调用网络搜索、获取页面、撰写论文——模型仅用于文本生成,其他一切由你决定,这种方式可预测、易于调试,但功能有限;
中间地带的半自主模式下,智能体会从你定义的工具中进行选择,并在你设定的约束范围内做出决策,大多数实际生产系统都运行于此模式;
而最右端的完全自主模式中,大语言模型可以决定一切,包括搜索什么、抓取多少页、是否进行反思、是否编写并运行新代码,虽然功能更强大,但也更难控制。
上下文工程

真正让智能体“智能”的原因,并非仅靠模型本身,而是你围绕它所构建的上下文。上下文工程,本质上决定了智能体在每个时刻掌握哪些信息,具体包括:背景(任务是什么、用户是谁)、角色(例如“你是一名专门从事市场分析的研究员”)、记忆(之前步骤中发生的事情)、可用工具(它能调用哪些功能)以及知识(可参考的文档、数据库、PDF)。当工程师精心设计这些上下文时,模型的表现就会稳定一致;反之,如果设计欠佳,结果往往不可预测、一塌糊涂。无论采用哪种模型,模型本身都是一样的,上下文才是区分优秀智能体与糟糕智能体的关键。
任务分解

构建智能体最重要的技能,是从“人类会如何完成这项任务?”出发,然后针对每一步都问:大语言模型能完成这个吗?还是需要一段代码或一次API调用?如果答案是否定的,就把它拆得更小,直到能完成为止。以作文写作助手为例:第一步是大纲,由LLM生成结构;第二步是搜索词,LLM生成后调用搜索API;第三步是获取页面,由工具调用完成;第四步是撰写初稿,LLM使用获取的资料生成;第五步是自我批评,LLM列出不足与薄弱环节;第六步是修订,LLM根据批评进行改写。每一步都具备小型、可检查、具有明确输入和输出的特点。当最终输出不好时,你能准确地知道该修复哪一步——这就是分解的超能力。
第二部分:中级 构建真正奏效的多智能体系统
评估(区分专业人士与业余爱好者的枯燥之事)
评估,这是区分专业人士与业余爱好者的枯燥之事。
如何衡量你的客服人员是否在发挥作用?
🥇
•
对于简单任务,统计正确答案即可,比如客服机器人对库存问题的回答是否正确,是或否;
•
对于复杂任务,使用LLM作为评判者,让第二个模型依据固定评分标准对输出进行1至5分的打分——这篇作文是否有有力的论点?引用是否恰当?语气是否得当?
记忆与知识
人们容易混淆两种截然不同的事物:内存(Memory)与知识(Knowledge)。
内存是动态的,每次运行都会更新。
•
短期内存指代理在工作时撰写的笔记,其他代理可以阅读这些笔记;
•
长期内存则是在完成一项任务后,代理会进行反思——哪些方面做得好?哪些有待改进?并记录下经验教训。下次运行时,加载这些课程并加以应用。
这就是在无需微调的情况下“训练”智能体的方法:通过提供反馈,让智能体在每次运行中不断改进。
知识是静态的,需预先加载。
例如 PDF、CSV、内部文档、数据库访问等,作为代理的参考库,只需提供一次,它便会在需要时随时调用,以给出准确的答案。
记忆是你从经验中习得的东西,知识则是你可以随时查阅的教科书。两者都很重要,且不可相互替代。
安全护栏
一个能工作的智能体并不等于一个安全的智能体。大语言模型是非确定性的,可能会弄错格式、陈述虚假事实或偏离任务。护栏是“智能体声称已完成”与“任务实际完成”之间的质量关口,主要有三种类型:
•
类型1 — 代码检查:快速且便宜,适用于确定性任务。例如检查输出格式是否正确、长度是否合适、必填字段是否存在。只需编写一个简单的验证函数并立即运行。在可能的情况下,应始终优先选择这种方式。
•
类型2 — 大语言模型判官:用于进行细致入微的质量检查。例如判断“此回复在事实层面是否与源文件一致?”“语气是否专业且积极?”如果判官回答“否”,则需说明原因,智能体据此修改后重新尝试。
•
类型3 — 人机协同:用于高风险决策。智能体在最终确定前停止运行,将输出发送给人类审核,由人类批准、拒绝或提出修改意见。
大多数生产系统至少会使用这三种类型中的两种。
提升每位代理人的4种设计模式
在构建智能体时,有四种核心模式值得掌握:
模式1:反思
不要止步于初稿。让模型生成输出后,对其进行批评,再根据批评进行改写。例如邮件初版:“嘿,我们下个月见吧。谢谢。”评论指出:日期模糊、没有落款、语气过于随意。于是生成第二版:“嗨,Alex,我们1月5日至7日见吧。告诉我哪种时间合适。祝好,Sai。”通过代码可进一步增强这一过程——编写代码、运行代码、捕获错误、反馈意见、模拟修复方案。反思模式适用于结构化输出、长篇写作、代码生成和流程步骤等场景。
模式2:工具使用
向大语言模型提供可调用的功能菜单,由模型自己决定何时以及使用哪种工具。例如网络搜索、数据库查询、代码执行、日历、电子邮件、API调用等。大语言模型无法单独完成这些任务,工具才是智能体与世界交互的方式。
模式3:规划
与其使用固定流程,不如让智能体自主决定具体步骤。给它一个工具箱,提示它制定计划,然后一步步执行。以零售场景为例,用户问“100美元以下的圆形太阳镜有哪些?”智能体的计划可能是:搜索描述 → 核对库存 → 按价格筛选 → 回答。你并未编写这些确切的步骤,而是由智能体自主选择了它们。
模式4:多智能体协作
将复杂任务分配给专业化的智能体,例如研究员、设计师、作家。每个智能体都擅长其特定的工作。由于没有单一智能体试图包揽一切,整体产出效果更佳。
多智能体系统设计
你实际上如何构建一个多智能体系统?
四种协调模式,从最简单到最复杂。
模式1:顺序型每个代理完成任务后,将输出传递给下一个代理。就像一条装配线一样。研究员 → 设计师 → 编辑 → 完成。易于调试,可预测。从这里开始。
模式2:并行同时运行独立的代理。研究员与设计师同步工作。作家整合两者的成果。速度更快,但协调复杂度更高。
模式3:经理层级一名经理代理协调各专家。经理负责规划、授权和审查。专家向经理汇报,而非彼此之间互相汇报。这是当今实际生产系统中最常见的模式。
模式4:全对全任何代理都可以给任何其他代理发送消息。混乱无序,难以预测。仅适用于创意型或低风险工作,允许存在多样性。请勿在生产环境中使用。
第三部分:生产——如何真正将原型转化为成品
11. 高级任务分解
在复杂的多智能体系统中,如何进行分解至关重要。4种模式:
🏝️
功能型——按技术领域划分。前端智能体、后端智能体、数据库智能体。这是工程团队的经典做法。
空间— 按文件或目录结构拆分。代理1处理 /services/users/。代理2处理 /services/orders/。非常适合大型代码库。可最大程度地减少冲突。
时间顺序——按先后阶段划分。阶段1:研究。阶段2:规划。阶段3:构建。阶段4:上线。每个阶段在下一个阶段开始前完成。
数据驱动——按数据分区拆分。代理1处理第1周的日志,代理2处理第2周的日志,以此类推。适用于大型数据集,可实现分析并行化。
提高生产质量
两种类型的组件。两种不同的修复策略。
非LLM组件(网络搜索、RAG、OCR、代码执行):
→ 调整旋钮:搜索日期范围、前k个结果、分块大小、相似度阈值 → 切换提供商:尝试不同的搜索API、视觉模型、解析器
LLM组件(生成、推理、提取):
→ 提示更明确:添加约束条件、示例和输出模式 → 尝试不同的模型:有些模型擅长代码,有些则擅长遵循指令 → 将较难的任务分解成更小的步骤 → 微调(仅作为最后手段——成本高昂,仅用于最后的几个百分点)
顺序很重要。
先修复提示词。尝试不同的模型。进一步分解。最后微调。
大多数团队在第二步就能达到足够好的质量。
延迟与成本
降低延迟:
衡量每一步。找到真正的瓶颈。
对不依赖于其他步骤的任何内容进行并行化处理。
合理选择模型规模——简单步骤采用快速廉价的大语言模型,推理任务则使用大模型。
尝试更快的提供商——令牌流速差异很大。
精简上下文——提示词越短,解码速度越快。
降低成本:
典型研究代理运行的实际成本明细:
→ 大语言模型生成调用:约0.04美元 → 网络搜索API调用:约0.02美元 → 嵌入式调用:约0.005美元 → 基础设施:约0.015美元 → 每次运行总成本:约0.08美元
每天运行1,000次 = 每天80美元 = 每月2,400美元。
如何降低成本:
→ 先攻击最大的数据集 → 对模型进行分级——简单易用的模型价格低廉,复杂难用的模型价格昂贵 → 积极缓存结果(搜索结果、嵌入向量、摘要)→ 限制输出内容(“返回 JSON。”最多5个字段)→ 尽可能进行批量操作
可观测性:大规模监控您的客服人员
传统软件:追踪执行路径。A调用B,B调用数据库,返回结果。
人工智能代理并非如此工作。
它们是非确定性的。相同的输入→不同的输出。分布式执行。可能存在故障的外部依赖。
您需要两种类型的可见性:
放大指标(单次运行调试)→ 完整追踪:每个提示、每次工具调用、每 token 使用情况 → 代理为何选择此工具?→ 每个步骤返回了什么?→ 究竟在哪一步出现了问题?
不仅记录发生了什么,还要记录为什么发生:“代理选择了网络搜索而非RAG,因为查询中包含‘最近’”;“反思发现了3个问题:缺少引用、日期模糊、语气不当”
缩小范围的指标(多次运行中的系统健康状况)→ 质量评分随时间变化 → 幻觉发生率 → 成功率 → 变化是助力还是拖后腿?
你无法大规模手动检查每一条轨迹。
使用优质抽样——评估所有运行的一定百分比。构建趋势线。
这就是在用户发现之前捕获回归的方法。
安全:没人谈论却该关注的部分
人工智能代理的安全性与传统应用程序的安全性并不相同:你不仅仅是在防范外部攻击者,还要保护自己的系统,使其不会做出危险的决策。主要威胁包括:提示注入——用户输入中的恶意内容劫持智能体的指令;不安全的代码生成——智能体编写访问敏感数据或实施有害行为的代码;数据泄露——个人身份信息或专有信息通过输出或工具调用被暴露;资源耗尽——智能体陷入无限循环或耗尽昂贵的API调用。
其中,代码执行是最危险的功能。如果你启用它,以下方法是关键的安全实践:在Docker中运行沙箱,每次运行后销毁容器;设置硬性资源限制(超时、内存上限、CPU限制);仅将特定安全库列入白名单;在输入到达智能体之前对其进行验证;扫描所有输出以查找敏感数据(如API密钥、PII);使用确定性I/O,让代码向用户返回结构化JSON而非自由格式文本。
回顾
初学者:→ 代理以迭代方式工作——计划、行动、观察、重复 → 适用于可实现约90%准确率的复杂多步骤任务 → 从半自主起步,而非完全自主 → 上下文工程才是真正的智能所在 → 任务分解是最关键的技能
中级:→ 从第一天起即可评估——以大语言模型作为复杂任务的评判者→ 记忆(动态)≠ 知识(静态)→ 三种护栏:代码→ 大语言模型评判者→ 人类→ 四种始终奏效的模式:反思、工具使用、规划、多智能体→ 依次启动。
生产:→ 4种分解模式:功能型、空间型、时序型、数据驱动型 → 在微调前修正提示词 → 测量每一步的延迟和成本,然后针对最大耗时部分进行优化 → 两种可观测性模式:放大查看追踪信息 + 缩小查看健康指标 → 安全=保护自身系统,而不仅仅是防范攻击者