Files
myWiki/concepts/adapter-protocol.md

2.0 KiB
Raw Blame History

title, created, updated, type, tags, sources
title created updated type tags sources
适配器协议 (Adapter Protocol) 2026-06-15 2026-06-15 concept
coding-agent
evaluation
benchmarking
raw/papers/zheng-claw-swe-bench-2026.md

适配器协议 (Adapter Protocol)

定义

Claw-SWE-Bench 中的适配器协议是一组标准化的生命周期接口,用于将异构 agent harnessclaw连接到统一的 SWE-bench 评测管道。它不需要不同 harness 使用相同的内部 agent 循环,而是标准化 harness 与 benchmark 生命周期之间的接口。

接口方法

每个受支持的 harness 实现五个抽象方法:

方法 职责
create_agent 创建或配置 agent 实例
send_task 派发实例化的任务
backup_session 保存运行产物
delete_agent 清理 harness 状态
get_docker_args 提供 harness 特定的 Docker 参数

设计原则

  1. 职责分离: 容器管理、prompt 实例化、patch 收集、预测写入、元数据记录由 benchmark 层统一处理
  2. 最小接口: 每个 harness adapter 仅需连接其 agent 到该生命周期
  3. Patch 来源独立: 候选 patch 从仓库状态收集,而非从 agent 最终消息解析——无论 harness 输出 JSON、纯文本、自然语言还是没有结构化响应

Full Adapter vs Bare Adapter

Bare Adapter Full Adapter
Docker 访问 最小 完整 workspace 准备
Patch 提取 要求模型输出 unified diff Git diff from /testbed
Future-Commit 清理
Apply Failed 69.1% <1.5%
Pass@1 (GLM 5.1) 19.1% 73.4%

关键洞察: Bare adapter 的瓶颈不是模型不会编辑代码,而是直接生成 unified-diff 文本的脆弱性——行号、上下文、hunk header、尾部换行都可能导致 patch 无法 apply。

参考