# Agentic Enterprise RAG：企业级智能检索增强生成系统

> 一个实验性的企业级RAG系统，对比朴素RAG、重排序RAG和Agentic RAG三种模式，引入证据感知的智能体决策流程，支持查询重写、证据质量评估和智能拒绝机制。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-24T07:45:03.000Z
- 最近活动: 2026-05-24T07:52:45.569Z
- 热度: 163.9
- 关键词: RAG, Agentic RAG, enterprise, retrieval, LLM, Qwen3, vLLM, FAISS, reranker, knowledge base
- 页面链接: https://www.zingnex.cn/forum/thread/agentic-enterprise-rag
- Canonical: https://www.zingnex.cn/forum/thread/agentic-enterprise-rag
- Markdown 来源: ingested_event

---

## 原作者与来源

- **原作者/维护者**：Shelly Lee (@ShellyLeee)
- **来源平台**：GitHub
- **原始标题**：Agent-driven Enterprise RAG System (Agentic RAG)
- **原始链接**：https://github.com/ShellyLeee/agentic-enterprise-rag
- **发布时间**：2026年5月24日

---

## 项目背景与动机

检索增强生成（RAG）已成为大语言模型应用的核心模式，但传统的朴素RAG存在明显局限：它容易从噪声检索结果中生成答案，缺乏对证据质量的判断能力。即使引入重排序管道可以改善相关性，系统仍然缺少决策层——即使证据薄弱或超出范围，它通常仍会尝试回答。

Agentic Enterprise RAG 项目正是为了解决这一问题而生。它引入了一个证据感知的智能体工作流，让系统能够明确判断证据是否足够支持回答、是否需要重写查询并重试、或者是否应该拒绝回答因为可用文档不支持该问题。

---

## 三种RAG模式对比

该项目实现了三种检索增强问答模式，便于开发者直观对比不同方法的优劣：

### 朴素RAG（Naive RAG）

最基础的模式：检索文档片段后直接生成答案。实现简单，但容易受到噪声检索结果的误导，生成不准确或幻觉性的回答。

### RAG + 重排序（RAG + Reranker）

改进模式：先检索更广泛的文档集合，使用交叉编码器重排序证据，然后再生成答案。相关性有所提升，但仍缺乏决策能力。

### Agentic RAG

最先进的模式：引入规划、检索、重排序、证据质量评估的完整决策流程，可选地重写查询，最终生成答案或拒绝回答。这是该项目的核心创新。

---

## Agentic RAG 核心架构

Agentic RAG 的工作流程体现了智能体系统的典型设计模式：

```
用户查询
  ↓
规划器（Planner）
  ↓
检索工具（Retrieval Tool）
  ↓
重排序工具（Rerank Tool）
  ↓
证据缺口检测器（Evidence Gap Detector）
   ├── 证据充足 → 进入回答流程
   └── 证据缺失 → 跟进检索缺失字段
  ↓
证据感知策略（Evidence-aware Policy）
   ├── 生成答案
   ├── 重写查询并重试
   └── 拒绝回答
  ↓
回答工具 / 拒绝工具
```

### 核心组件解析

1. **规划器（Planner）**：分析用户查询，制定检索策略
2. **检索工具**：支持 FAISS 向量索引，同时提供 NumPy 余弦相似度回退方案
3. **重排序工具**：使用交叉编码器进行精排，同时提供确定性词汇回退
4. **证据缺口检测器**：评估检索结果是否完整覆盖查询需求
5. **证据感知策略**：基于证据质量做出决策，支持保守、平衡、激进三种策略预设
6. **查询重写**：当证据薄弱时，智能重写查询以获取更好结果

---

## 技术实现亮点

### 生产级组件与轻量级回退

项目设计兼顾生产环境与本地开发：

- **向量索引**：优先使用 FAISS，不可用时回退到 NumPy 余弦相似度
- **嵌入模型**：优先使用 sentence-transformers，不可用时使用确定性哈希回退
- **重排序**：优先使用交叉编码器，不可用时使用确定性词汇回退

这种设计确保即使没有模型下载或 API 密钥，完整管道仍可运行，便于快速原型验证。

### 本地LLM serving支持

项目默认使用 vLLM 本地部署 Qwen3-8B 模型，通过 OpenAI 兼容 API 提供服务。智能体进程不直接加载模型权重，而是调用 `http://localhost:8000/v1` 的 API，这种设计使模型服务与业务逻辑解耦，便于独立扩展。

### 思考痕迹处理

针对 Qwen3 模型可能输出的思考痕迹，项目提供了双重处理机制：通过 `chat_template_kwargs.enable_thinking=false` 禁用思考，同时作为安全回退，会剥离 `<think>...</think>` 代码块，确保基准测试指标仅计算最终答案。

### 追踪日志系统

完整的追踪日志记录智能体决策、检索结果、重排序分数、策略统计和最终输出，便于调试和性能分析。

---

## 企业级特性

### 元数据查询

支持文档到企业身份的元数据查询，当源文件使用 SHA 风格的匿名名称时，系统可以解析出对应的企业实体信息。

### 基于证据的拒绝机制

这是 Agentic RAG 区别于传统 RAG 的关键特性：当文档集合不支持某个问题的答案时，系统会明确拒绝回答，而不是生成可能错误的答案。这种设计显著降低了幻觉风险，提升了企业场景的可信度。

### 迭代证据检索

当初步检索的顶级证据不完整时，系统会进行迭代的跟进检索，主动寻找缺失的字段信息，而不是直接基于不完整的证据生成答案。

---

## 快速开始

### 环境准备

```bash
pip install -r requirements.txt
```

### 本地模型服务（可选）

```bash
pip install "vllm>=0.5"
bash scripts/serve_qwen3_8b_vllm.sh
```

### 文档处理与索引构建

```bash
# 解析文档
python scripts/parse_docs.py \
  --input_dir data/raw_docs \
  --output data/processed/chunks.jsonl \
  --config configs/default.yaml

# 构建向量索引
python scripts/build_index.py \
  --chunks data/processed/chunks.jsonl \
  --index_dir data/processed/vector_index \
  --config configs/default.yaml
```

### 运行不同模式

```bash
# 朴素RAG
python scripts/run_naive_rag.py \
  --question "新员工有多少天假期？" \
  --top_k 5 \
  --index_dir data/processed/vector_index \
  --config configs/default.yaml

# Agentic RAG
python scripts/run_agentic_rag.py \
  --question "新员工有多少天假期？" \
  --index_dir data/processed/vector_index \
  --config configs/default.yaml \
  --agent_policy balanced \
  --save_trace results/agent_trace_sample.json
```

---

## 评估与基准测试

项目内置了 HotpotQA 和 FinanceBench 基准测试的支持：

```bash
# HotpotQA 无RAG基准
python scripts/run_eval.py \
  --dataset hotpotqa \
  --max_examples 100 \
  --setting no_rag

# HotpotQA RAG基准
python scripts/run_eval.py \
  --dataset hotpotqa \
  --max_examples 100 \
  --setting rag \
  --top_k 5

# FinanceBench 评估
python scripts/run_eval.py \
  --dataset financebench \
  --financebench_source hf \
  --max_examples 50 \
  --setting rag
```

支持策略对比评估，可同时测试保守、平衡、激进三种策略的表现差异。

---

## 实际应用价值

### 企业知识库问答

Agentic RAG 特别适合企业知识检索场景：

- **降低幻觉风险**：证据不足时明确拒绝，而非编造答案
- **提升回答质量**：通过重排序和查询重写优化检索结果
- **可追溯性**：完整的决策链路便于审计和调试
- **策略可调**：根据业务场景选择保守或激进的回答策略

### 与传统RAG的对比优势

| 特性 | 朴素RAG | RAG+重排序 | Agentic RAG |
|------|---------|------------|-------------|
| 检索质量 | 基础 | 改进 | 优化 |
| 证据评估 | 无 | 无 | 有 |
| 查询优化 | 无 | 无 | 支持重写 |
| 拒绝机制 | 无 | 无 | 有 |
| 迭代检索 | 无 | 无 | 支持 |

---

## 项目意义

Agentic Enterprise RAG 不仅是一个技术实现，更是对 RAG 架构演进方向的探索。它展示了如何将智能体决策能力融入检索增强生成，从简单的"检索-生成"模式升级为"规划-检索-评估-决策-生成"的完整智能体工作流。

对于希望在企业场景中部署可靠 AI 问答系统的开发者，该项目提供了宝贵的参考实现和对比基准。
