使用说明
线束-质量门控SOP执行
A. MCP服务器+克劳德代码插件 它对任何多步骤工作流强制执行质量门。每一步提交都由 独立评估员 --不是自我评估——使用带有校准锚和AI斜率检测的6维评分量规。
为什么存在
Anthropic的 自己的研究 这证明了当LLM评估自己的工作时,他们“自信地赞美自己平庸的工作”。一个为怀疑而调整的独立评估者比让生成器自我批评要容易得多。
该工具实现了这一洞察力: 做这项工作的实体从不评判自己的产出。
运作原理
┌─────────────────────────────────────────────────────────────┐
│ 1. Define SOP (YAML) │
│ phases → steps → acceptance_criteria │
│ │
│ 2. Start Session │
│ harness_start("feature-dev") → session_id + step 1 │
│ │
│ 3. For each step: │
│ a. Agent does the work │
│ b. Agent submits via harness_submit_step │
│ c. Separate evaluator scores on 6 dimensions │
│ d. PASS → next step | FAIL → retry with feedback │
│ e. 3 fails → escalate to human │
│ │
│ 4. All steps pass → session complete │
└─────────────────────────────────────────────────────────────┘
特性
评估员制度
- 3个后端:子代理(默认,无API密钥)、Anthropic API(Haiku)、OpenAI兼容(vLLM/Ollama)
- 6个评分维度:完整性(25%)、特异性(20%)、正确性(20%”)、连贯性(10%)、可操作性(15%)、格式合规性(10%”)
- 3个配置文件:
default(阈值3.5),strict(4.0),lenient(3.0) - AI坡度检测:15+标记图案;3+个标志自动惩罚特异性得分
- 校准锚:评分示例可防止评估者漂移
- 快速注射防御:用户内容包装在结构分隔符中
工作流引擎
- YAML SOP定义 具有阶段、步骤、依赖关系(拓扑排序)
- 每步评估者配置文件 以及可选超时
- 会话管理:恢复被阻止的会话,跳过步骤,列出所有会话
- 事件源:从损坏的状态文件中自动恢复
- 原子写入:碰撞安全状态持久性
MCP工具(9)
| 工具 | 目的 |
|---|---|
harness_start |
以SOP开始会话 |
harness_submit_step |
提交当前步骤的输出 |
harness_report_evaluation |
报告子代理评估结果 |
harness_get_status |
获取会话状态 |
harness_get_feedback |
获取评估反馈历史记录 |
harness_list_sops |
发现可用的SOP |
harness_resume |
恢复暂停/阻止的会话 |
harness_skip_step |
跳过当前步骤 |
harness_list_sessions |
列出所有会话 |
内置SOP模板
| 模板 | 阶段 | 步骤 | 用例 |
|---|---|---|---|
feature-dev |
4 | 12 | 功能开发生命周期 |
investigation |
3 | 7 | 安全/研究调查 |
code-review |
3 | 7 | 多角度代码审查 |
_TEMPLATE |
- | - | 新SOP的注释模板 |
安装
作为独立的MCP服务器
git clone https://github.com/p-vbordei/harness.git
cd harness
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
作为Claude Code插件
复制 harness/ 指向您的Claude Code插件位置的目录,或将其符号链接:
ln -s /path/to/harness ~/.claude/plugins/harness
这 .mcp.json 在插件根目录下自动注册MCP服务器。
配置
评估器后端
| 后端 | 环境变量 | 成本 | 注释 |
|---|---|---|---|
subagent (默认) |
无 | 免费 | 使用Claude Code审阅者代理 |
anthropic |
HARNESS_EVAL_BACKEND=anthropic, ANTHROPIC_API_KEY |
~$0.001-eval | 默认情况下为Haiku |
openai |
HARNESS_EVAL_BACKEND=openai, HARNESS_EVAL_BASE_URL, HARNESS_EVAL_MODEL |
不同 | vLLM、Ollama等。 |
评估员简介
配置文件控制每一步的评分阈值。在SOP YAML中设置:
steps:
- id: security-check
evaluator_profile: strict # threshold 4.0, correctness weighted 25%
- id: draft-outline
evaluator_profile: lenient # threshold 3.0, no slop penalty
用法
来自Claude Code CLI
/harness feature-dev
这将启动一个12步功能开发工作流程。对于每一步:
- 您将收到指示和验收标准
- 你做这项工作
- 您通过提交
harness_submit_step - 审核代理独立评估
- 你打
harness_report_evaluation结果 - PASS → 下一步,失败→ 处理反馈并重试
程序化(Python)
from server.orchestrator import Orchestrator
from server.evaluator import create_evaluator
from server.session_manager import SessionManager
from server.sop_registry import SOPRegistry
registry = SOPRegistry()
manager = SessionManager()
evaluator = create_evaluator() # subagent mode
orch = Orchestrator(registry, manager, evaluator)
# Start
resp = orch.start_session("feature-dev")
session_id = resp.session_id
# Submit step output
resp = await orch.submit_step(session_id, {
"artifacts": [{"type": "text", "content": "My requirements analysis..."}],
"self_assessment": "All criteria addressed with specific details."
})
# In subagent mode, dispatch evaluation, then report:
resp = orch.report_evaluation(session_id, evaluation_json)
创建自定义SOP
- 复制
sops/_TEMPLATE.yaml到sops/my-workflow.yaml - 编辑阶段、步骤和验收标准
- 该工具自动在以下位置发现YAML文件
sops/和~/.harness/sops/
每个步骤的关键字段:
- id: my-step
title: "Human-readable title"
instruction: "What the agent should do"
acceptance_criteria:
- "Specific, testable criterion 1"
- "Specific, testable criterion 2"
evaluator_profile: default # or strict, lenient
timeout: 600 # optional, seconds
on_fail: retry # retry, skip, or abort
depends_on: [other-step] # within same phase
质量门评分
每份提交的材料在6个维度上评分:
| 尺寸 | 重量 | 测量内容 |
|---|---|---|
| 完整性 | 25% | 满足所有验收标准 |
| 特异性 | 20% | 引用此项目,而非样板 |
| 正确性 | 20% | 声称准确,代码可编译,逻辑成立 |
| 连贯性 | 10% | 无内部矛盾 |
| 可操作性 | 15% | 下游步骤可以在不猜测的情况下采取行动 |
| 格式合规性 | 10% | 符合所需结构 |
通行条件:加权平均值>=阈值,且没有一个维度低于最小值。
斜坡罚款:检测到3+个AI填充短语→ 特异性评分自动降低1分。
会话保持
会话存储在 ~/.harness/sessions/{session_id}/:
state.json # Current position (atomic writes)
sop_snapshot.yaml # Frozen copy of SOP
steps/ # Per-step attempt history
phase.step/
attempt_1.json
attempt_2.json
events.jsonl # Append-only audit trail
usage.json # Usage statistics
如果 state.json 如果已损坏,系统将通过重放自动恢复 events.jsonl.
测试
# Run all 78 tests
pytest tests/ -v
# Run specific test modules
pytest tests/test_evaluator.py -v # Evaluator backends, parsing, profiles
pytest tests/test_orchestrator.py -v # Workflow loop, submit/evaluate/advance
pytest tests/test_p2_features.py -v # Profiles, resume/skip, slop penalty
pytest tests/test_session_manager.py -v # State persistence, atomic writes
pytest tests/test_sop_registry.py -v # YAML loading, dependency sorting
pytest tests/test_validation.py -v # Input validation, schema checks
建筑
该系统是通过多智能体研究管道设计的:
- 16名研究人员分析了现有的线束模式(Anthropic博客、claude代码线束、爪代码、WaveSpeed分析)
- 10名A-Team特工从不同角度检查了设计
- 审查并强化了12个改进代理的实施
- 所有这些都通过网络研究和辩论环节进行了验证
关键设计决策记录在 实施计划.
许可证
Apache许可证2.0-请参阅 许可证.
