文章摘要
近两年,智能体(Agent)从概念炒作落地到企业级应用,成为围绕大模型的系统工程。文章解析了企业级Agent系统工程10大核心概念,如Agent、Harness等,涵盖运行机制,还给出工程实践提示,下篇将探讨工程落地的系统能力问题。

近两年智能体(Agent)的概念在AI领域被频繁提及,从消费级聊天工具到企业级自动化系统,Agent已经从早期的概念炒作落地到实际工程场景。不过不少人对Agent的认知还停留在“更会聊天的AI”层面,实际上当Agent落地到企业级应用时,它不再是玄学,而是一套围绕大模型构建的完整系统工程,包含执行循环、工具链、上下文管理、知识结构搭建以及人机协作机制等核心模块。

如果你正在学习或尝试Agent应用落地,以下10个核心概念是当前Agent工程领域必须掌握的基础内容。本文将分为上下两篇:上篇聚焦运行机制层面,拆解Agent如何感知环境、完成推理并执行行动;下篇则侧重系统能力层,探讨Agent的扩展、协同与工程落地细节。

一、Agent(智能体):从被动应答到主动执行的核心载体

很多人接触生成式AI都是从ChatGPT这类聊天机器人(ChatBot)开始的,这类工具的典型特征是“一问一答”,用户输入内容后模型给出回应,对话结束后不会主动推进任务。但Agent和ChatBot的核心差异并不在于回答的拟人程度,而在于是否具备主动执行与迭代调整的能力。

Agent不仅能思考、能表达,还会真正“行动”,并且会根据执行结果不断调整下一步动作,直到完成目标(当然也可能因各种原因失败)。

我们可以用两个场景来直观区分两者:ChatBot就像企业前台的咨询台,用户提问后给出对应解答,不会主动跟进后续动作;而Agent更像带着工具箱的现场工程师,当你布置一个复杂任务时,它会先梳理实现思路,调用合适的工具完成每一步操作,如果执行结果不符合预期,还会自动调整方案继续推进,直到达成目标。

举个简单的例子:翻译一句话、创作一首短诗或者回答一个常识问题,只需要单次调用大语言模型(LLM)就能完成,完全不需要Agent介入;但如果任务是修复一个线上生产Bug,则需要先查看系统日志、分析代码逻辑、修改对应代码、进行本地测试、提交代码合并请求并跟进评审结果,整个过程需要多轮迭代调整,这正是Agent的典型应用场景——通过调用工具、持续推进目标,且每一步的动作都依赖于上一步的执行结果。

【工程实践提示】

在工程场景中判断是否需要使用Agent,只需要问自己一个核心问题:这个任务能不能提前写死固定步骤?如果答案是肯定的,那么使用传统工作流或者脚本就能完成;如果任务需要根据动态变化的结果调整执行路径,那么就需要考虑引入更具自主性的Agent系统。

需要注意的是,Agent的智能与自主性并不代表没有边界,必须明确定义它的能力范围、约束条件以及任务完成标准,否则Agent就会变成无的放矢的“盲盒式冒险”,出现偏离目标的无效动作。

二、Harness(运行框架):让模型从“光说不练”到“能办事”的系统外壳

Harness是近两年Agent领域兴起的热点概念,可以译为“运行框架”或“智能体外壳”。如果把大语言模型比作汽车的发动机,那么Harness就是将发动机转化为可以上路行驶的汽车的整套系统,负责解决模型本身无法处理的一系列工程问题,让Agent真正从“生成文本”的工具变成能够完成实际任务的智能系统。

大语言模型本身只具备一项核心能力:生成符合逻辑的文本。但要将其转化为可用的Agent系统,还需要解决很多模型自身无法处理的问题:比如如何调用外部工具、上下文信息应该如何存储与管理、任务执行进度如何追踪、权限如何管控、执行失败如何重试、如何管理长期记忆、最终结果如何验证以及如何加入人工审核环节等等。这些问题都需要依赖Harness来解决。

我们可以用一个简单的公式来概括Agent的构成:Agent = 大语言模型(LLM) + Harness运行框架

这也解释了为什么很多看起来使用相同大模型的Agent,实际表现差异巨大——核心差异就在于它们所使用的Harness框架不同。一个成熟完善的Harness框架,能够让性能中等的大模型发挥出远超预期的效果,就像一台搭载了优秀底盘和变速箱的普通发动机汽车,驾驶体验可能优于低配的高性能发动机车型。

【工程实践提示】

很多团队在构建Agent时容易陷入“唯模型论”的误区,认为使用更强的大模型就能获得更好的Agent效果,但实际上Harness框架的质量对Agent整体表现的影响更大。投入精力优化运行框架,往往能以更低的成本获得更稳定可靠的Agent系统。

三、Execution Model(执行模式):定义Agent思考与行动的核心范式

如果说Harness解决了“如何将模型转化为可用的Agent系统”的宏观问题,那么Execution Model则解决了更细节的微观问题:这个Agent系统到底按照什么样的节奏和行为方式来思考与行动?

当Agent正式投入运行后,需要不断做出决策并执行对应的动作,不同的执行逻辑会直接决定Agent的整体行为模式。目前主流的执行模式主要有两种:

1. ReAct模式:先推理再行动的循环范式

也就是Reason + Act的组合,按照“思考推理→执行行动→观察结果→再次思考推理”的循环推进任务。这种模式就像侦探破案的过程:先勘察现场收集线索,根据线索分析下一步方向,再针对性地收集新的证据,直到最终破解案件。

2. Plan-then-Execute模式:先制定计划再按步骤执行

这种模式会先将整体任务拆解为清晰的执行计划,再按照计划逐步推进,执行过程中会尽量保持计划的连贯性(当然也可以根据实际情况动态调整计划)。这种模式更适合长周期、跨多步骤的复杂任务,比如大型软件编码项目,通过预先制定的计划可以有效避免Agent偏离任务目标。

【工程实践提示】

在复杂的工程场景中,更常见的实践是将两种模式结合使用:用Plan-then-Execute制定整体执行框架,明确任务的阶段性目标和整体路径;再用ReAct模式处理每个阶段的细节执行,根据实时执行结果动态调整具体动作。

举个修复复杂Bug的例子:首先通过Plan-then-Execute列出整体工作计划,比如“上下文分析→代码修复→测试验证→PR提交”;在测试验证阶段,则可以使用ReAct模式,根据测试返回的结果动态修补代码,直到满足验收标准。

四、Loop Engineering(循环工程):实现多轮任务的自主推进

Execution Model解决了单轮任务中Agent的思考与行动逻辑,但在真实的工程场景中,大多数复杂任务都无法通过单轮执行完成,需要多轮迭代推进。比如开发一个新的产品功能,通常会经历“Agent编程→人工验证→Agent修复→人工再次验证→Agent最终提交”的多轮循环,而在这个过程中如果需要人类不断介入推动流程,会极大降低效率。

Loop Engineering所要解决的正是这个问题:让人类跳出任务执行的循环,转而设计一套可以让Agent系统自主持续推进到最终目标的机制

这里的核心不在于循环本身,而在于循环的控制权。通过Loop Engineering,系统可以自主完成任务的全流程推进:通过触发机制启动任务、通过验证机制判断执行结果是否达标、通过状态机制记录当前任务进度、通过预设的停止条件决定何时终止循环。

我们可以把这样的Agent系统比作一条自动化生产线:ReAct模式决定了生产线每个工位如何加工零件,而Loop Engineering则决定了整条生产线何时启动、何时继续运行、何时可以停机收尾。

【工程实践提示】

并非所有任务都需要引入Loop Engineering,它更适合目标清晰、完成标准可以独立验证、失败风险可控、支持人工评审的长周期任务,比如大型软件开发项目、复杂的数据处理流程等。

五、Agent State(智能体状态):让Agent清晰知晓“我在哪、我要做什么”

Agent State所要解决的核心问题是:当Agent运行时,它到底“知道什么”、“干了什么”以及“进行到了哪一步”?

在单次简单对话场景中,Agent State可以简单理解为当前的对话上下文(即提示词内容),但在复杂的长周期任务系统中,仅依赖聊天记录显然无法满足需求。大语言模型的上下文窗口存在天然上限,随着任务推进,聊天记录会逐渐被大量无用的日志、过期的工具调用结果等冗余信息“注水”,导致模型出现遗忘任务目标、被无关信息误导等问题,最终偏离任务方向。

因此,成熟的Agent工程必须引入严格的状态管理机制,至少需要管好三类核心信息:

  • 任务进度状态:明确当前处于总流程的哪个节点、下一步需要执行什么动作,让Agent始终清楚任务的整体脉络。
  • 窗口内短期状态:包括当前的系统提示词、最新的对话记录、工具调用结果、业务规则等,这些是模型进行推理决策的直接依据。
  • 需加载的长期状态:指Agent需要从外部存储或接口中加载的内容,比如项目代码文件、数据库记录、API返回的实时数据、外部搜索结果等。

通过完善的Agent State管理,Agent系统可以随时清晰知晓:我从哪里来、正在做什么、已经完成了哪些工作、接下来要做什么,甚至可以回溯历史执行记录,避免出现信息断层。

在实际的工程系统中,Agent State需要具备持久化存储能力,可以通过缓存、本地文件、数据库等方式实现,不同的存储方式对应了不同的容错级别和性能要求。

【工程实践提示】

Agent State管理的一个重要工程价值在于:通过持久化保存状态和设置必要的检查点机制,可以让Agent系统具备“断点续运行”甚至“重放任务”的能力,这对于关键任务场景下的企业级Agent系统尤为重要,可以避免因系统中断、模型异常等问题导致的任务重启和重复工作。

六、Context Engineering(上下文工程):让模型看到“有用的信息”

如果说Agent State解决的是Agent运行时“知道什么”的问题,那么Context Engineering则解决了另一个核心问题:在每一轮与模型的交互中,模型“能够看到什么信息”?

我们可以清晰区分Context(上下文)和State(状态)的边界:

  • State是Agent的完整事实空间,但不一定需要在每一轮交互中都全部输入给大语言模型。
  • Context则是大语言模型的“可见视野”,即模型用于推理和决策的全部输入信息。

很多人会认为“给模型的信息越多越好”,但实际上这是一个常见的误区:一方面,大语言模型的上下文窗口是有限的资源(比如目前主流模型的上下文窗口最大为1M左右),无法无限制地加载所有信息;另一方面,过多的冗余信息反而会干扰模型的推理,降低决策的准确性,就像一顿营养过剩的大餐反而会影响消化。

因此,Context Engineering的核心目标就是:为大语言模型提供所有用于合理推进任务的上下文信息的方法,更具体地说,就是把正确的信息,在正确的时间,以正确的形式送到模型面前

我们可以用修复线上Bug的场景来举例:我们不会直接把所有的项目代码和设计文档一股脑塞给模型,而是需要决策到底应该向模型提供哪些设计文档、业务知识、核心代码片段、系统日志和可用工具;这些信息应该在什么时机获取;哪些历史对话需要丢弃或压缩;需要明确哪些人类约束和边界规则;最终应该以什么样的结构和顺序将这些信息整理后输入给模型。

【工程实践提示】

Context Engineering本质上是Harness运行框架的核心组成部分,它直接决定了大语言模型是基于清晰聚焦的任务环境进行推理,还是基于混乱冗余的信息做出决策,这也是整个Agent系统的大脑——大语言模型能够正常工作的前提条件。

七、Context Rot(上下文腐化):长上下文带来的信息退化问题

Context Engineering解决了“如何将正确的信息送入模型”的问题,但随着任务推进,上下文窗口中的信息会越来越拥挤,模型反而会逐渐“看不清重点”,这就是著名的“上下文腐化(Context Rot)”问题。

尽管当前主流大语言模型的上下文窗口越来越大,从最初的4K、8K扩展到现在的1M甚至更大,可以容纳更多的信息输入,但模型的推理能力并不会随着窗口扩大而同比例提升,反而可能因为信息过载而被分散注意力,甚至被无关信息干扰误导。

这个现象其实很好理解:就像一场工作会议,如果桌面上只有一份核心合同文件,参会人员很容易聚焦并理解会议主题;但如果桌面上堆积了大量无关的文档和邮件,大家反而会抓不住会议的核心重点。Agent系统也是同样的道理,过长的上下文并不总是越多越好,如果信息有用且结构清晰,自然会对任务有帮助,但大量冗余、无关的内容只会干扰模型的注意力,让推理过程变得不稳定。

比如在一个行业级Agent应用中,如果直接给模型塞入大量与当前任务无关的、未经整理的业务知识文档,很容易让模型“失焦”;正确的做法应该是通过检索机制、按需加载等策略,让模型优先看到与当前任务最相关的核心信息。

【工程实践提示】

在Agent系统工程中,我们需要始终遵循一个核心原则:借助上下文工程,让上下文尽量保持精简

具体的优化手段包括:保持指令与规则简短具体、及时卸载过期信息、先对日志信息进行压缩或摘要、借助索引实现精准检索、对检索结果进行合理排序(比如使用Rerank技术)、及时清理无用的工具调用结果等。分层加载、按需加载、信息压缩、精准检索,都是构建可持续的上下文管理策略的有效方法。

八、Prompt Caching(提示词缓存):避免模型重复计算相同信息

在解决了“给模型看什么”和“如何精简上下文”的问题后,我们还会遇到另一个实际问题:每次给模型的上下文中,都有大量重复的固定内容,比如系统提示、工具说明、项目规则、少量示例和前几轮的对话记录,这些内容是否都需要让模型每一轮都重新计算一遍?

大语言模型本身是无状态的,也就是不具备原生的“记忆”能力,每一轮对话都需要重新输入完整的上下文信息才能完成推理。如果每一轮都让模型完整重读并计算这些重复的固定内容,就像每次学习新课文时都要重新理解一遍已经学过的内容,不仅会拖慢响应速度,还会浪费大量的Token,增加使用成本。

Prompt Caching(提示词缓存)的核心思路就是:将那些每次不变的上下文内容“缓存”起来,在下一轮调用时不需要重新处理这些重复内容

在实际的模型实现中,缓存通常基于前缀匹配,因此我们需要将稳定不变的内容组织在Prompt的最前部,这部分内容也被称为“稳定前缀”。第一次调用模型时,系统会完整处理所有内容,包括系统提示、工具定义、业务规则和背景信息,并将这部分稳定前缀进行缓存;之后的每一轮调用,输入中的稳定前缀部分就可以直接命中缓存,大幅降低处理成本和响应时间。

这种缓存机制特别适合长会话、长时间运行、前缀内容稳定的Agent任务,比如代码开发、长期数据处理等场景。如果没有有效的缓存机制,稳定上下文的重复计算会被不断放大,导致成本急剧上升。

【工程实践提示】

在工程实践中,一个关键的优化策略是:保持稳定的上下文前缀,有助于降低成本并提高响应速度

我们应该将稳定、有价值、会被反复使用的内容(比如系统提示、整体业务规则、任务背景信息等)放在Prompt的最前部;而将每一轮都会变化的用户输入、实时执行反馈等内容放在Prompt的后部。需要注意的是,缓存只能降低重复计算的成本,并不能提升上下文的质量,如果缓存的上下文本身存在错误,只会让错误的影响被放大,而不会让错误得到纠正。

九、Ontology(本体):让AI听懂企业的业务语言

即使已经掌握了如何筛选、组织和管理输入给模型的信息,Agent依然会在企业级任务中出现理解偏差,这并不是因为我们提供的信息不够多,而是因为模型并没有真正理解这些信息在企业自身业务背景下的语义和规则。

比如在企业的多系统中,同一个词汇可能具备完全不同的含义:“ALLOCATED”在ERP系统中可能代表库存已锁定,在生产管理系统中可能代表产能已分配,而在客服系统中可能只是一个普通的状态字段。但对于大语言模型来说,它只能看到一个字符串,如果没有额外的语义说明,模型只能基于通用语义进行推测,这也是企业级Agent常见的失败来源之一。

而Ontology(本体)所要解决的正是这个问题:用一种标准的形式,对企业的业务世界进行建模,作为Agent的“业务地图”

简单来说,本体就是把企业中的业务对象、属性、关系和规则清晰地定义出来。比如在电信系统中,我们需要明确客户、套餐、订单、工单、开通、计费、退订等业务对象分别是什么、具备哪些属性,它们之间的关联关系(比如“客户生成订单”),以及对应的约束规则(比如欠费客户无法变更套餐)。

需要特别注意的是,本体是语义层面的表达,而不是数据库结构的定义:企业的多个业务系统可能存在不同的“客户表”字段定义,但在语义层,“客户”的含义应该是统一的。

【工程实践提示】

本体在Agent系统中的典型应用是:将企业的业务规则从零散的代码和经验中抽离出来,沉淀到可计算、可推理、可复用的业务语义层(即本体),并通过本体的“推理机”提供给Agent系统使用。

当业务规则发生变化时,我们不需要在多个系统中同步修改逻辑,只需要在本体中调整对应的定义,所有基于该本体的Agent行为都会自动随之更新。总的来说,本体的意义在于帮助企业级Agent系统真正理解企业业务,并基于统一的业务语义层进行推理,而不是仅仅基于字面含义进行文字推理。

十、Live Retrieval(实时检索):让模型基于最新事实进行推理

Context Engineering解决了“在每一轮推理中,模型应该看到什么信息”的问题,但还有一个关键问题没有解决:这些信息,特别是企业的业务知识与实时事实,到底从哪里、以什么样的方式获取?

大语言模型本身并不直接拥有真实世界的数据,它所有的推理依据都必须来自于被主动注入到Context中的内容。但企业的业务事实在不断变化,代码在持续更新,系统状态在实时流转,如果这些最新的变化无法被持续、准确地送入模型的上下文,那么即使Context设计得再完美,模型也只能基于过时的信息进行推理,导致决策出现偏差。

这正是Live Retrieval可以发挥作用的地方:为Agent提供一个持续连接外部世界的“信息获取机制”,让模型在需要做决策时,能够随时获取当前最新的知识与事实

如果说Ontology定义了“企业的业务世界是什么样的”,那么Live Retrieval则提供了“这个业务世界当前发生了什么”。我们熟悉的RAG(检索增强生成)技术就是Live Retrieval的一种典型实现方式,它可以在任务开始或执行过程中,从外部知识源(比如文档库、代码库、企业知识库)中检索与当前任务相关的信息,并将其注入到Context中,具体的检索技术可以是向量检索、图谱检索、关键词检索,或者多种技术的融合。

不过Live Retrieval的范围比RAG更广,它更强调实时性与持续性,也就是说,模型在执行过程中可以不断从外部系统获取最新的状态数据。比如编码Agent可能需要查询数据库的最新Schema信息,客服Agent则需要实时查询CRM系统中的客户最新资料。

【工程实践提示】

在工程实践中,“检索”这件事远比看起来复杂。AI场景下的检索并不是简单的数据库查询,而是一个完整的决策系统:需要决策到底应该检索什么内容、检索多少信息、如何确保检索结果的相关性、如何对结果进行合理排序等等。

如果检索环节做得不好,错误的信息被注入到Context中,模型会将其作为参考知识使用,从而放大最终的决策错误。因此,Live Retrieval的核心目标是建立一套可靠的机制:让模型每一次关键决策,都尽可能基于真实世界的最新知识与状态,而不是静态的历史记忆


以上10个概念共同构成了Agent运行机制的核心框架,帮助我们理清了Agent如何感知环境、管理信息、完成推理并执行行动。但当Agent真正进入工程落地阶段,我们还需要考虑更多的系统能力问题:比如如何高效调用外部工具、如何实现长期记忆、多个Agent之间如何协同工作、如何对Agent的行为进行评估与管控等等。这些内容将在下篇文章中进行详细拆解。


塔猴是一个专注于为用户提供系统学习、内容创作与商业连接的AIGC综合服务平台,致力于为每一位AI探索者打造理想的创作、成长家园。在塔猴,你不仅可以学习众多AIGC类实战课程,获得与时俱进的AIGC技能和视野,还有机会获得长期商业合作和接单机会!点击进入:https://www.tahou.com/

AI生成内容提示:本文由人工智能辅助创作,内容仅供参考,不代表平台观点。请注意核实信息的准确性,并理性判断。

以上内容不代表本平台立场,仅供读者参考