open-agents-ai 0.42.1 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,6 +37,7 @@ An autonomous multi-turn tool-calling agent that reads your code, makes changes,
37
37
  - **Sub-agent delegation** — spawn independent agents for parallel workstreams
38
38
  - **Ralph Loop** — iterative task execution that keeps retrying until completion criteria are met
39
39
  - **Dream Mode** — creative idle exploration modeled after real sleep architecture (NREM→REM cycles)
40
+ - **Autoresearch Swarm** — 5-agent GPU experiment loop during REM sleep: Researcher, Monitor, Evaluator, Critic, Flow Maintainer autonomously run ML training experiments, keep improvements, discard regressions
40
41
  - **Live Listen** — bidirectional voice communication with real-time Whisper transcription
41
42
  - **Neural TTS** — hear what the agent is doing via GLaDOS or Overwatch ONNX voices, with personality-driven expressiveness
42
43
  - **Personality Core** — SAC framework-based style control (concise/balanced/verbose/pedagogical) that shapes agent response depth, voice expressiveness, and system prompt behavior
@@ -293,6 +294,47 @@ Each cycle expands through all four stages then contracts (evaluation, pruning o
293
294
 
294
295
  All proposals are indexed in `.oa/dreams/PROPOSAL-INDEX.md` for easy review.
295
296
 
297
+ ### Autoresearch Swarm — 5-Agent GPU Experiment Loop
298
+
299
+ When a GPU is detected and the model tier is "large", the REM stage of Dream Mode activates the **Autoresearch Swarm** instead of the standard multi-agent creative exploration. This is a 5-agent system inspired by [Karpathy's autoresearch](https://github.com/karpathy/autoresearch) that autonomously runs ML training experiments.
300
+
301
+ The swarm operates in four phases:
302
+
303
+ | Phase | What Happens |
304
+ |-------|-------------|
305
+ | **Phase 0: Load** | Reads autoresearch memory (best config, experiment log, failed approaches, hypothesis queue, architectural insights) + detects GPU specs |
306
+ | **Phase 1: Hypothesis** | Critic generates 5-8 hypotheses; Flow Maintainer plans experiment ordering and round budget |
307
+ | **Phase 2: Experiment** | Sequential rounds (up to 3): Critic pre-screens → Researcher modifies train.py + runs → Monitor watches GPU → Evaluator keeps/discards → Flow Maintainer decides continue/stop |
308
+ | **Phase 3: Summary** | Flow Maintainer writes consolidated summary to memory + dream report to `.oa/dreams/` |
309
+
310
+ #### The 5 Agent Roles
311
+
312
+ | Role | MaxTurns | Temp | Purpose |
313
+ |------|----------|------|---------|
314
+ | **Researcher** | 25 | 0.4 | Modifies train.py, runs experiments via `autoresearch` tool |
315
+ | **Monitor** | 5 | 0.1 | Watches GPU utilization, reports status (detachable between rounds) |
316
+ | **Evaluator** | 12 | 0.3 | Compares results to best val_bpb, calls keep/discard, writes insights to memory |
317
+ | **Critic** | 8 | 0.5 | Generates hypotheses, pre-screens before GPU time is spent |
318
+ | **Flow Maintainer** | 10 | 0.3 | Orchestrates rounds, manages hypothesis queue, writes final summary |
319
+
320
+ #### Bidirectional Memory
321
+
322
+ The swarm maintains persistent memory in `.oa/memory/autoresearch.json` with five keys:
323
+
324
+ - **best_config** — best val_bpb and what train.py changes produced it
325
+ - **experiment_log** — chronological list of experiments with hypotheses, results, and verdicts
326
+ - **architectural_insights** — patterns learned (what architectures work, what doesn't)
327
+ - **failed_approaches** — things NOT to try again (with reasons)
328
+ - **hypothesis_queue** — pending ideas for future experiments
329
+
330
+ Memory flows bidirectionally: the swarm reads all 5 keys at startup (Phase 0) and writes results back after each experiment. The DMN's gather phase naturally discovers autoresearch learnings when searching all memory, and DMN proposals with category `"autoresearch"` execute through the normal agentic loop.
331
+
332
+ #### Monitor Detachability
333
+
334
+ The Monitor agent can be "detached" between experiment rounds by the Flow Maintainer. When detached, the monitor receives a sub-task (e.g., "analyze GPU memory patterns from last 3 runs") instead of its standard watch prompt. This lets the swarm use idle monitoring capacity for useful analysis work.
335
+
336
+ If no GPU is detected, the REM stage falls back to the standard multi-agent creative exploration (Visionary + Pragmatist + Cross-Pollinator + Synthesizer).
337
+
296
338
  ## Blessed Mode — Infinite Warm Loop
297
339
 
298
340
  `/full-send-bless` activates an infinite warm loop that keeps model weights loaded in VRAM and the agent ready for instant response. The engine sends periodic keep-alive pings to the inference backend (every 2 minutes) to prevent Ollama's automatic model unloading.
@@ -322,7 +364,7 @@ Inspired by the brain's Default Mode Network (Raichle 2001), the DMN activates d
322
364
 
323
365
  Each DMN cycle runs a lightweight LLM agent (15 max turns, temperature 0.4) with read-only file access plus full memory tools. The DMN writes insights back to memory, creating a self-reinforcing knowledge loop.
324
366
 
325
- **Task categories**: directive (standing orders), exploration (knowledge gaps), capability (underused tools), maintenance (system health), social (communication)
367
+ **Task categories**: directive (standing orders), exploration (knowledge gaps), capability (underused tools), maintenance (system health), social (communication), autoresearch (autonomous GPU ML experiment loop)
326
368
 
327
369
  **Backoff**: After 3 consecutive cycles with no actionable task, the DMN enters extended rest. A 30-second cooldown between null cycles prevents spin-looping.
328
370