Built with Go for Production AI

AI Agent Orchestration Platform

Define agents in YAML. Orchestrate workflows. Stream responses. Ship a single binary. AgentGo brings compiled-language performance to agentic AI.

Private repository — contact us for access

87+
Features
120K
RPM Capacity
~20MB
Binary Size
4
LLM Providers

Why AgentGo?

Purpose-built to solve the real pain points of running AI agents in production

The Problem

Heavy Python Runtimes

Multi-GB Docker images, slow cold starts, GIL-limited concurrency. Every agent deployment becomes an infrastructure burden.

Poor Concurrency Models

Thread pools and async/await don't scale. Running 100+ concurrent agents means fighting your runtime, not building features.

No Built-in Observability

Bolting on monitoring after the fact. Custom metrics, tracing, and audit logging are afterthoughts in most frameworks.

Configuration Sprawl

Agent definitions scattered across code, environment variables, and deployment configs. No single source of truth.

The AgentGo Solution

Compiled Go Binary

~20MB statically-linked binary. Sub-second cold starts. No interpreter, no virtual environment, no dependency hell.

Goroutine Worker Pool

Native goroutine-based scheduler handles thousands of concurrent agents. Zero contention, built-in backpressure, graceful shutdown.

50+ Prometheus Metrics

Instrumented from day one. Pre-built Grafana dashboards, JSONL audit logs, structured logging, and cost tracking out of the box.

Single YAML Per Agent

One file defines the agent: model, tools, prompts, permissions, guardrails. Hot-reload on change. Pack system for distribution.

Platform Features

Everything you need to build, deploy, and operate AI agents at scale

Multi-LLM Providers

Gemini, OpenAI, Anthropic, and LiteLLM proxy. Switch providers per-agent via config. Streaming and function calling across all backends.

Gemini OpenAI Anthropic LiteLLM

Flexible Agents

YAML-defined agents with prompt templates, tool bindings, and schema validation. Pack system for reusable agent bundles. Subagent delegation.

YAML Config Packs Subagents

Workflow Engine

Sequential, parallel, and conditional execution. Dynamic supervisor pattern with event-driven orchestration. Visual diagram generation.

Branching Parallel Dynamic

Durable Agents

Persistent, event-driven agent instances with SQLite checkpoints. Crash recovery, pause/resume, mailbox messaging, and approval workflows.

Checkpoints Crash Recovery Mailbox

Chat & Streaming

Multi-turn chat sessions with SSE token streaming. Interactive REPL with tool display, delegation, and background task management.

SSE REPL Multi-turn

Tool Ecosystem

Native Go tools, YAML-configured tools, shell scripts, HTTP endpoints, and MCP server integration. Skill-provided tools with schema validation and timeouts.

Native Config Script MCP Skill Tools

Scheduling & Triggers

Cron scheduling with SQLite persistence. Webhook triggers with HMAC validation. Timer-based and poll-based event sources for durable agents.

Cron Webhooks HMAC

Observability

50+ Prometheus metrics with pre-built Grafana dashboards. Structured JSON logging, Loki integration, and JSONL audit trails for every tool call.

Prometheus Grafana Loki

Security & Guardrails

API key authentication, filesystem and network permission sandboxing. Cost guardrails with per-agent budgets. Rate limiting and circuit breakers.

Auth Permissions Cost Limits

Skills System

Self-contained knowledge packages with trigger-based discovery. Skills bundle instructions, tools, and dependencies with SemVer compatibility. Supports remote MCP/HTTP sources and inter-skill dependencies.

SKILL.yaml Triggers Dependencies Remote

Subagent Delegation

Spawn isolated child agents for parallel research, coding, or exploration. Type-defined subagents with their own tool sets and sandboxed execution contexts.

Explorer Coder Researcher Planner

Architecture

A modular, layered architecture designed for extensibility and production reliability

AgentGo Architecture Diagram
Request Flow
Request  Router  Handler  Scheduler  Agent  GenAI
                              
             WorkflowEngine  ToolRegistry
                                  
             ChatService    DelegationManager
                                  
             SSE Streaming  CronScheduler
                                      
                                DurableManager  Instance(s)  Orchestrator

Define Agents in YAML

No boilerplate code. One file defines your agent's model, behavior, tools, and constraints.

configs/agents/researcher.yaml
name: researcher
description: Deep research agent with web access
model: gemini-2.0-flash
provider: gemini

prompt_template: research.tmpl
system_prompt: |
  You are a thorough research assistant.
  Always cite sources and verify claims.

tools:
  - web_search
  - read_file
  - write_file

parameters:
  temperature: 0.3
  max_tokens: 8192
  max_iterations: 15

permissions:
  filesystem:
    allowed_dirs: ["/data/research"]
  network:
    allowed_domains: ["*.google.com"]
configs/agents/sla-monitor.yaml
name: sla-monitor
model: gemini-2.5-flash
tools: [loki-query]
durable:
  enabled: true
  auto_start: true
  objective: |
    Monitor service SLAs, track burn rates,
    escalate when thresholds are breached.
  activation_timeout: 2m
  max_tokens_per_activation: 8000
  max_cost_per_day: 2.00
  triggers:
    - type: cron
      expr: "*/10 * * * *"
      input: '{"reason": "routine_check"}'
    - type: webhook
      path: "/hooks/sla-monitor/pagerduty"
      secret: "${PD_WEBHOOK_SECRET}"
  state:
    initial:
      services:
        api-gateway: { error_budget: 1000 }
        auth-service: { error_budget: 500 }
    eviction:
      alert_history: { max_items: 100 }
  mailbox:
    severity_routing:
      critical: ["outbox"]
      warning: ["outbox"]
  permissions:
    network: ["http:localhost:3100"]
configs/workflows/research-pipeline.yaml
name: research-pipeline
description: Multi-step research with review
steps:
  - name: gather
    agent: researcher
    input: "Research: {{.query}}"
  - name: analyze
    agent: analyst
    input: "{{.steps.gather.output}}"
    depends_on: [gather]
  - name: review
    parallel:
      - agent: fact-checker
        input: "{{.steps.analyze.output}}"
      - agent: editor
        input: "{{.steps.analyze.output}}"
  - name: publish
    agent: writer
    input: "{{.steps.review.outputs}}"
    condition: "{{.steps.review.all_passed}}"

Declarative Configuration

Every agent aspect is defined in YAML: model selection, prompt templates, tool bindings, iteration limits, and safety permissions. No Go code required to create new agents.

Hot Reload

Edit YAML, send SIGHUP. Agent configs reload without restarting the server. Zero-downtime updates to prompts, tools, and parameters.

Pack System

Bundle agents with their prompts, tools, and skills into distributable packs. Import community packs or create your own via manifest.yaml.

Built-in Guardrails

Filesystem sandboxing, network restrictions, cost budgets, and iteration limits are first-class config. Security is declarative, not an afterthought.

AI-Powered Configuration

Describe what you need in plain English. The Config Manager agent builds production-ready configs through conversation.

agentgo chat start config-manager

$ agentgo chat start config-manager

Session started · config-manager · gemini-2.5-flash

You:

Create a sentiment analysis agent that monitors
Twitter mentions and alerts on negative trends

Config Manager:

I'll create a complete stack for that:

1. Agent sentiment-monitor with twitter-search,
sentiment-analyze, and slack-notify tools
2. Workflow sentiment-pipeline with
fetch → analyze → alert steps
3. Cron trigger every 15 minutes
4. Cost budget $5/day

Shall I proceed? [approve] [edit] [cancel]

You: approve

Created agent sentiment-monitor
Created workflow sentiment-pipeline
Validated all configs
Hot-reloaded — agent is live

Conversational Setup

Describe your business needs in plain English. The Config Manager translates requirements into valid YAML — agents, workflows, tools, and prompts.

Safe Deployment

Automatic validation, backup, and hot-reload with health checks. Approval gates for sensitive operations ensure nothing goes live without your sign-off.

Full Stack Generation

Creates agents, workflows, tools, and prompts in one session. Pack-aware bundling groups related configs for portable deployment.

Audit Trail

Every change is validated, backed up, and logged. Rollback information preserved so you can undo any configuration change.

LLM Providers

First-class support for major LLM providers with a unified interface

Google Gemini
Grounding & Search
OpenAI
GPT-4o & o1
Anthropic
Claude Opus & Sonnet
LiteLLM Proxy
100+ Models

Token Streaming

Real-time SSE streaming across all providers. Consistent callback interface regardless of backend.

Function Calling

Unified tool/function schema. Provider-specific adaptors handle format differences transparently.

Provider Failover

RetryLLMCall with exponential backoff. Switch providers per-agent without code changes.

Performance & Deployment

Compiled for speed, packaged for simplicity

<100ms
Cold Start
~20MB
Docker Image
1000+
Concurrent Agents
0
Runtime Dependencies

Docker

Minimal Alpine-based image. Single container, production-ready.

Compose Stack

Full observability stack: AgentGo + Prometheus + Grafana + Loki.

Single Binary

Download and run. Embedded configs and resources. No install step.

Hot Reload

SIGHUP reloads agent and workflow configs. Zero-downtime updates.

Get Started

From zero to running agents in three steps

1

Clone & Build

# Request access first
git clone <repo-url>
make build
2

Configure

export GEMINI_API_KEY=your-key
# Edit configs/agents/*.yaml
3

Run

./agentgo serve
# Or: make docker-run

Private repository — contact us for access