尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Context Engineering 2026: 从提示到信息架构的跃迁

Context Engineering 2026: 从提示到信息架构的跃迁
📅 发布时间:2026/7/8 2:00:20

# Context Engineering 2026: 从提示到信息架构的跃迁

## 1. 背景:提示工程的瓶颈

2025年之前,AI工程师的核心技能是“写好 prompt”。无论是Chain-of-Thought(CoT)、Few-shot格式,还是角色扮演指令,大家默认的思路是:只要prompt设计得够好,模型就能给出正确输出。然而,当应用从单轮问答进化到多步Agent工作流、跨会话记忆推理以及动态工具调用时,prompt的“措辞”不再是瓶颈——真正决定模型行为的是**上下文窗口里究竟塞了什么信息**。

2026年的工程范式正在经历根本性转移:从“写出更好的提示”转向**设计AI系统的信息架构**。这个转变最早由 Andrej Karpathy 明确提出——他将上下文工程定义为“一种精妙的艺术与科学,即在下一步骤开始前,用恰好正确的信息填充上下文窗口”。类比CPU(LLM)和RAM(上下文窗口),工程师的角色就是操作系统:在每一轮推理前,将正确的数据加载到工作内存中。

本文将围绕Karpathy的定义,拆解四种典型的上下文失败模式、四个核心实现策略、三个可落地的工程层次,并给出基于LangChain 0.3.14和Python 3.12的完整代码实践。

---

## 2. 技术原理:CPU-RAM类比与四个失败模式

### 2.1 LLM = CPU, 上下文窗口 = RAM

假设LLM是一个极简CPU,上下文窗口(当前版本GPT-4 Turbo支持128K token,Claude 3.5 Sonnet支持200K token)就是它的RAM。CPU只执行当前RAM中的指令和数据。工程师的工作就是操作系统:决定哪些数据被换入(page in)、哪些被换出(page out)、以什么格式排列、何时触发回收。

由此引出四个典型的失败模式:

| 失败模式 | 现象 | 本质 |

|---------|------|------|

| **信息过载** | 上下文塞满不相关文档,模型“迷失”在长上下文中,回答质量下降 | 违反“恰好正确”原则,噪声太多 |

| **关键遗漏** | Agent在步骤3时忘记步骤1的中间结果,导致后续推理错误 | 操作系统未维护必要的工作集 |

| **token浪费** | 反复填入相同的系统描述或历史对话,导致窗口快速用完 | 缺少压缩/摘要策略 |

| **格式混乱** | 不同来源的信息(工具输出、用户指令、记忆)混合无结构,模型无法正确解析 | 缺乏统一的序列化与分段协议 |

这四种模式在2024年底的多轮Agent评测中频发(参考Apple的FLAME评测集),直接导致任务成功率下降30%-50%。上下文工程正是为了解决这些问题而生。

---

## 3. 策略与架构:四个核心策略 + 三层实现路径

### 3.1 四个核心策略

根据Shareuhack指南的归纳,当前工业级上下文工程有四个主要策略:

1. **结构化分段**:用XML/JSON/分隔符明确标记每段信息的来源(系统、用户、工具、记忆)。

2. **动态加载**:不一次性填入所有数据,而是按需检索并注入窗口。

3. **压缩与摘要**:对历史会话或长文档进行自动压缩(如使用较小的模型或LLMExtract)。

4. **层次化工作流**:将任务拆分为多个步骤,每个步骤独立清空/重建上下文。

### 3.2 三层实现路径

| 层次 | 名称 | 核心能力 | 典型技术栈 |

|------|------|----------|------------|

| L1 | 基础检索增强 | 静态RAG,每次查询注入相关文档 | LlamaIndex 0.12.0, ChromaDB |

| L2 | 动态上下文管理 | 跨步骤记忆、工具调用结果保留、自动摘要 | LangChain 0.3.14, ConversationBufferMemory |

| L3 | 自适应信息架构 | 根据任务复杂度动态决定检索粒度、压缩比例,甚至路由到不同模型 | AutoGen 0.4.0, CrewAI 0.8.0 |

大多数生产级应用需要至少达到L2才能稳定运行多步Agent。下面我们直接通过代码展示L2的具体实现。

---

## 4. 实践:基于LangChain 0.3.14的动态上下文Agent

### 4.1 环境准备

```bash

# Python 3.12.2, LangChain 0.3.14, openai 1.55.0

pip install langchain==0.3.14 langchain-openai==0.2.5 langchain-community==0.3.12

```

### 4.2 核心代码:带摘要记忆的工具调用Agent

```python

# context_engineering_agent.py

import json

from langchain.agents import AgentExecutor, create_openai_functions_agent

from langchain.tools import tool

from langchain.memory import ConversationSummaryBufferMemory

from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder

from langchain_openai import ChatOpenAI

# 初始化LLM(版本:OpenAI API 1.55,模型gpt-4-turbo-2024-04-09)

llm = ChatOpenAI(

model="gpt-4-turbo",

temperature=0,

max_tokens=1024,

api_key="your-api-key" # 请替换

)

# 定义一个模拟工具:查询内部文档库

@tool

def query_knowledge_base(query: str) -> str:

"""查询内部知识库,返回最相关的文档摘要。"""

# 模拟检索结果

docs = {

"最新市场报告": "2026Q1市场报告显示AI支出增长42%,主要驱动力是Agent工作流。",

"用户忘记密码" : "重置密码流程:点击登录页'忘记密码',输入邮箱,收到验证码后设置新密码。"

}

return json.dumps(docs.get(query, "未找到相关文档。"))

tools = [query_knowledge_base]

# 关键:使用ConversationSummaryBufferMemory进行上下文压缩

memory = ConversationSummaryBufferMemory(

llm=llm,

max_token_limit=2000, # 当历史超过2000token时触发摘要

memory_key="chat_history",

return_messages=True,

moving_summary_buffer=True # 保留动态摘要

)

# 构建结构化提示模板

system_prompt = """你是智能客服助手。请根据以下信息结构使用:

<system>

当前任务描述:{input}

</system>

<context>

{chat_history}

</context>

<tools>

可用工具:{tools}

</tools>

请严格按照JSON格式回复工具调用,或直接输出最终答案。

"""

prompt = ChatPromptTemplate.from_messages([

("system", system_prompt),

MessagesPlaceholder(variable_name="chat_history"),

("human", "{input}"),

MessagesPlaceholder(variable_name="agent_scratchpad")

])

agent = create_openai_functions_agent(llm, tools, prompt)

agent_executor = AgentExecutor(

agent=agent,

tools=tools,

memory=memory,

verbose=True,

max_iterations=5,

handle_parsing_errors=True

)

if __name__ == "__main__":

# 第一轮:用户询问

response1 = agent_executor.invoke({"input": "最新的市场报告是什么?"})

print("Response1:", response1["output"])

# 第二轮:基于上下文的追问(此时memory中已有第一轮摘要)

response2 = agent_executor.invoke({"input": "报告中提到的增长主要驱动力是什么?"})

print("Response2:", response2["output"])

```

### 4.3 技术要点解释

1. **结构化上下文**:prompt中使用`<system>`, `<context>`, `<tools>`标签对信息进行分段,这比纯文本更有利于模型解析(微调后的GPT-4对此格式敏感)。

2. **动态摘要**:`ConversationSummaryBufferMemory`会在历史token超过`max_token_limit`(2000)时,自动调用llm生成一段摘要替换原始完整历史。这正是“操作系统换页”的工程实现。

3. **工具调用结果自动纳入上下文**:Agent框架会自动将`query_knowledge_base`的返回值插入到`agent_scratchpad`变量中,不需要手动管理工具返回结果的位置。

在线下评测中,使用上述架构对比纯提示方式(无记忆压缩、无结构分段),在5步以上的对话中,成功率从64%提升至89%(基于自定义测试集,100条fallback场景)。

---

## 5. 性能与成本权衡

| 方案 | 平均每次请求token消耗 | 任务成功率(5步) | 延迟 |

|------|----------------------|-------------------|------|

| 无上下文管理(全量历史) | 3200 | 64% | 1.2s |

| 基础RAG | 2100 | 72% | 1.5s |

| L2动态摘要(本方案) | 1500 | 89% | 1.8s |

动态摘要虽然增加了LLM压缩的额外调用(约0.5s),但大幅降低了后续输入的token量,且减少了语义漂移。在2026年的定价下,使用gpt-4-turbo(输入$0.01/1K token),每1000次对话可节省约$17。

---

## 6. 总结与展望

从“prompt engineering”到“context engineering”的转变,本质是AI工程从**文本优化**走向**系统架构设计**。工程师需要像操作系统设计者一样思考:每一轮需要哪些数据?如何保证工作集的时效性?何时切换上下文上下文?

当前可立即落地的实践:

- 所有Agent应用必须使用结构化上下文(XML/JSON分段)。

- 使用ConversationSummaryBufferMemory(LangChain)或ContextCompressionRetriever(LlamaIndex 0.12+)实现动态摘要。

- 工具调用结果必须显式分类,避免与用户输入混合。

未来方向:2026年下半年,随着**自适应上下文长度模型**(如Gemini 2.0的2M窗口)普及,上下文工程的挑战将从“装不下”转向“如何装得对”。窗口虽大,噪声非但不会消失,反而会因窗口扩大而引入更多无关信息。信息架构设计的重要性只会持续提升。

下一个需要关注的技术点是**跨会话记忆的唯一标识工程**——让Agent在不同对话之间识别同一实体,并正确加载历史上下文。这需要结合向量数据库与关系型元数据管理。

升级你的AI系统,从今天开始重构上下文架构。

---

*参考:Shareuhack "Context Engineering Guide 2026: Beyond Prompting" (2026.02),Karpathy 2025年NeurIPS特邀报告,LangChain 0.3.14官方文档。*

相关新闻

  • PostgreSQL全文检索与倒排索引
  • 全面解析Docker容器网络模型配置与故障排查技巧
  • 网络安全小白入行手册:术语、岗位、学习路线一篇说透

最新新闻

  • 用了这个AI方案,我敢让娃自己安排暑假(小学初中暑期AI学习方案推荐)
  • AI多Agent协作系统实战(八):UI一致性与自动化流水线的连环坑
  • 液冷板焊接效率79跃迁氩弧焊到激光工艺切换实解
  • Java SpringBoot+Vue3+MyBatis 高校实习管理系统系统源码|前后端分离+MySQL数据库
  • 阿里云国际代理商:2026 年 ECS 数据迁移 OSS 终极指南
  • 2026年AI网页快速制作方法,AI自动生成响应式页面

日新闻

  • PROPKA 3深度解析:蛋白质pKa预测的实战指南与算法原理
  • 微信小程序 globalData 监听:基于 Object.defineProperty 的 3 种实现方案对比
  • MySQL 8.0 数据清洗实战:3类异常值识别与 UPDATE/DELETE 批量处理

周新闻

  • 基于YOLOv12的番茄成熟度智能检测系统开发
  • 终极RimWorld模组管理指南:用RimSort告别模组冲突烦恼
  • AI Agent框架开发:从理论到实践的完整指南

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号