diy-creator / README.md
BonusLockSMith's picture
add demo gif to README
0a2f66d verified
|
Raw History Blame Contribute Delete
3.24 kB
---
title: DIY Creator
emoji: πŸ› οΈ
colorFrom: gray
colorTo: red
sdk: docker
app_port: 7860
pinned: false
---
# DIY Creator πŸ› οΈ β€” a multi-agent team you can watch work
Name something you want to build. A **team of three agents** hands off to each other to produce a
vetted, step-by-step build guide β€” and you watch them do it in real time.
> Project **#17** of the *"30 AI Projects in 15 Days"* challenge. Focus: **multi-agent orchestration.**
![Demo: the Researcher gathers a brief, the Writer drafts a guide, the Critic scores it and sends it back to revise](demo.gif)
*Above (local model): πŸ” Researcher gathers the brief β†’ ✍️ Writer drafts a guide β†’ 🧐 Critic scores it **5/10 and sends it back** with concrete fixes β†’ Writer revises β†’ the guide ships (honestly noting any minor items that remain). On a stronger backend it converges to a clean pass.*
## The team
| Agent | Role |
|-------|------|
| πŸ” **Researcher** | Gathers a practical brief: materials (with quantities), tools, techniques, safety hazards, common mistakes, and honest difficulty/time/cost. |
| ✍️ **Writer** | Turns the brief into a clear, start-to-finish guide a beginner could actually follow. |
| 🧐 **Critic** | An **independent reviewer** β€” scores the draft, flags issues by severity, and **sends it back**. The writer revises; the critic re-checks. The loop runs until the guide passes (or hits the round cap). |
## The lesson: roles, handoffs, and an honest gate
A multi-agent "team" is three things done well:
1. **Role-specialized agents** β€” each one has a single job and a prompt tuned for it.
2. **Explicit handoffs** β€” the researcher's brief feeds the writer; the writer's draft feeds the critic.
3. **A critique β†’ revise loop** β€” nobody ships their own first draft.
Two design choices worth calling out:
- **The critic is independent (the "diamond").** It reviews the writer's work, ideally as a *different*
model, so the review isn't the author grading itself. Set `DIY_CRITIC_MODEL` to a second local model
for a sharper, more independent review.
- **The gate is honest-by-construction.** The critic *finds* issues (what LLMs are good at), but the
pass/revise decision is made in **code** from issue severity β€” a guide passes only when no high- or
medium-severity issues remain. The model can't rubber-stamp its own work.
## Run it
```bash
pip install -r requirements.txt
python app.py # http://127.0.0.1:7860
# Local Ollama by default (free/private). For the cloud model instead:
# DIY_LLM_BACKEND=claude ANTHROPIC_API_KEY=sk-... python app.py
```
**Config (env):** `DIY_LLM_BACKEND` (`ollama`|`claude`) Β· `DIY_OLLAMA_URL` Β· `DIY_OLLAMA_MODEL`
(default `qwen2.5:7b`) Β· `DIY_CRITIC_MODEL` (optional independent critic) Β· `ANTHROPIC_API_KEY` /
`ANTHROPIC_MODEL` for the Claude backend.
> Note on models: a small local model self-critiquing is genuinely noisy β€” it will sometimes ship
> "after review, minor notes remain" rather than a clean pass. That's honest. A stronger model (or a
> `DIY_CRITIC_MODEL` diamond) converges to a clean pass more often.
---
Built by **Robert Lucyk** Β· [GritAI Solutions](https://gritai.solutions) Β· part of the 30-in-15 challenge.