Agents architecture
Every 10ex agent is a CrewAI crew, registered in the platform’s CrewStore with a slug, a level (Junior, Manager, or Associate), required connectors, and required knowledge. The persona names you see in the product (Marcus, Nova, Sora) are a friendly skin over those crews. The slug is what runs.
Runtime
- Execution. Taskiq workers run crews asynchronously. Status streams to the UI via SSE so you see step-by-step progress without polling.
- Tools. A shared toolbox at
app/modules/agents/tools/coversknowledge_organizer,website_scraper,lead_info_retrieval, and more. Crews compose from this set rather than each rolling their own. - Observability. Langfuse traces every step, capturing token usage, latency, and cost. When a crew misbehaves, the trace is your first stop.
- Cost. Each run debits a flat
credit_costfrom the workspace. BYOK support is in flight (see TECH_DEBTS.md, Credits section) to split orchestration vs. data fees.
Levels
The level signals the shape of work an agent does, not its quality.
- Junior. Single-task executors. Take one brief, return one artifact. Example:
ad-copy-generator. - Manager. Multi-step coordinators that orchestrate a small team of sub-agents. Examples:
email-sequence-generation,blog-generation. - Associate. Strategy and planning. Output is a plan or audit, not a finished deliverable. Examples:
ads-strategy-lab,growth-audit.
A common gotcha: hiring an Associate when you wanted a deliverable. Maya gives you an ads strategy, not running ads. For the latter, hire Zara, Ravi, or Elena.
How a run unfolds
- Crew is invoked with inputs (from a UI form, an MCP call, or a flow step).
- The first sub-agent typically calls
knowledge_organizerto load only the brand schema slice this crew needs. - Sub-agents execute in sequence (or fan out, for crews like
webinar-generator). - Output is persisted, the credit ledger updates, and the UI receives a final SSE event.
If a required_connector is missing at hire time, the agent refuses up front rather than failing mid-run. This saves both credits and frustration.
Bringing your own crew
You can register a CrewAI crew as a 10ex agent and have it run on the platform’s worker fleet, observability, and billing. Useful when you’ve built a custom motion in CrewAI and want it sitting next to Marcus and Nova in your team’s Agent Store. See Use cases, Integrations.
Common questions
Where can I see the underlying crew code? The slug maps to a folder in app/modules/agents/crews/. Each crew has its own README with sub-agent breakdowns.
What happens if a sub-agent errors? The crew fails fast. Langfuse captures the trace, the run shows as Failed in Active Agents with the error reason, and no credits are debited for failed paid runs.
Can I cancel a long-running agent? Yes, from Active Agents. The Taskiq task is cancelled and any partially generated output is discarded.
Related
- The cast: named agents: the persona layer over these crews
- Brand knowledge schema: what
knowledge_organizerreads - Approval workflows: how irreversible crews gate