Skip to main content

Agent2 — 模块化 Agent 系统框架

一个从零构建的 Python Agent 系统框架,用于深入理解 AI Agent 的核心架构和设计模式。

核心特性

特性 说明
🧠 LLM 抽象层 统一 OpenAI 兼容接口,支持 OpenAI / DeepSeek / Ollama / vLLM / Qwen 等
🔧 工具系统 @tool 装饰器自动生成 JSON Schema,支持同步/异步
🔄 ReAct 模式 Thought → Action → Observation 推理循环
📋 Plan-and-Execute 先规划后执行,支持动态重规划
🪞 自我反思 ReflectionMixin 添加输出自评和迭代改进
💾 记忆系统 短期 (WorkingMemory) + 长期 (LongTermMemory/TF-IDF)
👥 多 Agent 编排 顺序/监督者/辩论 三种协作模式

快速开始

# 安装
uv pip install -e "."

# 设置 API Key
export AGENT2_API_KEY=sk-...

最简示例

import asyncio
from agent2.llm import create_llm
from agent2.agent import ReActAgent
from agent2.tools.builtin import python_exec

async def main():
    llm = create_llm("openai", model="gpt-4o-mini")
    agent = ReActAgent("assistant", llm=llm, tools=[python_exec])
    result = await agent.run("What is 2^100?")
    print(result)

asyncio.run(main())

示例

uv run examples/01_single_agent.py   # 单 Agent ReAct
uv run examples/02_tool_use.py       # 自定义工具
uv run examples/03_planning.py       # Plan-and-Execute
uv run examples/04_memory.py         # 记忆系统(无需 API Key)
uv run examples/05_multi_agent.py    # 多 Agent 协作

配置文件 (~/.config/agent2/config.json)

Agent2 支持通过用户级配置文件管理服务商凭据与模型别名。文件路径为 ~/.config/agent2/config.json(可选):

{
  "default": "gpt-4o-mini",
  "providers": {
    "openai": {
      "api_key": "sk-..."
    },
    "deepseek": {
      "base_url": "https://api.deepseek.com/v1",
      "api_key": "sk-..."
    },
    "qwen": {
      "base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
      "api_key": "sk-..."
    },
    "ollama": {
      "base_url": "http://localhost:11434/v1"
    }
  },
  "models": {
    "gpt-4o-mini": { "provider": "openai" },
    "deepseek": { "provider": "deepseek", "model_id": "deepseek-chat" },
    "deepseek-r1": { "provider": "deepseek", "model_id": "deepseek-reasoner" },
    "qwen": { "provider": "qwen", "model_id": "qwen-plus" },
    "llama3.1": { "provider": "ollama" }
  }
}
  • default:默认模型别名或名称(如 "gpt-4o-mini"、"deepseek")。
  • providers:服务商端点与 API Key 集中管理,同服务商下的多模型无需重复配置凭据与 base URL。
  • models:具名模型别名映射,只需指定所属 provider 即可自动继承连接配置。

架构

agent2/
├── llm/        # LLM 抽象层 — 统一多提供商接口
├── tools/      # 工具系统 — @tool 装饰器 + Registry
├── agent/      # Agent 核心 — ReAct / Planner / Reflection
├── memory/     # 记忆系统 — Working / LongTerm
├── crew/       # 多 Agent — Sequential / Supervisor / Debate
└── utils/      # 配置 + 日志

License

MIT

Metadata

Release files for agent2 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agent2 0.1.2
File Size Uploaded
agent2-0.1.2.tar.gz 105.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for agent2 0.1.2
File Interpreter ABI Platform
agent2-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 177.0 kB

Release files / agent2-0.1.2.tar.gz

Download URL agent2-0.1.2.tar.gz
Size 105.5 kB
Tags Source
SHA-256 checksum
How to use checksums
38738883c7a8eadfc5cd6df4d0212961658e401a449dabd7ae26a556b9fd9bd6
BLAKE2b-256 checksum
How to use checksums
74c6f624f1c8bfd14b5b0a4b8c65ba4fbf726c2d4b0657d81d005985497712f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / agent2-0.1.2-py3-none-any.whl

Download URL agent2-0.1.2-py3-none-any.whl
Size 71.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9449c3ce72c737c9056074a5f8a0fe7c981f3d569b4fc111d8aca54b2cd309b0
BLAKE2b-256 checksum
How to use checksums
c8ef8843df64b19dac4e3ef56cd06d0165f4784fcc9109b39ffb22059ed129c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page