Inspiration
Syndicate Track 1 (Automated Agent Engineering) asks for agents that get better over time—not a one-shot demo with a pretty UI. Most “agent” hacks show a single successful run. We wanted the opposite: a forge that starts weak on purpose, fails loudly, writes durable lessons, and proves the next generation scores higher.
The spark: treat agent engineering like metalwork. Heat (eval), hammer (mutation), quench (memory), inspect (report card)—then forge again.
What it does
SMITH.forge is a meta-agent forge:
- Propose a cold-start agent for a goal + eval pack (messy invoices, etc.)
- Eval against real fixtures with a live LLM (no mocked scores)
- Classify failures (taxonomy)
- Reflect in natural language
- Remember durable lessons in SQLite
- Mutate architecture / prompts for the next gen
- Report accuracy, cost, latency, memory growth, trajectory
Verified learning loop (bun run smoke, live TensorMux):
| Gen | Accuracy | Memories |
|---|---|---|
| 1 | (0.0) (0/7) | 3→4 |
| 2 | (1.0) (7/7) | 6→7 |
$$\Delta \text{accuracy} = +1.0$$
UI path: /start → /dashboard/forge → Forge once → Forge once again. Gen2 reuses memory; the report card shows the lift.
How we built it
- App: TanStack Start (Vite) + React dashboard (forge, agents, runs)
- Loop engine: propose → eval → taxonomy → reflect → memory → mutate → report
- LLM: OpenAI-compatible routing (TensorMux → AgentRouter → Ollama fallback)
- Tools / research: Tavily, TinyFish
- State: SQLite (workspaces, gens, runs, memories, reflections; owner-scoped)
- Deploy: Vercel (
smith-tawny-omega/ team aliases) - Judging session layer: Agent Orchestrator (AO) on desktop—real sessions in the demo video; we never invent session counts
Diagrams for judges live in docs/diagrams/ (Excalidraw + mermaid).
Challenges we ran into
- Honest evals on serverless — Fixture JSON must ship in the bundle; filesystem
readdirunder/var/taskbroke forge until we embedded cases. - Auth on Vercel + SQLite — Sessions on ephemeral FS can flap across isolates; we gated routes + owner-scoped workspaces, and kept residual risk explicit (no “unhackable” claims).
- Cold-start that still learns — Gen1 must be weak enough to fail, then Gen2 must clearly reuse memory. We tuned prompts/contracts so the (\Delta) is visible, not faked.
- AO is mandatory — Cloud AppImage may not register; desktop AO is the path we show on video. We document attempts instead of fabricating sessions.
- Submit clock — Ship the learning loop + proof first; polish second.
What we learned
- Track 1 rewards visible learning, not domain chrome.
- Memory + reflection only count if the score moves and the UI shows why.
- Sponsor stacks (TensorMux, Tavily, TinyFish, AO) work best when heal/fallback paths are real.
- Be honest about residual risk: durable DB (e.g. Turso/Postgres) is the next step for rock-solid hosted auth.
What’s next
- Persistent store for sessions/workspaces on Vercel
- More eval packs (GROUNDS-lite) and cost/speed tradeoff charts
- Stronger AO↔forge operator playbooks for judges
Built With
- agent
- agentrouter
- agents
- api
- bun
- eval
- excalidraw
- llm
- markdown
- ollama
- openai
- orchestrator
- react
- self-reflection
- sqlite
- start
- tanstack
- tavily
- tensormux
- tinyfish
- typescript
- vercel
- vite
- zod
Log in or sign up for Devpost to join the conversation.