The agent-native runtime — durable, composable, built for production.
⚡ JamJet
The agent-native runtime — durable, composable, built for production.
jamjet.dev · Quickstart · Concepts · API Reference · Examples · Blog · Discord

JamJet is a performance-first, agent-native runtime for AI agents. It is not another prompt wrapper or thin agent SDK — it is a production-grade orchestration substrate for agents that need to work, not just demo.
The runtime core is Rust + Tokio for scheduling, state, and concurrency. The authoring surface is Python, Java, Go (planned), or YAML. All compile to the same IR graph and run on the same engine.
Why JamJet?
| Problem | JamJet's answer |
|---|---|
| Agent runs lose state on crash | Durable graph execution — event-sourced, crash-safe resume |
| No way to pause for human approval | Human-in-the-loop as a first-class workflow primitive |
| Agents siloed in their own framework | Native MCP + A2A — interoperate with any agent, any framework |
| Slow Python orchestration at scale | Rust core — no GIL, real async parallelism |
| Weak observability, no replay | Full event timeline, OTel GenAI traces, replay from any checkpoint |
| No standard agent identity | Agent Cards — every agent is addressable and discoverable |
| Hard-coded agent routing | Coordinator Node — dynamic routing with structured scoring + LLM tiebreaker |
| Can't use agents as tools | Agent-as-Tool — wrap any agent as a callable tool (sync, streaming, conversational) |
| No governance or guardrails | Policy engine — tool blocking, approvals, autonomy enforcement, audit log |
| Agents with unchecked access | OAuth delegation — RFC 8693 token exchange, scope narrowing, per-step scoping |
| PII leaking into logs | Data governance — PII redaction (mask/hash/remove), retention policies, auto-purge |
| No tenant isolation | Multi-tenant — row-level partitioning, tenant-scoped state, isolated audit logs |
| Locked into one language | Polyglot SDKs — Python, Java (JDK 21), Go (planned), YAML — same IR, same runtime |
| Can't run without a server | In-process execution — pip install jamjet and run immediately |
Quickstart
Requirements: Python 3.11+
Fastest path — pure Python, no server
pip install jamjet
from jamjet import task, tool
@tool
async def web_search(query: str) -> str:
return f"Search results for: {query}"
@task(model="claude-haiku-4-5-20251001", tools=[web_search])
async def research(question: str) -> str:
"""You are a research assistant. Search first, then summarize clearly."""
result = await research("What is JamJet?")
print(result)
No server. No config. No YAML. Just pip install and run.
Full runtime path — durable execution
pip install jamjet
jamjet init my-first-agent
cd my-first-agent
jamjet dev
In another terminal:
jamjet run workflow.yaml --input '{"query": "What is JamJet?"}'
Hello World
YAML
# workflow.yaml
workflow:
id: hello-agent
version: 0.1.0
state_schema:
query: str
answer: str
start: think
Configuration
{"mcpServers": {"jamjet": {"command": "jamjet", "args": ["mcp"]}}}