Agentic Architectures

用统一 Python 接口试用、比较并扩展 35 种智能体架构。

Star 数
★ 4.5k
最近更新
3 个月前
License
MIT
主语言
Jupyter Notebook

30 秒速览

可在哪里用
通用 · 跨平台OpenAI API · Claude API
开始前需要
PythonLangGraphShell / 命令行网络访问本地文件系统
典型场景
Python 应用团队希望以同一 .run(task) 接口比较 Reflection、Self-Consistency 与 Tree of Thoughts 等推理模式。
主要局限
多数运行依赖所选 LLM 提供商、网络访问及相应 API 密钥;本地 Ollama 虽无需 API 密钥,但工具调用能力取决于模型。

这个 Agent 能做什么,适合哪些场景?

Agentic Architectures 是一个基于 LangGraph 的 Python 库,同时也是包含已执行 Jupyter Notebook 的可运行教材。它将 35 种模式封装为统一的 Architecture 类,包括反思、搜索、RAG、记忆、工具调用、多智能体和安全路由。各架构共享 .run(task) 调用方式,并返回 ArchitectureResult;示例会读取 output 和 metadata 中的 final_score。项目支持 Nebius、OpenAI、Anthropic、Groq、Ollama、Together、Fireworks、Mistral 与 Google 九家提供商,并通过环境变量切换。仓库还提供 17 项任务的比较基准、35 个已执行 Notebook,以及面向库和 Notebook 的测试。

安装后可用 get_llm() 创建模型客户端,再实例化例如 Reflection(llm=get_llm(), max_iterations=2, target_score=8)。调用 arch.run("Write a haiku about a glacier.") 会运行所选架构,并产生 result.output 及 result.metadata 中的 final_score。不同架构可执行生成—批评—改写、采样投票、树搜索、检索与文档评分、记忆存储、工具操作或多智能体协作等流程。项目在 13 个架构中采用 deterministic-picker:LLM 先提交布尔值或枚举特征,再由 Python 组合决策信号;另有 9 个架构按其设计不受该评分问题影响。BrowserAgent 使用真实 Playwright 并带安全门,SWE-Agent 是沙盒文件系统智能体,Voyager 使用真实子进程执行可复用 Python 技能。

  1. Python 应用团队希望以同一 .run(task) 接口比较 Reflection、Self-Consistency 与 Tree of Thoughts 等推理模式。
  2. 正在构建检索问答系统的工程师,需要在 Agentic RAG、CRAG、Self-RAG、Adaptive RAG 与 GraphRAG 之间试验不同检索形态。
  3. 需要审查浏览器操作风险的自动化团队,可研究带安全门的 BrowserAgent,而生产 Computer-Use 需要 Anthropic。
  4. 希望为多智能体研究或写作流程选型的开发者,可运行 Multi-Agent、Blackboard、Debate、STORM 和 Meta-Controller。
  5. 要为特定任务选择架构的技术负责人,可使用项目的 17 任务基准和按任务列出的答案摘录比较结果。

如何安装或部署这个 Agent?

从新克隆安装:

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

然后在 .env 中填写 NEBIUS_API_KEY 等所选提供商的密钥。也可安装运行示例所列的额外组件:pip install "agentic-architectures[nebius,faiss,tavily]"。

如何使用这个 Agent?

配置 LLM_PROVIDER 和对应的环境变量密钥后,运行:

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")

可替换 Architecture 类而保持下游 .run(task) 与 ArchitectureResult 的调用形状不变。测试命令为 pytest -q;真实 LLM 集成测试通过 RUN_INTEGRATION=1 启用。

这个 Agent 有哪些优点和局限?

优点
  • 35 个架构采用相同的 .run(task) 合同与 ArchitectureResult 返回形状,便于替换实验。
  • 提供九家 LLM 提供商路径,且 README 明示 OpenAI 可运行全部架构。
  • 17 任务基准提供每个架构的比较结果和答案摘录,而不只给出模式说明。
  • deterministic-picker 将分类特征判断与 Python 决策组合分离,专门针对 LLM-as-Scorer 的 flat-band 问题。
局限
  • 多数运行依赖所选 LLM 提供商、网络访问及相应 API 密钥;本地 Ollama 虽无需 API 密钥,但工具调用能力取决于模型。
  • 基准的最近一次运行使用 Nebius Llama-3.3-70B;结果未证明在其他模型或提供商上会复现。
  • 37 项集成测试受环境变量控制,只有设置 RUN_INTEGRATION=1 才会执行每个架构的一条真实 LLM 路径。
  • BrowserAgent 的生产 Computer-Use 明确需要 Anthropic,且其浏览器执行依赖真实 Playwright。

这个 Agent 与同类方案有什么区别?

项目内部提供按模式选择的比较:RAG 可在 Agentic RAG、CRAG、Self-RAG、Adaptive RAG 与 GraphRAG 之间比较;多智能体可在 Multi-Agent、Blackboard、Debate、STORM 与 Meta-Controller 之间比较;17 任务排行榜还记录了若干模式适配失败,例如 LATS 用于算术、Debate 与 Ensemble 用于 Sally trick。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
Agentic Architectures 当前 54 · 缺口较多 ★ 4.5k 3 个月前 Jupyter Notebook OpenAI API · Claude API
Agent Craft 智能体教程 49 · 缺口较多 ★ 492 今天 Python OpenAI API
GenAI Agents 综合教程库 25 · 缺口较多 ★ 24k 2 天前 Jupyter Notebook OpenAI API
AI Agent Service Toolkit 69 · 存在缺口 ★ 4.5k 今天 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
54/ 100 五分制 2.7 / 5
信任安全 10/29
可靠稳定 8/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

证据显示:仓库包含SECURITY.md,明确列出安全边界(如沙箱逃逸、提示注入绕过安全门),并提供了漏洞报告流程。代码中提及安全门(如BrowserAgent的_check_safety)和沙箱路径检查(SWEAgent的_safe_path),表明有最小权限意识。但未提供用户确认机制(如Dry-Run的批准门仅提及,未展示实现细节),数据流透明度有限(未详细说明API密钥处理),依赖安全仅通过版本范围声明,未提供漏洞扫描证据。外部影响(如Voyager子进程、BrowserAgent浏览器操作)有安全门但未展示具体实现。回滚机制未提及。来源归属清晰(MIT许可证、作者信息)。扣分原因:用户确认、数据流透明度、敏感数据处理、依赖安全、外部影响均仅部分实现或未提供证据。

可靠稳定8 / 14 · 2.9/5

证据显示:README声称283个测试通过,CI配置运行测试,测试文件提供MockLLM等模拟,表明自一致性较好。依赖在pyproject.toml中声明,但未提供锁定文件,依赖可用性中等。失败消息方面,测试中有错误处理(如MockLLM耗尽响应时抛出RuntimeError),但未提供面向用户的错误消息文档。扣分原因:失败消息仅部分覆盖。

适用触发12 / 18 · 3.3/5

证据显示:README提供多种学习路径(初学者、RAG、多智能体、安全),覆盖不同受众和场景。能力边界通过架构分类和文档说明(如哪些架构适合哪些任务)。触发精度通过确定性选择器模式说明,但未提供详细触发条件。环境适配通过多提供商支持和本地Ollama选项体现。扣分原因:触发精度和部分能力边界描述不够详细。

规范维护11 / 18 · 3.1/5

证据显示:信息架构清晰(README、docs、notebooks、tests),安装说明详细(pip install、虚拟环境),命名稳定(架构类名一致),示例丰富(快速入门、notebooks),已知限制部分提及(如LATS在算术上失败),许可证明确(MIT),版本化通过CHANGELOG和release-please提及,维护责任通过CONTRIBUTING和SECURITY.md明确。扣分原因:已知限制仅部分提及,未全面列出。

有效结果9 / 13 · 3.5/5

证据显示:输出可用性通过统一的ArchitectureResult接口和示例展示,边际价值高(35种架构、基准测试),成本效益通过基准测试成本(约1.5美元)和提供商选择体现。扣分原因:成本效益数据仅来自README声明,未独立验证。

证据核验4 / 8 · 2.5/5

证据显示:声明可追溯(引用论文、基准测试结果),但跨来源验证有限(仅依赖README和代码),事实与推断分离较好(明确区分模式引用和本仓库实现)。扣分原因:跨来源验证不足。

风险与缓解建议
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 未提供用户确认机制,Dry-Run等安全门仅提及未展示实现。
  • 依赖未锁定版本,存在供应链风险。
  • API密钥处理细节未公开,需谨慎使用。
  • 基准测试结果仅来自README声明,未独立验证。
证据充分度: 评估于 2026年8月9日 审查版本 cf9d620a8cc5
查看完整评分方法 →

常见问题

它是一个部署好的聊天产品吗?
不是。它交付的是 Python 库、Notebook、文档与基准;使用者在自己的 Python 环境中实例化架构并调用 .run(task)。
运行成本和时长如何?
README 所述最近一次完整 17 任务运行使用 Nebius Llama-3.3-70B,约 25 分钟、约 1.50 美元 token 成本;实际成本会随提供商、模型和任务而变。
是否只能使用 Nebius?
不是。Nebius 是默认提供商;项目还列出 OpenAI、Anthropic、Groq、Ollama、Together、Fireworks、Mistral 和 Google,并通过 LLM_PROVIDER 切换。
是否包含真实工具和浏览器操作?
包含:BrowserAgent 使用真实 Playwright 和安全门,SWE-Agent 是沙盒文件系统智能体,Voyager 运行真实子进程。采用这些架构前应评估其网络、文件系统和执行权限。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents