智能体服务端 v2.0 开发计划(5周)
- 版本:v2.0
- 启动日期:2026年11月5日
- 周期:5 周(35 天)
- 目标:增强 RAG、Agent、Tools 三大核心能力,升级权限系统,集成 OpenTelemetry 实现全面可观测性
- 技术栈: NestJS + TypeScript + Langchain v 0.3X + chroma v2 + Typeorm +MySQL
整体节奏
| 周次 | 主题 | 目标 |
|---|---|---|
| 第1周 | 权限系统升级 + 多租户基础 | 支持细粒度权限控制,为后续模块隔离打基础 |
| 第2周 | RAG 引擎强化(Chroma Server V2 深度集成) | 实现向量库的增删改查、缓存、增量更新机制 |
| 第3周 | Agent 系统独立化与工作流支持 | Agent 模块解耦,支持串行/并行任务流 |
| 第4周 | Tools 工具集扩展与插件化 | 新增实用工具,支持动态注册与调用 |
| 第5周 | 日志收集与系统监控(OpenTelemetry) | 统计 Token 消耗、调用链路、性能指标 |
第1周:权限系统升级 + 多租户基础
时间:2026-11-05 ~ 2026-11-11
目标
- 升级 RBAC 权限模型至 ABAC 风格
- 添加租户(Tenant)概念,为 RAG / Agent 数据隔离做准备
任务列表
| 编号 | 任务 | 描述 | 负责人 | 状态 | 截止 |
|---|---|---|---|---|---|
| [W1-T1] | 设计 Tenant 实体 | 新增 tenant 表,包含 id, name, slug, created_at | @Nil | 🟢 已完成 | 2026-11-05 |
| [W1-T2] | 用户绑定租户 | 修改 user 表增加 tenant_id 外键 | @Nil | 🟢 已完成 | 2026-11-06 |
| [W1-T3] | 请求上下文注入 tenantId | 中间件从 JWT 或 header 提取 X-Tenant-ID | @Nil | 🟢 已完成 | 2026-11-07 |
| [W1-T4] | 角色权限控制 | 创建 role 实体,包含 id, name, permissions, created_at | @Nil | 🟢 已完成 | 2026-11-08 |
| [W1-T5] | 角色权限控制 | 创建 permission 实体,包含 id, name, description, created_at | @Nil | 🟢 已完成 | 2026-11-09 |
| [W1-T6] | 角色权限控制 | 创建 department 实体,包含 id, name, created_at | @Nil | 🟢 已完成 | 2026-11-09 |
| [W1-T7] | 角色权限控制 | 创建 menu 实体,包含 id, name, created_at | @Nil | 🟢 已完成 | 2026-11-11 |
| [W1-T8] | 权限策略升级 | 引入 CASL 或自定义策略,支持字段级访问控制 | @Nil | 🟢 已完成 | 2026-11-08 |
| [W1-T9] | 数据自动过滤 | 所有查询自动附加 WHERE tenant_id = ?(通过 QueryBuilder 拦截) | @Nil | 🟢 已完成 | 2026-11-09 |
| [W1-T10] | 接口测试 | 使用 Postman 测试跨租户数据隔离效果 | @Nil | 🟢 已完成 | 2026-11-10 |
| [W1-T11] | 周会评审 | 演示权限与租户功能,确认进入 RAG 模块开发 | @Nil | 🟢 已完成 | 2026-11-11 |
第2周:RAG 引擎强化(Chroma Server V2 深度交互)
时间:2026-11-12 ~ 2026-11-18
目标
- 将 RAG 功能独立成模块
- 对接 Chroma Server V2,实现完整的向量数据库 CRUD + 缓存 + 增量更新
任务列表
| 编号 | 任务 | 描述 | 负责人 | 状态 | 截止 |
|---|---|---|---|---|---|
| [W2-T1] | 启动 Chroma Server V2 | Docker 部署最新版 Chroma,启用 HTTP API 和持久化 | @Nil | 🟢 已完成 | 2026-11-12 |
| [W2-T2] | 创建 CollectionService | 封装对 /collections 的增删改查:创建 collection、重命名、删除 | @Nil | 🟢 已完成 | 2026-11-13 |
| [W2-T3] | 实现 Document CRUD | 支持添加、查询、删除文档(通过 /add, /query, /delete) | @Nil | 🔵 待开始 | 2026-11-14 |
| [W2-T4] | 增量更新机制 | 记录文件哈希值,仅当内容变更时才重新 embedding | @Nil | 🔵 待开始 | 2026-11-15 |
| [W2-T5] | 查询结果缓存 | 使用 Redis 缓存高频 query 结果,TTL 5min | @Nil | 🔵 待开始 | 2026-11-16 |
| [W2-T6] | 元数据过滤支持 | 在 /query 中支持 where 条件(如 source=manual.pdf) | @Nil | 🔵 待开始 | 2026-11-17 |
| [W2-T7] | 周会评审 | 展示文档上传 → 自动同步到 Chroma → 支持条件检索全流程 | @Nil | 🔵 待开始 | 2026-11-18 |
第3周:Agent 系统独立化
时间:2026-11-19 ~ 2026-11-25
目标
- 将 Agent 模块从 Prompt 模块中解耦
- 支持复杂执行流程(Sequence、Parallel)
任务列表
| 编号 | 任务 | 描述 | 负责人 | 状态 | 截止 |
|---|---|---|---|---|---|
| [W3-T1] | 创建 agent-service 模块 | 新建 agent/ 目录,独立路由和控制器 | @Nil | 🔵 待开始 | 2026-11-19 |
| [W3-T2] | 定义 Agent 配置结构 | JSON Schema 支持 tool 调用顺序、条件分支 | @Nil | 🔵 待开始 | 2026-11-20 |
| [W3-T3] | 实现串行执行器 | Step1 → Step2 → Step3 依次执行 | @Nil | 🔵 待开始 | 2026-11-21 |
| [W3-T4] | 实现并行执行器 | 多个 Tool 并发执行,汇总结果 | @Nil | 🔵 待开始 | 2026-11-22 |
| [W3-T5] | 执行状态追踪 | 记录每个 Agent 运行日志、耗时、Token 消耗 | @Nil | 🔵 待开始 | 2026-11-23 |
| [W3-T6] | 错误恢复机制 | 失败步骤可重试,支持 fallback action | @Nil | 🔵 待开始 | 2026-11-24 |
| [W3-T7] | 周会评审 | 演示一个 Agent 调用多个 Tool 完成复杂任务 | @Nil | 🔵 待开始 | 2026-11-25 |
第4周:Tools 工具集增强与插件化
时间:2026-11-26 ~ 2026-12-02
目标
- 扩展内置 Tools
- 支持外部插件式 Tools 注册
任务列表
| 编号 | 任务 | 描述 | 负责人 | 状态 | 截止 |
|---|---|---|---|---|---|
| [W4-T1] | 内置工具增强 | 增加 web-search, code-execution, database-query 等实用工具 | @Nil | 🔵 待开始 | 2026-11-26 |
| [W4-T2] | 定义 Tool 接口 | 统一 invoke(input: string): Promise<string> | @Nil | 🔵 待开始 | 2026-11-27 |
| [W4-T3] | 动态注册机制 | 通过配置文件或 API 注册新 Tool(无需重启) | @Nil | 🔵 待开始 | 2026-11-28 |
| [W4-T4] | 插件加载器 | 支持从 plugins/ 目录加载 .js 文件作为 Tool | @Nil | 🔵 待开始 | 2026-11-29 |
| [W4-T5] | 权限控制 | 不同租户可启用/禁用特定 Tools | @Nil | 🔵 待开始 | 2026-11-30 |
| [W4-T6] | OpenAPI 文档生成 | 自动生成 Tools 列表供前端调用 | @Nil | 🔵 待开始 | 2026-12-01 |
| [W4-T7] | 周会评审 | 演示动态加载一个天气查询插件,并在 Agent 中使用 | @Nil | 🔵 待开始 | 2026-12-02 |
第5周:日志收集与系统监控(OpenTelemetry)
时间:2026-12-03 ~ 2026-12-09
目标
- 集成 OpenTelemetry 实现全链路监控
- 统计 Token 消耗、调用频率、响应延迟等关键指标
任务列表
| 编号 | 任务 | 描述 | 负责人 | 状态 | 截止 |
|---|---|---|---|---|---|
| [W5-T1] | 安装 OpenTelemetry SDK | @opentelemetry/api, @opentelemetry/sdk-node | @Nil | 🔵 待开始 | 2026-12-03 |
| [W5-T2] | 配置 Exporter | 接入 Jaeger(Trace)、Prometheus(Metrics)、Console(Debug) | @Nil | 🔵 待开始 | 2026-12-04 |
| [W5-T3] | 自动埋点中间件 | 拦截所有 HTTP 请求,记录路径、状态码、耗时 | @Nil | 🔵 待开始 | 2026-12-05 |
| [W5-T4] | 手动埋点 Agent 调用 | 在 Agent 执行前后打点,追踪 LLM 调用链 | @Nil | 🔵 待开始 | 2026-12-06 |
| [W5-T5] | Token 消耗统计 | 解析 LangChain 回调,记录 prompt_tokens + completion_tokens | @Nil | 🔵 待开始 | 2026-12-07 |
| [W5-T6] | 仪表板搭建 | 启动 Jaeger UI 查看调用链 | @Nil | 🔵 待开始 | 2026-12-08 |
| [W5-T7] | 周会评审 | 展示一次 Agent 调用的完整 trace,包含 token 消耗与各阶段耗时 | @Nil | 🔵 待开始 | 2026-12-09 |
最终成果(v2.0 上线)
- 支持多租户隔离的数据安全架构
- 可管理的 RAG 系统(真正意义上的“向量数据库运维”)
- 独立且强大的 Agent 执行引擎
- 可扩展的 Tools 生态(未来可接入 Zapier 类服务)
- 全链路监控系统(OpenTelemetry + Jaeger + Prometheus)