Agent 运行时与 Harness:从教科书循环到生产级运行时
核心论点能上生产的 Agent harness指套在 LLM 外面、把工程约束编织进运行时的那层骨架不是 LangChain 文档里那个think → act → observe的单循环而是路由层 多策略执行器 生产守卫的三层结构。把延迟、韧性、安全、可观测性直接编进运行时本身而不是等出事后再打补丁。一、教科书里的 Agent 循环为什么不够所有 Agent 入门文章都会画同一张图LLM 产出想法 → 选工具 → 执行 → 观察结果 → 再思考……直到给出最终答案。ReAct 范式干净、优雅但它偷偷假设了四件事LLM 永远在线、且调用免费可用性与成本两件事工具总是成功返回用户输入是干净的没人需要盯着它。生产环境把这四条全破了LLM 有速率限制和偶发超时且每 token 都要计费远程工具会限流、返回空、部分成功用户输入带 typo、情绪甚至攻击合规还要求高风险动作必须人确认。所以 harness 真正要解决的不是怎么跑循环而是循环之外的工程问题请求进来前怎么净化、循环怎么设上限、出错怎么兜底、谁在盯着。这就是本文要拆的生产级 harness。二、Harness 的三层结构路由层 执行器 守卫第一篇从分层视角讲了系统由哪些层组成本篇换一个切面把运行时单独拎出来看一次请求在 harness 内部实际经过了哪些闸门。先看全貌——Shop-Agent 的 harness 不是单一 loop而是三段生产守卫外包一层输入安全过滤 · 输出安全过滤 · 人在回路 · 全链路可观测按意图分发按意图分发按意图分发按意图分发用户请求路由层 · 入口归一化 / Token 截断 / 情绪 / 意图识别ReAct 执行器自由循环固定步骤执行器Plan-Execute / RAG 兜底 / 固定四步直接分发简单查询纠纷协调器专用 · 分布式锁注图上把 Plan-Execute 与 RAG 兜底合并为一类——它们走的是同一套固定步骤执行器。纠纷协调器带分布式锁、不跑通用循环属于特化路径不计入多策略三选一。第一个反直觉结论harness 路由层 多策略执行器而不是一个万能循环。路由层负责该用哪个执行器每个执行器负责在自己的循环里把事做成。把这两层分开守卫才能被复用而不是在每个执行器里重写一遍。顺带区分两个三导语说的三层是纵向的处理阶段路由层 / 执行器 / 守卫而多策略三选一是横向的执行器分工ReAct / 固定步骤 / 直接分发两者不是同一个三。三、路由层harness 的第一道闸门路由层是 harness 的入口它本身不跑 LLM 循环而是把生产约束前置到循环之外。逐一看它立下的几道闸门同义词归一化规则 本地模型零 LLM 成本轻度清洗失败就回退原文本绝不阻塞流程。Token 预算截断用 tokenizer 精确估算中文 ≈ 1.5 token/字超限就重建不可变frozen的请求对象。这避免了一个超长输入把后续整条链路拖垮。情绪检测级联规则 1ms 本地模型 ~30ms本地模型优先保持延迟可控。舆情风险 → 立即升级检测到紧急情况直接短路整条管线返回已升级高级专员连意图识别都不做。这是 fail-closed出问题时默认拒绝而非放行的教科书示例。意图识别 → 路由分发命中远程调用走参数抽取 门控复杂意图走 ReAct简单意图走直接分发纠纷类走协调器。纠纷协调前的分布式锁锁的 key 由会话号 订单号拼接TTL 5 分钟。防止接口重试或消息队列至少一次投递导致的重复触发——这是 harness 给幂等上的第一道锁。输出内容安全过滤规则引擎零 LLM 成本。全链路 trace A/B 注入整条管线共享一个 handler实验分组在出口注入。论点这些守卫前置到路由层意味着无论请求最终落到哪个执行器净化、截断、情绪、安全、可观测都已经发生。这正是守卫是 harness 一等公民的体现下文「守卫不是补丁」一节收口成表。四、执行器一ReAct 循环递归上限即护栏ReAct 执行器图编排框架驱动是自由循环执行器。它做对了几件生产化的事工具选择前置按意图过滤 embedding 重排把文本转成向量、用相似度匹配只把相关工具喂给 LLM而不是几百个全量 Function Calling把工具描述全塞进 prompt 让模型自己挑呼应《软预过滤工具选择方案》。输入安全过滤规则引擎拦截不进循环。图状态存档checkpointer状态存档器把执行到一半的图状态存下来是人在回路interrupt()的必需品。递归上限 基础步数 × 2 2基础步数设为 5 → 上限 12。这是 harness 给循环装的断路器——把教科书里可能无限转圈的 ReAct变成有限状态机。没有它一个钻牛角尖的 Agent 会一直烧 token。这个值在图默认配置与每次调用的配置里双重设定防止漏配。人在回路当退款申请这类工具被调用置待审批标志把图状态按会话级标识存下返回等待确认。后续人工审批后用同一标识 resume 恢复而不是从头重跑。推理链抽取从图的消息里抽出最终答案 中间步骤think→act→observe 的痕迹作为可审计的推理链。关键论点递归上限是循环的断路器状态存档器是循环的暂停键。这两样东西才是 ReAct 从demo 玩具变成生产组件的分水岭。五、执行器二Plan-and-Execute 固定步骤固定步骤执行器是第二个执行器但它不跑自由循环而是固定四步理解 / 改写查询并检测元描述陷阱如问题类型流程咨询命中就回退原始问题避免改写丢失意图。安全审查门控不通过就生成降级回复直接返回。并行检索向量检索 图查询并行且复用路由层预计算的 embedding省掉一次 embedding API 调用。生成 质量评估打质量分与是否解决标志并上报 Prometheus 指标。为什么需要第二个执行器因为不是所有任务都该跑自由 ReAct。知识问答即 RAG 兜底是确定性步骤流用固定四步比自由循环更可控、更便宜、更易观测。harness 的多策略本质是按任务复杂度选执行器简单查询走直接分发多步推理走 ReAct知识问答走固定步骤。这就是前面那张分发图的真正含义。六、守卫不是补丁是 harness 的一等公民把前面散落的守卫收口成一张表能看清 harness 的设计哲学——守卫分层、前置、复用而不是事后打补丁守卫点机制失败语义输入归一化规则 / 本地模型回退原文本不阻塞Token 截断tokenizer 精确估算重建请求防拖垮链路情绪 / 舆情级联检测 升级短路管线fail-closed意图路由意图识别 复杂度门控选对执行器工具选择意图过滤 embedding 重排降维候选集输入 / 输出安全规则引擎零 LLM 成本拦截 / 过滤幂等分布式锁TTL 5 分钟跳过重复触发人在回路状态存档 interrupt暂停等待人工可观测全链路 trace 指标全链路 trace 指标这张表也回答了开篇的问题为什么教科书循环不够因为守卫必须前置且分层否则每个执行器都要各自重写一遍安全、截断、可观测——那才是真正的维护噩梦。七、Harness 与外围设施的关系此外多工具部分成功、跨服务上下文同步等失败模式不在本文范围见《AI Agent 分布式系统》系列的《工具调用部分成功》《分布式上下文存储与同步》两篇。八、要点harness ≠ 单一 ReAct 循环而是路由层 多策略执行器 生产守卫的三层结构。路由层把生产约束前置到循环之外执行器按任务复杂度分工直接分发 / ReAct / 固定步骤。递归上限是循环的断路器状态存档器是循环的暂停键——这两样是 ReAct 生产化的分水岭。守卫是 harness 的一等公民分层、前置、复用而不是每个执行器各写一遍。harness 与 LLM 网关、监控 Agent 是配套的网关管出得去监控管看得见。

相关新闻

Wayback Machine网页时光机:5分钟学会如何永久保存和查看网页历史版本

Wayback Machine网页时光机:5分钟学会如何永久保存和查看网页历史版本

Wayback Machine网页时光机:5分钟学会如何永久保存和查看网页历史版本 【免费下载链接】wayback-machine-webextension A web browser extension for Chrome, Firefox, Edge, and Safari 14. 项目地址: https://gitcode.com/gh_mirrors/wa/wayback-machine-webext…

2026/10/16 14:36:00 阅读更多 →
如何永久保存你的微信聊天记忆?免费开源工具WeChatMsg终极指南

如何永久保存你的微信聊天记忆?免费开源工具WeChatMsg终极指南

如何永久保存你的微信聊天记忆?免费开源工具WeChatMsg终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/…

2026/10/16 21:49:13 阅读更多 →
3个简单步骤:如何在ARM设备上运行x86程序,解锁跨架构模拟器的完整潜能

3个简单步骤:如何在ARM设备上运行x86程序,解锁跨架构模拟器的完整潜能

3个简单步骤:如何在ARM设备上运行x86程序,解锁跨架构模拟器的完整潜能 【免费下载链接】box64 Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64, RV64 and LoongArch Linux devices 项目地址: https://gitcode.com/gh_mirro…

2026/10/17 12:50:29 阅读更多 →

最新新闻

UML多重度与关联关系:从图形语法到业务语义的建模本质

UML多重度与关联关系:从图形语法到业务语义的建模本质

简介:本资源是面向软件工程专业学生及UML初学者的系统分析与设计复习备考资料,聚焦UML核心建模概念与典型试题解析,助力快速掌握类图、交互图、关系建模、高内聚低耦合等关键考点。压缩包为单个132KB的Word文档(.doc)&…

2026/10/17 17:16:19 阅读更多 →
房屋租赁管理系统源码:Java毕设项目架构与二次开发详解

房屋租赁管理系统源码:Java毕设项目架构与二次开发详解

简介:一套基于Java、SpringBoot和VUE技术栈的房屋租赁系统源码,面向计算机专业毕业生、Java学习者及需要项目实战的课程设计者,解决毕设选题缺乏完整可运行项目的问题。系统采用B/S模式与MySQL数据库,涵盖用户管理、房屋信息管理、…

2026/10/17 17:16:19 阅读更多 →
基于Node.js的图标批量下载工具:从手动收集到自动化流水线

基于Node.js的图标批量下载工具:从手动收集到自动化流水线

做设计开发的时候,最烦的不是写功能,而是收集资源。最近在做一个设备管理类的后台项目,需要一整套电池图标:不同电量档位、充电状态、省电模式、有线无线混合,粗算下来少说五六十个图标。一开始想找设计师要&#xff0…

2026/10/17 17:16:19 阅读更多 →
前端Markdown渲染实战:从解析、安全过滤到流式渲染的完整方案

前端Markdown渲染实战:从解析、安全过滤到流式渲染的完整方案

1. 为什么前端页面需要Markdown渲染能力前端页面里要展示Markdown内容,这个需求最早是从内容型产品里长出来的。比如技术社区的帖子、在线文档、博客后台的预览区、AI对话的回复展示,甚至一些低代码平台里的富文本说明,底层存的基本都是Markd…

2026/10/17 17:16:19 阅读更多 →
微信历史版本大全:从版本收集到可运行源码工程搭建实战

微信历史版本大全:从版本收集到可运行源码工程搭建实战

简介:这份资源面向软件开发者、测试人员及对旧版微信有特定需求的用户,整理了安卓、Windows与MAC三大平台的历史版本下载地址,解决因版本迭代导致旧版安装包难以查找的问题。压缩包共3个文件,以html页面、inscode配置与gitignore为…

2026/10/17 17:16:19 阅读更多 →
电商商品属性驱动架构:从PPT设计到可运行系统落地

电商商品属性驱动架构:从PPT设计到可运行系统落地

简介:本资源是一份面向计算机专业本科生、电商系统开发初学者及课程设计实践者的学术型教学课件,聚焦“商品属性驱动的电子商务系统设计与优化”这一核心问题,系统阐述属性规范化、分类组织、精准搜索与个性化推荐四大设计原则及其实现路径。…

2026/10/17 17:15:19 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →