大语言模型(LLM)从 2023 年的「惊艳演示」走到 2026 年的「生产系统」,中间隔着一道巨大的工程鸿沟。本文基于实际项目经验,梳理 RAG(检索增强生成)、Agent 架构以及从 Demo 到产品的关键决策点。

RAG:让模型「有据可查」

纯 LLM 回答专业领域问题时容易产生幻觉。RAG 的核心思路是:先将用户问题向量化,从知识库中检索相关文档片段,再将片段作为上下文注入 Prompt,让模型基于真实数据生成回答。

一个生产级 RAG 流水线的关键环节:

  1. 文档解析:PDF、Word、HTML 统一转为纯文本,保留标题层级
  2. 分块策略:按语义段落切分(非固定字符数),chunk size 通常 512–1024 token,overlap 10–20%
  3. 向量化:使用 embedding 模型(如 text-embedding-3-large)生成稠密向量
  4. 检索:向量数据库(Pinecone、Qdrant、pgvector)做 ANN 搜索,结合 BM25 做混合检索
  5. 重排序:用 cross-encoder 对 top-K 结果精排,提升相关性
# 简化的 RAG 查询流程
query_embedding = embed(user_question)
candidates = vector_db.search(query_embedding, top_k=20)
reranked = cross_encoder.rerank(user_question, candidates, top_k=5)
context = "\n\n".join([doc.text for doc in reranked])
answer = llm.generate(system_prompt + context + user_question)

Agent:从问答到行动

当任务需要多步推理、调用外部工具(查数据库、发邮件、调 API)时,简单的 RAG 不够用,需要 Agent 架构。Agent 的本质是一个循环:

感知 → 思考 → 行动 → 观察结果 → 再思考 → …直到任务完成

工程实践中需要注意:

成本与延迟:不可回避的现实

GPT-4 级别模型的 API 调用成本约为每百万 token 数美元。一个复杂的 Agent 任务可能消耗 10 万 token 以上。优化策略:

幻觉缓解:多层防御

即使有了 RAG,模型仍可能「编造」检索结果中不存在的信息。缓解手段:

  1. 引用溯源:要求模型在回答中标注信息来源段落
  2. 置信度阈值:检索结果相似度低于阈值时,回复「未找到相关信息」而非强行回答
  3. 事实核查层:用第二个模型专门检查回答是否与检索内容一致
  4. 用户反馈闭环:👍👎 按钮收集 bad case,定期更新知识库和 Prompt

从 Demo 到产品:工程化清单

一个能上线的 LLM 应用,除了模型能力,还需要:

小结

大模型落地的核心不是「选哪个模型」,而是构建可靠的数据管道、控制成本边界、设计容错机制。RAG 解决「知识从哪来」,Agent 解决「任务怎么做」,工程化解决「怎么稳定运行」。三者缺一不可。