Skip to content
🔗 分享本题
查看我的学习进度 →
State-aware 与 Agentic Retrieval 图解

🧠 图解记忆: State 决定“带什么上下文”,Agent 决定“下一步去哪查、何时停”。

💡 答案要点

传统检索的问题:

  • 静态top-k检索,不考虑用户意图的动态变化
  • 不考虑对话上下文(多轮对话场景)
  • 缺乏时效性控制和多样性控制

state-aware retrieval(状态感知检索):

python
# 传统检索 vs 状态感知检索
# 传统:
static_docs = vector_db.top_k(query, k=5)

# 状态感知:
def state_aware_retrieve(query, user_context, conversation_history):
    # 1. 提取用户真实意图
    intent = intent_extractor.parse(query)

    # 2. 应用元数据过滤器
    filtered_docs = apply_filters(intent.metadata_constraints)

    # 3. 时效性权重(近期文档优先)
    recency_boost(intent.requires_fresh_docs, filtered_docs)

    # 4. 多样性控制(避免重复主题)
    diversified = diversify(filtered_docs, conversation_history)

    return diversified

agentic retrieval(智能体式检索):

python
# Azure AI Search的agentic retrieval示例
"""
用户复杂查询:"对比Q1和Q2季度营收,分析增长原因"
→ 分解为多个子查询:
  子查询1: Q1季度营收数据
  子查询2: Q2季度营收数据
  子查询3: 季度增长原因分析
→ 并行执行 → 结果融合 → 结构化响应
"""

# 核心流程:
class AgenticRetriever:
    def retrieve(self, complex_query):
        # 1. 查询分解
        sub_queries = self.query_decomposer.split(complex_query)

        # 2. 并行检索
        results = parallel_retrieve(sub_queries)

        # 3. 结果融合
        fused = self.fusion_engine.merge(results)

        # 4. 返回结构化响应(优化给LLM)
        return structured_response(fused)

2026年检索新趋势:

趋势技术效果
**状态感知对话上下文+意图识别多轮场景召回+25%
**agentic检索查询分解+并行检索复杂问题准确+30%
**动态chunk根据查询动态调整块大小上下文利用率+40%
**多跳推理跨文档关联推理推理型问题准确+35%

面试话术:

"state-aware retrieval解决的是'用户问了一半的问题,系统不知道在聊什么'的问题。agentic retrieval则是让检索本身变成一个Agent——自动分解复杂查询、并行检索、融合结果。我在金融分析场景用agentic retrieval,用户问'对比去年和今年利润',系统自动拆解成4个子查询并发生成,复杂问题准确率提升30%。"