Harness²的8大可编辑组件全解:从System Prompt到Subagents,逐一拆解Agent框架优化清单 【免费下载链接】harness2项目地址https://gitcode.com/gh_mirrors/ha/harness2点击查看免费下载Harness² 是一个即插即用的Agent 框架优化框架它围绕一个冻结的模型暴露了8 大可编辑组件System Prompt、Guardrails、Memory、Tool Guidance、Subagents、Skills、Scripts 和 Plugins。本文带你逐一拆解这 8 个组件——它们分别控制上下文构建、工具接口、任务委派与工具循环中的行为并给出 Harness² 自动优化这些组件的完整路径和上手清单。什么是 Harness为什么优化 Agent 框架比换模型更重要先建立一个概念Harness执行框架是模型外围的整套系统提示词、工具、记忆、技能、编排方式等。Harnessing框架调优就是优化这套系统的过程。换句话说Agent 的表现不只取决于模型本身更取决于包裹模型的那层外壳。Harness² 的核心思路是模型权重完全不动只递归地优化外壳。它在两个层级上工作任务级递归Task-Level Recursion针对当前任务通过 Propose–Probe–Compose 三步——提出修改、实测修改效果、综合出改进后的 harness——在不依赖标准答案的情况下精化执行框架Harnessing 级递归把每个任务中被采纳的 harness 和有证据支撑的经验沉淀到改进型 harness中指导后续任务。这套流程的整体管线如下图所示8大可编辑组件总览一张图看懂分工Harness² 把模型周围的 8 个组件按运行时角色分成四组每组职责清晰、成本不同编号组件文件位置进入上下文的方式一句话职责C1System Promptsystemprompt.md每次调用常驻定义角色与工作流程C2Guardrailsguardrails.md每次调用常驻不可违反的常设规则C3MemoryLongTermMEMORY.md每次调用常驻沉淀持久领域事实C4Tool Guidancetool_descriptions/tool_guidance.md每次调用常驻教模型怎么用工具C5Subagentssub_agents/name/AGENT.md按需独立上下文运行委派有界子任务C6Skillsskills/name/SKILL.md按需被触发才加载可复用的工作流程C7Scriptsscripts/name.py按需通过 Bash 执行确定性辅助脚本C8Pluginsplugin/name.ts始终注册作用于工具循环内部钩住每次工具调用组件编号与文件路径的对应关系定义在基线清单 harness.yaml 中各组件的编辑面规则校验、路径、frontmatter 要求集中在 harness2/core/tree.py。关键概念常驻组件是昂贵选项理解 8 个组件最重要的一条规则是成本分层常驻ALWAYS ON组件C1–C4的每个字都出现在每一次运行的上下文里与模型自身的输出预算直接竞争。最昂贵的失败模式就是模型把预算耗在思考上、最终什么都没产出——往常驻文本里加字只会让这种情况更糟按需ON DEMAND组件C5–C8在被调用之前零成本。因此 Harness² 给出的修改优先级顺序是Skill → Script → Subagent → Plugin最后才考虑加常驻文本。这也是所有优化动作的底层逻辑。逐一拆解8个组件是什么、怎么写C1 System PromptAgent 的角色说明书System Prompt 定义 Agent是谁、按什么流程干活。在 OpenCode 执行器中它写入systemprompt.md运行时会以追加模式拼在标准 provider 提示词之上见 harness.yaml 中的 compose_order在 Codex 执行器中它并入唯一的常驻文件AGENTS.md。优化要点角色与步骤要短而可执行它属于 INV不变量维度——描述怎么干活不写领域知识。C2 Guardrails常设规则护栏guardrails.md存放每次运行都必须遵守的短规则比如输出纪律、验证顺序、收尾检查。它是常驻组件但和 C1 不同System Prompt 讲流程Guardrails 讲底线。优化要点每条规则应适用于该领域下的几乎所有任务只有一条被反复证据支持违反时才值得用防御性机制见 C8兜底。C3 Memory持久领域事实LongTermMEMORY.md用于存放对每个任务都成立的短领域事实例如文件间的关联关系、字段单位、惯用术语。优化要点这里存的是通用事实而非本次任务的答案——任务级结论1月1日费率涨到250写进来会成为下一个任务的错误锚点。加一条常驻事实就要删一条旧的来付账。C4 Tool Guidance工具使用说明tool_descriptions/tool_guidance.md专门教模型怎么用好工具集常见格式坑、解析技巧、报错时的有界回退。优化要点区分输入错误 / 超时 / 权限 / 输出不可读四类工具错误各给一个有界回退和停止条件绝不写盲目重试——这是 C4 最常见的优化方向。C5 Subagents有界子任务的委派通道sub_agents/name/AGENT.md定义一个在独立上下文中运行的子 Agent它看不到主对话只看到自己的文件与调用说明最终返回文本。优化要点它只适合一种形状的问题——输入大、答案小例如读 12 份 PDF返回一张归一化表格。如果子任务输出和输入一样大委派就是亏本买卖。frontmatter 需要mode: subagent和description:否则会被静默丢弃。C6 Skills按需加载的可复用工作流skills/name/SKILL.md是认出触发场景才加载的完整流程某种文档类型该怎么处理、某种格式该核对什么。frontmatter 需要与目录名一致的name:和description:。优化要点技能必须被点名才存在——它的目录名要原样出现在 System Prompt 或 Guardrails 的触发句里如遇到 XX 场景时加载name技能。未被点名的技能是死重。Skill 是新增指令的默认载体优先于任何常驻文本。C7 Scripts确定性辅助脚本scripts/name.py存放确定性操作反复出现的提取、转换、格式校验让模型调用脚本而不是每次现编代码。优化要点文件名为 snake_case 且必须能通过编译被 Skill 引用的脚本必须随同一份提案一起交付Skill 自带辅助脚本放在skills/skill-name/scripts/下引用了不存在的文件会导致整个 harness 在校验时被整体丢弃。C8 Plugins工具循环里的强制执行plugin/name.tsCodex 侧对应.codex/hooks.json是唯一作用于工具循环内部而非提示词内部的组件——文字说明可以停止阅读钩子却不可能被跳过。典型用法写文件后立即重开校验、在重复报错签名后追加定向提示、给失控的工具设置上限。优化要点它不占常驻预算、又不可能被忽略是把本该用文字反复重复的知识低成本承载起来的方式但只应在轨迹证据显示该失败真实存在时才添加。Harness² 如何自动优化这8个组件理解组件之后Harness² 的优化循环分两级细节见 docs/EXPERIMENTS.mdPropose提案harness 编辑器阅读同一任务的多条执行轨迹从INV 维度Agent 怎么工作工具、脚本、子 Agent和DOM 维度领域专家知道什么事实、技能、交付契约分别提出修改——每一处修改都必须能追溯到轨迹中的具体时刻Probe探测候选 harness 在同一个任务上真实执行用行为对比代替标准答案评判效果Compose综合composer 只保留有证据支持的修改合并出最终 harness若无候选明显优于基线KEEP_BASE保持不变也是合法结论。任务级递归支持两种扩展方式--k控制递归预算Parallel并行探测 K 个通用 K 个领域候选从共享证据中综合出 K 个成品——探索得更宽Sequential串行把精化后的 harness 与累积证据带入 K 个连续的 Propose–Probe–Compose 步骤——精化得更深。每完成一个任务Experience Reflector 会把被采纳的 harness 与经验写回改进型 harness形成跨任务的经验库context/library/下一个任务可直接复用已验证的组件。快速上手3步跑通本地 DemoHarness² 本地 demo 使用确定性编辑器和真实 Python 执行无需任何模型凭证是最快的验证路径完整环境要求见 docs/SETUP.mduv venv --python 3.12 .venv source .venv/bin/activate uv pip install -e .[render] harness2-demo --output runs/demo --k 2跑通 demo 后即可对真实基准JobBench / LAB / WorkBuddy-Bench做模型级优化实验harness2-setup lab harness2-check --bench lab harness2 --bench lab --k 1 --mode parallel --max-tasks 1 harness2-judge --bench lab --k 1 --mode parallel harness2-report --bench lab --k 1 --mode parallel各基准的数据、领域与评分方式详见 docs/BENCHMARKS.md。新手避坑清单3条会丢掉整个提案的校验规则Harness² 在每次 rollout 前都会校验 harness 树不通过则整体丢弃校验逻辑见 harness2/core/tree.py。新手最常踩的三个坑技能没有触发句skills/name/SKILL.md的目录名必须在同一次编辑中、原样出现在常驻文本里否则技能永远不会被加载常驻文本里混入模板花括号这些文件会以 Jinja StrictUndefined 渲染成对的{{占位符会直接让任务在开工前失败脚本引用悬空被点名的scripts/file.py必须真实随附Skill 的辅助脚本若丢在错误目录会被静默丢弃。另外两个高频陷阱往常驻文本里加字却不删别的东西预算只会被挤占以及让 harness 改变交付物形状——harness 只改变 Agent怎么工作绝不能改变任务要求的交付形态。相关资源组件编辑面与提示词定义harness2/core/prompts.py组件树校验与 diffharness2/core/tree.py基线 harnessOpenCode 版third_party/jb_runner/harness_baseline_oc/实验与网络限制配置docs/EXPERIMENTS.md环境安装与执行器配置docs/SETUP.md三大基准指南docs/BENCHMARKS.md掌握这 8 个组件的成本分层与触发规则你就拥有了 Harness² 的完整优化清单先问这个失败属于 INV 还是 DOM再选最便宜的组件去修最后让 Propose–Probe–Compose 用证据说话。赞分享【免费下载链接】harness2项目地址https://gitcode.com/gh_mirrors/ha/harness2点击查看免费下载相关推荐Harness 组件全解一个本地 Coding Agent 的工程化拆解与实践Harness 组件全解一个本地 Coding Agent 的工程化拆解与实践 导读 harness缰绳/装甲是 AI 编程智能体工程中最被滥用的词—LLaDA-Image模型架构全景图七大组件逐个拆解一次看懂统一生成与编辑的秘密LLaDA Image模型架构全景图七大组件逐个拆解一次看懂统一生成与编辑的秘密 LLaDA Image 是蚂蚁 inclusionAI 开源的 6B 参数人工智能媒体生成ltx-2.5-mlx-q8 仓库全解13 个权重文件逐一拆解新手必读的组件清单ltx 2.5 mlx q8 仓库全解13 个权重文件逐一拆解新手必读的组件清单 ltx 2.5 mlx q8 是 LTX 2.5 音视频生成模型的 MLX人工智能大模型基础模型模型量化本地部署媒体生成音频视频上一篇15分钟搞定黑苹果OpCore-Simplify图形化配置终极教程下一篇2025开发者必备KISS Translator开源双语翻译工具全解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考