An AutoGen multi-agent system that generates business ideas and scaffolds domain-expert agents to refine them.
On each run, IdeaSmith proposes a new business idea, Creator writes a specialized agent from a template, registers it on the runtime, and that domain expert refines the idea. The result is saved as markdown in the project root.
Each run produces a new domain-expert agent under src/agent_forge/ and a refined business idea saved as idea_<domain>.md in the project root.
Creator writes and registers a specialist agent from template_agent.py. Examples from two runs:
| Education technology | Fashion tech & e-commerce |
|---|---|
![]() |
![]() |
The generated agent enhances the initial idea with domain-specific detail:
| Education technology | Fashion tech & e-commerce |
|---|---|
![]() |
![]() |
flowchart LR
start["agent-forge"] --> ideaSmith["IdeaSmith"]
ideaSmith --> idea["Business Idea"]
idea --> creator["Creator"]
creator --> agent["Generated domain agent"]
agent --> refined["Refined idea"]
refined --> output["idea_<domain>.md"]
creator --> code["src/agent_forge/<agent_name>.py"]
| Agent | Role |
|---|---|
| IdeaSmith | Generates a lightweight business idea (investment, returns, domain) |
| Creator | Writes a new agent module from template_agent.py, loads it, and runs it |
| Generated agent | Refines the idea using domain expertise |
From the project root:
uv sync
cp .env.example .env
# Edit .env and set OPENAI_API_KEY| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI API key for agent reasoning |
OPENAI_MODEL |
No | Model name (default: gpt-4o-mini) |
From the project root, with dependencies installed via uv sync:
uv run agent-forgeOther equivalent ways to start the pipeline:
# Using the virtualenv directly
.venv/bin/agent-forge
# As a Python module
uv run python -m agent_forge.mainThe command makes several OpenAI API calls (idea generation, agent codegen, idea refinement). Progress is logged to the terminal.
After a successful run:
idea_<domain>.md— refined business idea written to the current working directory (for example,idea_education_technology_online_tutoring_services.md)src/agent_forge/<agent_name>.py— newly generated domain-expert agent module (for example,personalized_virtual_tutoring.py)
Run the command from the project root so output paths land where you expect.
assets/ # README demo screenshots
src/agent_forge/
├── main.py # CLI entry point (`agent-forge`)
├── idea_smith.py # Generates business ideas
├── creator.py # Creates and registers domain agents
├── template_agent.py # Template passed to the LLM for codegen
├── messages.py # Shared message types (Idea, AgentSpecs, …)
└── *.py # Generated agent modules (created at runtime)
- AutoGen Core — agent runtime and messaging
- AutoGen AgentChat — assistant agents and structured outputs
- uv — dependency and project management
TBD



