1. 迭代循环的控制机制
Agentic RAG 的迭代循环需要明确的控制机制来确保系统收敛:
- 最大迭代次数限制:设置硬性上限(如 3~5 次),防止系统陷入无限循环
- 终止条件判断:当评估器判定当前信息已充分时,主动终止循环
- 超时控制:设置整体执行时间上限,超时后返回当前最优结果
- 成本预算约束:限制单次查询的 Token 消耗和 API 调用次数
2. 查询优化策略
每次迭代中,智能体基于前一轮的结果优化检索查询:
- 查询扩展:添加同义词、相关实体名以扩大召回范围
- 查询缩小:根据已获取信息缩小检索范围,提高精确度
- 子查询分解:将复杂查询拆分为多个更聚焦的原子查询
- 假设性文档嵌入(HyDE):先生成一个假设性答案用于指导检索,再用真实文档进行验证
3. 结果累积与去重
多轮检索的结果需要有效管理:
- 上下文累积:将每轮检索的有效信息累积到工作记忆中
- 去重与合并:对多轮检索中重复出现的文档进行去重,避免上下文窗口浪费
- 来源追踪:记录每条信息的来源,支持最终答案的引用标注
- 矛盾标记:当不同轮次检索到相互矛盾的信息时,标记冲突并触发验证