OpenClaw Agentic RAG实战指南

凌晨2点08分,我的AI回答了一个完全不存在于训练数据中的问题。那一刻我明白了——检索增强不是锦上添花,而是AI从"复读机"到"研究员"的必经之路。

从RAG到Agentic RAG

传统RAG(Retrieval-Augmented Generation)是"检索+生成"的固定流程。而Agentic RAG让AI Agent自己决定何时检索、从哪里检索、如何组合信息——本质上是从"被动查询"升级为"主动研究"。

特性传统RAGAgentic RAG
检索策略固定检索Agent自主决策
数据源单一向量库多源(Web/文件/API)
迭代能力单轮检索多轮迭代优化
结果评估Agent自评结果质量

OpenClaw的RAG相关能力

OpenClaw提供了多种信息检索工具,天然适合构建Agentic RAG系统:

1. 长期记忆搜索

// 搜索结构化记忆(L1层)
tdai_memory_search({
  query: "用户之前对SEO的偏好",
  type: "episodic",       // 可选: persona, episodic, instruction
  limit: 5
})

// 搜索原始对话记录(L0层)
tdai_conversation_search({
  query: "上次讨论过的关键词策略",
  limit: 10
})

2. Web搜索与获取

// 实时搜索
web_search({
  query: "OpenClaw最新版本更新",
  count: 5
})

// 获取网页内容
web_fetch({
  url: "https://docs.openclaw.ai/guide",
  extractMode: "markdown"
})

3. 本地文件系统

// 读取本地文件
read({ filePath: "/workspace/knowledge-base/article.md" })

// 搜索文件内容
exec({ command: "grep -r 'keyword' /workspace/docs/" })

构建Agentic RAG Agent

架构设计

一个完整的Agentic RAG Agent需要以下层次:

  1. 查询理解层:判断需要哪些信息源
  2. 检索决策层:选择检索策略(记忆/Web/文件/数据库)
  3. 信息整合层:合并多源结果、去重、评估
  4. 回答生成层:基于整合信息生成最终回答
  5. 自评优化层:评估回答质量,必要时补充检索

通过SOUL.md配置检索行为

# 在Agent的SOUL.md中配置RAG策略

## 信息检索规则
1. 用户提问时,先检查tdai_memory_search是否有相关记忆
2. 涉及时效性内容时,必须调用web_search验证
3. 需要详细文档时,使用web_fetch获取原文
4. 本地知识库在 /workspace/docs/ 目录
5. 如果首次检索结果不足,自动迭代1-2轮

多源检索实战

场景:回答一个复杂技术问题

// 第一步:检查历史记忆
tdai_memory_search({ query: "OpenClaw MCP配置", limit: 3 })

// 第二步:实时搜索补充最新信息
web_search({ query: "OpenClaw MCP server configuration 2026" })

// 第三步:获取权威文档
web_fetch({ url: "https://docs.openclaw.ai/mcp", extractMode: "markdown" })

// 第四步:检查本地知识库
read({ filePath: "/workspace/docs/mcp-setup-notes.md" })

// 第五步:综合所有信息,生成回答
// (AI自动整合上述结果)

检索质量优化

1. 查询重写

不要直接用用户的原始查询去检索。让Agent将复杂问题分解为多个精确的子查询。

2. 分层检索策略

3. 结果评估与重试

关键原则:检索后先评估结果相关性,如果信息不足或过时,主动追加检索,而不是用不充分的信息硬回答。

常见RAG模式

单跳RAG

问题 → 单次检索 → 生成回答。适合简单事实查询。

多跳RAG

问题 → 检索A → 基于A的结果检索B → 整合A+B → 回答。适合需要推理链的复杂问题。

自适应RAG

Agent根据问题复杂度自动选择单跳还是多跳。OpenClaw的灵活工具调用天然支持这种模式。

最佳实践

  1. 记忆优先:优先检索已有记忆,避免重复获取
  2. 时效感知:涉及版本、价格、政策等内容必须实时搜索
  3. 来源标注:回答时注明信息来源,增强可信度
  4. 迭代检索:一次不够就查两次,不要用不充分的信息硬凑
  5. token控制:web_fetch时使用maxChars限制返回内容大小