Appearance
AI Agent 架构演进:知识库 (RAG) 与技能 (Skill) 职责分工矩阵及 58 SCF 落地实践
在 AI Agent 工程化(Agentic AI Architecture)推进过程中,开发者常常面临一个核心认知问题:什么内容该放入在线知识库 (RAG),什么内容该封装为 AI 技能 (Skill)?
本文结合 58 集团 SCF (Service Communication Framework) 微服务 RPC 框架的解耦重构,系统梳理知识库与技能的职责划分、标量过滤策略及 CLI 物理自动化同步机制。
🧠 一、 核心架构认知:知识库 (RAG) vs 技能 (Skill)
在现代 AI Agent 架构中,知识库与技能不是替代关系,而是协同互补的双核关系:
⚖️ 详细对比与分工矩阵
| 维度 | 📚 知识库 (Knowledge Base / RAG) | 🛠️ AI 技能 (Agent Skill / Tool / Prompt) |
|---|---|---|
| 本质定位 | “图书馆 / 查阅字典” (静态事实与长尾资料) | “操作手册 / 执法门禁” (动态流程、约束与工具) |
| 载体形态 | 在线知识库 (如 58 灵犀平台)、向量切片 (Chunks) | 结构化 Prompt (SKILL.md)、Python/Bash 脚本、AGENTS.md |
| 触发逻辑 | 被动语义检索 (Semantic Retrieval) 例:用户问“SCF 超时时间在 xml 怎么配?” | 主动规则拦截与工作流调起 (Workflow & Gate) 例:P3 Coding 时强行阻断 Guice 工程混用 Spring 注解 |
| 上下文消耗 | 极低。只按 Top-K 提取 2~3 个相关段落 (约 500~1000 Tokens) | 按需装载,常驻或注入当前 Session,包含规则约束 |
| 核心场景 | 1. 在线 Web 智能体对话问答 2. 查询复杂的参数列表、接口 API 清单 3. 查阅历史 FAQ 与踩坑记录 | 1. SpecFlow SDD 本地 IDE 自动化编码 (P1~P5) 2. 运行 mvn compile、git commit 物理操作3. 代码质量静态审计 ( wuba-skill-auditor) |
🧩 二、 58 SCF 架构解耦与知识库构建实践
1. 复合技能的解耦拆分
早期将 BSP (商业平台)、SSO (单点登录)、SCF (RPC微服务) 混在一个单体技能 (wuba-bsp-sso-scf) 中,存在职责过载、Token 消耗大、触发语义混乱的隐患。按照单一职责原则解耦为:
wuba-scf-guide:58 SCF 微服务 RPC 框架专项技能wuba-sso-guide:58 SSO 单点登录专项技能wuba-bsp-guide:58 BSP 商业服务平台专项技能
2. 知识库模块化切片与【自定义标量】打标 (Metadata Filtering)
在 58 灵犀智能体平台上构建【SCF微服务框架研发知识库】时,开启自定义标量能够实现分类精确检索,防止服务端与客户端规则混淆:
| 文件名 | 内容说明 | 自定义标量 (Metadata Filter) |
|---|---|---|
01-scf-overview-and-config.md | SCF 容器配置、scf_config.xml 与 4 环境目录规范 | category=config, arch_type=common, doc_type=guide |
02-scf-architecture-binding.md | @SCFClient 代理注入、lookup 格式与 Guice/SpringBoot 对比 | category=caller, arch_type=springboot, doc_type=guide |
03-scf-serialization-and-protocol.md | @ServiceContract 契约定义与 Kryo 序列化规约 | category=contract, arch_type=common, doc_type=reference |
04-scf-faq-and-troubleshooting.md | UserException 捕获追溯、RPC 超时与踩坑诊断 | category=faq, arch_type=common, doc_type=faq |
3. 在线智能体 (AI Agent) 调度 Prompt 范例
markdown
# Role: 58 集团 SCF 微服务框架研发专家助手
## 知识库检索与标量路由规则 (Metadata Filtering)
在回答用户问题时,请优先查询关联的【SCF微服务框架研发知识库】:
- 当用户询问 **客户端调用、@SCFClient 代理注入、lookup 格式** ➔ 优先参考 `category=caller` 的文档;
- 当用户询问 **服务端暴露、@ServiceBehavior、scf_config.xml 容器** ➔ 优先参考 `category=config` 或 `category=server` 的文档;
- 当用户询问 **契约定义、@ServiceContract、@SCFSerializable** ➔ 优先参考 `category=contract` 的文档;
- 当用户询问 **UserException 异常捕获、RPC 超时** ➔ 检索 `category=faq` 的文档。🛠️ 三、 SpecFlow CLI 规范仓技能增量物理同步机制 (v0.63.0)
针对升级 CLI 后部分业务规范仓没有自动感知最新技能包(如 wuba-scf-guide)的问题,在 SpecFlow CLI v0.63.0 中硬化了双层物理自动同步引擎:
- 多仓智能探查 (
specflow up): 当用户在工作区(如fic-workspace)运行specflow up时,CLI 物理自动扫描当前目录及其一/二级子目录下的全量子规范仓 (*-spec或含specflow.config.json的目录),将 CLI 内置的最新技能库和规则物理热更覆写至规范仓的.agents/skills/与.agents/rules/。 - SDD 工作流静默自愈 (
getAutoContext): 在任何规范仓运行 SDD 命令 (/specflow-specify,/specflow-plan,/specflow-task等) 时,autoCheckAndUpdateSpecFlowAssets自动探查技能完整度,一旦识别到缺项非破坏性补齐,实现零手动init的感知自愈。
💡 总结与黄金范式
“Skill 负责行动与监管,知识库负责智囊与检索”:
- 在 IDE 编码阶段 ➔ 由 Skill (
wuba-scf-guide) 严格把控 AST 依赖一致性、零 Mock 门禁与落盘物理代码; - 在 Web 智能体 / 冷门参数查阅阶段 ➔ 由 知识库 (RAG + Metadata Filtering) 按需精准检索出最契合的
scf_config.xml片段或 FAQ,实现轻上下文、高准确度的辅助研发体验。