简介:本文系统对比Prompt工程、RAG与Agent三类AI应用构建方式,从定义、技术架构、能力边界、接入成本、适用场景等维度展开分析,帮助开发者理解三者的分工与协作关系,并给出条件化的选型建议与落地注意事项。
当我们计划构建一个 AI 应用时,很快就会遇到一串相邻但含义不同的概念:Prompt 工程、RAG、Agent。它们经常被并列提及,也经常被混为一谈。有人把 RAG 当成“给模型外挂知识库”,有人把 Agent 当成“更聪明的聊天机器人”,也有人认为 Prompt 工程只是“把话说清楚”。
这些理解都不算错,但都不够完整。三者解决的其实是不同层次的问题:Prompt 工程解决“如何把任务表达清楚”,RAG 解决“模型回答时依据什么”,Agent 解决“谁来推进多步任务”。 本文围绕这三个对象展开对比,重点回答三个问题:它们分别是什么、区别在哪里、在什么条件下应该选择哪一种或如何组合使用。
大语言模型具备通用的语言生成能力,但它本身只是一个“输入文本、输出文本”的组件。当业务方对 AI 提出更高要求时,需求会沿着一条清晰的能力递进路径展开:
这条路径是需求驱动的,而非严格的技术分层。现实中三者大量交叉并行:Agent 内部通常包含 Prompt 工程,也经常调用 RAG 检索;RAG 的生成环节同样依赖良好的 Prompt 设计。因此,把它们理解为三种可组合的能力构建手段,比理解为互斥的技术路线更准确。
Prompt 是提供给模型的输入,包含当前任务描述、必要背景、输出格式约束和边界条件。Prompt 工程则是设计、测试与迭代这些输入的方法论。
以一个论文助手为例,基础要求可以写成:
请用中文解释这篇摘要,分别说明:1. 研究问题2. 研究方法3. 主要发现摘要中未提供的信息,请标注“未说明”,不要推测。
这段输入体现了 Prompt 工程的几个典型要素:角色与任务、结构化输出要求、事实边界约束。与之配合的还有模型侧的适配手段,例如利用示范数据让模型学习遵循指令,或利用人类对回答的评价来优化模型行为。这类方法改善的是模型“听话”的程度,但不会改变模型知识的时效性与事实性。
能力边界:Prompt 工程能提升任务表达的清晰度和输出稳定性,但无法让模型获得训练数据之外的新知识,也无法从根本上消除无依据生成。
检索增强生成的基本流程是:先根据问题检索相关内容,再把检索到的材料与问题一起交给模型,由模型结合材料生成回答。
它针对的是一个典型问题:模型仅凭训练时学到的知识,可能不知道最新信息;没有拿到原文时,也可能生成看似合理但实际不存在的内容,即通常所说的幻觉。RAG 的思路很直接——先找依据,再作答。
一个典型的处理流程可以抽象为:
输入:用户问题 q1. 检索:从知识库中召回与 q 相关的片段 [d1, d2, ...]2. 组装:将 q 与片段拼接为受约束的上下文3. 生成:模型基于上下文作答,并要求无依据时说明“未说明”4. 后处理:引用标注、格式校验、必要时应答兜底
能力边界:RAG 能显著改善回答的依据性与时效性,但效果高度依赖检索质量。检索召回不准、片段切分不合理、知识库更新滞后,都会直接传导到最终回答。RAG 本身不负责多步决策与工具编排。
Agent 的核心特征是:模型不仅生成回答,还参与决定下一步做什么。它通常具备任务分解、工具调用、结果观察、状态维护和循环推进的能力。例如面对“读完这批摘要,整理成中文综述并生成文件”这类任务,Agent 需要自行规划步骤、调用检索能力、调用文件生成能力,并根据中间结果调整后续动作。
一个抽象的执行循环如下:
目标:完成用户任务 T循环:1. 规划:根据当前状态决定下一步动作2. 执行:调用工具(检索、计算、文件操作等)3. 观察:读取工具返回结果4. 判断:任务是否完成?未完成则继续循环退出:产出最终结果或报告失败原因
能力边界:Agent 扩展了可完成任务的复杂度,但同时引入了新的风险面:循环失控、工具误用、中间状态错误累积、执行成本不可预测。任务越开放,对权限控制、超时限制、人工确认点的要求越高。
尽管定位不同,三者在实际工程中共享若干基础:
Prompt 工程的系统边界最小,通常只涉及输入模板管理,可能配合版本管理与效果对比。RAG 引入外部组件:文档解析、切分、索引、向量检索或关键词检索、重排、上下文组装,系统边界扩展到“知识库 + 检索服务 + 生成服务”。Agent 进一步引入规划器、工具注册与调用层、状态管理与执行循环,系统边界最大,也最难调试。
Prompt 工程提升的是指令遵循度与输出规范性,不增加知识来源。RAG 提升的是事实依据性与知识可更新性,但不具备自主决策能力。Agent 提升的是任务复杂度承载能力,但单步可靠性问题会被多步放大——每一步的小概率错误,在长链条中会累积成明显的失败率。
Prompt 工程接入成本最低,主要成本在设计与评测。RAG 需要建设或对接知识库与检索链路,改造量集中在数据处理与检索调优。Agent 需要定义工具契约、权限模型、异常处理与人工介入机制,接入周期最长,且对业务系统的开放性有要求。
Prompt 工程对延迟影响最小。RAG 增加检索环节,延迟随检索链路复杂度上升,稳定性受检索服务可用性影响。Agent 因存在多轮循环与多次工具调用,延迟与成本都更难预估,需要通过步数上限、超时、预算控制等手段约束。
Prompt 工程需关注注入风险与输出内容约束。RAG 需关注知识库权限隔离——检索结果必须遵循与原系统一致的访问控制,避免越权内容进入上下文。Agent 的安全面最大:工具调用即真实操作,必须做最小权限、操作审计、敏感动作人工确认。
Prompt 工程主要是人力成本。RAG 增加索引维护、知识更新、检索质量监控等持续运维成本。Agent 增加执行链路监控、失败重放、成本治理等运维负担,且调用次数的不确定性使成本波动更大。
| 对比维度 | Prompt 工程 | RAG | Agent |
|---|---|---|---|
| 解决的核心问题 | 意图表达与输出规范 | 回答的依据性与时效性 | 多步任务的自主推进 |
| 系统边界 | 输入模板层 | 知识库 + 检索 + 生成 | 规划 + 工具 + 状态 + 循环 |
| 是否引入外部知识 | 否 | 是 | 通常通过工具间接引入 |
| 是否具备自主决策 | 否 | 否 | 是 |
| 接入与改造成本 | 低 | 中 | 高 |
| 延迟与成本可预估性 | 高 | 中 | 低 |
| 主要风险 | 注入、输出越界 | 检索不准、权限越界 | 循环失控、工具误用、错误累积 |
| 效果瓶颈 | 模型指令遵循能力 | 检索召回与切分质量 | 单步可靠性与任务分解质量 |
选型不应追求“越先进越好”,而应回到三个判断条件:
在团队工程能力有限时,可优先选择边界更小、可观测性更好的方案,逐步扩展;在任务开放性高、容错空间小的生产系统中,引入 Agent 需格外谨慎,建议先以“受限 Agent”形式落地。
Prompt 工程、RAG 与 Agent 并非互相替代的三条路线,而是面向不同问题的三层能力:Prompt 工程决定“说得多清楚”,RAG 决定“依据多可靠”,Agent 决定“能走多远”。理解这一分工,选型时的判断就会变得简单:先定位问题出在表达层、知识层还是流程层,再选择对应手段,并在复杂度上升时同步补齐权限、评测与运维能力。三者组合使用是常态,而清晰的边界设计,才是 AI 应用从演示走向生产的关键。