1.智能体-Agent与Harness 1.Agent1.1 理论模型2023 年 6 月 23 日翁丽莲Lilian Weng时任 OpenAI 应用研究主管在其经典博客《LLM Powered Autonomous Agents》中系统阐述了现代 Agent 的核心思想。这篇博客被认为是 Agent 领域的奠基性文献之一为后续的研究和工程实践提供了清晰的理论框架。她提出了一个被后续整个行业反复引用的公式Agent LLM Planning Memory Tool Use这个公式简洁地概括了现代 Agent 的四个核心组成部分LLM大语言模型作为 Agent 的大脑负责理解用户意图、生成推理步骤和决策。LLM 提供了基础的认知能力但单独使用 LLM 还不足以构建一个完整的 Agent 系统。Planning规划Agent 需要能够将复杂任务分解为可执行的子任务序列。规划能力使 Agent 能够思考如何完成任务而不仅仅是回答问题。例如当用户要求帮我分析上个月的销售数据并生成报告时Agent 需要规划出获取数据 → 清洗数据 → 分析趋势 → 生成可视化 → 撰写总结等多个步骤。Memory记忆Agent 需要记住过去的交互、学习到的知识和任务状态。记忆分为短期记忆当前会话的上下文和长期记忆跨会话的持久化存储。这使得 Agent 能够进行连续的、有上下文的对话而不是每次交互都从零开始。Tool Use工具使用Agent 能够调用外部工具来扩展其能力边界。这些工具可以是搜索引擎、数据库查询、代码执行器、API 调用等。通过工具使用Agent 能够执行超出纯文本生成范围的实际操作。这个理论模型的重要性在于它明确了 Agent 不仅仅是更聪明的聊天机器人而是一个具备自主性、持续性和行动能力的系统。它从被动响应转向主动执行从单次交互转向持续协作。1.2 理论工程化翁丽莲的框架更偏向理论模型它告诉我们一个 Agent应该具备什么能力。但真正把 Agent 部署到生产环境会遇到一连串工程问题上下文窗口会溢出如何压缩与组织LLM 的上下文长度有限如 128K而 Agent 任务可能涉及大量历史对话、文档内容和工具调用结果。需要智能的上下文管理策略如关键信息提取、摘要生成、分层存储等。长期记忆如何持久化跨会话如何恢复用户希望 Agent 能记住几周甚至几个月前的对话和偏好。这需要设计可靠的数据存储方案、高效的检索机制和隐私保护策略。工具越来越多如何标准化扩展一个成熟的 Agent 系统可能需要集成数十甚至上百个工具。需要统一的工具描述格式、自动发现机制、权限管理和错误处理。模型执行到一半崩溃了状态如何保存和恢复复杂的 Agent 任务可能运行数小时中间可能遇到网络中断、服务重启等问题。需要类似数据库事务的检查点机制。工具会执行危险命令如何隔离与授权当 Agent 能够执行代码、操作数据库或调用外部 API 时必须考虑安全沙箱、权限控制和审计日志。为了解决这些问题工程界在原始框架之上逐步增加了大量生产级核心组件Prompt 工程化、Function Call、MCP、Context 管理、Checkpoint、Agent Loop、Runtime…… 最终形成了 OpenClaw / Hermes / DeepAgents 所代表的现代 Agent Harness。tips: 翁丽莲的博客提出了 Agent “要有什么能力”Harness 解决的是这些能力 “如何在生产环境中可靠地跑起来”。可以这样理解理论模型定义了 Agent 的功能规格而工程化实现了这些功能的生产部署。工程化的关键转变从静态提示到动态提示工程不再是一成不变的系统提示词而是根据任务状态、用户历史、工具可用性动态生成最有效的提示。从简单工具调用到工具编排工具之间可能存在依赖关系需要智能的调度和并行执行优化。从内存管理到状态管理将 Agent 的思维状态、工具调用历史、用户偏好等统一建模和管理。从单次执行到生命周期管理支持任务的暂停、恢复、取消、重试等完整生命周期操作。这些工程化组件使得 Agent 从实验室原型转变为能够处理真实业务场景的可靠系统。1.3 现代AgentAgent Model Harness现代 Agent 架构可以概括为这个简洁的公式它反映了从理论到实践的演进Model模型层模型层是 Agent 的智能核心通常基于大语言模型构建但已经超越了原始的 LLM基础模型如 GPT-4、Claude、Gemini 等提供基础的语言理解和生成能力。专业模型针对特定领域优化的模型如代码生成、数学推理、多模态理解等。模型编排根据任务类型智能选择最合适的模型平衡成本、速度和准确性。思维链优化通过 CoTChain-of-Thought、ToTTree-of-Thought等技术提升复杂推理能力。Harness框架/装备层Harness 是将模型能力转化为可靠服务的基础设施相当于 Agent 的操作系统执行引擎Runtime负责调度模型调用、工具执行、状态管理等核心流程。工具管理工具注册与发现自动识别可用工具及其功能权限控制基于角色的工具访问权限错误处理工具调用失败时的降级和重试策略记忆系统短期记忆当前会话的上下文管理长期记忆向量数据库、图数据库等持久化存储工作记忆任务执行过程中的临时状态安全与监控输入输出过滤防止提示注入、数据泄露执行沙箱隔离危险的工具操作审计日志完整的操作记录用于调试和合规可观测性实时监控 Agent 的执行状态性能指标收集延迟、成功率、成本等可视化调试工具现代 Agent 的特点模块化设计各个组件可以独立升级和替换如更换模型提供商、添加新工具等。可扩展性支持水平扩展以处理高并发请求支持垂直扩展以处理复杂任务。可靠性具备故障恢复、状态持久化、限流降级等生产级特性。易用性提供清晰的 API、丰富的 SDK 和可视化配置界面。生态集成与现有的开发工具、部署平台、监控系统无缝集成。实际应用示例以客服场景为例现代 Agent 的工作流程可能是用户输入问题 → 2. Agent 理解意图并规划解决步骤 → 3. 查询知识库获取产品信息 → 4. 调用订单系统检查用户状态 → 5. 生成个性化回复 → 6. 记录交互历史用于后续优化这个过程中Model 负责第 2、5 步的理解和生成Harness 负责第 3、4 步的工具调用和第 6 步的记忆管理两者协同完成端到端的任务。现代 Agent 不再是简单的问答机器而是能够自主规划、使用工具、持续学习、可靠执行的智能系统正在改变软件开发和业务自动化的范式。2. Agent 核心组件在从理论模型Agent LLM Planning Memory Tool Use演进到现代工程化架构Agent Model Harness的过程中一系列核心组件被提炼和标准化构成了现代 Agent 系统的基石。这些组件解决了将 Agent 从原型推向生产所面临的关键工程挑战。2.1 Prompt 系统Prompt 系统是现代 Agent 的“指令集”和“思维引导器”它已从静态文本演变为一个动态、可编程的子系统。动态提示工程系统提示词不再是固定的字符串而是根据任务上下文、用户身份、可用工具和历史交互动态生成的模板。例如在客服场景中系统会根据用户问题的复杂度和历史记录动态注入不同的解决策略和知识库查询指令。提示模板与变量支持参数化模板如 {user_name}、{current_date}、{available_tools}在运行时被具体值替换实现高度的个性化和情境化。少样本学习Few-Shot与思维链CoT集成Prompt 系统内置了示例选择机制能根据当前问题自动从示例库中检索并插入最相关的 Few-Shot 示例或引导模型进行分步推理CoT。安全与护栏Guardrails集成输入/输出过滤器防止提示注入攻击Prompt Injection确保用户输入和模型输出符合安全策略与业务规则。2.2 Function Call工具调用Function Call 是 Agent 与外部世界交互的标准化接口它将自然语言指令转化为可执行的操作。标准化描述与发现工具函数通过统一的 Schema如 OpenAPI Spec、JSON Schema进行描述声明其名称、参数、返回值及用途。Agent 框架能自动发现并编目所有可用工具。意图识别与参数提取模型根据用户请求和上下文判断是否需要调用工具、调用哪个工具并从自然语言中精确提取出符合工具 Schema 要求的参数。编排与执行支持工具的顺序、并行或条件执行。高级框架能处理工具间的依赖关系例如必须先调用“查询用户订单”工具才能使用“申请售后”工具。错误处理与降级具备完善的错误处理机制如网络超时重试、参数验证失败回退、主工具失败时调用备用工具等确保任务流程的鲁棒性。2.3 Memory 记忆系统记忆系统赋予 Agent 持续性和个性化能力使其能够进行有上下文的、连贯的多轮交互。分层记忆架构短期记忆/工作记忆存储在当前对话上下文窗口内用于保持对话连贯性通常受模型 Token 限制。长期记忆持久化到外部存储向量数据库、关系型数据库、图数据库用于存储跨会话的用户偏好、历史对话摘要、学到的知识等。外部知识记忆通过检索增强生成RAG技术在需要时从知识库、文档、API 中实时获取信息。记忆的读写与压缩系统需要智能地决定何时将重要信息从短期记忆写入长期记忆以及如何从海量长期记忆中高效检索出与当前任务最相关的片段。常用的技术包括基于嵌入向量的相似性检索和记忆摘要生成。记忆的关联与推理高级记忆系统支持记忆条目之间的关联如通过知识图谱使 Agent 能进行更复杂的联想和推理。2.4 Context 上下文管理上下文管理负责高效、智能地组织和使用有限的模型上下文窗口是解决“上下文溢出”问题的核心。上下文窗口优化采用策略性压缩技术如丢弃不重要的中间 Token、对历史对话进行摘要、仅保留与当前任务高度相关的上下文片段。分层与优先级对上下文内容进行分层例如将系统指令、最近几条对话、关键工具调用结果置于高优先级位置而将早期的普通对话置于可被压缩或丢弃的低优先级区域。动态上下文构建并非每次请求都携带全部历史而是根据当前对话轮次和任务目标动态组装一个最精简、最有效的上下文提交给模型以节省 Token 并提升模型关注度。2.5 MCPModel Context ProtocolMCPModel Context Protocol是一种新兴的开放协议旨在标准化模型与外部上下文源如数据库、文件系统、API之间的交互。协议化数据接入MCP 定义了服务器提供上下文数据和客户端如 Agent 框架之间的标准通信方式。任何符合 MCP 的服务都可以轻松地将自己的数据暴露给 Agent 使用。动态上下文注入通过 MCPAgent 可以在推理过程中按需、实时地从外部源获取最新、最相关的上下文信息而无需将所有数据预先加载到有限的提示词中。例如在编写代码时动态获取相关文件的内容在分析数据时实时查询数据库。提升新鲜度与准确性解决了传统 RAG 可能存在的知识滞后问题确保 Agent 使用的信息是最新的。生态与工具集成MCP 促进了工具和上下文源的生态建设开发者可以为其数据源编写 MCP 服务器即可被所有支持 MCP 的 Agent 框架无缝使用。这些核心组件相互协作共同支撑起现代 Agent 的复杂能力。Prompt 系统引导思考Function Call 执行动作Memory 系统保存经验Context 管理优化资源而 MCP 则打开了连接无限外部知识的大门。它们被 Harness框架层有机地整合在一起使得 Model模型层的能力得以安全、可靠、高效地释放。3. 相关核心概念在理解了 Agent 的理论模型、现代架构及其核心组件后我们还需要深入探讨几个关键的工程概念。这些概念是构建可靠、可扩展 Agent 系统的基石它们解决了 Agent 在生产环境中运行时的执行流程、状态管理和系统设计等核心问题。3.1 Agent LoopAgent 执行循环Agent Loop 是 Agent 执行任务的核心控制流程它定义了 Agent 如何感知环境、思考决策、执行动作并更新状态的循环过程。一个完整的 Agent Loop 通常包含以下阶段感知Perception→ 思考Reasoning→ 行动Action→ 学习Learning。根据应用场景的不同Agent Loop 可以分为内部循环和外部循环两种模式。3.1.1 内部 Agent LoopSingle-Agent Loop内部 Agent Loop 指单个 Agent 在处理一个任务时的内部执行循环。这是最基本的 Agent 执行模式适用于大多数独立任务场景。感知阶段Agent 接收来自用户或环境的输入这可能包括用户查询、传感器数据、API 响应等。输入经过预处理后被转换为 Agent 可以理解的内部表示。思考阶段Agent 的核心决策环节。模型基于当前输入、历史记忆和可用工具进行规划、推理和决策。这可能涉及任务分解、工具选择、参数确定等复杂思维过程。先进的框架会集成 Chain-of-ThoughtCoT、Tree-of-ThoughtToT等推理技术来提升此阶段的可靠性。行动阶段Agent 执行在思考阶段确定的动作。这通常包括调用工具执行一个或多个 Function Call如查询数据库、调用 API、运行代码等。生成回复直接向用户输出文本、图像或其他形式的内容。状态更新与学习行动完成后Agent 根据执行结果更新内部状态如更新记忆、修改任务计划并可能进行简单的在线学习如调整策略。然后循环回到感知阶段等待下一轮输入或判断任务是否完成。内部循环的设计强调自主性和连续性目标是让单个 Agent 能独立完成一个端到端的复杂任务。3.1.2 外部 Agent LoopMulti-Agent Orchestration外部 Agent Loop 涉及多个 Agent 之间的协作与编排用于解决单个 Agent 能力不足或需要分工协作的复杂问题。这通常由一个编排器Orchestrator或主控 AgentController Agent来管理。任务分解与分配编排器接收一个宏观任务如“开发一个Web应用”将其分解为多个子任务前端开发、后端开发、测试部署并分配给具有相应专长的子 Agent。子 Agent 执行每个子 Agent 运行自己的内部 Agent Loop处理分配到的子任务。它们之间可能需要通信和共享上下文。协调与同步编排器监控所有子 Agent 的进度处理它们之间的依赖关系如后端 API 必须先于前端联调并解决可能出现的冲突。结果整合与最终输出所有子任务完成后编排器收集各子 Agent 的结果进行整合、验证并生成最终的输出或交付物。外部循环体现了系统性和协作性是现代 Agent 应用于复杂工作流如软件开发、科研探索、业务流程自动化的关键模式。框架如 AutoGen、CrewAI 专门为此类多 Agent 编排而设计。3.2 Checkpoint检查点 / 持久化Checkpoint检查点是 Agent 系统实现可靠性和长时任务支持的关键机制。它允许系统将 Agent 的完整执行状态包括记忆、任务进度、中间结果等持久化保存并在需要时如系统崩溃、主动暂停后从中断点精确恢复。状态快照Checkpoint 捕获的是 Agent 在某一时刻的完整“快照”包括对话历史与上下文当前的完整对话状态。任务执行状态任务计划、已完成和待完成的子步骤。工具调用历史与结果所有已执行工具的参数和返回值。内部推理状态模型的思维链、临时决策等。记忆内容工作记忆和相关的长期记忆索引。触发时机检查点可以在以下时机创建定期保存按时间间隔如每5分钟或执行步骤数自动保存。关键里程碑在完成一个重要子任务后。用户主动请求用户手动点击“保存”或“暂停”。系统异常前在检测到可能崩溃前尝试保存最后状态。恢复流程当需要恢复时系统从存储中加载最新的检查点重新初始化 Agent 的所有组件模型会话、记忆、工具状态等并从保存点继续执行对用户而言体验几乎无缝。存储后端检查点数据通常序列化如 JSON、MessagePack后存储于数据库如 Redis、PostgreSQL或对象存储如 S3中并建立索引以便快速检索。Checkpoint 机制使得 Agent 能够处理运行时间远超模型上下文窗口或单次会话限制的超长任务也是实现 Agent 即服务Agent-as-a-Service高可用性的基础。3.3 Agent Runtime运行时Agent Runtime 是 Harness框架层中负责驱动单个 Agent Loop 执行的核心引擎。它是将模型、工具、记忆等组件粘合在一起并按照既定流程一步步执行任务的“指挥中心”。核心职责生命周期管理初始化 Agent、运行主循环、处理暂停/恢复/终止信号。流程调度严格按“感知→思考→行动→更新”的步骤调用相应组件。上下文管理在每一步执行前后负责组装和传递正确的上下文给模型即管理有限的 Token 窗口。工具执行代理接收模型发出的工具调用请求定位具体工具传入参数执行并将结果格式化后返回给模型。状态推进根据每一步的结果更新 Agent 的内部状态机决定下一步是继续循环、完成任务还是报错退出。与 Harness 的关系可以将 Harness 理解为 Agent 的“操作系统”而 Runtime 则是这个操作系统中的“进程管理器”或“执行引擎”。一个 Harness 可以同时运行和管理多个独立的 Agent Runtime 实例以服务不同用户或任务。可观测性集成Runtime 会生成详细的执行日志、性能指标每一步的耗时和追踪信息这些是系统可观测性的主要数据来源用于监控、调试和优化 Agent 性能。简而言之Runtime 是 Agent “活”起来并开始工作的那个瞬间所依赖的执行环境。3.4 Agent Harness框架/装备层Agent Harness 在文章 1.3 节已有概述这里从“核心概念”角度进行补充和深化。Harness 是一整套用于构建、部署、运行和管理 Agent 的软件框架和基础设施。它不是一个单一工具而是一个包含 Runtime、工具管理、记忆系统、安全模块、可观测性等子系统的完整平台。设计哲学Harness 的核心设计哲学是分离关注点。它将模型智能与实现智能所需的工程复杂性可靠性、安全性、扩展性解耦。开发者只需关注业务逻辑和提示词工程而将生产级挑战交给 Harness 处理。关键价值降低开发门槛提供高级 API 和 SDK让开发者能像组装积木一样构建 Agent。保障生产就绪内置了重试、熔断、降级、权限、审计等企业级特性。实现组件标准化定义了工具、记忆、上下文等组件的标准接口促进了生态互操作性。提供统一管控面通过控制台或 API 对部署的 Agent 进行监控、配置更新、版本管理。流行实例LangChain、LlamaIndex 的 Agent 相关模块、Microsoft Autogen、CrewAI、以及国内外的各类商业/开源 Agent 平台都可以视为不同形态的 Harness。Harness 的成熟度直接决定了 Agent 技术从“演示原型”走向“核心业务系统”的进程。Agent Loop 定义了 Agent 如何“思考”和“行动”的节拍Checkpoint 确保了 Agent 在长跑中不会“跌倒失忆”Runtime 是让 Agent 每一步都能踏出的“地面”而 Harness 则为整个旅程提供了“装备、地图和后勤支持”。理解这些核心概念有助于我们不仅在理论上更在工程实践上设计和构建出真正强大、可靠的智能体系统。4. 总结我们从 Agent 的理论起源出发探讨了其核心构成LLM Planning Memory Tool Use并深入剖析了将理论落地为生产系统所必须面对的工程化挑战与解决方案。现代 Agent 架构已演进为Model Harness的双层范式。Model 层作为智能核心负责理解、推理与生成Harness 层则作为基础设施集成了 Prompt 系统、Function Call、Memory、Context 管理、MCP 等核心组件解决了可靠性、安全性与扩展性等生产级问题。进一步我们探讨了构建可靠 Agent 系统所依赖的关键工程概念Agent Loop定义了任务执行的节拍Checkpoint保障了长时任务的可靠性Runtime提供了具体的执行环境而Harness则构成了支撑这一切的完整框架。纵观其发展Agent 技术正经历从“演示原型”到“核心业务系统”的深刻转变。它不再仅仅是更聪明的聊天机器人而是能够自主规划、使用工具、持续学习、并在复杂环境中可靠执行的智能系统。这一转变不仅推动了软件开发范式的革新也为各行各业的自动化与智能化开启了新的可能性。未来随着模型能力的持续进化与工程框架的日益成熟Agent 必将在更广泛的场景中发挥关键作用成为人机协作的新范式。