RAG 是 Agent 系统中最常见的能力之一。很多人会问:RAG 是不是 Agent?RAG 和 Skill 什么关系?简单说:RAG 本身不是 Agent,但可以被封装成 Agent 的一个 Skill。

RAG 是什么

RAG 的核心流程是:

用户问题 → 检索知识库 → 返回相关片段 → 拼接上下文 → 大模型生成答案

它解决的是大模型无法稳定访问外部知识或私有知识的问题。

RAG 不是 Agent

普通 RAG 流程通常是固定的:一有问题就检索,再生成回答。它不一定有动态决策。

Agent 则会判断:当前问题是否需要检索?是查知识库、查数据库,还是搜索互联网?所以 RAG 更像能力或流程,Agent 是决策系统。

RAG Skill 是什么

RAG Skill 是把知识库检索能力封装成 Agent 可调用的 Skill。Agent 判断需要内部知识时,调用 RAG Skill 获取相关文档片段、来源和分数。

两种设计方式

第一种:RAG Skill 只检索,不生成。返回 chunks、source、score,让 Agent 基于结果回答。

第二种:RAG Skill 内部完成检索和生成,直接返回 answer 和 sources。

前者更灵活,后者更稳定,具体取决于场景。

输入输出设计

RAG Skill 输入可以是:

{
  "query": "用户问题",
  "top_k": 5,
  "filters": {},
  "rerank": true
}

输出应包含:

{
  "status": "success",
  "results": [
    {"content": "文档片段", "source": "文档名", "score": 0.86}
  ]
}

没有结果时返回 empty_result,不能让 Agent 编造。

什么时候调用 RAG Skill

适合调用:内部知识库、企业文档、上传文件、产品手册、制度文档、需要依据资料回答的问题。

不适合调用:实时新闻、开放互联网最新信息、纯翻译润色、当前上下文足够回答的问题。

RAG Skill 和 Web Search Skill 的区别

RAG Skill 的数据源是私有知识库或文档库;Web Search Skill 的数据源是开放互联网。前者适合内部资料,后者适合最新公开信息。Agent 必须能区分二者。

评估指标

RAG Skill 可评估:

检索命中率
top-k 相关性
召回率
引用准确性
上下文忠实性
空结果率
幻觉率

面试中怎么回答

可以这样回答:

RAG 本身不是 Agent,它是一种检索增强生成能力。Agent 可以把 RAG 封装成一个 Skill 来调用。当用户问题需要依赖知识库时,Agent 调用 RAG Skill,传入 query、top_k、filters 等参数,RAG Skill 返回相关文档片段、来源、相似度和 metadata。RAG Skill 可以只负责检索,也可以内部完成检索和生成。关键是没有结果时要返回 empty_result,而不是让 Agent 编造。

小结

这篇文章的核心是:Skill 与 RAG 的关系 不是一个孤立概念,而是 Agent 工程化中必须讲清楚、设计清楚、验证清楚的一部分。

下一篇继续讨论:Skill 与 MCP 的关系

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐