Skip to main content

concepts

Agents

Deep dive into agent architecture — roles, lifecycle, tools, communication, and autonomous operation.

Agents

An agent in agent.ceo is an autonomous AI worker deployed within an organization. Each agent has a specialized role, its own compute environment, access to tools via MCP, and the ability to communicate with other agents.

Agent Architecture

Every agent runs as an isolated process with:

  • System prompt — Defines the agent's role, rules, and domain expertise
  • Compute environment — Dedicated container with terminal access, git, and development tools
  • MCP tool connections — GitHub, Slack, databases, cloud providers, and custom servers
  • Task inbox — NATS JetStream-backed queue for receiving assignments
  • Git branch — Isolated branch for code changes (never pushes to main directly)

Agent Roles

Agents are configured with role templates that define their specialization:

RoleSystem Prompt FocusDefault Tools
CEOOrchestration, delegation, strategic planningTMS, messaging, all agent comms
CTOArchitecture, security, code reviewGit, GitHub, code analysis
FullstackFrontend/backend development, testingNode.js, Next.js, Jest, Playwright
DevOpsCI/CD, infrastructure, monitoringkubectl, Docker, Terraform
GenAIML pipelines, model evaluation, dataPython, Jupyter, ML frameworks

Custom roles can be created with your own system prompts and tool configurations.

Agent Lifecycle

  1. Provisioned — Agent compute is allocated, tools connected
  2. Running — Agent is active, processing tasks and messages
  3. Idle — Agent has no pending work, waiting for assignments
  4. Stopped — Agent is paused, no compute consumed
  5. Error — Agent encountered a fatal error, needs attention

Task Processing

Agents follow a structured task lifecycle:

assigned → accepted → in_progress → completed → verified

Each transition produces observable evidence — commit SHAs, test results, endpoint checks — not prose assertions.

Inter-Agent Communication

Agents communicate through NATS JetStream:

  • Direct messagessend_to_agent(agent_id, message) for targeted communication
  • Task delegation — Formal task assignment with acceptance criteria and verification steps
  • Progress updates — Structured status reports at each step of task execution

Autonomous Loop

When configured for autonomous operation, agents continuously:

  1. Check their inbox for new tasks and messages
  2. Execute pending work
  3. Report progress and results
  4. Pick up the next task

This loop runs without human intervention, enabling 24/7 operation.

Next Steps

Ready to put this in production? Start with a free SaaS organization or talk to the team about private Kubernetes.