本项目是一个基于多智能体架构的任务执行系统,采用三层智能体协作模式(规划、执行、验证)来完成复杂任务。系统通过动态任务管理、工作记忆压缩和工具注册机制,实现了灵活的任务调度和执行能力。
.
├── __pycache__/ # Python字节码缓存
├── .idea/ # IDE配置文件
├── tools/ # 工具模块目录
│ ├── base_tool/ # 基础工具
│ │ ├── bash_tool.py # Shell命令执行工具
│ │ ├── read_tool.py # 文件读取工具
│ │ ├── edit_tool.py # 文件编辑工具
│ │ └── write_tool.py # 文件写入工具
│ └── search_tool/ # 搜索工具
│ ├── grep_tool.py # 正则搜索工具
│ └── glob_tool.py # 文件匹配工具
├── utils/ # 工具类目录
│ └── get_tools.py # 工具注册表管理
├── main_agent.py # 主程序入口
├── requirements.txt # 项目依赖
├── .env # 环境变量配置
└── .gitignore # Git忽略文件
主程序采用三层智能体架构:
- 任务列表管理
- 支持任务添加、状态更新、结论记录
- 提供任务查询功能
- 工作记忆管理,支持动态压缩
- 基于字符长度触发压缩机制
- 保留最近N步完整记录,早期步骤压缩为摘要
call_plan_agent(): 规划智能体,负责任务调度call_generator_agent(): 执行智能体,负责具体任务执行call_validate_agent(): 验证智能体,负责结果验证
- 规划层: 接收用户查询,初始化任务列表,调度任务执行
- 执行层: 使用工具执行具体任务,记录执行步骤
- 验证层: 验证任务完成质量,确保结果有效性
- 统一工具管理和调用
- 支持工具分类(基础工具、搜索工具)
- 提供工具描述生成功能
- bash: 执行Shell命令
- read: 读取文件内容
- edit: 编辑文件内容
- write: 写入文件内容
- grep: 正则表达式搜索
- glob: 文件模式匹配
python-dotenv>=1.0.0: 环境变量管理openai: OpenAI API客户端langsmith: 调用追踪和监控tqdm: 进度条显示
- API_KEY: 模型API密钥
- BASE_URL: API基础地址
- MODEL_NAME: 模型名称(默认deepseek-chat)
- 智能压缩长历史记录
- 保持工作连贯性
- 减少上下文长度
- 可扩展的工具系统
- 统一的工具调用接口
- 支持工具热插拔
- 规划层确保任务合理性
- 执行层确保任务完成度
- 验证层确保结果质量
- 验证失败自动重试
- 系统反馈机制
- 循环迭代控制
python main_agent.py系统会提示输入任务描述,例如:
请输入你的任务/查询: 根据当前目录的项目整理出一份项目报告
- 规划智能体分析任务,创建任务列表
- 执行智能体使用工具收集信息
- 验证智能体检查结果有效性
- 循环执行直到所有任务完成
API_KEY=your_api_key_here
BASE_URL=https://api.example.com
MODEL_NAME=deepseek-chat
- 可在tools目录中添加新工具
- 工具需实现统一的接口规范
- 通过工具注册表自动发现
- 在tools目录创建新工具类
- 实现
prompt_block()和run()方法 - 工具会自动注册到系统中
- 调整main_agent.py中的提示模板
- 修改工作记忆参数
- 调整验证逻辑
本项目实现了一个功能完整的多智能体任务执行系统,具有以下优势:
- 模块化设计: 各组件职责清晰,易于维护
- 可扩展性: 工具系统支持灵活扩展
- 智能调度: 三层智能体协作,确保任务质量
- 资源优化: 动态记忆管理,减少资源消耗
- 错误恢复: 完善的验证和重试机制
系统适用于需要多步骤执行、工具调用和结果验证的复杂任务场景。