Skip to content

Agents

Nova AI uses 6 specialized agents, each optimized for specific tasks.


Agent Overview

flowchart TB
    O[Orchestrator<br/>Opus 4.5] --> I[Implementer<br/>Sonnet 4.5]
    O --> R[Code-Reviewer<br/>Opus 4.5]
    O --> V[Validator<br/>Sonnet 4.5]
    O --> A[Architect<br/>Opus 4.5]
    O --> L[Linter<br/>Haiku 4.5]

Core Agents

Orchestrator

Model: Opus 4.5 | Role: Coordination

The brain of Nova AI. Plans tasks, routes to appropriate agents, and manages the development workflow.

Responsibilities: - Parse natural language requests - Search knowledge base for patterns - Create implementation plans - Coordinate agent handoffs - Manage quality gate flow

Implementer

Model: Sonnet 4.5 | Role: Code Generation

Writes production code, tests, and documentation.

Responsibilities: - Write new features - Create unit tests - Update documentation - Fix bugs based on reviewer feedback

Code-Reviewer

Model: Opus 4.5 | Role: Quality Assurance

Reviews all code changes for security, correctness, and maintainability.

Checks: - OWASP Top 10 vulnerabilities - Logic errors and edge cases - API design patterns - Test coverage - Performance concerns

Validator

Model: Sonnet 4.5 | Role: Testing

Executes tests and validates changes work correctly.

Responsibilities: - Run test suites - Analyze failures - Suggest fixes for broken tests - Verify coverage requirements

Architect

Model: Opus 4.5 | Role: Design

Makes high-level design decisions and evaluates trade-offs.

Responsibilities: - Design system architecture - Evaluate technology choices - Identify integration points - Plan refactoring strategies

Linter

Model: Haiku 4.5 | Role: Style

Handles mechanical code formatting (cost-optimized).

Responsibilities: - Fix style violations - Remove unused imports - Format code consistently - Auto-fix safe issues


Model Selection

Model Cost Speed Use Case
Opus 4.5 $$$ Slower Complex reasoning, security review
Sonnet 4.5 $$ Fast Code generation, testing
Haiku 4.5 $ Fastest Mechanical tasks, formatting

Agent Communication

Agents communicate through structured handoffs:

# Orchestrator dispatches to Implementer
result = await implementer.run_task("Add login endpoint")

# Implementer passes to Code-Reviewer
review = await code_reviewer.review(result.files)

# If issues found, loop back
if review.needs_changes:
    result = await implementer.fix(review.findings)

What's Next?