> victor
← Back to Project
#Python#AI Agent#OpenAI#多智能体

VvAgent:从基础 Agent 到工程化多智能体系统

2026-07-04·7 min read·--- viewsLearning

一 项目概述

VvAgent 是一个基于 OpenAI 兼容 API 构建的多智能体框架,覆盖 LLM 适配、Agent 范式、工具调用、上下文工程、会话持久化、子代理、Skills、可观测性和流式输出等核心能力。它适合用来系统学习 Agent 框架设计,也适合作为个人 Agent 项目的二次开发骨架。

通过这个项目,你可以系统掌握:

  • VvAgent 核心:LLM 统一接口、消息模型、配置系统、Agent 基类
  • Agent 范式:SimpleAgent、ReActAgent、ReflectionAgent、PlanSolveAgent
  • 工具系统:Tool 基类、ToolRegistry、ToolResponse 协议、函数式工具、可展开工具
  • 上下文工程:历史管理、Token 计数、工具输出截断、上下文构建
  • 多智能体能力:TaskTool 子代理、ToolFilter 权限控制、轻量模型委托
  • 工程化能力:会话持久化、TraceLogger、CircuitBreaker、TodoWrite、DevLog
  • 扩展能力:Skills 知识外化、自定义工具、SSE 流式输出、异步生命周期

二 能力地图

模块核心内容适合学习的问题
vv_agent.coreLLM、Agent 基类、配置、消息、生命周期、会话一个 Agent 框架的底座如何设计
vv_agent.agentsSimple / ReAct / Reflection / PlanSolve不同 Agent 推理模式如何实现
vv_agent.toolsTool、ToolRegistry、ToolResponse、熔断器如何让 LLM 稳定调用外部能力
vv_agent.contextHistoryManager、TokenCounter、Truncator长对话和工具输出如何控成本
vv_agent.skillsSkillLoader、SkillTool如何把领域知识外化成可加载技能
vv_agent.observabilityTraceLogger如何记录 Agent 执行轨迹并排查问题
docs/主题文档按专题深入理解框架能力
examples/示例脚本快速运行和改造功能案例
tests/单元测试理解行为边界和回归保障

三 学习路径建议

1、基础入门

文档

示例

学习目标:理解 VvAgentLLM、Message、Config、ToolResponse


2、工具与 Agent

文档

示例

学习目标:对比 SimpleAgent 和 ReActAgent 的执行流程


3、上下文工程与状态

文档

示例


4、多智能体与任务管理

文档

示例


5、工程化与可观测性

文档

示例


6、扩展与应用

文档

示例


四 快速开始

1、环境准备

# Python 3.10+
python3 --version

# 推荐使用 uv
brew install uv
uv venv
source .venv/bin/activate

# 安装当前源码项目
uv pip install -e .

2、配置环境变量

在项目根目录创建 .env

LLM_MODEL_ID=your-model-name
LLM_API_KEY=your-api-key
LLM_BASE_URL=your-api-base-url
LLM_TIMEOUT=60

VvAgent 通过 LLM_BASE_URL 自动选择适配器,支持 OpenAI 兼容接口、Anthropic Claude 和 Google Gemini。

3、运行最小示例

from vv_agent import ReActAgent, VvAgentLLM, ToolRegistry
from vv_agent.tools.builtin import ReadTool, WriteTool, TodoWriteTool

llm = VvAgentLLM()
registry = ToolRegistry()
registry.register_tool(ReadTool())
registry.register_tool(WriteTool())
registry.register_tool(TodoWriteTool())

agent = ReActAgent("assistant", llm, tool_registry=registry)
result = agent.run("分析项目结构并生成报告")
print(result)

五 LLM 提供商

类型示例配置方式
OpenAI 兼容接口OpenAI、DeepSeek、Qwen、Kimi、智谱、Ollama、vLLMLLM_BASE_URL=https://...
AnthropicClaudeLLM_BASE_URL=https://api.anthropic.com
GeminiGoogle GeminiLLM_BASE_URL=https://generativelanguage.googleapis.com

核心依赖保持轻量,额外提供:

pip install "vv-agent[anthropic]"
pip install "vv-agent[gemini]"

六 项目结构

vv-agent/
├── vv_agent/                         # 主包
│   ├── core/                         # LLM、Agent 基类、配置、消息、会话、流式
│   ├── agents/                       # Simple / ReAct / Reflection / PlanSolve
│   ├── tools/                        # 工具系统、ToolResponse、熔断器、内置工具
│   │   └── builtin/                  # 文件、任务、技能、TodoWrite、DevLog、计算器
│   ├── context/                      # 历史、Token、截断、上下文构建
│   ├── observability/                # TraceLogger
│   └── skills/                       # SkillLoader
├── docs/                             # 专题文档
├── examples/                         # 可运行示例
├── skills/                           # 示例 Skills
├── tests/                            # 测试用例
├── pyproject.toml                    # 包配置
└── README.md

七 学习建议

  1. 先跑 examples,再读源码:框架类项目最怕只看不动手
  2. 读 tests/:可以更快理解边界条件和设计意图
  3. 自定义工具建议从 ToolResponse 协议开始学:少走很多弯路
  4. 多智能体部分建议先理解 ToolFilter,再看 TaskTool
  5. 可观测性优先接入 TraceLogger:调试 Agent 时会省很多时间

八 贡献与反馈

如果你在学习过程中发现问题或有改进建议,欢迎:

  • 提交 Issue 描述问题
  • 提交 Pull Request 修复 bug
  • 分享学习经验和最佳实践

九 许可证

本项目 Fork / 参考自以下开源项目:HelloAgents。在学习与调试过程中,对部分代码和内容进行了修改与补充,仅用于个人学习与实践。如涉及转载,请参考原项目说明。

AI Assistant

Comments (0)

Sign in to leave a comment

No comments yet. Be the first to comment!