支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


再见,Prompt Engineering;你好,Context Engineering

发布日期:2025-07-08 07:45:11 浏览次数: 1543
作者:01麻瓜社

微信搜一搜,关注“01麻瓜社”

推荐语

AI领域迎来重大转变:从Prompt Engineering到Context Engineering,重新定义我们与AI的交互方式。

核心内容:
1. Prompt Engineering的局限性与Context Engineering的全面性对比
2. Context的七大关键组成部分详解
3. 从简单演示到实用产品的真实案例解析

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

在AI领域,一个重要的概念转变正在发生:从"Prompt Engineering"转向"Context Engineering"。这不仅仅是术语的变化,更代表了我们对AI系统工作方式认知的深刻转变。

Shopify CEO Tobi Lutke 说:

"我更喜欢'Context Engineering'这个术语,而不是'Prompt Engineering'。它更好地描述了核心技能:为任务提供所有上下文,让LLM能够合理地解决问题的艺术。"

为什么需要这个转变?

Prompt Engineering的局限性

传统的"Prompt Engineering"让人联想到的是在聊天机器人中输入一些指令,这种理解过于简化了。虽然我们希望这个术语能够涵盖构建可靠提示词的内在复杂性,但现实是,大多数人对它的理解停留在表面。

Context Engineering的广度

Context Engineering则不同,它是一个更全面的概念。Andrej Karpathy认为:

"Context Engineering是一门精妙的艺术和科学,需要在上下文窗口中填充恰当的信息以完成下一步任务。"

什么是Context?

要理解Context Engineering,我们首先需要扩展对"上下文"的定义。它不仅仅是发送给LLM的单个提示词,而是模型在生成响应前看到的所有信息:

1. 指令/系统提示词

  • 定义模型在对话中行为的初始指令集
  • 应该包含示例、规则等

2. 用户提示词

  • 来自用户的直接任务或问题

3. 状态/历史(短期记忆)

  • 当前对话,包括导致此刻的用户和模型响应

4. 长期记忆

  • 跨多次对话收集的持久知识库
  • 包含学到的用户偏好、过去项目摘要或需要记住的事实

5. 检索信息(RAG)

  • 来自文档、数据库或API的外部最新知识
  • 用于回答特定问题的相关信息

6. 可用工具

  • 所有可调用函数或内置工具的定义
  • 如check_inventory、send_email等

7. 结构化输出

  • 模型响应格式的定义
  • 如JSON对象结构

从"便宜演示"到"神奇产品"

Context Engineering的威力在于能够将简单的演示转变为真正有用的产品。看一个具体的例子:

场景:AI助手收到邮件

"嗨,看看你明天有空简单聊聊吗?"

"便宜演示"Agent的回应:

  • 上下文贫乏,只看到用户请求
  • 回应机械化:

    "感谢您的消息。明天我有空。请问您想要什么时间?"

"神奇"Agent的回应:

  • 丰富的上下文,包括:

    • 日历信息(显示明天已排满)
    • 与此人的历史邮件(确定合适的非正式语调)
    • 联系人列表(识别为重要合作伙伴)
    • 发送邀请或邮件的工具
  • 生成的回应:

    "嗨Jim!明天我这边排得很满,一整天都是会议。周四上午有空,可以吗?我发了个邀请,看看是否合适。"

关键在于:魔法不在于更聪明的模型或更巧妙的算法,而在于为正确的任务提供正确的上下文。

Context Engineering的定义

简单来说:

Context Engineering是设计和构建动态系统的学科,这些系统在正确的时间,以正确的格式,提供正确的信息和工具,给LLM完成任务所需的一切。

Context Engineering具有以下特征:

1. 系统性,而非字符串

  • 上下文不是静态的提示词模板
  • 它是在主LLM调用之前运行的系统输出

2. 动态性

  • 实时创建,针对具体任务定制
  • 一个请求可能需要日历数据,另一个可能需要邮件或网络搜索

3. 正确的信息和工具,在正确的时间

  • 核心工作是确保模型不会错过关键细节
  • 既提供知识(信息)又提供能力(工具)

4. 格式很重要

  • 简洁的摘要优于原始数据转储
  • 清晰的工具模式优于模糊的指令

Agent的Context Engineering策略

对于长期运行的AI Agent,Context Engineering变得更加重要。Lance Martin将其分为四大策略:

1. 写入上下文 (Write Context)

将上下文保存在上下文窗口之外,以帮助Agent执行任务。

草稿本 (Scratchpads)

  • 像人类解决任务时做笔记一样
  • 将信息保存在上下文窗口外,供Agent使用
  • 可以通过工具调用或运行时状态对象实现

记忆 (Memories)

  • 跨会话记住信息
  • 包括反思和自生成记忆
  • 如ChatGPT、Cursor、Windsurf的记忆机制

2. 选择上下文 (Select Context)

将相关上下文拉入上下文窗口。

记忆选择

  • 选择与任务相关的记忆
  • 使用嵌入或知识图谱进行索引
  • 挑战:确保选择相关记忆

工具选择

  • 使用RAG为任务选择最相关的工具
  • 避免工具过载造成的混乱
  • 提高工具选择准确性

3. 压缩上下文 (Compress Context)

只保留执行任务所需的token。

上下文摘要

  • 当超过上下文窗口95%时自动压缩
  • 使用递归或层次摘要策略
  • 在工具调用边界添加摘要

上下文修剪

  • 使用启发式方法过滤上下文
  • 如从消息列表中删除旧消息
  • 训练的上下文修剪器

4. 隔离上下文 (Isolate Context)

将上下文分割以帮助Agent执行任务。

多Agent系统

  • 将关注点分离到不同的子Agent
  • 每个Agent有特定的工具、指令和上下文窗口
  • 并行探索问题的不同方面

环境隔离

  • 使用代码沙箱隔离token密集的对象
  • 通过状态对象管理上下文
  • 选择性地向LLM公开信息

实际应用中的挑战

Context Engineering在实际应用中面临多种挑战:

1. 上下文污染

  • 幻觉信息进入上下文
  • 需要验证和过滤机制

2. 上下文分心

  • 过多上下文压倒训练数据
  • 需要平衡相关性和完整性

3. 上下文混乱

  • 多余的上下文影响响应
  • 需要精确的相关性判断

4. 上下文冲突

  • 上下文部分之间存在分歧
  • 需要优先级和一致性机制

工具和实现

代码Agent的Context Engineering

代码Assistant面临的挑战特别复杂。Windsurf团队的经验是:

"索引代码 ≠ 上下文检索...我们进行索引和嵌入搜索...通过AST解析代码并在语义边界上分块...随着代码库规模增长,嵌入搜索作为检索启发式变得不可靠...我们必须依赖grep/文件搜索、基于知识图谱的检索等技术组合...以及重排序步骤。"

产品中的Context Engineering

目前主要产品都在探索Context Engineering:

  • Claude Code: 使用CLAUDE.md存储指令
  • Cursor和Windsurf: 使用规则文件
  • ChatGPT: 存储和选择大量用户特定记忆

未来展望

Context Engineering正在成为AI应用开发的核心技能。Cognition公司认为:

"Context Engineering实际上是构建AI Agent的工程师的第一要务。"

随着AI Agent变得越来越复杂,处理数百轮对话,Context Engineering将变得更加重要。我们需要:

  1. 更智能的上下文管理策略
  2. 更好的工具和框架
  3. 标准化的最佳实践
  4. 跨功能的理解和协作

结论

从Prompt Engineering到Context Engineering的转变,标志着AI应用开发的成熟。这不仅仅是技术的进步,更是思维方式的转变。

构建强大可靠的AI Agent,关键不在于找到神奇的提示词或等待模型更新,而在于工程化地构建上下文,在正确的时间,以正确的格式,提供正确的信息和工具。

这是一个跨功能的挑战,需要理解业务用例、定义输出格式,并结构化所有必要信息,让LLM能够"完成任务"。

再见,Prompt Engineering;你好,Context Engineering。

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询