Agent RT Documentation
Documentation menu
Reference

Framework
comparison

A concise comparison of Agent RT, LangChain, and LlamaIndex across runtime features plus checked-in installation footprint, latency, and memory measurements, and of the Agent RT CLI against six other agent CLIs, including Pi and OpenHuman.

How to read this table✅ means built in, ◐ means available or integration-dependent, and — means it is not a primary built-in focus. Benchmark figures are scenario-specific measurements from the repository comparison suite, not universal framework rankings. Python fresh-install footprint is the 2026-10-03 Python 3.13.13 clean-uv venv measurement above the empty-venv baseline. TypeScript fresh-install footprint is the 2026-10-03 Node.js 22.22.2/npm 10.9.7 clean-project measurement of logical node_modules bytes. Both include transitive dependencies.

⚖️ Quick comparison

⚡ Agent RT🦜 LangChain🗂️ LlamaIndex
🎯 Primary focus🧠 Agent runtime🧩 App/orchestration framework📚 Data & RAG framework
Python + TypeScript✅✅✅
🛠️ Tools & agent loop✅ Built-in✅✅
🔐 Permissions & approvals✅ Built-in◐◐
🧰 API & CLI tools✅ Built-in (optional packages)——
🌐 OpenAI + Anthropic compatible API✅ Built-in server adapters◐ Integration-dependent◐ Integration-dependent
🛡️ Agent Action Guard✅ Built-in integration (opt-in)——
🧠 Decision-model control gates✅ Tool pruning, memory/retrieval gates, failure classification——
🧠 Harmful-memory guard✅ Decision-model screening before memory persistence and retrieval exposure; detects harmful-action influence, misleading authority, instruction hijacking, and safeguard bypass attempts◐ Application/integration-defined◐ Application/integration-defined
🔎 Tool/skill pre-registration safety scan✅ Deterministic scan of names, descriptions, schemas/metadata, skill frontmatter/instructions, embedded tools, and string resources◐ Application/integration-defined◐ Application/integration-defined
🚧 Decision approval for external tools/skills✅ Fail-closed Decision-model scan before filesystem skill activation, repeated whenever a trusted skill's files change; checked registration path for untrusted tools◐ Application/integration-defined◐ Application/integration-defined
✂️ Tool catalog pruning before model call✅ Built-in◐ Integration-dependent◐ Integration-dependent
📦 Sandboxing✅ Fail-closed backend selection◐◐
♻️ Budget-preserving checkpoints✅ Resume with prior turn/tool/token budgets◐◐
💾 Memory & checkpoints✅ Built-in✅✅
🗃️ Switch vector DBs✅ Simple env/registry switch◐ Integration-dependent◐ Integration-dependent
🔌 Provider-neutral✅✅✅
🪶 Lightweight runtime focus✅◐◐
Fresh install footprint46.43 MiB69.87 MiB219.91 MiB
Warm latency1.56 ms9.03 ms4.26 ms
Runtime memory+5.86 MiB+19.77 MiB+22.42 MiB
Fresh install footprint1.24 MiB82.44 MiB60.38 MiB
Warm latency1.85 ms2.60 ms2.23 ms
Runtime memory+14.33 MiB+17.27 MiB+16.79 MiB

📊 For benchmark methodology, environment, raw measured outputs, startup results, tool-loop measurements, schema-token analysis, and CLI harness results, see the reproducible framework benchmarks ↗.

⌨️ Agent CLI comparison

The agent-rt terminal client compared with other agent CLIs. Each CLI was called as its plain one-shot prompt command with no extra flags and pointed at a deterministic localhost mock model, so no real model API was called. The figures are 30 clean sequential runs per CLI plus an 8-way parallel batch, measured on 2026-10-29 on 16-thread Linux x86_64.

CLICommandMedian timePeak RAMInput tokensCost / prompt8 parallel
⚡ Agent RTagent-rt -p "hi"185 ms36.5 MiB851$0.0026338 ms
Codexcodex exec "hi"283 ms194.1 MiB8,420$0.0253318 ms
Claude Codeclaude -p "hi"275 ms202.7 MiB19,229$0.05771,105 ms
opencodeopencode run "hi"683 ms386.3 MiB5,604$0.01692,188 ms
Copilot CLIcopilot -p "hi"1,595 ms341.1 MiB13,985$0.04202,796 ms
Pipi -p "hi"312 ms125.5 MiB1,330$0.0040561 ms
OpenHumanopenhuman-core headless turn¹492 ms95.9 MiB4,208$0.0127688 ms
What this measuresStartup and per-prompt harness overhead, not task quality or capability. Input tokens are a same-tokenizer estimate (tiktoken o200k_base) of the system prompt, messages and tool schemas each CLI sends. Part of the gap comes from each CLI's default tool set (Agent RT sends 8 tools; the others 4–16). ¹OpenHuman's release one-shot command cannot run a turn without a booted core, so each run boots openhuman-core run --headless-api, sends one JSON-RPC turn and stops, as OpenHuman's own benchmark does; it is built to serve many agents from one warm core, which this cold-start test does not measure. Cost assumes $3 per million input and $15 per million output tokens, with no cache discount. Peak RAM covers each CLI's whole process tree.

🧭 Pi and OpenHuman features

Pi ↗ and OpenHuman ↗ are open-source agent harnesses with very different scopes. This comparison comes from each project's documentation and source as of 2026-10-29. ✅ built in · ◐ partial, via extension or add-on · — not provided.

Agent RTPiOpenHuman
Language / runtimePython and TypeScript (aligned)TypeScript (Node ≥ 22.19)Rust (single process)
LicenseMITMITGPL-3.0
Primary shapeAgent runtime library + CLI + web UIMinimal coding-agent CLI + TS SDKDesktop app + headless core + Rust library
One-shot CLI✅ agent-rt -p✅ pi -p, JSON mode, RPC mode◐ openhuman inference agent_chat (needs a booted core in 0.64.15)
Embeddable library✅ Python + TS packages✅ TS SDK (pi-agent-core, pi-ai)✅ Rust (openhuman-embed)
ProvidersOpenAI, Anthropic, any compatible endpoint, custom30+ built in, plus any compatible endpoint (models.json)26 BYOK presets, local runtimes (Ollama, LM Studio, MLX), managed subscription
Drop-in SDK migration✅ One-import swap for OpenAI, Anthropic, LangChain, LlamaIndex, OpenAI Agents and others; agent-rt migrate——
Permissions / approvals✅ Built in— None built in; relies on project trust, containers or extensions✅ Approval gate
Action blocking✅ Guard: composable blockers, incl. Agent Action Guard◐ Via extension hooks◐ Prompt-injection screening on inputs; approval for irreversible actions
Sandboxing✅ Fail-closed backend selection◐ Via containers or the Gondolin extension✅ OS jail or Docker
Tool catalog pruning✅ Decision-model (Jev-compatible) pruning + tool_search◐ codemode (a script calls tools; the model sees only its output)✅ Jev tool search
Context reductionSmaller default catalog; Decision-gated memory/retrievalCompactionRLM tool-result compression
Memory✅ mem0, Zep, Letta, Supermemory, memU, framework stores— (sessions only)✅ Built-in recall every turn, with citations; swappable engines
Checkpoints / resume✅ Budget-preserving checkpoints✅ Sessions with branching✅ Durable workflows that resume after a pause
Sub-agents / plan mode✅ Agent-as-tool, plans— By design (build via extensions)✅ Sub-agents, agent teams, Plan vs Build
MCP✅ stdio + streamable HTTP; CLI reads Codex and Claude Code server configs✅ stdio + streamable HTTP✅
Skills / extensions✅ Skills from .agents/, .claude/, .codex/; re-scanned when files change✅ Extensions, skills, prompt templates, themes, npm/git packages✅ Skills, loadable Rust modules
Messaging channels◐ Telegram, Discord (Python, beta)— (separate pi-chat project)✅ 14 channels
Browser / desktop control——✅ Browser and desktop apps
OAuth app integrations——✅ 119 apps via Composio
Voice——✅ Live voice agent, dictation, TTS
Web UI✅ agent-rt web (time-travel debugger)— (terminal UI)✅ Desktop app
OpenAI/Anthropic-compatible API server✅—◐ Own JSON-RPC API

Pi is the minimalist option: a small core with few tools and no permission system, extended by the user. OpenHuman is the maximalist one: a personal-assistant platform with memory, channels, browser and desktop control, voice and agent fleets. Agent RT sits between them as a runtime with production controls (Guard, approvals, sandboxing, Checkpoints) and Python and TypeScript migration paths. It has none of OpenHuman's end-user assistant features (browser control, voice, OAuth app catalog).