跳转至

Agent 模块实施状态

最后更新:2026-03-22 关联里程碑:M1 Skills运行时


1. 模块概览

Agent 模块是消息处理的核心,负责: - LLM 流式调用与工具执行 - 会话管理与持久化 - 子 Agent 生命周期 - 记忆系统 - 技能注入


2. 核心组件状态

2.1 Agent 运行时

组件 文件 状态 完成度 功能说明
Runner核心循环 runner.py ✅ 完成 100% prompt → LLM stream → tool exec → loop
流式接口统一 stream.py ✅ 完成 100% 多Provider统一chunk格式
会话管理 session.py ✅ 完成 100% JSONL DAG格式持久化
系统提示构建 system_prompt.py ✅ 完成 100% AGENTS.md + Skills + 上下文
Token计数 tokens.py ✅ 完成 100% Token统计与限制
进度事件 progress.py ✅ 完成 100% 执行进度推送
类型定义 types.py ✅ 完成 100% 共享类型

2.2 LLM Provider 适配

Provider 状态 完成度 说明
OpenAI ✅ 完成 100% GPT-4, GPT-3.5等
Anthropic ✅ 完成 100% Claude系列
Google Gemini ✅ 完成 100% Gemini Pro等
Ollama ✅ 完成 100% 本地模型
OpenAI兼容 ✅ 完成 100% 20+ 兼容提供商

Provider能力注册表src/pyclaw/agents/providers/capability_registry.py

2.3 会话系统

功能 状态 完成度 说明
会话范围 ✅ 完成 100% global / per-sender / per-channel-peer
定时重置 ✅ 完成 100% 指定时间创建新会话
空闲重置 ✅ 完成 100% 空闲超时自动新建
会话压缩 ✅ 完成 100% 自动压缩早期消息注入摘要
分支支持 ✅ 完成 100% JSONL DAG分支结构

2.4 思维模式

模式 状态 说明
disabled ✅ 完成 直接生成
low ✅ 完成 简短推理
high ✅ 完成 深度推理(token消耗更大)

3. 子 Agent 系统

3.1 生命周期管理

操作 文件 状态 说明
spawn subagents/ ✅ 完成 创建子Agent
steer subagents/ ✅ 完成 重定向子Agent
kill subagents/ ✅ 完成 终止子Agent
列表 subagents/ ✅ 完成 列出活跃子Agent

3.2 约束

约束 说明
MAX_DEPTH 3 最大嵌套深度
MAX_CONCURRENT 5 最大并发数

4. 记忆系统

4.1 双引擎架构

引擎 文件 状态 功能
SQLite FTS5 memory/ ✅ 完成 全文检索,关键词匹配
LanceDB memory/ ✅ 完成 向量搜索,语义匹配
混合排序 memory/ ✅ 完成 MMR + 时间衰减融合

4.2 记忆工具

工具 状态 说明
memory_search ✅ 完成 搜索记忆
memory_store ✅ 完成 存储记忆

5. 工具系统

5.1 内置工具(20+)

类别 工具 状态
文件操作 read_file, write_file, list_dir ✅ 完成
搜索 grep, find, web_search ✅ 完成
执行 exec (shell命令) ✅ 完成
浏览器 navigate, click, screenshot ✅ 完成
记忆 memory_search, memory_store ✅ 完成
网络 web_fetch ✅ 完成
系统 cron (定时任务) ✅ 完成

5.2 审批机制

机制 状态 说明
allowlist ✅ 完成 匹配命令直接执行
denylist ✅ 完成 匹配命令直接拒绝
审批请求 ✅ 完成 推送到UI/CLI等待确认

5.3 沙箱

功能 状态 说明
工作区限制 ✅ 完成 tools.restrictToWorkspace
路径规范化 ✅ 完成 防止目录遍历

6. 运行时编排设计(进行中)

设计要素 状态 说明
三阶段模型 📋 设计中 Orchestrate → Delegate → Reconcile
编排制品 📋 设计中 Manifest JSON持久化
动态增删 📋 设计中 运行中spawn/kill/steer
工具注入 🚧 进行中 子Agent工具裁剪子集

详见:docs/plans/2026-03-21-runtime-agent-orchestration-design.md


7. 多 Agent 路由

7.1 路由优先级(7级)

优先级 绑定类型 状态
1 会话绑定 (session → agent) ✅ 完成
2 线程绑定 (thread → agent) ✅ 完成
3 通道绑定 (channel → agent) ✅ 完成
4 群组绑定 (chat_id → agent) ✅ 完成
5 用户绑定 (sender → agent) ✅ 完成
6 全局绑定 (pattern match) ✅ 完成
7 默认 Agent ✅ 完成

8. 关键文件索引

文件 职责
src/pyclaw/agents/runner.py Agent核心循环
src/pyclaw/agents/stream.py 多Provider流式统一
src/pyclaw/agents/session.py 会话持久化
src/pyclaw/agents/tools/ 内置工具实现
src/pyclaw/agents/skills/ 技能系统
src/pyclaw/agents/subagents/ 子Agent管理
src/pyclaw/memory/ 记忆系统

9. 待办事项

  • [ ] 子Agent默认工具注入(当前 tools=[]
  • [ ] 编排制品持久化实现
  • [ ] steering_instructions消费确认
  • [ ] 主会话与子会话上下文回灌机制