Quick start — inline agents¶
QuickAgent and the antcrew quick CLI command let you define and run a multi-agent pipeline with zero Python code. Role and goal are specified as strings — no class definition, typed artifacts, or EventBus knowledge required.
This is the fastest path from idea to running pipeline: role and goal as strings, typed artifact contracts and TraceLog underneath.
CLI¶
antcrew quick "Research AI agent frameworks" \
"Researcher: Find and compare the top Python AI agent frameworks released in 2025" \
"Analyst: Identify the 3 most significant differences from a production perspective" \
"Writer: Write a clear 300-word summary for a technical decision-maker"
Each argument after the goal is an agent spec: "Role: description of what this agent does". Agents run sequentially; each sees the previous agent's output.
Options¶
| Flag | Default | Description |
|---|---|---|
--model |
claude |
LLM to use (same as antcrew run) |
--json |
false |
Print full state JSON instead of the result panel |
--push URL |
— | Dispatch to a remote platform instance |
--api-key KEY |
$ANTCREW_API_KEY |
Platform API key (required with --push) |
Push to platform¶
antcrew quick "Build a login system" \
"Architect: Design the auth architecture" \
"Developer: Write the implementation plan" \
--push https://antcrew.org \
--api-key acw_...
Python API¶
from antcrew.agents.quick_agent import QuickAgent, QuickTeam
from antcrew.models.anthropic_model import AnthropicModel
llm = AnthropicModel()
# Single agent
agent = QuickAgent(llm, role="Researcher", goal="Find recent papers on RAG")
state = agent.run({"request": "What's new in vector retrieval?"})
print(state["result"])
# Multi-agent team
team = QuickTeam(
specs=[
"Researcher: Find and summarize recent papers on RAG",
"Writer: Synthesize findings into a clear report",
],
llm=llm,
)
result = team.run("What's new in vector retrieval?")
print(result["result"])
How it compares to BaseAgent¶
| Feature | QuickAgent | BaseAgent subclass |
|---|---|---|
| Setup time | Seconds (one string) | Minutes (class + imports) |
| Typed artifacts | No (dict passthrough) | Yes (Pydantic contracts) |
| Governance hash | Yes | Yes |
| HITL | Not built-in | Built-in (approval_required) |
| Memory | Yes (_mem_get/_mem_set) |
Yes |
| Production recommended | Prototyping | Yes |
Migrating to typed agents¶
When a QuickAgent proves valuable and needs typed outputs or HITL:
# Start with QuickAgent:
specs = ["Researcher: Find papers on RAG"]
# Graduate to typed agent:
from antcrew.core.agent import BaseAgent
from antcrew.core.artifacts import ArtifactContract, ResearchDocument
research_contract = ArtifactContract("research_document", ResearchDocument)
class ResearchAgent(BaseAgent):
name = "researcher"
role_description = "Find papers on RAG"
consumes = ["request"]
produces = ["research_document"]
def run(self, state):
result = self.system("Find papers on RAG.", state["request"])
doc = ResearchDocument(title="RAG Research", key_findings=[result])
return research_contract.inject(doc)