Skip to content
Agent Orchestration
Skill

/gaia-architecture-comparison

Side-by-side comparison of ruflo vs HAL vs other GAIA harnesses — capability gaps, design decisions, and improvement roadmap

From plugin
ruflo
80k200 skills169 agents196 commands3 MCP

Claude Code

$ npx -y skills add ruvnet/ruflo --skill gaia-architecture-comparison --agent claude-code

SKILL.md

gaia-architecture-comparison.SKILL.md
name: gaia-architecture-comparison
description: Side-by-side comparison of ruflo vs HAL vs other GAIA harnesses — capability gaps, design decisions, and improvement roadmap
argument-hint: "[--focus=tools|routing|memory|cost]"
allowed-tools: Bash Read mcp__plugin_ruflo-core_ruflo__memory_search mcp__plugin_ruflo-core_ruflo__memory_store
disable-model-invocation: true

GAIA Architecture Comparison Skill

Compare ruflo's GAIA benchmark harness against the Princeton HAL reference implementation and other open-source harnesses to understand capability gaps and prioritize improvements.

When to use

  • Planning the next iteration of GAIA work
  • Evaluating which architectural change has the highest pass-rate ROI
  • Onboarding a new contributor to the benchmark codebase

Architecture overview

ruflo harness (current)

gaia-bench run
  └─ gaia-loader.ts      — HF dataset download + cache
  └─ gaia-agent.ts       — multi-turn Anthropic Messages loop
       └─ gaia-tools/    — web_search, file_read, web_browse,
                           image_describe, python_exec
  └─ gaia-voting.ts      — Track A self-consistency (N attempts → majority vote)
  └─ gaia-hardness/      — Track Q difficulty predictor (ADR-136)
  └─ gaia-judge.ts       — two-stage LLM-as-judge scorer

HAL reference (Princeton)

HAL uses a similar loop but with:

  • OpenAI function calling as the tool interface
  • BrowserBase / Playwright for real browser automation
  • Code interpreter sandbox (Jupyter kernel)
  • Larger token budget per turn (4096+)
  • Full 300-question evaluation set

Key differences

| Dimension | ruflo | HAL reference | Gap | |-----------|-------|--------------|-----| | Question count | 53 (partial L1) | 300 (full L1) | Use `--limit 165` for full L1 | | Web search | DuckDuckGo / Google CSE | BrowserBase live | Add Playwright or Browserless | | Code execution | python_exec stub | Real Jupyter kernel | Implement real sandbox | | Image OCR | image_describe (Gemini) | GPT-4V / Gemini | Functionally equivalent | | File handling | file_read | Full PDF/XLSX/ZIP parser | Expand file_read | | Self-consistency | voting.ts (Track A) | Not in reference | ruflo advantage | | Hardness routing | predictor.ts (Track Q) | Not in reference | ruflo advantage | | Memory | AgentDB HNSW | None | ruflo advantage | | Pass-rate L1 | ~20.8% (iter 23) | 74.6% (HAL Sonnet 4.5) | ~54 pp gap |

Gap analysis

Primary gaps (high impact)

1. **Real code execution** — many L2/L3 questions require running Python to compute a numerical answer. The current `python_exec` tool is a stub. Implementing a real sandbox (E2B, Pyodide, or subprocess) is the single highest-ROI change.

2. **Full question set** — running 53/300 L1 questions underestimates true pass-rate because the first 53 skew easier. Run `--limit 165` (full L1) for a comparable HAL score.

3. **Real browser** — `web_browse` currently fetches raw HTML. Replacing it with Playwright/Browserless for JavaScript-rendered pages would unlock many web navigation questions.

Secondary gaps (medium impact)

4. **Structured file parsing** — PDF, XLSX, and ZIP attachments require dedicated parsers. `file_read` currently handles plain text and images only.

5. **Turn budget** — 12 turns may be insufficient for complex multi-step questions. HAL uses up to 20 turns for L3.

6. **System prompt tuning** — HAL's system prompt is more elaborate and explicitly instructs the model to use tools before answering.

ruflo advantages

7. **Self-consistency voting** (Track A) — running N attempts per question and taking the majority answer reduces variance on borderline questions. HAL does not implement this.

8. **Hardness routing** (Track Q) — routing each question to an appropriate model and turn budget based on predicted difficulty. This reduces cost on easy questions while providing more resources for hard ones.

9. **AgentDB memory** — storing patterns across runs enables the agent to recall successful strategies for similar question types.

Improvement roadmap

| Priority | Change | Expected Lift | Effort | |----------|--------|--------------|--------| | P0 | Real python_exec sandbox (E2B) | +15-25 pp | High | | P0 | Full 165-Q L1 evaluation | Accurate baseline | Low | | P1 | Playwright-based web_browse | +5-10 pp | Medium | | P1 | PDF/XLSX file parser | +3-8 pp | Medium | | P2 | Increase max-turns to 20 for L2/L3 | +2-5 pp | Low | | P2 | System prompt tuning (iter 30 research) | +2-5 pp | Low | | P3 | Google Grounding via Gemini (iter 32) | +3-7 pp | Medium | | P3 | Multi-provider routing (Gemini Flash for cheap Q's) | Cost reduction | Medium |

Loading context from past research

npx @claude-flow/cli@latest memory search \
  --namespace gaia-patterns \
  --query "architecture comparison HAL benchmark"

Storing comparison findings

npx @claude-flow/cli@latest memory store \
  --namespace gaia-patterns \
  --key "architecture-comparison-$(date +%Y%m%d)" \
  --value "HAL gap: 54pp. Primary: python_exec stub. Secondary: browser, file parsing."
Read more
@ruvnet
Ships withruflo

📖 RuFlo Explained — Build an AI Team That Plans, Remembers, Tests, and Improves A 14-chapter guide: from the basic idea to a first useful task, then memory, agent teams, plugins, cost and verification. Agent = Model + Harness.

80k200 skills169 agents3 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
80.4k
Star history of ruvnet/ruflo on GitHub, a chart by star-history.com

Other skills on ruflo.

agentdb-advanced

agentdb-advanced

Master advanced AgentDB features including QUIC synchronization, multi-database management, custom distance metrics, hybrid…

@ruvnet@ruvnetInstall Skill
agentdb-learning

agentdb-learning

Create and train AI learning plugins with AgentDB's 9 reinforcement learning algorithms. Includes Decision Transformer,…

@ruvnet@ruvnetInstall Skill
agentdb-memory-patterns

agentdb-memory-pattern…

Implement persistent memory patterns for AI agents using AgentDB. Includes session memory, long-term storage, pattern learning,…

@ruvnet@ruvnetInstall Skill
agentdb-optimization

agentdb-optimization

Optimize AgentDB performance with quantization (4-32x memory reduction), HNSW indexing (150x faster search), caching, and batch…

@ruvnet@ruvnetInstall Skill
agentdb-vector-search

agentdb-vector-search

Implement semantic vector search with AgentDB for intelligent document retrieval, similarity matching, and context-aware…

@ruvnet@ruvnetInstall Skill
agentic-jujutsu

agentic-jujutsu

Quantum-resistant, self-learning version control for AI agents with ReasoningBank intelligence and multi-agent coordination

@ruvnet@ruvnetInstall Skill

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

clawdis2w393k
@steipete@steipeteInstall Skill
computer-use

computer-use

Drives the GUI of a visible local app window through `orca computer`: accessibility tree, clicks, typing, menus, dialogs, and…

orca2w111k
@stablyai@stablyaiInstall Skill
agentmail

agentmail

Use your assigned AgentMail inbox to read email tasks, explicitly send or reply, and check delivery. Provided automatically by…

paperclip2w109k
@paperclipai@paperclipaiInstall Skill
bmad

bmad

Answers BMad questions and recommends the next skill from what is installed. Use when the user asks bmad for help, what to do…

@bmad-code-org@bmad-code-orgInstall Skill

Questions about gaia-architecture-comparison.

Which coding agents can use gaia-architecture-comparison?
gaia-architecture-comparison installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.