登上热搜!Prompt不再是AI重点,新热点是Context Engineering

部署运行你感兴趣的模型镜像

Phil Schmid 介绍上下文工程的文章成为 Hacker News 榜首,还登上了知乎热搜榜。

最近「上下文工程」有多火?Andrej Karpathy 为其打 Call,Phil Schmid 介绍上下文工程的文章成为 Hacker News 榜首,还登上了知乎热搜榜。

image.png

之前我们介绍了上下文工程的基本概念,今天我们来聊聊实操。

为什么关注「上下文工程」

我们很容易将 LLM 拟人化——把它们当作能够「思考」、「理解」或「感到困惑」的超级助手。从工程学的角度来看,这是一个根本性的错误。LLM 并不具备信念或意图,它是一个智能的文本生成器。

更准确的看法是:LLM 是一个通用的、不确定的函数。这个函数的工作方式是:你给它一段文本(上下文),它会生成一段新的文本(输出)。

image.png

  • 通用:意味着它能处理各种任务(如翻译、写代码),无需为每个任务单独编程。
  • 不确定:意味着同样的输入,每次可能得到稍有不同的输出。这是它的特点,不是毛病。
  • 无状态:意味着它没有记忆。你必须在每次输入时,提供所有相关的背景信息,它才能「记住」对话。

这个视角至关重要,因为它明确了我们的工作重心:我们无法改变模型本身,但可以完全控制输入。所有优化的关键,在于如何构建最有效的输入文本(即上下文),来引导模型生成我们期望的输出。

「提示词工程」一度很火,但它过于强调寻找一句完美的「魔法咒语」。这种方法在真实应用中并不可靠,因为「咒语」可能因模型更新而失效,且实际输入远比单句指令复杂。

一个更精准、更系统的概念是「上下文工程」。

图片

两者的核心区别在于:

  • 提示词工程:核心是手动构思一小段神奇的指令,如同念咒。
  • 上下文工程:核心是构建一个自动化系统,像设计一条「信息流水线」。该系统负责从数据库、文档等来源自动抓取、整合信息,并将其打包成完整的上下文,再喂给模型。

正如 Andrej Karpathy 所说,LLM 是一种新型的操作系统。我们的任务不是给它下达零散的命令,而是为它准备好运行所需的所有数据和环境。

上下文工程的核心要素

简单说,「上下文工程」就是打造一个「超级输入」的工具箱。我们听到的各种时髦技术(比如 RAG、智能体),都只是这个工具箱里的工具而已。

目标只有一个:把最有效的信息,用最合适的格式,在最恰当的时机,喂给模型。

image.png

以下是工具箱里的几种核心要素:

  • 指令:下达命令这是最基础的,就是直接告诉模型该做什么。比如命令它「扮演一个专家」,或者给它看几个例子,让它照着学。
  • 知识:赋予「记忆」 模型本身没有记忆,所以我们要帮它记住。在聊天机器人里,就是把聊天记录一起发给它。如果记录太长,就做个「摘要」或者只保留最近的对话。
  • 工具:
  • 检索增强生成 (RAG):给它一本「开卷考试」用的参考书为了防止模型瞎说(产生幻觉),我们可以让系统先从我们自己的知识库(比如公司文档)里查找相关资料,然后把「参考资料」和问题一起交给模型,让它根据事实来回答。
  • 智能体:让它自己去「查资料」

image.png

这是更高级的玩法。我们不再是提前准备好所有资料,而是让一个聪明的「智能体」自己判断需要什么信息,然后主动使用工具(比如上网搜索、查数据库)去寻找答案,最后再汇总起来解决问题。

总而言之,所有这些技术,无论简单还是复杂,都是在回答这一个问题:「怎样才能给模型打造出最完美的输入内容?」

上下文工程的实践方法论

使用 LLM 更像做科学实验,而不是搞艺术创作。你不能靠猜,必须通过测试来验证。

工程师的核心能力不是写出花哨的提示,而是懂得如何用一套科学流程来持续改进系统。这套流程分两步:

第一步:从后往前规划(定目标 → 拆任务)

从你想要的最终结果出发,反向推导出系统的样子。

  • 先想好终点:明确定义你希望 LLM 输出的完美答案是什么样的(内容、格式等)。
  • 再倒推需要什么原料:要得到这个完美答案,LLM 的输入(上下文)里必须包含哪些信息?这就定义了你的系统需要准备的「原料包」。
  • 最后设计「流水线」:规划出能够自动生产这个「原料包」的系统。

第二步:从前往后构建(搭积木 → 总装)

规划好后,开始动手搭建。关键是:搭好一块,测一块,最后再组装。

  • 先测试「数据接口」:确保能稳定地获取原始数据。
  • 再测试「搜索功能」:单独测试检索模块,看它找资料找得准不准、全不全。
  • 然后测试「打包程序」:检查那个把所有信息(指令、数据)组装成最终输入的程序是否正常工作。
  • 最后才进行「总装测试」:当所有零件都确认无误后,再连接起来,对整个系统进行端到端测试。这时,你可以完全专注于评估 LLM 的输出质量,因为你知道它收到的输入肯定是正确的。

核心思想就是:通过这种「先规划、后分步搭建和测试」的严谨流程,我们将使用 LLM 从凭感觉的艺术,变成了有章可循的工程科学。

实践

更具体的实践方法,大家可以参考 Langchain 最新的博客和视频,里面详细介绍了上下文工程当前主流的四大核心方法,并展示了 LangChain 生态中 LangGraph 和 LangSmith 如何助力开发者高效实施上下文工程。

image.png

您可能感兴趣的与本文相关的镜像

Qwen3-8B

Qwen3-8B

文本生成
Qwen3

Qwen3 是 Qwen 系列中的最新一代大型语言模型,提供了一整套密集型和专家混合(MoE)模型。基于广泛的训练,Qwen3 在推理、指令执行、代理能力和多语言支持方面取得了突破性进展

### 关于 Prompt Engineering 的 PDF 资料 对于希望获取有关 **Prompt Engineering** 的 PDF 资料的需求,可以参考以下资源: 1. 书籍《Hands-On Large Language Models》提供了对语言模型核心技术的全面解读[^3]。此书中涵盖了大语言模型的基础理论以及实际操作指南,其中包括如何设计高效的提示词(Prompt),这对于从事 Prompt Engineering 的人员来说是非常有价值的参考资料。 2. 另外,在 AI 大模型 NL2SQL 实践系列的第一部分中提到,Prompt Engineering 主要涉及四个关键组成部分:Instruction(指示)、Context上下文)、Input Data(输入数据)和 Output Indicator(输出指示器)。通过精心构建这些组件,可以使模型生成更精确的结果[^1]。 尽管上述资料并未直接提供可下载的独立 Prompt Engineering PDF 文件,但它们包含了丰富的相关内容。如果需要具体文档形式的学习材料,《Hands-On Large Language Models》一书可能是一个不错的选择,其电子版可以通过官方渠道获得。 以下是实现简单 Text-to-SQL 提示的一个 Python 示例代码片段: ```python def create_text_to_sql_prompt(instruction, context, input_data): output_indicator = "SQL Query:" full_prompt = f"{instruction}\n{context}\n{input_data}\n{output_indicator}" return full_prompt # Example Usage instruction = "Convert the following natural language query into SQL." context = "The database schema includes tables 'users' and 'orders'." input_data = "Find all users who have placed more than two orders." print(create_text_to_sql_prompt(instruction, context, input_data)) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值