RAGSpring BootAI系统上下文感知企业架构

超越RAG:用Spring Boot构建具备上下文感知能力的AI系统

Syed Danish Ali··原文链接

超越RAG:用Spring Boot构建具备上下文感知能力的AI系统

作者: Syed Danish Ali | 译者: 马可薇 | 发布时间: 2026-04-26


核心观点

  • RAG可以有效将LLM输出与外部知识对齐,但不会建模运行时上下文
  • 上下文增强生成(CAG)通过显式上下文管理扩展RAG
  • CAG关注「这些信息对谁相关、在什么情境下相关、受到哪些约束」
  • Spring Boot可清晰实现上下文管理器,保持既有架构不变

RAG的局限

RAG已成为企业系统集成LLM的实用基础方案

  • 从外部知识库检索相关文档
  • 注入到模型提示中
  • 生成比仅依赖训练数据更准确的回答

但RAG的不足:

RAG能做RAG不能做
提升信息准确性处理用户身份和角色
基于检索生成回答维护会话连续性
连接外部知识应用领域规则和策略
-处理时间或流程状态

典型问题:

  • 回答事实正确,但上下文不合适
  • 类似问题对不同用户回答不一致
  • 难以解释或审计回答为何产生

CAG架构模式

CAG vs RAG:

维度RAGCAG
关注点哪些信息相关对谁相关、在什么情境下、受什么约束
上下文处理隐式/不处理显式管理
运行时信号忽略收集并规范化

CAG核心组件:

上下文管理器负责收集运行时信号,包括用户信息、会话历史、策略约束等,然后传递给RAG流程。


Spring Boot实现

典型架构:

@RestController
public class AiController {
    private final ContextManager contextManager;
    private final RagService ragService;

    @PostMapping("/ask")
    public String ask(QueryRequest request) {
        Context context = contextManager.buildContext(request);
        return ragService.generateResponse(request.getQuery(), context);
    }
}

上下文对象结构:

public class Context {
    private final UserProfile user;      // 用户画像
    private final SessionHistory session; // 会话历史
    private final PolicyRules policies;   // 策略规则
    private final RuntimeSignals signals; // 运行时信号
}

实际案例

企业内部政策助手场景:

查询不同上下文下的回答
「请假流程是什么?」普通员工 → 3天审批流程
部门经理 → 包含团队管理选项
HR → 完整政策和异常处理

DoorDash实践: 在其基于大语言模型的客服自动化系统中,明确区分检索组件和上下文模块,后者负责整合骑手状态、流程上下文以及业务约束。

微软Copilot实践: 强调不仅要基于内容进行检索,还要结合组织上下文、权限以及用户特征来生成响应。


CAG的优势

优势说明
关注点分离检索、模型行为、上下文影响可分别分析
可测试性上下文处理可独立测试
可审计性清晰解释AI响应的生成过程
渐进演进在保持既有RAG投入的前提下扩展
受监管友好适合多租户和合规环境

实施建议

**第一步:**识别应用中已隐式使用上下文的场景

  • 用户属性拼接到prompt
  • 手动加入对话历史
  • 通过零散逻辑注入策略文本

**第二步:**将这些做法集中到ContextManager

  • 统一收集运行时信号
  • 规范化上下文格式
  • 与RAG流程解耦

**第三步:**逐步扩展上下文维度

  • 从用户身份开始
  • 加入会话历史
  • 最后纳入领域策略

结论

CAG不是替代RAG,而是演进式扩展:

  • RAG解决「找什么信息」
  • CAG解决「这些信息如何使用」

通过将「上下文」提升为一等架构要素,企业可以在受监管或多租户环境中清晰解释AI响应的生成过程,同时保留已有投入和系统稳定性。


原文来源:InfoQ | 原文:THE NEW STACK | 整理时间:2026-04-27