资讯中心

【第一部分:认识 Agentic AI】3.Agent 核心原理深度解析:不只是大模型+工具调用,而是一套持续运行的系统

📅 2026/7/22 13:10:59
【第一部分:认识 Agentic AI】3.Agent 核心原理深度解析:不只是大模型+工具调用,而是一套持续运行的系统
当我们第一次接触 AI Agent 时最容易形成的理解是Agent 大模型 工具调用这个说法没有错但只适合入门。它能够解释为什么大模型可以查询数据、发送邮件或者执行代码却无法解释更多现实问题为什么同一个模型在不同 Agent 产品中的表现差异很大为什么有些 Agent 能够连续工作几十分钟有些执行几步就偏离目标为什么模型已经很强Agent 仍然会重复调用工具、忘记任务要求或者错误判断任务已经完成原因在于真正可用的 Agent 从来不只是一个模型也不只是给模型增加几个接口。它更接近一套围绕目标持续运行的系统模型负责理解和判断Harness基础架构负责提供上下文、能力、环境、反馈与边界。一、先从一个最小 Agent 开始一个最基本的 Agent可以抽象为下面的执行循环与普通大模型应用相比最大的区别并不是“是否调用了工具”而是系统能否根据执行结果不断调整下一步行动。普通大模型应用输入一次 → 生成一次Agent目标驱动 → 多步行动 → 持续反馈 → 结果交付因此一个 Agent 至少要解决三个问题现在要完成什么下一步应该做什么如何判断已经完成围绕这三个问题才能理解 Agent 的各个组成部分。二、不要再把 Agent 看成一串组件传统资料通常会列出Model、Instructions、Context、Tools、Memory、Planning、Execution、Observation、Feedback、Guardrails 和 Evaluation。这些概念都很重要但如果只是逐个解释读者很容易记住名词却仍然不知道它们如何共同工作。更容易理解的方式是将 Agent 划分为五个层次层次核心内容解决什么问题第一层目标与指令Goal Instructions要完成什么不能做什么第二层模型与决策Model Planning如何理解并决定下一步第三层上下文与记忆Context Memory当前决策需要哪些信息第四层工具与执行环境Tools Skills Execution Environment如何真正采取行动第五层反馈、评估与安全Observation Feedback Evaluation Guardrails行动是否正确如何证明完成这五层共同构成一个完整的 Agent。三、第一层目标与指令Goal | 目标很多 Agent 失败并不是因为模型能力不足而是因为任务目标本身不清晰。例如“帮我分析这个项目”可能意味着分析项目架构、分析代码质量、分析进度风险、查找功能缺陷或是生成一份管理报告。目标不同Agent 选择的上下文、工具和完成标准也完全不同。因此生产级 Agent 需要的不只是一段 Prompt而是一份相对清晰的“任务契约”。一份完整的任务目标需要说清楚期望结果是什么、作用范围覆盖哪里、约束条件有哪些、完成标准如何验证以及终止条件何时触发。目标越清晰Agent 越容易选择正确的行动。Instructions | 指令Instructions 用来规定 Agent 应该如何工作通常涵盖以下方面角色定位工作原则执行流程输出格式工具使用规则项目约束安全要求人工确认操作过去人们常把 Instructions 理解为“系统提示词”。但随着 Agent 工程化发展指令已经不再只是一段放在对话开头的文字它还可能存在于项目规则文件、Agent Skills、工作流节点、工具权限配置等更多地方。因此Instructions 更接近一套可以被系统加载和执行的运行规则而不只是 Prompt Engineering。四、第二层模型与决策Model | 模型模型是 Agent 的认知核心负责理解用户目标、分析当前信息、识别任务意图、生成计划、选择工具、判断工具结果并生成最终输出。但是模型并不直接等于 Agent。同一个模型放入不同的上下文、工具和执行环境中可能产生完全不同的效果。模型提供通用智能Agent 系统负责把这种智能约束到具体任务中。模型的选择也不一定是固定的。一个生产级 Agent 可能同时使用大模型处理复杂规划、小模型完成分类路由、专用模型处理特定模态、本地模型处理敏感数据甚至让不同模型相互审查结果。因此Model 在现代 Agent 中逐渐从“唯一的大脑”变成可以被运行时动态调度的认知资源。Planning | 规划规划是将目标转换为可执行行动的过程。现代 Agent 的规划方式灵活可变方式做法适用场景即时决策每次只决定下一步步骤少、环境变化快先规划后执行生成完整列表再逐项完成目标明确、依赖清晰动态规划初步计划 执行中不断调整研究编码故障分析等开放任务当前更实用的做法是计划一部分、执行一部分、根据反馈继续修正。五、第三层上下文与记忆Context | 上下文上下文是模型在当前这一步能够看到的全部有效信息可能包括用户目标、系统指令、任务状态、对话历史、相关文档、工具返回值等。过去人们主要关注 Prompt 应该怎么写。现在更重要的问题已经变成在当前步骤中模型究竟应该看到什么上下文不是越多越好。当所有信息不断塞进模型时会出现 Token 成本增加、重要信息被淹没、过期信息干扰判断、长任务逐渐偏离目标等问题。因此成熟的 Agent 需要对上下文进行选择只加载相关、压缩长历史转为摘要、隔离子任务独立、更新移除过期信息和持久化关键结果存出窗口外。Memory | 记忆Context 和 Memory 经常被混为一谈。可以用一个简单方式区分Context 是 Agent 当前看到的信息Memory 是系统保存并可能在未来重新取出的信息。记忆可按层级划分工作记忆会话记忆长期记忆经验记忆程序性记忆记忆也不是保存得越多越好。一个可用的记忆系统还需要处理信息是否值得保存、何时过期、冲突如何处理、敏感信息是否允许存储等问题。没有治理的长期记忆可能从能力增强机制变成长期风险来源。六、第四层工具、技能与执行环境Tools | 工具工具让 Agent 从“能够理解”走向“能够行动”。常见工具包括数据工具数据库知识库搜索、办公工具邮件日程文档、开发工具代码仓库终端测试、业务工具订单审批项目管理系统以及计算机操作工具浏览器文件系统等。模型一般不会直接执行这些操作而是生成结构化调用请求再由程序完成校验和执行模型选择工具 → 生成调用参数 → 系统校验权限和数据 → 执行实际操作 → 返回执行结果 → 模型决定下一步工具设计的质量会直接影响 Agent 的稳定性。一个好的工具应当名称清晰功能单一参数明确返回值结构化错误信息可理解操作幂等权限边界明确很多所谓的“模型调用错误”实际是工具描述模糊、返回值混乱或者权限设计不合理。Skills | 技能Skills 是近期 Agent 架构中越来越重要的一层Tool 主要告诉 Agent可以做什么。Skill 则告诉 Agent一类任务应该怎样完成。例如“生成技术选型报告”这个 Skill可能包含分析步骤、信息来源要求、对比维度、输出模板、事实校验规则以及可调用的工具等。Skills 在需要时按需加载而不是将所有领域知识永久放入系统 Prompt。因此Tools 提供操作能力Skills 提供任务方法。Execution | 执行Execution 是将模型的行动决策变成真实结果的过程可能发生在后端服务、浏览器、用户桌面、容器、云端 Sandbox 或企业业务系统中。生产级执行层需要统筹超时与重试、幂等与并发、取消与资源限制、网络隔离与文件权限、凭证管理与失败恢复。这也是 Agent 与普通聊天应用最明显的区别聊天应用回答错误主要影响内容质量而Agent 执行错误则可能修改文件、发送消息、消耗资源或者改变业务数据。行动能力越强执行环境越需要被严格控制。Environment | 环境环境在 Coding Agent 和 Computer Use 场景中已成为核心组成部分。Agent 需要知道当前有哪些文件、浏览器显示了什么、命令执行后发生了什么、代码是否编译成功、业务系统返回了什么状态。环境不仅提供工具也产生新的状态。因此Agent 实际运行的是一个闭环感知环境 → 采取行动 → 环境变化 → 再次感知这与早期“模型调用一个 API然后生成答案”的模式已明显不同。七、第五层观察、反馈与评估Observation | 观察Observation 是 Agent 对行动结果的读取和理解搜索返回了什么、API 是否成功、测试是否通过、文件是否生成、数据是否变化。观察结果必须重新进入 Agent 的上下文才能帮助模型决定下一步。工具返回值不是最终结果而是 Agent 下一次决策的输入。高质量的 Observation 应尽量结构化明确表达操作是否成功、实际发生了什么、返回了哪些数据、是否存在异常、下一步可以做什么。如果工具只返回一大段混乱日志模型就很难做出稳定判断。Feedback | 反馈Observation 只是“看到了什么”Feedback 则进一步告诉 Agent“做得怎么样”。反馈可以来自确定性反馈编译结果单元测试Schema 校验、模型反馈结果审查错误分析、用户反馈批准拒绝修改意见以及环境反馈页面变化外部系统响应。一个成熟的 Agent 不应只依赖模型自我反思而应优先使用可重复、可验证的外部反馈。Evaluation | 评估Feedback 主要服务于当前运行Evaluation 则用于判断 Agent 在一组任务上的整体表现。评估 Agent 表现可以从任务层面完成率正确率、行为层面工具选择与参数准确率步骤数、资源层面Token 消耗响应时间重试次数和安全层面人工介入率违规率业务价值综合衡量。Agent 的评估对象不应只是一次输出而应是完整的执行轨迹。八、Guardrails护栏不是最后一层过滤器很多系统将 Guardrails 理解为输入输出内容审核。但对 Agent 来说这远远不够——因为 Agent 不只是说话还会行动。护栏应贯穿全程输入阶段规划阶段工具阶段执行阶段输出阶段记忆阶段对于高风险操作更合理的流程是模型提出操作 → 系统检查权限和风险 → 必要时请求人工确认 → 在受控环境中执行 → 记录完整操作证据九、把组件重新放回运行循环现在可以把前面的内容重新组合成一个完整的 Agent Loop接收目标Goal Instructions —— 明确做什么、怎么做、不能做什么。构建当前认知Context Memory —— 选择本次决策需要看到的信息。形成行动决策Model Planning —— 分析状态并决定下一步。执行实际操作Tools Skills Execution —— 调用能力在真实环境中完成行动。获取环境变化Observation —— 读取工具、系统和环境返回的结果。检查执行质量Feedback Guardrails —— 判断是否正确、安全是否需修正或人工确认。判断任务是否完成Evaluation —— 根据完成标准判断继续、结束或失败。未完成更新上下文进入下一轮已完成输出结果和执行证据这才是一个完整的 Agent Loop。十、一个现实例子Coding Agent 修改项目代码以“为一个 Spring Boot 项目增加接口限流”为例目标与指令明确只修改 API 接入层保持兼容补充自动化测试。上下文与记忆读取项目结构、技术栈、现有安全配置和编码规范。模型与规划判断在哪一层增加限流生成修改步骤。工具与执行搜索代码、修改文件、运行 Maven 构建和测试。观察读取编译错误、测试结果和代码差异。反馈根据测试失败原因继续修复。护栏禁止修改生产配置和密钥文件限制命令和网络访问。评估检查项目是否构建成功、新增测试是否通过、原有接口是否兼容、修改范围是否符合要求、是否输出验证证据。这时可以看到真正决定 Coding Agent 是否可靠的并不只是模型会不会写代码更关键的是它读取了什么上下文、可以使用哪些工具、能在什么环境中执行、失败后获得什么反馈、用什么标准证明任务已完成。十一、从单 Agent 到协作系统前面的结构主要描述单个 Agent。当系统进一步扩展Tools 之外还可能出现其他 Agent主控 Agent理解目标、分配任务→ 搜索 Agent收集核实资料→ 分析 Agent整理数据、生成结论→ 审查 Agent检查事实和完整性随着 A2A 等协议发展不同语言、框架和厂商构建的 Agent可以通过统一协议完成能力发现、任务委托和状态交换。但无论系统中有一个还是多个 Agent每个 Agent 仍需解决相同的问题目标是什么、当前知道什么、可以做什么、已经发生了什么、结果是否可信、行动是否安全。十二、一个更加完整的 Agent 心智模型到这里可以给出一个比“模型工具”更加完整的表达视角公式解释入门视角Agent Model Tools解释模型如何采取行动系统视角Agent Goal Model Context Action Loop解释 Agent 如何围绕目标持续工作工程化视角Agent Model Harness Environment解释模型能力如何在真实系统中被稳定、安全地释放其中Harness基础架构包括指令、上下文、记忆、工具、技能、规划、状态、执行、反馈、评估、护栏。十三、写在最后一个智能体到底由什么组成表面上看它由模型、指令、上下文、工具、记忆、规划、执行、观察、反馈、护栏和评估组成。但从本质上看它只有一条主线围绕一个目标在受控环境中持续感知、决策、行动和验证。模型让 Agent 能够理解和判断。上下文和记忆让它知道当前发生了什么。工具、Skills 和执行环境让它能够真正采取行动。Observation 和 Feedback让它知道行动带来了什么结果。Guardrails限制它可以做什么。Evaluation负责回答最关键的问题这个任务真的完成了吗因此接触任何 Agent 框架之前首先应该建立的不是某个框架的 API 使用方法而是这套与技术实现无关的心智模型目标 → 上下文 → 决策 → 行动 → 观察 → 反馈与验证 → 继续执行或交付结果框架会不断变化模型会持续升级协议和工具也会快速演进。但一个可靠 Agent 的核心始终不会改变它不仅要能够采取行动还必须知道为什么行动、行动后发生了什么以及如何证明目标已经完成。上一篇回顾【第一部分认识 Agentic AI】2. AI Agent、Agentic AI 和普通大模型应用到底有什么区别-CSDN博客下一篇将进一步介绍智能体的工作循环——从 ReAct 到 Plan-Execute