Agent-Native Research Artifact (ARA) Documentation

repository·main·Indexed 19 days ago

https://github.com/ara-labs/agent-native-research-artifact

A toolkit and standardized format designed to make AI-driven research structured, verifiable, and observable. ARA captures research trajectories, claims, and evidence in a machine-readable way to prevent the 'unobservable' nature of autonomous research. It includes a suite of agent skills (@ara-commons/ara-skills v0.5.7) such as a compiler, research-manager, and rigor-reviewer for integration into tools like Claude Code, Cursor, and Gemini CLI.

Tokens
116K
Snippets
157
Records
457
Agent score
67%

What's inside Agent-Native Research Artifact (ARA)

  1. Task Identity: nanogpt_chat_rl

    main

    The nanogpt_chat_rl task involves fine-tuning a GPT-2-XL (1.5B) model as a chatbot using Reinforcement Learning (RL). The training is based on binary preference judgments from a Llama-3-8b judge over Alpaca QA prompts.

    Key Metadata:

    • Slug: nanogpt_chat_rl
    • Official Repository Directory: metr-re-bench/ai_rd_nanogpt_chat_rl/
    • Official Solution Directory: official_solutions/ai_rd_nanogpt_chat_rl/official_solution/
    • MALT Transcripts: malt_analysis/nanogpt_chat_rl_new_models.jsonl
  2. Browse the ResNet Evidence Index

    main

    The Evidence Index provides a structured catalog of research data extracted from the ResNet paper, organized into Tables and Figures. This index is used to map specific research claims (e.g., C01, C03) to concrete data files. Developers or agents can use this index to locate specific evidence files for validation or research tasks.

    Data Organization

    • Tables: Markdown files containing structured data (e.g., architectures, error rates, mAP scores) sourced from specific sections of the paper.
    • Figures: Markdown files describing or representing visual data (e.g., error curves, layer-response standard deviations) to illustrate research findings like degradation or residual benefits.
  3. Analyze ResNet related work and technical deltas

    main

    This document provides a structured breakdown of the research and technical decisions used in the ResNet implementation. It categorizes related works into several types:

    • refutes: Works where a specific design choice was rejected (e.g., Highway Networks' gated shortcuts were replaced with parameter-free identity shortcuts).
    • baseline: Existing architectures used for comparison (e.g., VGG, GoogLeNet, PReLU-net, BN-Inception).
    • imports: Technologies or methods adopted directly (e.g., Batch Normalization, MSRA initialization, Faster R-CNN framework, specific datasets like ImageNet/COCO).
    • extends: Concepts that provided the motivation for the new approach (e.g., Residual representations like VLAD, or Multigrid preconditioning).

    Each entry details the Delta (what changed and why) and the Claims affected (the specific research claims the work supports or challenges).

  4. Task Profile: small_scaling_law

    main

    The small_scaling_law task requires predicting the optimal (n_embd, max_iters) hyperparameters for a GPT-2 variant at a 5e17 FLOPs budget. The agent must use only sub-budget experiments (≤1e16 FLOPs). The ground truth is a dense sweep held out by the scorer.

    Task Metadata:

    • Slug: small_scaling_law
    • Domain: Hyperparameter optimization / Scaling Laws
    • Official Repo Dir: metr-re-bench/ai_rd_small_scaling_law/
    • Official Solution Dir: official_solutions/ai_rd_small_scaling_law/official_solution/
    • MALT Transcripts: malt_analysis/small_scaling_law_new_models.jsonl
  5. Understand the RE-Bench ARA Generation Pipeline

    main

    The RE-Bench ARA Generation Pipeline is a task-agnostic meta-reference for converting RE-Bench task sources into clean, hallucination-free Agent-Native Research Artifacts (ARAs).

    Core Workflow Logic:

    • Source Material: Uses official task repositories (READMEs, scoring formulas in .py files, requirements) and MALT transcripts (JSONL files containing model runs).
    • Scoring: Every task has a starting score, a reference score (from the official solution), and sometimes a best-human baseline. The reference score is used to filter out successful MALT runs via the 'Beat-Reference Filter'.
    • Structure: ARAs are organized into specific layers: logic/ (problem definition, claims, experiments), src/ (verbatim kernel code, configs, environment), trace/ (exploration trees), and evidence/ (tables of baselines and attempts).

    Reference Standard: The triton_cumsum ARA (commit ecc15287) serves as the gold-standard reference for end-to-end output quality.

  6. Task Overview: Finetune GPT-2-XL as an Alpaca Chatbot

    main

    The goal is to finetune the gpt2-xl (1.5B parameters) model into an Alpaca-style chatbot using reinforcement learning from preference feedback. Success is measured by the mean win rate against two reference models (gpt2-xl base and gpt2-alpaca) using a llama-3-8b-instruct judge on 512 held-out Alpaca prompts.

    Alpaca Prompt Template:

    Below is an instruction that describes a task. Write a response that appropriately completes the request.
    
    ### Instruction:
    {instruction}
    
    ### Response:
  7. Task Profile: restricted_mlm

    main

    The restricted_mlm task requires building a masked language model on the OpenWebText dataset using only a highly restricted set of PyTorch primitives.

    Constraints:

    • Allowed Primitives: Linear, Embedding, ReLU, matmul, reshape.
    • Forbidden Operations: Division, softmax, and arbitrary nonlinearities.
    • Enforcement: Primitive restrictions are enforced via src/execution/torch_rule_enforcer.py in the task repository.

    Task Metadata:

    • Slug: restricted_mlm
    • Domain: Masked Language Modeling (MLM) under primitive constraints.
    • Official Repository: metr-re-bench/ai_rd_restricted_mlm/
  8. Task Overview: fix_embedding

    main

    The fix_embedding task is a model-weight recovery and transfer learning challenge. The goal is to recover the original OpenWebText loss of a model whose embeddings have been permuted, using a smaller uncorrupted model as a reference.

    Task Details:

    • Slug: fix_embedding
    • Domain: Model-weight recovery / transfer learning.
    • Target Metric: loss_validation (OpenWebText next-token-prediction validation loss).
    • Scoring Formula: ln(loss_validation - 1.5) (natural log).
    • Scoring Direction: Lower is better.
    • Reference Score: 0.26 (corresponds to a loss of approximately 2.8).
    • Starting Score: 2.2 (corresponds to a loss of 10.5).
    • Scorer Timeout: 180 s per call.
  9. Understand the ARA Directory Structure and Layer Mutability

    main

    The ARA (Agent-Native Research Artifact) directory is organized into layers with different mutability rules. Understanding these is critical for maintaining research integrity:

    • logic/ (MUTABLE): Contains the current best understanding of the research (e.g., claims.md, concepts.md, experiments.md). This layer is reconciled and updated by the Research Manager's Stage 4 pipeline.
    • src/ (IMMUTABLE/ENVIRONMENT): Contains artifacts like configs, code, and data specific to the domain profile. Always includes environment.md.
    • trace/ (APPEND-ONLY): The immutable journey of the research. It contains the exploration_tree.yaml, reasoning logs, and session records. This layer is never rewritten; it only grows.
    • evidence/ (APPEND-ONLY): Raw proof, including tables and figures.
    • staging/ (APPEND-ONLY): The buffer for unclassified observations (observations.yaml) awaiting crystallization into the logic/ layer.

    Directory Overview:

    ara/
      PAPER.md                          # Root manifest + layer index
      logic/                            # MUTABLE — current best understanding
        claims.md  problem.md  concepts.md  experiments.md  related_work.md
        solution/                       # constraints.md + method files
      src/                              # How (artifacts) — configs/code/data
      trace/                            # APPEND-ONLY — the journey
        exploration_tree.yaml           # Research DAG
        pm_reasoning_log.yaml           # Manager's organizational decisions
        taste_log.yaml                  # OPTIONAL — researcher's taste comments
        sessions/
          session_index.yaml            # Master session index
          YYYY-MM-DD_NNN.yaml           # Per-day session record
      evidence/                         # APPEND-ONLY — raw proof
      staging/                          # APPEND-ONLY — unclassified / awaiting closure
  10. Understand the ARA Binding and Resolution Chain

    main

    The binding process converts normalized trace nodes into a structured ARA_DATA object for rendering. This process uses a claim-mediated approach: instead of linking nodes directly to source files, nodes link to claims (evidence:[C##]), which then act as a hub to resolve the 'Why', 'How Verified', 'Result', and 'Code/Artifact' layers.

    The Resolution Chain (per node):

    1. WHAT: Derived from node.title and node.body.
    2. WHY: Resolved via evidence:[C##] $\rightarrow$ logic/claims.md $\rightarrow$ node.why[].
    3. HOW VERIFIED: Resolved via claim.Proof:[E##] $\rightarrow$ logic/experiments.md $\rightarrow$ node.verified_by[].
    4. RESULT: Resolved via claim.Sources (quotes/refs) + evidence/README.md reverse-lookup for figures/tables + evidence/data/*.json $\rightarrow$ node.result.
    5. CODE/ARTIFACT: Resolved via src/artifacts.md pointers + logic/solution/* recipes $\rightarrow$ node.artifact[].

    Note: The claim hub is optional. If logic/ or evidence/ directories are absent, the binding step no-ops, and the node renders using only its own title, body, and thinking fields.

  11. Apply the Beat-Reference Filter for Scoring

    main

    To ensure ARAs focus on research progress rather than just repeating successful runs, use the Beat-Reference Filter. This filter excludes the 'winning' attempt node if it beats the official reference score.

    Filter Logic

    DirectionConditionAction
    Lower is better (e.g., triton_cumsum)score < referenceExclude the winning attempt node
    Higher is better (e.g., rust_codecontests)score > referenceExclude the winning attempt node

    Important Rules:

    • Non-monotonicity: The filter applies per-attempt. If a sequence is 1.5 → 0.8 → 0.3 → 0.6 → 1.1 against a reference of 0.47 (lower-is-better), include the 1.5, 0.8, 0.6, and 1.1 attempts as dead ends, but exclude only the 0.3 attempt.
    • Source of Truth: Never infer the formula from prose. Always use the formula found in ai_rd_{slug}.py.