Agentic Architectures
A unified Python library for running, comparing, and extending 35 agentic architecture patterns.
- Source repo
- FareedKhan-dev/all-agentic-architectures
- Stars
- ★ 4.5k
- Last updated
- 3mo ago
- License
- MIT
- Primary language
- Jupyter Notebook
- FA score
- 54/100 · Major gaps
At a glance
- Works with
- Universal · cross-platformOpenAI API · Claude API
- You'll need
- 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.
- Source review
- 54/100 · Major gaps 1 safety controls not found
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.
- A Python team wants to compare Reflection, Self-Consistency, and Tree of Thoughts while preserving one .run(task) integration point.
- An engineer building retrieval QA needs to test Agentic RAG, CRAG, Self-RAG, Adaptive RAG, and GraphRAG as alternative retrieval shapes.
- An automation team evaluating browser-operation risk wants to study BrowserAgent’s safety gate; production Computer-Use requires Anthropic.
- A developer designing coordinated research or article workflows wants runnable examples of Multi-Agent, Blackboard, Debate, STORM, and Meta-Controller.
- 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 .envFill .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 Reflectionarch = 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?
- 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.
- 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?
Why each dimension lost points
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.
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.
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.
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.
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.
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.
- 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.