# 意图驱动智能体中台改造(IDMP)- 任务清单 ## 活跃版本:v0.2.0-0.3.0 --- ## Phase 1: 记忆服务增强(AC-IDMP-13/14) ### Task-1.1: 记忆召回服务(AC-IDMP-13)⏳ **验收标准**: WHEN 进行记忆读取 THEN 中台 SHALL 在响应前执行 recall 并注入基础属性、事实记忆与偏好记忆 **子任务**: - [ ] 1.1.1 创建 `services/mid/memory_adapter.py` - 记忆适配器 - [ ] 1.1.2 实现 `RecallRequest` / `RecallResponse` 数据模型 - [ ] 1.1.3 实现 `recall(user_id, session_id)` 方法,返回 profile/facts/preferences - [ ] 1.1.4 集成到对话响应流程(响应前调用) - [ ] 1.1.5 实现 recall 失败降级(不阻断主链路) **参考**: - `openapi.deps.yaml` - `/deps/memory/recall` - `services/memory.py` - 现有 MemoryService --- ### Task-1.2: 记忆更新服务(AC-IDMP-14)⏳ **验收标准**: WHEN 一轮会话完成 THEN 中台 SHALL 异步执行记忆更新(含会话摘要),且不阻塞主响应 **子任务**: - [ ] 1.2.1 实现 `update(user_id, session_id, messages, summary)` 方法 - [ ] 1.2.2 创建异步任务队列(使用 asyncio.create_task) - [ ] 1.2.3 实现会话摘要生成(可选,由中台异步生成后回写) - [ ] 1.2.4 集成到对话响应流程(响应后异步调用) - [ ] 1.2.5 添加错误处理与重试机制 **参考**: - `openapi.deps.yaml` - `/deps/memory/update` --- ## Phase 2: 工具调用治理(AC-IDMP-15/19) ### Task-2.1: 工具调用结构化记录(AC-IDMP-15)⏳ **验收标准**: WHEN 中台调用工具 THEN 中台 SHALL 以结构化 `tool_call/tool_result` 记录参数摘要、耗时、结果与错误码 **子任务**: - [ ] 2.1.1 创建 `models/mid/tool_trace.py` - ToolCallTrace 数据模型 - [ ] 2.1.2 实现 `ToolCallRecorder` 服务 - [ ] 2.1.3 记录字段:tool_name, tool_type, registry_version, auth_applied, duration_ms, status, error_code, args_digest, result_digest - [ ] 2.1.4 集成到 TraceInfo 输出 - [ ] 2.1.5 实现敏感参数脱敏(args_digest) **参考**: - `openapi.provider.yaml` - `ToolCallTrace` schema --- ### Task-2.2: Tool Registry 治理(AC-IDMP-19)⏳ **验收标准**: WHEN 新增或调用工具能力(含 MCP 工具) THEN 中台 SHALL 通过统一 Tool Registry 完成注册、鉴权、超时策略、版本与启停治理,并将治理结果写入 trace/tool 日志 **子任务**: - [ ] 2.2.1 创建 `services/mid/tool_registry.py` - 工具注册表 - [ ] 2.2.2 实现 `ToolDefinition` 数据模型(name, type, version, timeout_ms, auth_required, is_enabled) - [ ] 2.2.3 实现 `register_tool()` - 工具注册 - [ ] 2.2.4 实现 `authorize_tool()` - 工具鉴权 - [ ] 2.2.5 实现 `get_timeout_policy()` - 超时策略获取 - [ ] 2.2.6 实现 `is_tool_enabled()` - 启停状态检查 - [ ] 2.2.7 创建数据库表 `tool_registry`(可选,支持动态配置) - [ ] 2.2.8 集成 MCP 工具支持 **参考**: - `openapi.provider.yaml` - `TraceInfo.tools_used`, `ToolCallTrace` --- ## Phase 3: 测试与验证 ### Task-3.1: 单元测试 ⏳ **覆盖路径**: - [ ] 成功路径:正常 recall/update,工具调用成功 - [ ] 超时路径:recall 超时降级,工具调用超时 - [ ] 错误路径:recall 失败降级,工具调用错误 - [ ] 降级路径:记忆服务不可用时继续主链路 **测试文件**: - `tests/test_memory_adapter.py` - `tests/test_tool_registry.py` - `tests/test_tool_call_recorder.py` --- ## 依赖关系 ``` Task-1.1 (recall) ──┐ ├──> Task-1.2 (update) ──> Task-3.1 (tests) Task-2.1 (trace) ───┘ │ └──> Task-2.2 (registry) ──> Task-3.1 (tests) ``` --- ## 变更文件清单 | 文件路径 | 状态 | 关联 AC | |---------|------|---------| | `services/mid/__init__.py` | 待创建 | - | | `services/mid/memory_adapter.py` | 待创建 | AC-IDMP-13/14 | | `services/mid/tool_registry.py` | 待创建 | AC-IDMP-19 | | `services/mid/tool_call_recorder.py` | 待创建 | AC-IDMP-15 | | `models/mid/__init__.py` | 待创建 | - | | `models/mid/memory.py` | 待创建 | AC-IDMP-13/14 | | `models/mid/tool_trace.py` | 待创建 | AC-IDMP-15 | | `models/mid/tool_registry.py` | 待创建 | AC-IDMP-19 | | `tests/test_memory_adapter.py` | 待创建 | AC-IDMP-13/14 | | `tests/test_tool_registry.py` | 待创建 | AC-IDMP-19 | | `tests/test_tool_call_recorder.py` | 待创建 | AC-IDMP-15 |