ai-robot-core/spec/intent-driven-mid-platform/tasks.md

118 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 意图驱动智能体中台改造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 |