AgentKit is a framework to build AI Agents, from single model inference calls to multi-agent systems that use tools. Designed with orchestration at its 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’s Model Context Protocol as tools.

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

📊 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 }) => {
  return defaultRoutingAgent;
});

llms.txt

You can access the entire AgentKit docs in markdown format at agentkit.inngest.com/llms-full.txt. This is useful for passing the entire docs to an LLM, AI-enabled IDE, or similar tool to answer questions about AgentKit.

If your context window is too small to pass the entire docs, you can use the shorter agentkit.inngest.com/llms.txt file which offers a table of contents for LLMs or other developer tools to index the docs more easily.