读懂大模型:Prompt、RAG、Agent到底怎么选
2026/7/21 6:30:52 网站建设 项目流程

1. 引言

大模型已经渗透到日常开发、办公和产品设计中,但很多人仍然在问:
给模型写一段提示词就算 AI 应用了吗?给我挂个知识库就是 RAG 了吗?Agent 又是什么高阶玩法?

这篇文章的目标是把Prompt(提示工程)RAG(检索增强生成)Agent(智能体)这三种最常见的 LLM 使用范式说清楚,并帮你在实际场景下做出合适的选择。

2. Prompt:万能的“咒语”

2.1 是什么

Prompt 就是给大模型的自然语言指令,也是三者中最基础的上层范式。你几乎不需要改模型,也不用加外部工具,只需要设计好一句话或一段话,就能让模型完成翻译、总结、分类、角色扮演等任务。

常见形式包括:

  • 零样本提示:“把下面这句话翻译成英文”
  • 少样本提示(Few-shot):提供几个例子,让模型照着生成
  • 思维链(Chain-of-Thought):“请一步步推理,最后给出答案”
  • 角色设定:“你是一名资深 Java 架构师,请 review 下面这段代码”

2.2 什么时候用

  • 任务相对封闭、知识稳定:翻译、摘要、代码补全、格式转换
  • 不需要引入外部实时信息
  • 希望快速验证、零开发成本

但如果模型的知识截止日期已经过期,或者需要访问企业内部文档,光靠 Prompt 是不够的。

3. RAG:给模型外挂“记忆”

3.1 核心思想

RAG(Retrieval-Augmented Generation)在 Prompt 的基础上,增加一个检索环节:先从外部知识库(文档、数据库、网页)中找到与用户问题最相关的片段,再把这些片段作为上下文塞进 Prompt,一起发给大模型生成答案。

工作流程一般是:

  1. 用户提问
  2. 向量化问题,去向量数据库召回 Top-K 相关文档块
  3. 拼接上下文 + 用户问题,组装 Prompt
  4. LLM 生成回答

3.2 典型应用

  • 企业知识库问答(内部制度、产品手册)
  • 基于最新论文的学术助手
  • 客服机器人(结合工单历史)

以企业知识库为例,核心检索召回代码如下:

importopenaiimportnumpyasnpfrommy_vector_dbimportVectorDB# 1. 初始化向量数据库db=VectorDB(index_path="./kb_index.faiss")# 2. 问题向量化question="员工年假天数如何计算?"embedding=openai.Embedding.create(input=question,model="text-embedding-3-small")["data"][0]["embedding"]# 3. 相似性检索:召回 top-3 相关文档块retrieved_chunks=db.search(query_vector=np.array(embedding),top_k=3)# 4. 拼接上下文context="\n\n".join([chunk.textforchunkinretrieved_chunks])prompt=f"""请根据以下参考资料回答用户问题。 参考资料:{context}用户问题:{question}"""# 5. 将拼接好的 prompt 发送给 LLM 生成最终回答response=openai.ChatCompletion.create(model="gpt-4",messages=[{"role":"user","content":prompt}])print(response["choices"][0]["message"]["content"])

核心步骤:向量化问题 → 检索 top-k → 拼接上下文 → 组装 Prompt → LLM 生成,这正是 RAG 将外部知识“喂”给大模型的典型方式。
RAG 的优势是能实时引入新知识,无需重训或微调模型,而且答案可溯源到引用来源。代价是需要维护文档切片、向量数据库和检索流水线。

4. Agent:会“动手”的智能体

4.1 不只对话,还能执行

Agent 是目前最高阶的玩法——模型不但能理解问题,还可以自主规划步骤、调用外部工具、观察执行结果并迭代,直到完成任务。

一个典型的 Agent 循环(ReAct 模式):

用户提问

LLM 思考与规划

需要调用工具?

直接生成最终回答

调用工具 (搜索、代码、API 等)

获取工具执行结果

4.2 工具能力

Agent 可以调用的工具包括但不限于:

  • 搜索引擎(Google / Bing API)
  • 代码解释器(Python、Shell)
  • 数据库查询(SQL)
  • 内部 API(发邮件、创建工单)

4.3 适合场景

  • 开放式复杂任务:“帮我查一下上周的销售数据,画成柱状图并发给张三”
  • 需要多步推理与外部系统交互
  • 自动化流程(例如自动代码修复、自动运维)

但注意事项:Agent 的自主性也带来风险——权限控制、错误放大、成本(多次 LLM 调用)和管理复杂度都比前两者高很多。

5. 三者对比

维度PromptRAGAgent
开发复杂度低,零代码或少量代码中,需搭建检索管线高,需设计工具与流程
知识更新依赖模型训练数据实时,通过文档注入实时 + 可用工具获取
能力边界文本生成文本生成 + 引用外部文档生成 + 推理 + 执行
可控性高,输出易预测中,受检索质量影响低,多步推理可漂移
典型应用翻译、分类、文案企业知识库、客服自动化任务、数据分析

6. 怎么选:一张决策图

下面这张流程图可以帮你快速判断当前场景该用哪种方案:

开始

任务是否需要访问
最新或私有知识?

能否靠一两句指令完成?

✅ 使用 Prompt
(零/少样本/思维链)

任务是否需要
多步推理与工具调用?

✅ 使用 Prompt
(复杂 Prompt 设计)

是否只需要查找
并引用相关文档?

✅ 使用 RAG
(检索增强生成)

✅ 使用 Agent
(自主规划+工具调用)

  • 如果你的应用只是做一个“更好的上下文”让模型回答得更准,选RAG
  • 如果你希望模型能主动查资料、调用 API、控制流程,直接上Agent
  • 大部分时候,好的Prompt 工程才是性价比最高的方案,不要一上来就盲目堆技术栈。

7. 总结

  • Prompt是地基,适用于大部分文本任务,快速、可控。
  • RAG解决了知识新鲜度和私有性的问题,让模型“有据可循”。
  • Agent赋予模型行动力,适合复杂自动化,但需要更审慎的工程把控。

三者不是互斥的关系,实际项目中经常会组合使用:
例如一个客服系统可能用 Agent 总揽流程,在需要查询政策时走 RAG 检索,并将最终回复格式通过 Prompt 约束。

最后记住一句话:能靠 Prompt 解决的不要上 RAG,能靠 RAG 满足的不要折腾 Agent

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询