Prompt与Context工程实战:解锁LLM高效沟通的核心技艺

Prompt与Context工程实战:解锁LLM高效沟通的核心技艺

如果你一直在关注《Master LLMs》系列,那么你已经走过了从建立直觉到理解机制,再到学习关键原则的旅程。现在,我们将转向动手实践,聚焦于构建AI应用时,如何与大型语言模型(LLM)进行高效沟通的核心技艺。


许多人在使用LLM时并未意识到一个关键点:

模型非常聪明,但也非常“按字面理解”。

与LLM的沟通,并非像与人交谈那样简单。它既比想象中更直接,也比想象中更复杂。一个看似微小的词语或格式变动,就可能导致输出结果天差地别。


为什么Prompt与Context工程至关重要

在上一篇文章中,我们概述了Prompt与Context工程的关键概念。这里需要再次强调其核心目标:

Prompt工程的目的,不是为了得到一个“还行”的答案,而是为了每一次都能稳定地获得“尽可能准确且格式正确”的答案。这对于构建可靠的AI系统和智能体(Agent)至关重要。

实现这一目标颇具挑战:
* 仅仅修改一个词,就可能导致你的JSON解析器崩溃。
* 仅仅放错一行,模型就可能忽略你设定的一半规则。

微小的改动,可能引发巨大的连锁反应。


如何有效地组织你的Prompt

经过大量实践和文献研究,我总结出一套在多数场景下行之有效的Prompt组织结构。请始终遵循以下顺序:

  1. 系统提示(System Prompt:定义角色、目标、约束和输出结构。
  2. 少量示例(Few-shot Examples):如需模型遵循特定模式。
  3. 对话历史(Conversation History):已有的上下文对话。
  4. 检索文档(Retrieved Documents):你的RAG上下文。
  5. 用户查询(User Query):当前的具体任务。

这个顺序至关重要,因为LLM对“近因效应”非常敏感——最后出现的内容最容易被其重视。如果将核心指令埋没在中间,模型很可能会忽略它。

Prompt与Context工程实战:解锁LLM高效沟通的核心技艺

1. 系统提示:模型的“宪法”

你的角色(Role/Persona)、目标(Goal)、约束(Guardrails)和答案结构(Answer Structure)必须在此处定义。它位于Prompt的最前端,是无论面对何种具体问题都始终适用的持久性规则。

根据需求,系统提示可以包含多个部分。例如,在构建一个智能体时,可能包含:
* <context_gathering>:阐明上下文收集的步骤。
* <autonomy_encouragement>:鼓励模型自主性的指令。
* <tool_preambles>:规定工具调用前后需遵循的步骤。
* <code_editing_rules>:编写代码时需要遵守的规则。

一个示例如下:

## Role
You are FinBot, an expert financial analyst assistant.
Professional, precise, never gives financial advice.

## Goal
Analyze data, identify trends, summarize reports, answer factual questions about markets.

## Guardrails
1. DO NOT EVER give financial advice.
2. If asked for advice, offer factual alternatives instead.
3. Only use information from provided context.

## Answer Structure [Json Format]
Always respond in valid JSON matching this format:
{
  "title": "string",
  "summary": "string",
  "keypoints": ["string", "string", "string"]
}

注意其明确性:没有歧义,每一个词都至关重要。

:不同的LLM对系统提示的结构有不同偏好。例如,Claude更推荐使用XML风格的标签(如 <role>...</role>),而GPT系列则更适应Markdown风格的格式化。为获得最佳效果,建议查阅你所选用模型的官方Prompt指南。

2. 少量示例:教会模型模式

当你希望模型遵循特定的推理过程或任务逻辑时,可以在用户查询前提供少量示例。

Example 1:
Input: 解释为什么句子 “The sky cried all night” 属于修辞用法。
Output: 它把“天空”拟人化。用“哭泣”描述下雨,为自然赋予了人的情感。

Example 2:
Input: 解释为什么短语 “Time is a thief” 属于修辞用法。
Output: 这是一个隐喻。时间不可能“偷窃”,但它会“带走”我们生命中的片刻,就像小偷一样。

通常,两个示例就足以教会模型所需的模式和结构;过多示例只会不必要地增加Prompt长度。

3. 检索增强生成:提供正确的上下文

检索增强生成(RAG)的核心在于:在正确的时间,将正确的文档提供给模型,使其能够基于准确信息回答用户问题。

这里不展开如何构建完整的RAG系统,仅展示如何将检索到的文档“正确地”整合到Prompt中。

Prompt与Context工程实战:解锁LLM高效沟通的核心技艺

基本流程是:将文档切块并向量化,针对查询检索最相关的片段,然后结合明确的“依据指令”一并提供给模型。

<retrieved_documents>
  <document_1>
  1) “在 2024-08-01,该公司发货 1,000 台(单位)……”
  </document_1>
  <document_2>
  2) “Q2 收入为 $3.4M……”
  </document_2>
  <document_3>
  3) “Q3 收入为 $2.8M……”
  </document_3>
</retrieved_documents>

<instruction>
只使用以上文档回答:公司的 Q2 收入是多少?
</instruction>

这部分应放在第4位:对话历史之后,最终用户查询之前。这样,模型先看到持久规则,再看到具体上下文,最后才是待解决的问题。

其他相关Prompt技术

Prompt与Context工程实战:解锁LLM高效沟通的核心技艺

思维链(Chain-of-Thought):适用于需要多步推理的任务(如数学、逻辑分析)。通过要求模型在输出中展示其思考过程,可以提升答案的准确性和可靠性。

# Task
求解:某商店苹果每个 $2,橙子每个 $3。
如果我买 3 个苹果和 2 个橙子,总价是多少?
请展示分步计算过程,并给出最终答案。

思维树(Tree-of-Thought):与让模型沿单一思路推进不同,此技术要求模型生成多条解题路径,探索不同方法,然后评估并选择最佳方案。这有助于避免模型被“第一个看似合理的答案”困住,鼓励更全面的思考。

示例如下(摘自相关论文):

Imagine three different experts are answering this question.
All experts will write down 1 step of their thinking,
then share it with the group.
Then all experts will go on to the next step, etc.
If any expert realises they're wrong at any point then they leave.

The question is:
Bob is in the living room.
He walks to the kitchen, carrying a cup.
He puts a ball in the cup and carries the cup to the bedroom.
He turns the cup upside down, then walks to the garden.
He puts the cup down in the garden, then walks to the garage.
Where is the ball?

**Sculpting:一种高约束的思维链变体**

Sculpting 是一种较新的高约束思维链(CoT)变体,其核心目标是通过严格限制模型依赖有缺陷的“常识”来最大化推理的可靠性。

该方法将逐步推理与一套明确、严格的规则相结合:
1.  **设定正式角色**:为模型定义一个精确的角色,例如“你是一个纯粹的数学推理引擎”。
2.  **禁止外部知识**:要求模型**只能**使用题目中明确给出的数字和关系,禁止引入任何外部常识或现实世界知识。
3.  **强制展示步骤**:必须清晰展示每一个中间计算步骤。
4.  **格式化最终答案**:推理结束后,需以“Final Answer:”为前缀明确给出最终答案。

尽管这一新方法据称在某些场景下优于现有技术,但其优势尚未在更广泛的AI社区中得到充分验证。

**示例结构:**

You are a pure mathematical reasoning engine. You must solve the following problem.

Rules:
1. You must use ONLY the numbers and relationships given in the problem.
2. You must NOT use any outside common sense or real-world knowledge that isn’t explicitly provided.
3. You must break down your calculation step-by-step. Show all intermediate arithmetic.
4. After your reasoning, state your final answer clearly prefixed with “Final Answer:”.

Problem:
[此处填入具体问题文本]
“`


关于上下文窗口的关键原则

核心原则是 “精确”与“简洁”。提示词(Prompt)的每一部分都应只包含必要信息,并尽可能使用最少的令牌(Token)。你的指令越清晰、越紧凑,就能为示例、检索到的上下文、输出结构以及用户的真实问题保留越多的空间。

实践中,提示与上下文工程的核心,就是用“最大的清晰度”和“最小的冗余”来表达一切。

一个实用的处理顺序是:
1. 精简:删除问候语、冗余的客套话等无关内容。
2. 摘要:将冗长的示例浓缩为精炼的要点。
3. 检索:只提取信息价值最高的上下文片段。
4. 链式提示:对于复杂长任务,将其分解为多个步骤,串联多个提示词,而非全部硬塞进一个提示中。

对于长对话,一个有效策略是保留最近几条消息的完整内容,而对更早的对话历史进行摘要处理。


核心总结

上述技术并不复杂,它们是消除歧义、塑造模型思考方式的实用工具:
* 使用 系统提示 来定义角色和行为边界。
* 使用 少样本示例 来教授模型特定的输出格式。
* 使用 RAG 为模型的输出提供事实依据。
* 使用 思维链、思维树、Sculpting 等推理策略,鼓励模型进行深思熟虑的分析,而非条件反射式的回答。

掌握这些基础技术,可以显著提升LLM输出的可预测性和可靠性。

随着模型能力不断增强,智能体(Agent)日益自主,它们完成任务所需的提示词将越来越短。因此,养成编写简短而清晰提示词的习惯至关重要。清晰的思考产生清晰的指令,清晰的指令构建出可靠的系统。


在后续的探讨中,我们将深入智能体循环、进阶RAG架构以及可扩展的上下文管理策略。


关注“鲸栖”小程序,掌握最新AI资讯

本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:http://www.itsolotime.com/archives/13284

(0)
上一篇 2025年11月29日 上午8:33
下一篇 2025年11月29日 上午11:41

相关推荐

  • 揭秘NVIDIA GT200微架构:通过微基准测试发现未公开的存储层级与同步机制

    关键词:GPU 微架构、微基准测试、CUDA、存储层次、算术流水线、控制流 本文是系列文章《Demystifying GPU Microarchitecture through Microbenchmarking》的第一篇,也是早期 NVIDIA GPU 架构分析文章之一。由于全文篇幅较长(约 2 万字),可能更适合作为参考资料,建议读者根据目录选择感兴趣的…

    2025年12月20日
    18900
  • 智算新纪元:2026超万卡集群技术演进与产业协同全景解析

    自ChatGPT发布以来,全球科技产业迎来大模型创新浪潮,数据作为新生产要素、算力作为新基础能源、大模型作为新生产工具的格局已全面成型,各行各业从“+AI”向“AI+”的转型进入深水区。 2024至2026两年间,大模型参数量从万亿级向十万亿级跨越,多模态、超长序列、实时交互等场景的爆发式增长,推动智算基础设施迎来代际升级,超万卡集群已从“军备竞赛标配”转变…

    大模型工程 2026年2月23日
    35300
  • GraphRAG深度解析:融合Neo4j与LangChain,构建下一代知识增强型LLM系统

    LLM 已从根本上改变了我们与数据交互、自动化推理以及构建智能系统的方式。然而,尽管其生成式能力令人印象深刻,LLM 天生并不理解关系、结构或长期的事实一致性。这一缺陷在我们尝试将 LLM 用于企业级知识系统、多跳推理或决策关键型应用时尤为明显。 这正是图数据库与 RAG 结合之处,二者共同为 AI 系统形成一种新的架构范式——将符号推理与神经生成相融合。 …

    2025年12月27日
    27700
  • 设计模式决策树:告别死记硬背,精准匹配代码痛点

    围绕痛点选择设计模式:在任何面向对象语言中,以最小的过度设计匹配到合适的模式。 设计模式很少因为“错”而失败。更常见的是,我们在不合适的时机、出于不对的原因去套用它们,或者把它们当作替代品,回避给真实问题命名。通常,难点并不在于记住某个模式的存在,而在于判断你的代码此刻是否需要它,还是一个更简单的动作更合适。 这正是决策树有用的原因。它在你选择模式之前强制你…

    2026年2月22日
    12200
  • DeepSeek发布Engram条件记忆架构:MoE模型性能提升新路径,实习生主导突破性研究

    这一记忆架构有望成为新的Scaling路径。 智东西1月13日报道,昨晚,DeepSeek再次开源,并发布一篇新论文。此次,他们提出了一种全新的“条件记忆”机制——Engram,旨在让MoE模型在保持巨量参数的同时,更高效地处理语言信息。DeepSeek创始人兼CEO梁文锋、北京大学王选计算机研究所的赵东岩和张辉帅教授均在论文中署名。 Engram架构的核心…

    2026年1月13日
    25100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注