用途
该技能用于把参考智能体(Codex 或 Claude Code)中观察到的某个功能,转化为 Qwen Code 的实现任务。工作流把当前会话当作外层测试框架,将嵌套的参考智能体进程作为被测程序运行,从而捕获其行为并复现到目标智能体 CLI 中。
默认目标仓库为当前工作目录,仅在用户明确提供路径时才使用用户指定的路径。
参考智能体选择
首先需要选择且仅选择一个参考智能体:
- codex:使用嵌套的 Codex 作为参考实现。
- claude-code:使用嵌套的 Claude Code 作为参考实现。
如果用户未选择,需在捕获前询问一次。随后应发现本地命令,而不是假设命令存在:
command -v codex || true
command -v claude || command -v claude-code || true
将选定的适配器记录到运行笔记或场景中:
{
"reference_agent": "codex",
"reference_interactive_command": "codex",
"reference_headless_command": "codex exec",
"target_agent": "qwen-code",
"target_repo": "."
}
工作流
- 用一句话定义功能面:命令、触发条件、预期 UI/输出,以及一个能触发该功能的最小提示。
- 选择 codex 或 claude-code 作为参考智能体,并发现其本地启动命令。
- 在修改代码前,检查目标仓库以识别可能的模块边界和 Qwen Code 启动命令。
- 针对该功能运行嵌套参考智能体并启用捕获:
- 通过 scripts/capture_state.py 在场景前后捕获本地状态。
- 通过 scripts/run_with_mitm.sh 捕获 HTTP/请求体。
- 当功能为交互式或 TUI 可见时,通过 scripts/run_tmux_capture.sh 捕获终端。
- 当功能具有稳定的命令行路径时,进行无头/非交互执行。
- 从追踪中提取行为事实:
- 与该功能相关的 system/developer 提示差异
- 请求体形态,包括 messages、tools、functions、schemas、tool choice、模型设置
- 可见的终端状态和命令输出
- 本地智能体状态变化、文件编辑、退出状态和错误路径
- 使用 Qwen Code 现有模式实现最小的兼容行为。
- 添加聚焦测试或可复现的冒烟命令。
- 当实现已存在且需要迭代对齐时,移交给 $agent-reproduce-align。
在会话中首次运行捕获前,请阅读 references/capture-workflow.md。
捕获默认值
每次运行最好使用全新的输出目录:
mkdir -p .repro-runs/slash-command-baseline
.qwen/skills/agent-reproduce-feature/scripts/run_with_mitm.sh \
.repro-runs/slash-command-baseline \
-- codex exec "exercise the Codex feature here"
对于 Claude Code,如果存在已发现的无头命令则使用它;否则使用 tmux:
.qwen/skills/agent-reproduce-feature/scripts/run_tmux_capture.sh \
.repro-runs/slash-command-claude \
claude
对于交互式斜杠命令或终端渲染,使用 tmux:
.qwen/skills/agent-reproduce-feature/scripts/run_tmux_capture.sh \
.repro-runs/slash-command-tui \
codex
mitm 脚本会为 Node、Python 和基于 curl 的 CLI 设置常见的代理和 CA 变量。如果 TLS 失败,请阅读 references/capture-workflow.md 中的证书说明,并在将缺失流量解释为产品行为之前修复信任问题。
在运行前后捕获参考智能体状态:
.qwen/skills/agent-reproduce-feature/scripts/capture_state.py \
snapshot .repro-runs/slash-command-baseline/state-before \
--agent codex
# Run the reference scenario here.
.qwen/skills/agent-reproduce-feature/scripts/capture_state.py \
snapshot .repro-runs/slash-command-baseline/state-after \
--agent codex
.qwen/skills/agent-reproduce-feature/scripts/capture_state.py \
diff \
.repro-runs/slash-command-baseline/state-before \
.repro-runs/slash-command-baseline/state-after \
--out-dir .repro-runs/slash-command-baseline/state-diff
使用 --agent claude-code 可快照 ~/.claude 而非 ~/.codex。仅在自定义状态目录或测试时使用 --root PATH。
实现规则
- 不要将所有捕获的提示文本复制到 Qwen Code 中。应将其转换为所需的最小行为、schema 或测试。
- 将捕获的请求体视为敏感的本地工件。在将示例保存到文档、提交、issue 或 PR 之前,先对令牌进行脱敏。
- 状态差异同样视为敏感的本地工件。状态工具会脱敏常见令牌形态,并省略敏感路径的内容,但在将任何摘录复制到受跟踪文件之前,请先审查 state-diff.md。
- 保持首次实现范围狭窄:一个功能、一个触发路径、一个可观察的对齐目标。
- 优先使用断言行为的兼容性测试,而非断言精确提示措辞的脆弱测试。
- 如果捕获的 schema 揭示了稳定的公共契约,请将该契约编码为 Qwen Code 中的类型化结构或 fixture。
完成标准
- 在 .repro-runs/ 或等效的忽略/本地路径下存在基线参考智能体追踪。
- 参考智能体状态变化已被捕获,或明确标记为与该场景无关。
- Qwen Code 包含聚焦实现和至少一条验证路径。
- 如果 Qwen Code 仓库已记录类似功能,则任何用户可见的命令行为都应在 Qwen Code 中记录。
- 下一步对齐可由 $agent-reproduce-align 运行,而无需重新发现设置。