"Harness"原意是马具——缰绳、鞍具、嚼子——用来驾驭一匹强大但不可预测的动物的完整装备。这个比喻是刻意的:
马 = AI 模型:强大、快速,但自己不知道该往哪里走
马具 = Harness:引导、约束、使力量变得可控且有方向
Agent = Model + Harness
上下文模块
感知模块
感知模块是系统的入口,其核心任务是将非结构化的信息转化为结构化的信息,并理解其意图,从而路由到合适的模块。
## 规划模块
规划模块是负责解决问题的,由于一个问题的解决过程通常是经过多轮规划和思考,因为该模块实际上串起了整个过程,决定如何通过合理的步骤完成任务
- ReAct模式:通过推理->行动->观察的闭环,实现上下文的演进。
- PlanAct模式:先生成完整的计划,驱动LLM执行
- Sequential Thinking:这是一个开源的MCPServer,可以帮助LLM完成多轮的自主规划和反思,显著提升复杂的任务和处理成功率。
执行模块
执行模块通过调用外部的API或者运行代码,获取物理世界的实际数据。这就是上下文管理工程具有动态性的部分。每一次工具调用和返回结果都会加工成上下文的片段,驱动下一次推理。
反思模块
反思模块会对规划和执行的结果进行反思,检查是否存在错误或者不完善的地方,进而提出改进意见并重新引导规划模块做新一轮的规划。工程实现上可以借助Sequential Thinking工具完成从规划到反思的过程。
上下文管理的核心策略
记忆管理
记忆管理是解决LLM的上下文窗口有限的问题的, 无法在长对话中交互。记忆模块可以通过短期记忆和长期记忆相结合,确保对话记住之前的交互内容,避免重复提问和上下文的信息断裂。此外,记忆模块还可以维持用户长期偏好和历史行为等能力。在工程落地方向, 一般采用的是基于RAG的技术进行历史对话的信息存取。
上下文卸载
上下文卸载是解决过剩的信息会造成噪声干扰, 导致模型性能下降。因此, 上下文卸载仅仅保留当前任务最相关的信息。
Agent的发展路线
Agent可以追溯到2023年被大家广泛的关注,尽管当时LLM具备丰富的通用知识, 但是处理垂类的领域的问题仍然不能做到信息一致,甚至是幻觉。为了解决这个问题, 大家给LLM创造了获取外界信息的能力, 以下几个概念就产生了。
Function Calling
Function Calling的核心思想是在模型预训练和微调阶段, 引入结构化的工具交互数据,使得模型能够学会适应情境下触发工具调用的能力。通过此类的训练,模型逐步掌握了调用工具的能力,可以认为LLM从纯文本问答到可行动的Agent迈出了关键一步。
由于Function Calling通常依赖于预训练和微调阶段的专门结构化训练,技术门槛有点高,并且因为工具的选择和模型是息息相关的, 对于人来讲是黑盒的, 慢慢这个阶段开始往下一个纪元发展。
ReAct
为了解决Function Calling的调用黑盒以及门槛高的问题, ReAct应运而生啦, ReAct的核心优势就是零训练依赖,仅仅通过精心设计提示词就可以引导LLM在推理过程中交替执行思考和行动, 且LLM在推理阶段思考的内容,会在对话返回中与工具调用交互的结果一起输出。通过这样的机制既不用内建工具,还能在应用层和实际动态感知进行外部交互,构建简单的Agent 的结构。
其实ReAct的模式的成功也证明了, 高质量的上下文设计本身就是一个强大的工程进化。
Agent 设计模型
ReAct在大家使用中逐渐暴漏出一些问题
- 对LLM的能力高度依赖
- 执行效率慢,需要多次调用LLM
- 提示词脆弱, 整个机制建立在精心设计的提示词模板中。
- Agent可能陷入到局部最优的,它可能因为眼前的工具选择看似正确但是长远视角不对的问题。某些情况下原地打转。
这就引出了大家关于Agent的设计模式
CodeAct模式
CodeAct模式是ReAct模式的衍生形式,其核心思想是将工具抽象成Python的代码执行器, 而非预定义API。在这种模式下,LLM不需要调用特定的工具,而是根据需求生成可执行的代码即可,这种模式适用于运维自动化,数据处理以及系统诊断。 其实也是我们经常使用的Hermes经常使用的方式。
Plan-Act模式
为了应对复杂的任务中推理深度不足的问题, Plan-Act模式引入了分阶段的机制,系统先由规划Agent对用户的问题进行全面的拆解,生成执行计划,然后把计划传递给执行的Agent,后者可以有自己的工具能力,这样完成了一个联动,并产生了好的结果。
反思模式(Reflection)
反思模式是一种事后校验和自我修正的机制, 在工具调用Agent初步执行后, 一个独立的反思agent就会对输出结果进行评估;检查是否存在逻辑漏洞等问题,如果发现就触发重试和补充查询进而形成闭环。
## 人机协作模式
关键的决策的和高风险操作中, 反思模式通过流程的嵌入,引入了必要的审核,修正Agent的行为,进而保证整个流程的可控性。
# 深度思考性Agent
随着多种设计模式的出现。开发者开始不满足于仅仅用几分钟进行工具调用,而是希望Agent能够自主的进行长达更长时间的任务执行。基于这个问题, 2025年 OpenAI的DeepResearch 和国内的智谱沉思等产品出现, 这种Agent不再满足于对用户问题进行单轮的工具调用和推理,而是融合了Agent的设计模型,构建一个持续迭代的Agent。
CodeAgent不是Claude Code这种AI辅助编程工具,而是一种生成并执行代码作为决策手段的AI范式,与传统的ReAct Agent有着本质区别。
这里举个例子, 我们要知道1加到100的结果, 如果是ReAct Agent会不断的从1+2+3....100,每次调用一下加法的工具, 直到最后的结果, 而 CodeAgent是直接完成整个计算的操作,进而拿到最终结果。
Code Agent效率是要比ReAct Agent的效率高很多的。