Skip to content

Latest commit

 

History

History
163 lines (126 loc) · 4.71 KB

File metadata and controls

163 lines (126 loc) · 4.71 KB

智能体系统项目报告

项目概述

本项目是一个基于多智能体架构的任务执行系统,采用三层智能体协作模式(规划、执行、验证)来完成复杂任务。系统通过动态任务管理、工作记忆压缩和工具注册机制,实现了灵活的任务调度和执行能力。

项目结构

.
├── __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忽略文件

核心模块分析

1. 主程序 (main_agent.py)

主程序采用三层智能体架构:

1.1 ToDoList类

  • 任务列表管理
  • 支持任务添加、状态更新、结论记录
  • 提供任务查询功能

1.2 WorkingMemory类

  • 工作记忆管理,支持动态压缩
  • 基于字符长度触发压缩机制
  • 保留最近N步完整记录,早期步骤压缩为摘要

1.3 智能体调用函数

  • call_plan_agent(): 规划智能体,负责任务调度
  • call_generator_agent(): 执行智能体,负责具体任务执行
  • call_validate_agent(): 验证智能体,负责结果验证

1.4 主要工作流程

  1. 规划层: 接收用户查询,初始化任务列表,调度任务执行
  2. 执行层: 使用工具执行具体任务,记录执行步骤
  3. 验证层: 验证任务完成质量,确保结果有效性

2. 工具系统

2.1 工具注册表 (utils/get_tools.py)

  • 统一工具管理和调用
  • 支持工具分类(基础工具、搜索工具)
  • 提供工具描述生成功能

2.2 基础工具 (tools/base_tool/)

  • bash: 执行Shell命令
  • read: 读取文件内容
  • edit: 编辑文件内容
  • write: 写入文件内容

2.3 搜索工具 (tools/search_tool/)

  • grep: 正则表达式搜索
  • glob: 文件模式匹配

依赖说明

主要依赖

  • python-dotenv>=1.0.0: 环境变量管理
  • openai: OpenAI API客户端
  • langsmith: 调用追踪和监控
  • tqdm: 进度条显示

环境配置

  • API_KEY: 模型API密钥
  • BASE_URL: API基础地址
  • MODEL_NAME: 模型名称(默认deepseek-chat)

系统特点

1. 动态记忆管理

  • 智能压缩长历史记录
  • 保持工作连贯性
  • 减少上下文长度

2. 工具化架构

  • 可扩展的工具系统
  • 统一的工具调用接口
  • 支持工具热插拔

3. 三层验证机制

  • 规划层确保任务合理性
  • 执行层确保任务完成度
  • 验证层确保结果质量

4. 错误恢复机制

  • 验证失败自动重试
  • 系统反馈机制
  • 循环迭代控制

使用示例

启动系统

python main_agent.py

输入任务

系统会提示输入任务描述,例如:

请输入你的任务/查询: 根据当前目录的项目整理出一份项目报告

执行流程

  1. 规划智能体分析任务,创建任务列表
  2. 执行智能体使用工具收集信息
  3. 验证智能体检查结果有效性
  4. 循环执行直到所有任务完成

配置说明

环境变量 (.env)

API_KEY=your_api_key_here
BASE_URL=https://api.example.com
MODEL_NAME=deepseek-chat

工具配置

  • 可在tools目录中添加新工具
  • 工具需实现统一的接口规范
  • 通过工具注册表自动发现

扩展性

添加新工具

  1. 在tools目录创建新工具类
  2. 实现prompt_block()run()方法
  3. 工具会自动注册到系统中

修改智能体行为

  1. 调整main_agent.py中的提示模板
  2. 修改工作记忆参数
  3. 调整验证逻辑

总结

本项目实现了一个功能完整的多智能体任务执行系统,具有以下优势:

  1. 模块化设计: 各组件职责清晰,易于维护
  2. 可扩展性: 工具系统支持灵活扩展
  3. 智能调度: 三层智能体协作,确保任务质量
  4. 资源优化: 动态记忆管理,减少资源消耗
  5. 错误恢复: 完善的验证和重试机制

系统适用于需要多步骤执行、工具调用和结果验证的复杂任务场景。