从 ReAct Agent 到 Harness Agent:构建可自举的 AI Agent

发布时间:2026/9/8 0:42:50
从 ReAct Agent 到 Harness Agent:构建可自举的 AI Agent Agent 的概念从 23 年就已经很火了一开始主流就是 ReAct Agent。发展到现在出现了 Harness Agent 这种更偏工程化的形态。Agent的这种发展本身是为了使LLM能够完成更加复杂的问题类比人类社会的发展从个人逐步发展到企业是社会生产力的总体提升。基于ReAct Agent的抽象认知模型这是基于ReAct agent(Thought→Action→Observation→Thought→Action)的抽象架构相信大家都很熟悉了。里面包含了4个模块Planning任务拆解、工具选择、反思Tool知识库、网络搜索、长期记忆Memory短期记忆、长期记忆Action执行具体动作这一套本质上是 Agent 的「认知模型」即模型如何理解任务、调用工具、利用记忆、不断循环迭代。目前大多数通用 Agent 都可以抽象为这一认知循环。Harness Agent从认知到运行时LLM 本身是无状态的真正让它能够完成复杂任务的是外面的那一层「harness」——用工程手段给模型提供足够的信息、合适的上下文以及安全的执行环境维护状态。Harness除了给模型高效提供信息外还给 LLM 套上缰绳限制它可以访问 /修改的资源必要的时候调整它的行为朝着正确的目标前进当工具调用出错时及时给出结构化反馈甚至引导它如何修复。Harness Agent并没有对认知模型进行替换是在它之上做了更多的限制性工作好比是企业制度降低个人错误率提示总体的成功率。传统讨论更关注的是Memory 如何帮助推理Tool 应该什么时候调用而 Harness 关心的是另外一组更工程化的问题Memory 什么时候加载Memory 什么时候压缩Token 用满了怎么办Memory 如何持久化Tool 怎么发现Tool 怎么授权Tool 输出如何裁剪Tool 是否需要审批Tool 是否运行在 Sandbox 里「什么时候调用」可以交给模型自己学会但「能不能调用、调用有什么副作用、需要谁批准」这些必须由 Harness 来兜底。实现一个最小的Harness AgentClaude Code 作者 Boris Cherny 在 YC访谈 中提到Claude Code is built with Claude Code. Claude Code 开发 Claude Code。也就是说Claude Code本身已经完成了自举。自举的含义是先手搓或者用prompt写一个能跑的最小 agent然后用这个 agent 反过来开发、自己逐步完善。暂时去掉一切非必要的东西不需要 MCP——第一版工具直接 hardcode 在代码里不需要 session 管理——一个 REPL 进程就是一次会话不需要多模型切换——先用 Anthropic API 跑通不需要沙箱——第一版在我自己的项目里跑信任自己的命令不需要 hooks / extensions——那是自举之后再加的最小工具集自举开发至少需要4个工具这四个工具已经能够覆盖读取代码→修改代码→运行验证→再次修改这一完整闭环因此已经具备了持续开发自身的能力。最小 Agent Loop核心 loop 不到 30 行async def run_agent(task: str, max_turns: int 25): messages [ {role: user, content: task} ] for turn in range(max_turns): response await call_llm(messages, toolsTOOLS) # 提取文本和 tool_calls text, tool_calls parse_response(response) # 没有 tool call → 结束 if not tool_calls: return text # 执行工具 messages.append(assistant_msg(response)) tool_results [] for tc in tool_calls: result execute_tool(tc.name, tc.input) tool_results.append(tool_result(tc.id, result)) messages.append({role: user, content: tool_results}) return Max turns reached这就是 Claude Code 和 Codex 的核心引擎的微缩版。上下文管理的最小方案对最小版本来说不持久化——第一版不需要跨进程保存会话。agent 进程跑完就结束了上下文裁剪——当 messages 太多时保留 system prompt 最近 N 轮 对旧轮的摘要这个裁剪逻辑可以是 20 行的 token 估算 摘要调用等 agent 能自己改代码之后再让它给自己加上 JSON 持久化。文件结构wy-harness-agent/├── agent.py # 主入口REPL agent loop├── llm.py # LLM 调用封装Anthropic SDK├── tools.py # 工具定义 执行├── prompts.py # system prompt├── context.py # 上下文裁剪└── requirements.txt # anthropic总共预计 ~400-500 行 Python。好的现在我们可以进行自举开发完善 改进整个agent。先试试给工具运行加上权限审批、再增加agent运行时状态管理。总结ReAct 解决的是模型如何思考Harness 解决的是模型如何稳定运行。随着 Agent 从 Demo 走向工程真正决定系统上限的已经不再只是 Prompt而是 Harness。一个能够持续改进自己的 Harness Agent最终会进入自举阶段Agent 不断开发 HarnessHarness 又不断提升 Agent 的能力形成持续演进的闭环。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】