{"slug": "learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better", "title": "Learning by building a multi-agent design lab. Yet, single agent works better", "summary": "A learning project called dsgnrd, built by developer Ben Zercotte on the architecture of the dust-tt/srchd research-collaboration system, found that a single design agent outperformed multi-agent cooperation, according to the project write-up. The tool runs two Claude Haiku agents with one peer reviewer each on a design brief, requires Node.js 24.15+ and npm 12+, and exposes a local dashboard at localhost:1337 that shows publications, reviews, conversations and estimated cost without an API key. The project implements all nine tables of the srchd schema, preserving its table names and relationships for design collaboration, and notes that Mobbin and Firecrawl usage are billed separately and excluded from the --max-cost limit.", "body_md": "*Sharing news on this project from [my substack](https://substack.com/@benzercotte/note/c-358201386?r=62mul&utm_source=notes-share-action&utm_medium=web)*\n\nThis is a learning project to explore how agents can cooperate in design collaboration, drawing on the [dust-tt/srchd](https://github.com/dust-tt/srchd) project.\n\nRequires Node.js 24.15+ and npm 12+. From the repository root, run `npm ci` and `npm run migrate`, then add `ANTHROPIC_API_KEY=your-key` and `FIRECRAWL_API_KEY=your-key` to `.env` (ignored by Git).\n\nUse the included [Oldskaters brief](https://github.com/BenCoDev/dsgnrd/blob/main/problems/oldskaters/trick-reveal/problem.md):\n\n```\nnpx tsx src/dsgnrd.ts experiment create oldskaters-reveal \\\n  -p problems/oldskaters/trick-reveal\n```\n\nConnect Mobbin once for design references (requires a qualifying Mobbin plan):\n\n```\nnpx tsx src/dsgnrd.ts mobbin login\n```\n\nOpen the printed URL and authorize your account. Credentials stay in `~/.config/dsgnrd/mobbin`; `mobbin disconnect` removes them locally. Design agents can search screens, flows and website sections; returned previews and source links are saved in their conversations. Mobbin usage is separate from model costs and is not included in `--max-cost`.\n\nCreate two Haiku agents using the [design instructions](https://github.com/BenCoDev/dsgnrd/blob/main/agents/design/prompt.md), then run them with one peer reviewer each:\n\n```\nnpx tsx src/dsgnrd.ts agent create -e oldskaters-reveal -n designer \\\n  -p design -m claude-haiku-4-5 -c 2\nnpx tsx --env-file=.env src/dsgnrd.ts agent run all \\\n  -e oldskaters-reveal --reviewers 1 --tick\n```\n\nRepeat only the run command to continue. Remove `--tick` to run continuously; stop with Ctrl-C. Conversations and results are saved in `db.sqlite`.\n\nDesign agents can inspect public websites through Firecrawl: screenshots and page text are saved in their conversations. For open → inspect → click → inspect, run continuously: a browser session is reused between ticks but closes when the command ends, including `--tick`. Each agent gets at most two five-minute sessions per invocation and ten actions per session. Firecrawl credits are separate from model costs and are **not included in `--max-cost`**. Existing agents pick up the tools on restart; use `agent instructions <name> -e <experiment> -f agents/design/prompt.md` to deliberately adopt the updated guidance.\n\n```\nnpx tsx src/dsgnrd.ts serve\n```\n\nOpen [localhost:1337](http://localhost:1337) to browse publications, reviews, solutions, conversations, instruction changes and estimated cost. No API key is needed. Refresh to see newly saved activity; the dashboard does not run agents or edit records.\n\nUse `--port 1338` for another port, or `DATABASE_PATH=/path/to/db.sqlite` to inspect a different migrated database. The server listens on your computer only.\n\nTo optimise for learning, I chose to preserve srchd's architecture as much as possible. The same relationships connect agents, their contributions, their reviews, and the solutions they currently favor.\n\n**Status:** all nine tables shown below are implemented, including the runner’s conversation/usage storage and the publication/review/solution resources. See the [implemented schema](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/dsgnrd-current.svg) ([Mermaid](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/dsgnrd-current.mmd)). The design meanings preserve srchd's table names and relationships. `experiments.problem` stores a file or folder reference, not the brief text.\n\nThe full model is shown in the same two views as the Notion diagrams: collaboration, then agent history and usage. Both columns preserve the same fields and relationships. The focused views omit timestamp columns; the implemented overview includes every column and foreign key.\n\n| srchd · Research collaboration | dsgnrd · Design collaboration | \n|---|---|\n| Research and collaboration |  | \n| Agent history and usage |  | \n\nClick a diagram to open it at full size.\n\nComposite uniqueness constraints are unchanged:\n\n| Table | Unique columns | \n|---|---|\n| `agents` | `experiment` +`name` | \n| `publications` | `experiment` +`reference` | \n| `reviews` | `author` +`publication` | \n| `citations` | `experiment` +`from` +`to` | \n| `messages` | `experiment` +`agent` +`position` | \n\n`experiments.name` is also unique. The foreign keys alone do not enforce that linked records belong to the same experiment.\n\nSource: [srchd's database schema](https://github.com/dust-tt/srchd/blob/4b5ffb44bdc6bb1d2181d746ec951dd30f89ed08/src/db/schema.ts), checked on 2026-10-09. Editable Mermaid sources: [srchd collaboration](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/srchd-model.mmd) · [dsgnrd collaboration](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/dsgnrd-model.mmd) · [srchd history](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/srchd-history.mmd) · [dsgnrd history](https://github.com/BenCoDev/dsgnrd/blob/main/docs/diagrams/dsgnrd-history.mmd). SVG exports keep each comparison side by side in the README.", "url": "https://wpnews.pro/news/learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better", "canonical_source": "https://github.com/bencodev/dsgnrd", "published_at": "2026-10-21 08:43:49+00:00", "updated_at": "2026-10-21 09:12:52.492338+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models"], "entities": ["dsgnrd", "Ben Zercotte", "dust-tt/srchd", "Claude Haiku", "Mobbin", "Firecrawl", "Anthropic", "Node.js"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better", "markdown": "https://wpnews.pro/news/learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better.md", "text": "https://wpnews.pro/news/learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better.txt", "jsonld": "https://wpnews.pro/news/learning-by-building-a-multi-agent-design-lab-yet-single-agent-works-better.jsonld"}}