fix(agent): 最小改动产 patch — 注入目标文件完整原文,消除整文件重写噪声 #27

Merged
xiaohei merged 1 commits from fix/minimal-diff-execution into main 2026-06-22 09:49:04 +00:00
Owner

影响范围

  • agent_swarm: 改动(agent 执行 prompt + 文件注入)。Manager/Client/契约/计费/密钥/审计: 不影响。4 契约测试全绿。

问题

SWE-bench Pro 10 题两臂(single+swarm)均 0/10 resolved。诊断:patch 能 apply 并跑测试,但 agent 整文件重写引入无关改动(格式/注释/版权头/丢行)→ 小回归挂测试(NodeBB 296/300、ansible 171/175 仅差几个),或巨 diff apply 不上。

根因

agent 无本地读文件工具,只拿到 workspace 截断采样,凭残缺输入重构完整文件。

修法

  • _load_exact_target_files():从子任务描述提取目标文件,注入完整未截断原文(≤6文件/各120KB)。
  • 执行 prompt 加 EXACT CURRENT CONTENT 段,强令逐字节保留、仅最小编辑,禁止 reformat/reorder/clean-up。

验证

py_compile + helper 单测 + 4 契约测试全绿。待部署后重跑 10×2 验证 resolved 是否提升。

## 影响范围 - agent_swarm: 改动(agent 执行 prompt + 文件注入)。Manager/Client/契约/计费/密钥/审计: 不影响。4 契约测试全绿。 ## 问题 SWE-bench Pro 10 题两臂(single+swarm)均 0/10 resolved。诊断:patch 能 apply 并跑测试,但 agent **整文件重写**引入无关改动(格式/注释/版权头/丢行)→ 小回归挂测试(NodeBB 296/300、ansible 171/175 仅差几个),或巨 diff apply 不上。 ## 根因 agent 无本地读文件工具,只拿到 workspace 截断采样,凭残缺输入重构完整文件。 ## 修法 - `_load_exact_target_files()`:从子任务描述提取目标文件,注入完整未截断原文(≤6文件/各120KB)。 - 执行 prompt 加 EXACT CURRENT CONTENT 段,强令逐字节保留、仅最小编辑,禁止 reformat/reorder/clean-up。 ## 验证 py_compile + helper 单测 + 4 契约测试全绿。**待部署后重跑 10×2 验证 resolved 是否提升。**
xiaohei added 1 commit 2026-06-22 09:47:54 +00:00
fix(agent): 注入目标文件完整原文 + 强令最小改动(修整文件重写噪声)
CI / guardrails (push) Successful in 5s
CI / guardrails (pull_request) Successful in 7s
CI / tests (push) Successful in 48s
CI / tests (pull_request) Successful in 41s
435f720cfb
根因:agent 无本地读文件工具,只拿到 workspace 的截断采样,被要求"输出完整文件"
时只能凭残缺采样+自身知识重构整个文件 → 丢行/重排/改注释/版权头 → 巨噪声 diff,
要么 apply 不上,要么 apply 了破坏无关测试(SWE-bench Pro 两臂 0/10 的主因)。

修法:
- _load_exact_target_files():从子任务描述正则提取目标文件路径,注入其**完整未截断**
  的磁盘原文(上限6文件/各120KB,超限留给采样)。
- 执行 prompt 新增 "EXACT CURRENT CONTENT" 段 + 强令:返回内容必须是该原文逐字节保留、
  仅施加任务所需最小编辑,禁止 reformat/reorder/rename/clean-up 无关行。
- 强化原 full-file 输出说明。

目的:让 diff 只含必要行,救回 NodeBB 296/300、ansible 171/175 这类"差几个测试"的近失题。
契约测试全绿(runtime-contract/merge-smoke/workflow-e2e/contract-freeze)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
xiaohei merged commit 983518522c into main 2026-06-22 09:49:04 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xiaohei/Agentswarm#27