Prompt工程


Prompt工程


正文

Prompt Engineering(提示词工程),是通过设计、优化输入给大模型的文本指令(Prompt),引导大模型精准输出符合预期格式、逻辑、风格、内容的结果,属于大模型落地最基础、低成本的核心技术,也是做 AI 代理、RAG、数据蒸馏、报告优化项目的核心手段。

核心作用

  • 控制输出格式
    • 强制模型输出 JSON、表格、分点文档、带思维链(<thinking>) 推理内容,生成 Alpaca 微调数据集,就是靠 Prompt 固定instruction/input/output结构。
  • 规范输出风格
    • 要求正式书面报告、口语对话、代码、专业技术文档、严谨公文,杜绝口语化、流水账劣质文本。
  • 限定知识边界(搭配 RAG)
    • 通过 Prompt 限制模型的搜索范围,只让模型只使用检索到的知识库内容回答,禁止编造幻觉,是 RAG 系统必备 Prompt 设计。
  • 引导复杂推理(思维链 CoT)
    • 通过 Prompt 要求模型分步拆解问题、先思考再输出,对应你代码里开启 <thinking> 思考段的思维链生成优质报告。
  • 低成本定制能力
    • 不用微调模型,仅靠改提示词就能实现行业专属能力(报告优化、数据总结、智能 Agent 工具调用)。

主流经典 Prompt 技术

1、零样本 Zero-shot

直接下发指令,不给示例

示例:你是专业秘书,把下面口语化工作记录优化成正式项目周报。

2、少样本 Few-shot

给 1~3 组「输入 - 标准输出」案例,让模型模仿格式、逻辑、文风。

3、思维链 CoT (Chain-of-Thought)

在 Prompt 里要求模型先分步推理,再给出最终答案,对应你带 <thinking> 思考段的数据集,大幅提升复杂任务逻辑准确性。

指令模板:先拆解需求、分析原文缺陷、分步规划优化方案,最后输出正式报告,思考过程用<thinking>包裹。

一、定义

CoT 全称 Chain-of-Thought,思维链,是一种提示词(Prompt)技巧,让大模型不要直接给出答案,而是分步写出推理、思考过程,再输出最终结果。 简单一句话:先思考,再答题。

示例:

普通提问(无 CoT):
用户:3 个接口,每个联调平均 2 天,一共需要多久?
模型直接输出:6 天

CoT 模式(带思维链):
已知条件:接口数量 = 3 个,单个联调耗时 = 2 天
总耗时 = 数量 × 单条耗时
计算:3 × 2 = 6
最终答案:总共需要 6 天

二、核心作用

  • 大幅提升复杂问题正确率
    • 数学计算、逻辑推理、方案优化、多步骤业务任务(比如你优化工作周报),不加 CoT 模型容易逻辑跳步、出错;分步思考能规避疏漏。
  • 产出可解释、可训练的数据
    • 生成带 <thinking> 推理段的微调数据集,就是典型 CoT 应用:
    • 模型先拆解原文缺陷、梳理优化逻辑,再输出规范报告,这套思考文本可以当作监督数据,训练模型学会严谨思考。
  • 减少大模型幻觉
    • 强制模型一步步拆解条件、依据原文信息推导,不会凭空编造内容。
  • 适配 AI Agent 智能体
    • 复杂任务时,CoT 引导模型自主判断:要不要调用工具、要不要检索知识库、分几步完成任务。

三、两种最常用 CoT 使用方式

  • Zero-shot CoT 零样本思维链(最简单)

只在提问末尾加一句引导语,不用给案例。模板:请一步步思考,写出完整推理过程,最后给出最终答案。

你的报告优化场景示例:先拆解用户需求、分析原文口语化 / 逻辑混乱问题,分步规划优化方案,最后输出正式报告,思考过程用<thinking>包裹。

  • Few-shot CoT 少样本思维链(效果更好)

给模型 1 组或多组「问题 → 分步思考 → 标准答案」示例,让模型模仿这套推理格式。

你代码里的 Prompt 就内置了参考案例:劣质原文 -> 带分步拆解的思考过程 -> 优化后的专业报告

模型会复刻这套 “先思考、后输出” 的流程。

四、思维链 CoT 在 AI 代理(Agent)里的价值

  1. 收到用户复杂需求 → CoT 分步拆解任务;
  2. 自主判断:是否需要 RAG 检索文档、是否调用工具接口;
  3. 工具返回结果后,再次推理整合信息;
  4. 最后汇总全部信息输出完整回答。

没有 CoT 的 Agent 容易一步到位、遗漏步骤、不会自主调用工具。

4、角色设定 Role Prompting

固定模型身份、立场、专业度。

5、结构化输出约束

Prompt 强制要求 总 - 分 - 总结构、量化数据、战略价值、可落地计划,严格约束输出框架。

6、工具调用 Prompt(AI Agent 核心)

给模型提供工具列表(数据库查询、接口、文档检索),通过 Prompt 引导模型自主判断什么时候调用工具、怎么拼接参数,是 AI 智能代理底层核心。

7、反幻觉约束(RAG 专用)

Prompt 增加规则:仅使用提供的参考资料作答,资料无相关内容则如实说明,禁止编造数据、事实。

Agent 智能代理里的 Prompt 工程

AI 代理的核心就是多层 Prompt 设计:

  • 系统全局 Prompt:定义 Agent 身份、可用工具、行为规则;
  • 规划层 Prompt:让模型拆解复杂问题,判断是否需要检索 / 调用工具;
  • 工具执行 Prompt:规范工具入参、返回结果解析;
  • 总结生成 Prompt:整合工具返回信息,输出用户易懂答案;
  • 记忆控制 Prompt:管理多轮对话上下文,过滤冗余历史信息。

实操

标准五段式结构化 Prompt 模板

标准五段式结构化 Prompt 模板(Role+Task+Context+Output Format+Constraint)。

固定结构,可复用、易维护,所有单节点 Agent 都用这套格式撰写提示词:

# 1. Role 角色定义
你是【专业身份+能力边界】,拥有XX领域专业知识,行事规则:xxx

# 2. Task 核心任务
你本次需要完成的具体工作目标,清晰唯一,不要多任务混杂。

# 3. Context 上下文/参考资料
外部输入信息、RAG检索文档、历史对话、前置节点输出数据、业务背景。

# 4. Output Format 强制输出格式
严格规定返回结构:JSON/Markdown/分栏表格/固定标签嵌套等,禁止自由发挥。

# 5. Constraint 硬性约束规则
不可做什么、内容边界、反幻觉要求、语气要求、禁止编造、优先级规则等。

实战示例(报告优化单节点Prompt)

# 1. Role
你是资深企业项目文档优化专家,擅长将零散口语草稿改写为正式对内汇报公文。

# 2. Task
对用户提供的原始工作草稿进行专业重构升级,提升文档格局与逻辑性。

# 3. Context
原始草稿文本:{此处填入前置传入的内容}

# 4. Output Format
输出分为两部分:
<thinking>分步推理优化思路(CoT思维链)</thinking>
正式优化后的周报正文(总-分-总Markdown结构)

# 5. Constraint
1. 只能基于原文信息拓展,禁止编造无关业务;
2. 必须补充合理量化数据,不能保留模糊口语表述;
3. 思考内容和正文严格分开,不要混杂;
4. 行文风格严肃商务,不使用网络口语。

这种标准化Prompt的优势

  1. 可读性极强,后续迭代修改不用通读整段文字,直接修改对应模块;
  2. 模型理解边界清晰,不会混淆任务、规则、参考资料;
  3. 非常适合多Agent流水线节点对接,每个节点只需要替换5个模块内容;
  4. 便于版本管理,可做成Prompt配置文件(JSON/YAML),硬编码写入代码。

复杂业务

复杂业务:拒绝超长Prompt,改用多节点Agent流水线拆解

当你的需求同时包含:检索、判断、改写、格式校验、工具调用、多轮决策时,把所有能力塞进一个Prompt一定会失效,正确做法是拆分成串行/并行Agent节点。

典型AI代理流水线拆分案例(知识库问答Agent)

  • Agent 1:查询改写节点
    • Role:问题优化器
    • Task:把用户口语问题改写为适合向量检索的专业检索词
    • Output:标准化检索Query列表
  • Agent 2:RAG检索调度节点
    • Role:检索决策器
    • Task:判断是否需要调用向量库、选择召回策略
    • Output:调取后的参考文档片段
  • Agent 3:内容生成回答节点(使用五段式标准Prompt)
    • Role:专业作答专家
    • Context:用户原始问题 + 检索文档
    • Constraint:仅依靠参考资料回答,杜绝幻觉
  • Agent 4:输出校验节点
    • Role:格式校验器
    • Task:检查回答是否符合输出规范、是否存在编造内容
    • Output:最终合规答案

多Agent拆分的核心原则:

  1. 单一职责原则:一个Agent只做一件核心任务,不要一个节点同时负责检索+写作+校验;
  2. 数据流式传递:上一个Agent的输出 = 下一个Agent的Context上下文;
  3. 复杂决策用Agent循环(反思迭代),简单流程用串行流水线
  4. 每个节点独立使用标准化五段式Prompt,互不干扰,调试时可以单独测试任意节点。

两种方案取舍(什么时候用标准化Prompt,什么时候拆Agent):

场景 方案选择
单一简单任务(纯改写、纯分类、纯总结) 单节点 + 五段式标准Prompt
多步骤链式任务(检索→推理→写作→校验) 拆分为多Agent流水线
需要自主工具调用、动态判断下一步动作 Agent智能体架构(带规划节点)
业务规则极多、限制条件繁杂 拆分约束规则到对应Agent,不要全部堆在一个Prompt

结合你正在做的AI代理+RAG项目落地建议

  1. 把整套系统做成节点化Agent工作流,比如:用户输入 → 意图判断Agent → RAG检索Agent → 内容生成Agent → 格式校验Agent;
  2. 每一个Agent都统一使用「Role/Task/Context/Output Format/Constraint」标准化Prompt模板;
  3. 不再写几百字的巨型复合Prompt,后期维护、调优、替换模型都会轻松很多;
  4. CoT思维链可以作为可选模块,放在生成类Agent的Task里,不需要所有节点都开启思考推理。

多Agent AI代理工作流架构图

看一个示例,杂乱周报需要优化为优质周报。

AI代理(Agent)多节点流水线完整架构设计

适配你的业务:口语工作记录 → 专业周报生成 + RAG知识库支撑,全节点统一使用「Role/Task/Context/Output Format/Constraint」标准化Prompt,支持CoT思维链、幻觉校验、格式强约束。

一、整体架构流程图(文字可视化,可直接画成流程图)

用户输入原始口语文本
        ↓
【节点1:意图识别Agent】(分类+任务分发)
        ↓
分支1:纯周报优化(无知识库查询需求)→ 直达节点3
分支2:需要参考行业规范/历史周报 → 流向节点2
        ↓
【节点2:RAG检索调度Agent】(查询改写+向量召回+重排)
        ↓
【节点3:周报生成CoT Agent】(核心写作,带思维链推理)
        ↓
【节点4:合规&格式校验Agent】(校验幻觉、格式、专业度)
        ↓
输出标准化Markdown专业周报

二、每个节点详细规范(统一五段式Prompt模板+职责+输出)

公共规范:

  • 所有Agent统一Prompt结构:Role / Task / Context / Output Format / Constraint
  • 上一节点输出 = 下一节点Context上下文输入

节点1:意图识别Agent(入口分流节点)

1)标准化Prompt模板

# Role
你是业务意图分类器,仅负责识别用户需求类型,不做内容创作。

# Task
1. 识别用户输入文本类型:【普通口语工作记录】/【行业规范查询】/【其他无关内容】
2. 判断是否需要调取知识库历史周报、行业汇报标准;
3. 输出分流指令,决定下一步流向。

# Context
用户原始输入:

# Output Format
严格输出JSON,禁止多余文字:
{
  "input_text": "用户原文",
  "intent_type": "work_report | query_rule | irrelevant",
  "need_rag": true/false,
  "retrieval_query": "若need_rag=true,生成适配向量检索的关键词;否则为空字符串"
}

# Constraint
1. 禁止拓展、改写原文,仅做分类判断;
2. 输出只能是纯JSON,不能带解释、思考过程;
3. 无关内容直接标记intent_type=irrelevant,need_rag=false。

2)作用

分流业务,避免无意义检索,减少大模型调用成本;区分单纯文本改写和需要知识库辅助的场景。


节点2:RAG检索调度Agent(知识库增强节点,need_rag=true才执行)

1)标准化Prompt模板

# Role
你是检索优化专家,专门优化向量检索关键词,筛选有效参考文档。

# Task
1. 接收上游意图节点生成的检索关键词;
2. 对检索返回的文档进行过滤、去重、优先级排序;
3. 剔除和周报优化无关的文档片段,保留高价值行业汇报规范、历史优质周报案例。

# Context
1. 检索关键词:
2. 向量库召回原始文档列表:

# Output Format
JSON格式输出筛选后的参考资料,仅保留核心段落:
{
  "useful_reference": [
    "参考片段1",
    "参考片段2"
  ],
  "ref_count": 有效片段数量
}

# Constraint
1. 不得编造文档内容,只允许筛选已有检索文本;
2. 过滤重复、无关、残缺的文档;
3. 输出仅JSON,无多余文字。

2)作用

解决RAG噪音问题,过滤无效检索内容,给写作节点提供干净、高价值参考素材。


节点3:周报生成CoT Agent(核心业务节点,带思维链)

1)标准化Prompt模板

# Role
你是资深企业项目汇报秘书,擅长将口语化工作记录转化为符合管理层审阅的专业项目周报,熟练使用总-分-总结构、量化数据、战略价值表述。

# Task
1. 分步拆解原始文本的缺陷、梳理优化逻辑(CoT思维链);
2. 结合上游RAG参考资料(如有),重构完整专业周报;
3. 补充合理量化指标,替换口语化表述,突出工作成果与业务价值;
4. 制定带时间节点、可量化的下一步工作计划。

# Context
1. 用户原始工作记录:
2. RAG参考规范/历史案例(无则为空):

# Output Format
固定两段结构,严格分层,不可打乱顺序:
<thinking>
完整分步推理过程:1.需求拆解 2.原文问题分析 3.整体优化方案规划 4.量化数据设计思路
</thinking>
# 【XX项目】阶段工作周报
## 一、本周工作核心概要
## 二、重点工作进展与成果
## 三、下一步工作计划
## 四、总结

# Constraint
1. 思考内容必须包裹在标签内,和正式周报完全分隔;
2. 所有业务描述必须基于原文+参考资料,禁止凭空编造业务场景;
3. 必须使用量化数字(场次、百分比、实体数量、时效),杜绝“差不多、问题不大、好几次”等口语;
4. 行文贴合公司“技术驱动业务、降本增效”战略,突出工作价值,不单纯罗列做事;
5. 周报全程使用正式商务书面语。

2)作用

核心生成节点,承载你之前的CoT思维链输出、报告优化能力,是业务核心。


节点4:合规&格式校验Agent(收尾质控节点)

1)标准化Prompt模板

# Role
你是文档质控审核专员,专门校验周报的合规性、格式规范、幻觉问题。

# Task
1. 检查周报是否严格遵守指定Markdown层级格式;
2. 核查内容是否存在脱离原文、参考资料的编造信息;
3. 检查是否残留口语化词汇、模糊无量化描述;
4. 标记所有问题,并输出修正后的终版周报。

# Context
1. 用户原始输入:
2. RAG参考资料:
3. 上一节点生成的完整文本(thinking+周报):

# Output Format
JSON结构,包含问题清单与最终定稿:
{
  "check_problem_list": ["问题1","问题2"],
  "final_report": "经过修正、无错误的完整文本(包含thinking+周报)"
}

# Constraint
1. 不得新增无关业务内容,仅修正已有文本的缺陷;
2. 若存在编造内容,必须删除并替换为贴合原文的合规表述;
3. 强制修复格式错乱、层级缺失、口语化描述。

2)作用

兜底防幻觉、规范格式,解决大模型偶尔输出不规范、乱编造的问题,保障交付质量。

三、架构核心优势(对应你之前的思路)

  1. 拒绝超长巨型Prompt
    • 每个节点只承载单一职责,规则分散到对应模块,单段Prompt长度可控,易调试、迭代。
  2. Prompt全标准化
    • 全部节点统一「Role/Task/Context/Output Format/Constraint」五段式模板,可做成配置文件统一管理,方便批量替换、版本迭代。
  3. 模块化可插拔
    • 不需要RAG知识库时,直接跳过节点2;
    • 不需要思维链时,修改节点3的Output Format移除标签即可;
    • 想新增能力(如周报打分、多语言翻译),直接新增独立节点插入流水线。
  4. 低耦合易调试
    • 每个节点可单独运行测试,定位问题精准:
      • 检索效果差 → 调节点2;
      • 周报逻辑差 → 调节点3;
      • 输出格式乱 → 调节点4。
  5. 完美适配AI Agent扩展
    • 后续可增加规划Agent、工具调用Agent、多轮记忆Agent,直接串联进流水线,架构无需重构。

四、代码层落地建议

  1. 将每个Agent的Prompt存为独立yaml/json配置文件,不要硬编码在代码;
  2. 使用流式数据传递:每个节点输出JSON结构化数据,作为下游Context入参;
  3. 调度逻辑用简单流程控制:if判断need_rag决定是否执行检索节点;
  4. 可基于LangGraph / LlamaIndex / 自研调度器实现节点串联。

五、扩展升级方案(复杂业务叠加)

如果后续需要多轮对话、自动工具调用,在最前端新增规划Agent

  • 用户输入 → 规划Agent(自主判断需要调用哪些工具、执行哪几个流水线节点)→ 分流至意图识别Agent,实现全自动智能代理。






参考资料

LLaMA-Factory 模型微调 https://ibaiyang.github.io/blog/ai人工智能/2026/07/01/LLaMA-Factory模型微调.html


返回