Agentic Architectures

A unified Python library for running, comparing, and extending 35 agentic architecture patterns.

Stars
★ 4.5k
Last updated
3mo ago
License
MIT
Primary language
Jupyter Notebook

At a glance

Works with
Universal · cross-platformOpenAI API · Claude API
You'll need
PythonLangGraphShell / CLINetwork accessLocal filesystem
Typical use
A Python team wants to compare Reflection, Self-Consistency, and Tree of Thoughts while preserving one .run(task) integration point.
Main limitation
Most runs require a chosen LLM provider, network access, and its API credentials; local Ollama needs no key, but tool calling depends on the model.

What does this agent do, and when should you use it?

Agentic Architectures is a LangGraph-based Python library and runnable textbook with executed Jupyter notebooks. It packages 35 patterns as Architecture classes spanning reflection, search, RAG, memory, tool use, multi-agent coordination, and safety routing. Every architecture uses the same .run(task) interface and returns an ArchitectureResult; the example reads output and final_score metadata. It supports nine providers: Nebius, OpenAI, Anthropic, Groq, Ollama, Together, Fireworks, Mistral, and Google, selected through environment configuration. The repository also includes a 17-task comparative benchmark, 35 executed notebooks, and tests for library and notebook integrity.

After installation, get_llm() creates an LLM client and a class such as Reflection(llm=get_llm(), max_iterations=2, target_score=8) can be instantiated. Calling arch.run("Write a haiku about a glacier.") runs the selected architecture and produces result.output plus result.metadata["final_score"]. Depending on the class, the flow can generate, critique, and refine; vote across samples; search trees; retrieve and grade documents; store memory; invoke tools; or coordinate multiple agents. Thirteen architectures use the deterministic-picker pattern: the LLM commits to boolean or enum features and Python composes the decision signal; nine more are described as immune to this scorer issue by design. BrowserAgent uses real Playwright with a safety gate, SWE-Agent is a sandboxed filesystem agent, and Voyager executes reusable Python skills through real subprocesses.

  1. A Python team wants to compare Reflection, Self-Consistency, and Tree of Thoughts while preserving one .run(task) integration point.
  2. An engineer building retrieval QA needs to test Agentic RAG, CRAG, Self-RAG, Adaptive RAG, and GraphRAG as alternative retrieval shapes.
  3. An automation team evaluating browser-operation risk wants to study BrowserAgent’s safety gate; production Computer-Use requires Anthropic.
  4. A developer designing coordinated research or article workflows wants runnable examples of Multi-Agent, Blackboard, Debate, STORM, and Meta-Controller.
  5. A technical lead choosing an architecture for a task wants to inspect the included 17-task benchmark and per-task answer excerpts.

How do you install or deploy this agent?

From a fresh clone:

python -m venv .venv
.venv\Scripts\activate              # Windows
source .venv/bin/activate           # macOS / Linux
pip install -e ".[dev,test,docs,nebius,faiss,tavily,networkx]"
cp .env.example .env

Fill .env with NEBIUS_API_KEY and the relevant credentials for the selected provider. The runnable-example extras are also documented as: pip install "agentic-architectures[nebius,faiss,tavily]".

How do you use this agent?

Set LLM_PROVIDER and the matching provider key, then run:

from agentic_architectures import get_llm
from agentic_architectures.architectures import Reflection
arch = Reflection(llm=get_llm(), max_iterations=2, target_score=8)
result = arch.run("Write a haiku about a glacier.")
print(result.output)
print("score:", result.metadata["final_score"], "/ 10")

Swap the Architecture class while keeping the downstream .run(task) call and ArchitectureResult shape. Run pytest -q for tests; set RUN_INTEGRATION=1 to enable real-LLM integration tests.

What are this agent's strengths and limitations?

Pros
  • All 35 architectures share a .run(task) contract and ArchitectureResult shape, making pattern swaps straightforward.
  • The documented provider matrix covers nine providers, and the README explicitly states that every architecture works with OpenAI.
  • The 17-task benchmark supplies comparative results and answer excerpts rather than only conceptual descriptions.
  • The deterministic-picker pattern separates categorical LLM judgments from Python’s final decision composition to address LLM-as-Scorer flat-band behavior.
Limitations
  • Most runs require a chosen LLM provider, network access, and its API credentials; local Ollama needs no key, but tool calling depends on the model.
  • The most recent reported benchmark used Nebius Llama-3.3-70B, so its results are not evidence that outcomes reproduce across providers or models.
  • Thirty-seven integration tests are environment-gated; a real-LLM path for each architecture runs only with RUN_INTEGRATION=1.
  • Production Computer-Use for BrowserAgent explicitly requires Anthropic, and its browser execution depends on real Playwright.

How does this agent compare with similar options?

The repository supports internal pattern comparison: Agentic RAG, CRAG, Self-RAG, Adaptive RAG, and GraphRAG for retrieval; Multi-Agent, Blackboard, Debate, STORM, and Meta-Controller for coordination. Its 17-task leaderboard also records pattern-fit failures, including LATS on arithmetic and Debate plus Ensemble on the Sally trick.

Key facts side by side with the most closely related agents.

Agent Source review Stars Updated Language Full support on
Agentic Architectures This agent 54 · Major gaps ★ 4.5k 3mo ago Jupyter Notebook OpenAI API · Claude API
Agent Craft 49 · Major gaps ★ 492 today Python OpenAI API
GenAI Agents Comprehensive Tutorial Collection 25 · Major gaps ★ 24k 2d ago Jupyter Notebook OpenAI API
AI Agent Service Toolkit 69 · Some gaps ★ 4.5k today Python OpenAI API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
54/ 100 5-point scale 2.7 / 5
Trust 10/29
Reliability 8/14
Adaptability 12/18
Convention 11/18
Effectiveness 9/13
Verifiability 4/8
Why each dimension lost points
Trust10 / 29 · 1.7/5

Evidence shows: SECURITY.md exists, listing security boundaries (e.g., sandbox escapes, prompt-injection bypasses) and a vulnerability reporting process. Code mentions safety gates (e.g., BrowserAgent's _check_safety) and sandbox path checks (SWEAgent's _safe_path), indicating least-privilege awareness. However, no user confirmation mechanism is shown (Dry-Run's approval gate is only mentioned, not implemented), data flow transparency is limited (no detailed API key handling), dependency security is only via version ranges without vulnerability scanning evidence. External effects (e.g., Voyager subprocess, BrowserAgent browser actions) have safety gates but no concrete implementation shown. Rollback is not mentioned. Source attribution is clear (MIT license, author info). Deductions: user confirmation, data flow transparency, sensitive data handling, dependency security, and external effects are only partially implemented or lack evidence.

Reliability8 / 14 · 2.9/5

Evidence shows: README claims 283 passing tests, CI runs tests, test files provide mocks (MockLLM), indicating good self-consistency. Dependencies are declared in pyproject.toml but no lock file, so dependency availability is moderate. Failure messages: tests have error handling (e.g., MockLLM raises RuntimeError when out of responses), but no user-facing error message documentation. Deduction: failure messages only partially covered.

Adaptability12 / 18 · 3.3/5

Evidence shows: README provides multiple learning paths (beginner, RAG, multi-agent, safety), covering different audiences and scenarios. Capability boundaries are described via architecture families and documentation (e.g., which architectures suit which tasks). Trigger precision is explained via deterministic-picker pattern but not detailed. Environment fit is shown via multi-provider support and local Ollama option. Deductions: trigger precision and some capability boundaries are not detailed enough.

Convention11 / 18 · 3.1/5

Evidence shows: Clear information architecture (README, docs, notebooks, tests), detailed install notes (pip install, virtualenv), stable naming (consistent architecture class names), rich examples (quickstart, notebooks), known limitations partially mentioned (e.g., LATS fails on arithmetic), clear license (MIT), versioning via CHANGELOG and release-please, maintenance responsibility via CONTRIBUTING and SECURITY.md. Deduction: known limitations only partially listed.

Effectiveness9 / 13 · 3.5/5

Evidence shows: Output usability via unified ArchitectureResult interface and examples, high marginal value (35 architectures, benchmarks), cost-benefit via benchmark cost (~$1.50) and provider choices. Deduction: cost-benefit data is only from README claims, not independently verified.

Verifiability4 / 8 · 2.5/5

Evidence shows: Claims are traceable (citations to papers, benchmark results), but cross-source corroboration is limited (only README and code), fact-inference separation is good (clearly distinguishing pattern references from this repo's implementations). Deduction: cross-source corroboration insufficient.

Risks and how to mitigate them
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • No user confirmation mechanism; safety gates like Dry-Run are only mentioned, not shown implemented.
  • Dependencies are not pinned, posing supply-chain risk.
  • API key handling details are not disclosed; use with caution.
  • Benchmark results are only from README claims, not independently verified.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision cf9d620a8cc5
See the full review method →

FAQ

Is this a hosted chat product?
No. It delivers a Python library, notebooks, documentation, and benchmarks; users instantiate architectures in their own Python environment and call .run(task).
What cost and runtime should I expect?
The reported latest full 17-task run used Nebius Llama-3.3-70B and took about 25 minutes at about $1.50 in tokens. Actual cost varies by provider, model, and task.
Am I locked into Nebius?
No. Nebius is the default, while OpenAI, Anthropic, Groq, Ollama, Together, Fireworks, Mistral, and Google are documented provider options selected through LLM_PROVIDER.
Does it perform real browser, filesystem, or process actions?
Yes. BrowserAgent uses real Playwright with a safety gate, SWE-Agent is sandboxed for filesystem work, and Voyager uses real subprocesses. Evaluate network, filesystem, and execution permissions before adopting those architectures.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents