Hyperagents & DGM-H: AI That Levels Up Its Own Leveling π₯π€―
Yo, listen upβthis paper's dropping bombs on self-improving AI. Before we dive in, WHY does this even exist?
Classic self-improvers? They're stuck in a rut. You got a base agent solving tasks, a fixed meta-agent tweaking it... but that meta-agent's hardcoded by humans. It can't evolve. Result? Progress hits a wall fastβespecially outside coding, where "good at tasks" β "good at tweaking yourself." π© DGM crushed coding by evolving code agents, but its instruction-gen is rigid AF. Hyperagents fix this pain: they make the improver improvable, unlocking self-accelerating gains on any computable task. No more human bottlenecks. Ohhhhh moment? AI doesn't just get better at chessβit gets better at getting better at chess. π
Big Picture: DGM β DGM-H Evolution
DGM was fire for coding: archive of agents self-modify β evaluate β add winners. But meta-parts fixed.
Hyperagents fuse task agent (solves stuff) + meta agent (makes new agents) into one editable Python program. Meta can rewrite itself. Boom: metacognitive self-mod.
PROBLEM (DGM) β SOLUTION (DGM-H) β
ββββββββββββββββ ββββββββββββββββ
Fixed meta Editable hyperagent
β β
βΌ βΌ
βββββββββββββββββββββββ βββββββββββββββββββββββ
β Task Agent β β Task Agent β
β + Fixed Meta β ββββββββΊ β + Editable Meta β
β (handcrafted instr) β β (self-modifies) β
β Coding only β β Any task! β
βββββββββββββββββββββββ βββββββββββββββββββββββ
Alignment needed No alignment needed
DGM-H keeps DGM's archive + open-ended search, but swaps in hyperagents. Parents from archive β self-mod β eval β archive grows. Safety: sandboxed, human oversight.
Mechanics: How Hyperagents Work Step-by-Step
1οΈβ£ Hyperagent = Task + Meta in One File
- Task agent: Gets inputs β spits JSON response (e.g., code patch, accept/reject).
- Meta agent: Sees repo, past evals, iterations left β edits anything (task code, meta code, tools).
- Tools: bash, file editor (view/create/replace/insert/undo). FM calls (Claude/o1/etc.).
2οΈβ£ DGM-H Loop (Pseudocode vibes):
Archive starts w/ initial hyperagent
FOR each iteration:
- Select parents (perf-based, anti-spam kids)
- EACH parent: metacognitive self-mod β new hyperagent
- Eval new one on tasks (staged: cheap first, full if promising)
- Add if valid β archive grows
Nested deets:
- Parent select: Sigmoid(perf) * 1/(1+kids) β probs β sample.
- Eval: Train subset first (e.g., 10 papers), full if >0 success.
- Multi-domain: Avg perf across domains for selectβno manual priority.
Flow: Archive βββΊ Select Parents βββΊ Self-Mod βββΊ Eval βββΊ Add Back
β² β
ββββββββββββββββββββββββββββββββββ (Open-ended loop)
Results: Gains + Transfer ππ
Tested coding (Polyglot), paper review, robotics rewards (Genesis sim), IMO math grading.
| Domain | Initial | DGM-H Best (Test) | Beats DGM? | Beats Custom? | |---------------------|---------|-------------------|------------|---------------| | Coding (pass@1) | 0.084 | 0.267 β | Comparable| N/A | | Paper Review (acc) | 0.0 | 0.710 β | Yes π₯ | Tie | | Robotics (fitness) | 0.060 | 0.372 β | Yes | Edges out | | Math Grading (acc) | 0.0 | 0.700 (w/transfer)β | N/A | +4% over baseline |
Key flex: Ablations flop w/o self-improve or open-ended (stay ~0).
Meta wins: Learns persistent memory, perf tracking, bias detection. Transfers: Paper/robotics hyperagents β math grading imp@50=0.630 (initial=0). Compounds across runs.
Quali gems:
Memory.json: "Gen55 too harsh β Gen64 balanced β Fix over-correction"
PerfTracker: Trends, stats β "Recent avg > old? Keep direction!"
TL;DR BURN THIS IN: DGM-H = DGM + hyperagents β task gains + meta gains that transfer. No domain hacks needed. π―
Edge Cases + Safety π¨
- Limits: Fixed tasks/distribs, parent select (prelim: it evolves UCB-style but not always best).
- Safety: Sandbox, no net, human watch, timeouts. Risks? Fast evolution > oversight; eval gaming; bias amp. Future: evolve tasks, full self-ref.
LOCK IT IN: Hyperagents = future of open-ended AI. Improves search for how to improve. Track the GitHub. π
You tracking, fam? Deeper on code? Hit me. π