用途
Agent Reproduce Align 用于在 Qwen Code 已经具备某个候选实现后,与选定的参考智能体(codex 或 claude-code)进行基于证据的行为对齐验证。其目标不是逐字节相等,而是匹配对该功能真正重要的可观察契约。
默认目标仓库为当前工作目录。仅当用户明确提供路径时,才使用用户指定的路径。
参考智能体选择
使用与 $agent-reproduce-feature 阶段相同的参考智能体。如果之前的选择不可用,询问一次并将答案记录在场景或运行笔记中。
工作流程
- 重新陈述对齐目标:功能名称与触发条件、选定的参考智能体、一个基线提示或交互脚本、可接受的差异、必须匹配的字段。
- 在独立的捕获目录中,用相同场景分别运行参考智能体和 Qwen Code。
- 当状态可能影响对齐时,在参考运行前后捕获所选参考智能体的本地状态。
- 使用 scripts/normalize_trace.py 规范化轨迹。
- 使用 scripts/compare_traces.py 对比规范化后的轨迹。
- 按以下顺序检查差异:解释行为的参考智能体状态变化;缺失的工具/函数名称;schema 结构与必填字段;模型设置与响应模式;影响行为的提示词角色/顺序差异;终端可见输出与退出状态。
- 修补 Qwen Code,重跑最小的失败场景,并重复上述过程。
- 仓库中只保留脱敏后的最小测试夹具。
首次对比前请阅读 references/alignment-workflow.md。
常用命令
规范化:
.qwen/skills/agent-reproduce-align/scripts/normalize_trace.py \
.repro-runs/reference/http.jsonl \
> .repro-runs/reference/normalized.json
对比:
.qwen/skills/agent-reproduce-align/scripts/compare_traces.py \
.repro-runs/reference/normalized.json \
.repro-runs/qwen/normalized.json
运行配对的 shell 场景:
REPRO_REFERENCE_AGENT=codex \
.qwen/skills/agent-reproduce-align/scripts/run_pair_capture.sh \
.repro-runs/slash-help \
"codex exec '/help'" \
"npm test -- --runInBand"
对于 Claude Code,设置 REPRO_REFERENCE_AGENT=claude-code,并将第一个命令替换为所发现的 Claude Code 命令。当设置了 REPRO_REFERENCE_AGENT 时,配对运行器会写入 reference/state-before、reference/state-after 和 reference/state-diff。仅在 shell 引号简单时使用配对运行器。对于交互式斜杠命令,请使用 tmux 手动运行两次捕获,以便两侧接收相同的按键输入。仅在测试或自定义状态目录时使用 REPRO_REFERENCE_STATE_ROOT=/tmp/some-root。
对比规则
- 先对比契约,再对比措辞。精确的提示词文本通常属于实现细节。
- 将缺失的 schema、错误的必填字段或错误的参数名称视为高信号失败。
- 仅当用户可见工作流依赖输出顺序时,才将输出顺序视为重要。
- 不要追逐特定于提供方的端点、模型名称、ID、时间戳、token 计数或临时标头,除非功能依赖它们。
- 不要追逐每一次本地状态写入。除非功能契约要求特定的配置、记忆或权限副作用,否则将状态差异视为解释性证据。
- 当 Qwen Code 通过用户可见场景,且剩余轨迹差异被记录为有意为之,即可停止。
完成标准
- 同一场景的参考智能体与 Qwen Code 轨迹在本地存在。
- 参考智能体状态差异存在,或状态捕获被记录为与该场景无关。
- 规范化对比中没有未解释的必须匹配差异。
- Qwen Code 测试或冒烟命令覆盖了修复后的行为。
- 任何剩余不匹配若影响用户,需写入任务笔记或 Qwen Code 文档。
适用场景与限制
该技能适用于 Qwen Code 已实现某功能后,需要与 Codex 或 Claude Code 进行行为对齐验证的场景。其限制包括:不追求逐字节一致;需要用户提供或确认参考智能体;交互式命令需借助 tmux 手动捕获;仓库中只应保留脱敏后的最小测试夹具。