AgentKit is a framework to build AI Agents, from single model inference calls to multi-agent systems that use tools. Designed with orchestration at it’s core, AgentKit enables developers to build, test, and deploy reliable AI applications at scale.

With AgentKit, you get:

Simple and composable primitives to build from simple Support Agents to semi-autonomous Coding Agents.

🧠 Support for OpenAI, Anthropic, Gemini and all OpenAI API compatible models.

🛠️ Powerful tools building API with support for Claude MCP.

🔌 Integrates with your favorite AI libraries and products (ex: E2B, Browserbase, Neon).

📊 Local Live traces and input/output logs when combined with the Inngest Dev Server.


New to AI Agents? Follow our guided tour to learn how to build your first AgentKit application.

All the above sounds familiar? Check our Getting started section or the “How AgentKit works” section to learn more about AgentKit’s architecture.

Getting started

How AgentKit works

AgentKit enables developers to compose simple single-agent systems or entire systems of agents in which multiple agents can work together. Agents are combined into Networks which include a Router to determine which Agent should be called. Their system’s memory is recorded as Network State which can be used by the Router, Agents or Tools to collaborate on tasks.

The entire system is orchestration-aware and allows for customization at runtime for dynamic, powerful AI workflows and agentic systems. Here is what a simple Network looks like in code:

import {
  createNetwork,
  createAgent,
  openai,
  anthropic,
} from "@inngest/agent-kit";
import { searchWebTool } from "./tools";

const navigator = createAgent({
  name: "Navigator",
  system: "You are a navigator...",
  tools: [searchWebTool],
});

const classifier = createAgent({
  name: "Classifier",
  system: "You are a classifier...",
  model: openai("gpt-3.5-turbo"),
});

const summarizer = createAgent({
  model: anthropic("claude-3-5-haiku-latest"),
  name: "Summarizer",
  system: "You are a summarizer...",
});

const network = createNetwork({
  agents: [navigator, classifier, summarizer],
  defaultModel: openai({ model: "gpt-4o" }),
});

const input = `Classify then summarize the latest 10 blog posts
  on https://www.deeplearning.ai/blog/`;

const result = await network.run(input, ({ network }) => {
  // Use an agent which figures out the specific agent to call
  // based off of the network's history.
  return defaultRoutingAgent;
});