Tools, workflows, memory, caching, sessions, evaluation, and observability. Two operators. Zero boilerplate. Works with any OpenAI-compatible model.
Twelve capabilities in one package. No orchestration framework.
No dependency maze. Just pip install agentu.
Any Python function becomes a tool. Direct execution with call() or natural language with infer(). Multi-turn reasoning built in.
>> chains steps sequentially. & runs them in parallel. Combine both. That's the entire API for multi-agent orchestration.
Persistent SQLite memory with importance scoring. remember() stores, recall() searches. Survives restarts.
Transparent LLM response caching with TTL. Same prompt = instant cache hit. SQLite-backed with hit rate stats.
Stateful conversations that remember context. Multi-user isolation. Auto-managed history with SQLite persistence.
Test agents with exact match, substring, LLM-as-judge, or custom validators. JSON export for CI/CD pipelines.
Autonomous loops. Agent works toward a goal with checkpoints in a PROMPT.md file. Loops until done or limits hit.
Auto-instrumented metrics. Console, JSON, or silent output. Built-in real-time dashboard at /dashboard.
On-demand domain expertise. Progressive loading: metadata (100 chars) then instructions then resources. 96% less context.
Import skills from any GitHub repo. with_skills(["user/repo/skill"]). Cached locally at ~/.agentu/skills/.
Scale to hundreds of tools. Deferred tools are discovered on-demand via semantic search. No context bloat.
Connect to MCP servers with with_mcp(). Serve agents as REST APIs with auto-generated Swagger docs.
Two operators replace entire orchestration frameworks.
>> for sequential. & for parallel. Compose them freely.
asyncio.gather — real parallelismresume_workflow() picks up from the last completed stepPersistent SQLite memory with importance scoring. Agents remember across sessions without external databases.
On-demand domain expertise. Skills auto-activate on matching prompts and load progressively to minimize context usage.
Stateful multi-turn conversations and a testing framework that plugs into CI/CD.
Auto-instrumented monitoring. Every tool call, LLM request, and error is tracked without adding a single line of code.
Continuous autonomous loops. Define a goal with checkpoints in a PROMPT.md file. The agent works until all checkpoints pass or limits are reached.
Scale to hundreds of tools without context bloat. Deferred tools are discovered on-demand via semantic search.
A complete example: review a PR, run tests, synthesize findings, and post a comment to GitHub — all automated.
& — saves real timeinfer() writes human-quality review comments using both inputscall() posts directly to GitHub — zero manual work| Method | Description |
|---|---|
| Agent(name, model?) | Create agent. Auto-detects Ollama model if none specified. |
| .with_tools([fns]) | Attach active tools (Python functions). |
| .with_tools(defer=[fns]) | Attach searchable tools, discovered on-demand. |
| .with_skills([skills]) | Attach local or GitHub skill objects. |
| .with_mcp([urls]) | Connect to MCP servers. |
| await .call(name, params) | Direct tool execution by name. |
| await .infer(prompt) | Natural language — LLM picks the right tool. |
| .remember(text, importance) | Store to persistent SQLite memory. |
| .recall(query) | Search stored memories. |
| await .ralph(prompt_file) | Autonomous loop with PROMPT.md checkpoints. |
| step >> step | Sequential workflow composition. |
| step & step | Parallel workflow composition. |
| await workflow.run() | Execute composed workflow. |
| serve(agent, port) | REST API with Swagger docs + dashboard. |
| evaluate(agent, cases) | Run test cases, get accuracy + JSON export. |
Any OpenAI-compatible API. Auto-detects Ollama models.