mcpField
G
gaia-debugging

gaia-debugging

github.com/ruvnet测试与质量80.0k435 次安装今天更新
代码仓库

关于 gaia-debugging

gaia-debugging 用于追踪失败的 GAIA 基准问题、分类故障并提出针对性修复,适合排查错误答案、超时和通过率回退。

主要功能

  1. 01加载任务追踪记录
  2. 02分类六种故障模式
  3. 03扩展日志重新运行任务
  4. 04按故障类型提出修复建议
  5. 05存储并搜索调试模式

适用场景

  1. 01调查 GAIA 答案错误
  2. 02追查超时或工具错误
  3. 03定位通过率下降原因
  4. 04复用以往调试中的修复方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill gaia-debugging

安装后在 Claude Code 中输入/gaia-debugging确认已加载。

详细介绍

GAIA 调试技能

当 GAIA 问题失败时,系统地诊断根本原因并提出有针对性的修复方案。

适用场景

  • 特定的 task_id 返回了错误答案或超时
  • 两次运行之间的通过率下降,需要找出回归问题
  • 想了解为什么某类问题总是失败

失败模式分类

代码模式症状修复方向
TG工具缺失Agent 缺少必需工具(没有图像 OCR、没有 PDF 阅读器)将工具添加到目录
RM推理失误Agent 有正确数据,但得出了错误结论改进系统提示词,添加 CoT 指令
EB提取错误答案在跟踪记录中,但 FINAL_ANSWER: 正则表达式未能匹配修复答案提取模式
LI循环问题Agent 陷入循环(重复发起相同的工具调用)并达到轮次上限增大 max-turns 或添加循环检测
DS数据集偏移基准答案与当前网络上的内容不同标记为待 HAL 数据集审查
ATAPI 超时工具调用超时;Agent 始终未能获取结果增大每轮超时时间

诊断工作流

步骤 1 — 加载问题跟踪记录
# Find the result for the task_id in the latest run
RESULTS=~/.cache/ruflo/gaia/results-latest.json
node -e "
  const r = JSON.parse(require('fs').readFileSync('$RESULTS'));
  const q = r.results.find(x => x.task_id === '$TASK_ID');
  console.log(JSON.stringify(q, null, 2));
"
步骤 2 — 对失败进行分类

查看跟踪记录输出:

  1. 完全没有调用工具 → RM 或配置问题
  2. 调用了工具,但返回错误 → TG 或 AT
  3. 工具返回了数据,但答案错误 → RM 或 EB
  4. 跟踪记录中有正确答案,但被判为错误 → EB
  5. 达到 max-turns → LI,或当前模型难以处理该问题
步骤 3 — 使用扩展日志重新运行
node v3/@claude-flow/cli/bin/cli.js gaia-bench run \
  --level 1 --limit 1 \
  --task-id $TASK_ID \
  --models claude-sonnet-4-6 \
  --max-turns 20 \
  --output json
步骤 4 — 应用有针对性的修复
失败操作
TG — 缺少 web_browse确认 gaia-tools/index.ts 导出了 web_browse;检查工具注册
TG — 缺少图像 OCR添加 image_describe 工具调用;确认 GOOGLE_AI_API_KEY
RM — 推理添加系统提示词指令:“回答前,列出你收集到的所有事实”
EB — 提取手动测试 FINAL_ANSWER_RE 正则表达式是否能匹配跟踪记录
LI — 循环在 gaia-agent.ts 中添加工具调用去重保护
AT — 超时增大 DEFAULT_PER_TURN_TIMEOUT_MS,或使用 --max-turns 标志
步骤 5 — 验证修复并存储模式
# Re-run the single question
node … gaia-bench run --task-id $TASK_ID --models $MODEL --output json

# If now passing, store the pattern
npx @claude-flow/cli@latest memory store \
  --namespace gaia-debug-patterns \
  --key "fix-$FAILURE_CODE-$(date +%Y%m%d)" \
  --value "task_id=$TASK_ID, mode=$FAILURE_CODE, fix=$FIX_DESCRIPTION"

快速参考:检查工具目录

node -e "
  const { createDefaultToolCatalogue } = require('./v3/@claude-flow/cli/src/benchmarks/gaia-tools/index.js');
  const cat = createDefaultToolCatalogue({});
  console.log('Tools registered:', cat.definitions.map(t => t.name));
"

预期结果:web_search、file_read、web_browse、image_describe、python_exec

模式存储

调试会话解决后,存储调查结果:

npx @claude-flow/cli@latest memory store \
  --namespace gaia-debug-patterns \
  --key "session-$(date +%Y%m%d-%H%M)" \
  --value '{"task_id":"$TASK_ID","failure_mode":"$CODE","fix":"$FIX","verified":true}'

搜索类似的历史失败:

npx @claude-flow/cli@latest memory search \
  --namespace gaia-debug-patterns \
  --query "extraction bug final answer regex"

评论

支持 Markdown