第二章 上下文工程

给大学生说明白:什么是提示词工程,上下文工程,驾驭工程,环境工程! 《AI工程范式演进:从提示词工程到环境工程》摘要 本文系统梳理了AI应用开发的四次工程范式演进: 提示词工程(2023-2024):聚焦优化输入指令,通过角色设定、思维链等技术提升输出质量 上下文工程(2025):管理模型推理时的完整信息环境,核心是RAG检索增强生成和工具调用 驾驭工程(2026):设计外部约束与反馈系统,确保AI行为可控可靠 环境工程(2026+):构建多智能体协同的全局基础设施 这四代范式呈嵌套演进关系,每一代都解决前一代的局限性。文章详细阐述了各阶段的核心原理、关键技术。 阅读详情

Harness 怎样让 LLM 每次都看到“足够、正确、可信,而且不浪费”的信息?

1. Agent 每轮到底怎么运行

可以把 Agent 看成:

Agent = LLM + 上下文 + 工具

但真正驱动循环的是 Harness:

Harness 组装上下文
        ↓
LLM 根据上下文决定下一步动作
        ↓
Harness 执行工具
        ↓
工具产生结果
        ↓
Harness 把结果追加到轨迹
        ↓
再次调用 LLM

所以:

  • LLM 负责思考和选择动作。
  • 工具负责产生真实结果。
  • Harness 负责把整个循环运转起来。

2. 上下文不是模型自己找的

每次调用 LLM 前,上下文都是 Harness 组装的,通常包括:

系统指令
项目规则
相关 ToolSpec
Skill 目录或已加载的 Skill
用户任务
历史对话
模型之前的 tool call
工具结果
当前运行状态
压缩后的历史摘要

LLM 看不到上下文之外的任何东西。

比如 cwd、sandbox、approval、当前时间,只有 Harness:

  • 写进上下文;
  • 或者提供相应工具;

模型才知道。

这就是“注入”:把程序运行时的信息转换成模型能够看到的消息。


3. 上下文分为稳定部分和动态部分

可以简单分成:

稳定前缀
├── System Prompt
├── 项目规则
├── ToolSpec
└── Skill 目录

动态轨迹
├── 用户任务
├── assistant 回复
├── tool call
├── tool result
└── 状态更新

稳定前缀尽量不要频繁变化,因为这关系到 Prompt Cache。

动态信息则尽量追加在末尾。


4. KV Cache 和 Prompt Cache

KV Cache:

  • 位于模型推理内部;
  • 保存已经计算过的注意力中间结果;
  • Agent 通常不能直接控制。

Prompt Cache:

  • 位于模型 API 服务层;
  • 相同的 Prompt 前缀可以复用;
  • Harness 可以通过上下文布局提高命中率。

因此上下文工程要做到:

固定内容放前面
动态内容放后面
不要无意义地改写历史
不要每轮重排 ToolSpec

如果前面的内容发生变化,后面的缓存通常也无法继续复用。


5. System Prompt 负责教模型怎么工作

System Prompt 类似员工手册,应该包含:

  • 身份和职责;
  • 工作流程;
  • 工具使用原则;
  • 验证要求;
  • 安全边界;
  • 输出要求。

但它只能影响模型行为,不能作为最终安全保障。

例如:

“退款超过 500 元必须审批”

可以写进 Prompt,帮助模型判断。

但退款工具内部仍然必须写代码校验,因为模型可能误解、忘记或者不遵守。


6. Few-shot 是给模型看案例

Few-shot 主要有两类:

  • 固定示例:长期稳定、频繁使用的标准案例。
  • 临时检索示例:根据当前任务动态找来的相关案例。

固定示例适合稳定规则,但会一直占用上下文。

动态示例更相关、更节省空间,但需要检索系统支持。

它们都是帮助模型理解,不应该代替代码中的业务校验。


7. ToolSpec 是工具的说明书

ToolSpec 告诉模型:

  • 工具叫什么;
  • 能做什么;
  • 什么场景应该使用;
  • 参数有哪些;
  • 参数格式是什么。

例如:

模型看到 ToolSpec
    ↓
模型产生 tool call
    ↓
Harness 校验并执行工具
    ↓
工具返回 result

ToolSpec 不是工具本身,也不是安全边界。

真正的权限、参数校验、金额限制和副作用控制,仍然必须由 Harness 和工具代码保证。


8. 工具也需要渐进式披露

如果 Agent 有 100 个工具,不应该一开始就把全部完整 ToolSpec 给模型。

可以采用:

先提供相关工具目录
        ↓
模型发现需要某个工具
        ↓
Harness 再加载完整 ToolSpec

这样可以:

  • 减少上下文占用;
  • 降低模型选错工具的概率;
  • 提高缓存命中;
  • 降低调用成本。

9. Skill 也是渐进式加载

Skill 通常分为三层:

第一层:名称和简介
第二层:完整 SKILL.md
第三层:引用资料、模板、脚本、资源

初始上下文只需要放 Skill 的名称和简介。

模型选择 Skill 后,Harness 才读取完整 SKILL.md。模板、脚本和参考资料仍然放在上下文外,需要时再读取或执行。

所以不是“Skill 全部等于上下文”,而是:

Harness 管理 Skill;Skill 中被读取的内容才进入上下文。


10. 状态栏让模型知道自己现在在哪

长任务中,模型容易忘记当前运行状态,因此 Harness 可以在轨迹末尾注入状态栏:

当前目录
当前阶段
剩余预算
已修改文件
连续失败次数
后台任务状态
待办事项
权限和沙箱状态

状态栏应该由 Harness 根据真实程序状态生成,而不是让模型自己猜。

但是状态栏仍然只是让模型“知道限制”,真正的限制仍要由代码执行。


11. 护栏和 ToolSpec 的区别

输入侧护栏:

  • 检查用户输入;
  • 防止明显恶意指令;
  • 标记外部不可信内容;
  • 避免 Prompt Injection 混入高优先级规则。

执行侧护栏:

  • 权限检查;
  • 参数校验;
  • 沙箱隔离;
  • 审批;
  • 金额和调用次数限制;
  • 阻止危险操作。

输出侧护栏:

  • 隐私脱敏;
  • 敏感信息检查;
  • 输出格式校验;
  • 防止把内部 Prompt、密钥或不可信内容直接返回。

而 ToolSpec 主要是给模型看的说明书,不是强制安全机制。


12. 上下文太长时要压缩

上下文越长,不仅成本越高,模型也可能更难抓住重点,这就是 context rot。

但压缩不能简单地“把前面全部总结一下”。

更合理的是分层处理:

1. 限制工具输出体积
2. 删除重复和无关噪声
3. 压缩局部旧轨迹
4. 把阶段结果归档
5. 最后才做全量压缩

完整日志应该放到磁盘或 artifact 中。

上下文只保留:

  • 与问题相关的日志;
  • 关键报错;
  • 调用栈;
  • 文件引用;
  • 原文重新读取方式。

压缩时不能丢掉:

  • 用户目标;
  • 操作范围;
  • 用户约束;
  • 架构决策;
  • 已修改文件;
  • 失败原因;
  • 验证结果;
  • 待办事项和回滚方式。

13. 有时隔离比压缩更好

如果主 Agent 需要从 100 个文件中找到 3 个相关文件,可以启动子 Agent。

子 Agent 自己读取大量文件,但最后只返回:

3 个相关文件
判断依据
关键发现

这样大量探索轨迹不会污染主 Agent 的上下文。

所以:

能通过子 Agent 隔离的信息,就不一定要塞进主上下文后再压缩。


最后串成一句话

第二章完整链路就是:

Harness 选择信息
→ 组装稳定前缀和动态轨迹
→ 按需加载 ToolSpec、Skill 和资料
→ 注入运行状态
→ 调用 LLM
→ 执行模型选择的工具
→ 把结果写回轨迹
→ 控制输出体积
→ 必要时分层压缩
→ 大规模探索交给隔离的子 Agent

因此

上下文工程主要是 Harness 的职责。Harness 管理上下文的组装、Skill 加载、工具披露、状态注入、压缩策略、安全边界和缓存命中。

提示工程架构师成长营:30天精通跨语言上下文工程实战技能 当用户先用中文吐槽“快递三天没动了”,转头用英文问“Where is my package?”时,你的AI机器人却回复“我们的快递很快哦~”——这不是机器人在“抬杠”,而是跨语言上下文工程没做好。在全球化时代,多语言AI交互已成为企业的“刚需”:跨境电商需要处理中、英、西语的客户咨询,国际会议需要实时翻译并保持对话逻辑,甚至AI写作工具要帮用户把中文大纲转成英文论文。但跨语言场景下,“上下文断裂”“文化误解”“语义偏差”等问题,往往让AI从“智能助手”变成“猪队友”。 阅读详情

相关推荐

NOCODE 上下文工程:构建自进化 AI 伙伴的白皮书

跨模型集成 (Cross-Model Integration)**等核心概念,构建一个能将数周的市场研究与战略规划工作压缩至数小时,并能产出超越人类个体认知局限的创新洞察的智能系统。它标志着人机关系的根本性转变——从单向的“指令-执行”模式,跃迁至双向的、共生共荣的“伙伴关系”。为了系统地掌握 No-Code 上下文工程,我们提出一个源自东方哲学的四层框架,它将帮助您从理念到工具,全面构建您的知识体系。: 将分析洞察,通过人与 AI 的思想碰撞,升华为富有创意的、可执行的策略。的思维框架和实践方法。

形上得其象,形下合于数;阴阳自济,玄理自明。 634

AI_Agent_第二章上下文工程精华总结

上下文工程决定AI Agent能力上限,其本质是高效管理“静态前缀+动态轨迹”的信息集合。需合理设计System Prompt、工具与状态,保持上下文稳定以提升KV Cache效率,通过技能按需加载、子Agent隔离等方式控制成本,防范Prompt Injection风险。核心原则:信息足够、结构稳定、成本可控——真正优秀的Agent懂得该常驻、该加载、该压缩、该隔离。

2603_96688278的博客 460

上下文工程权威指南:提示工程架构师如何构建让AI「秒懂」的上下文系统?

上下文系统是指为AI模型提供的、用于理解当前任务所需的全部信息集合及其组织方式。它不仅包括输入文本,还涉及信息的结构、优先级、关联性和呈现顺序。提升准确性:减少AI因信息不足导致的错误(实验数据显示可降低35-60%的错误率)增强连贯性:使长对话和复杂任务保持逻辑一致(解决70%以上的上下文脱节问题)提高效率:减少重复解释,加速任务完成(平均节省40%的交互轮次)扩展能力边界:使AI能够处理远超其原生能力的复杂任务(如通过上下文注入专业知识)降低使用门槛。

大数据洞察的博客 873

ai-agent-book第二章学习笔记:Agent上下文工程

第二章学习笔记+部分实验:https://bojieli.github.io/ai-agent-book/chapter2

m0_61440484的博客 372

提示工程架构师揭秘Agentic AI上下文工程实体识别的模型训练技巧

从技术演进看,实体识别正从NLP的子任务升级为Agentic AI的核心能力模块。作为提示工程架构师,我们的使命不仅是优化模型参数,更是构建让Agent"看懂世界"的认知框架——这需要融合语言学、机器学习、认知科学和软件工程的跨学科视角。本文系统梳理的23个训练技巧(数据工程7个、训练策略8个、高级挑战8个),构成了Agentic AI实体识别的技术体系。但真正的工程智慧在于:根据Agent的具体场景(任务类型、资源约束、用户需求),灵活组合这些技巧,找到"性能-成本-体验"的最佳平衡点。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1011

提示工程架构师:为Agentic AI上下文工程安全打造坚实基础

Agentic AI的上下文:是包含系统规则、任务状态、用户历史的动态“状态包”;核心风险:Prompt注入、状态污染、敏感泄露、逻辑篡改、上下文溢出;安全策略:分层隔离、净化过滤、会话隔离、审计追溯、动态验证;实战关键:用LangChain的管理会话,用检测恶意内容,用日志记录上下文。

移动开发前沿的博客 671

上下文工程实战指南:ai-agent-book揭秘KV Cache、提示工程与上下文压缩如何决定Agent能力上限

《深入理解 AI Agent:设计原理与工程实践》(ai-agent-book)是一本完整开源的 AI Agent 技术书,第二章用 10 个配套实验系统拆解了**上下文工程(Context Engineering)**:如何通过 KV Cache 友好的上下文设计、提示工程优化系统提示词、上下文压缩策略来控制成本并提升 Agent 稳定性。上下文就是 Agent 每次决策时"看到"的全部信息,它

gitblog_00096的博客 348

探索未知!提示工程架构师带你探索AI上下文工程在游戏开发的未知领域

在聊游戏应用前,我们需要先理清上下文工程的底层逻辑——这是后续所有实践的「地基」。核心人格是NPC的「底层逻辑」,需要用「结构化prompt」固定下来(避免大模型「乱发挥」)。# 核心人格定义(Core Personality)角色名:汤姆·霍克身份:灰脊山的老猎人,父亲是上一代「山之守护者」性格:1. 孤僻:平时话少,不喜欢和陌生人打交道;2. 重情义:对帮助过自己的人会掏心掏肺,对背叛者会记恨一辈子;3. 固执:坚信「猎人的荣誉」——不会用毒箭,不会杀无辜的动物;

SuperAGI2025 650

提示工程架构师入门:AI上下文工程知识图谱的概念模型设计

即时上下文:朋友刚说的“我上周爬了泰山,腿还酸”;会话上下文:你们之前聊过“喜欢户外”“讨厌人多的景点”;领域上下文:你知道“泰山在山东”“爬山需要带登山杖”这些常识。层级定义例子即时上下文当前对话的直接输入(比如用户的问题)用户说:“我的产品B屏幕黑屏了”会话上下文本次会话的历史交互记录用户之前问过:“产品B的电池续航多久?领域上下文行业/场景的通用知识或私有知识库“产品B的屏幕黑屏通常是排线问题”现在你明白了上下文工程的目标,那为什么选择知识图谱?

专注搜索引擎技术 1120

【图像大模型】RIFE实战:如何通过中间流估计实现4K视频的实时插帧优化

本文深入解析了基于深度学习的RIFE视频插帧算法,重点探讨其核心的中间流估计技术如何实现高效精准的帧生成。通过实战教程,详细介绍了针对4K视频的实时处理优化方案,包括环境配置、参数调优及性能瓶颈分析,帮助用户利用消费级显卡将低帧率视频转化为流畅的高帧率体验。

weixin_29093017的博客 458

STM32串口调试踩坑记:HAL_UART_ErrorCallback里不先解锁,你的中断接收就废了

本文深入分析了STM32串口调试中HAL_UART_ErrorCallback的锁机制陷阱,指出在错误回调中不先解锁会导致中断接收失效的问题。通过解析HAL库源码,提出了正确的错误处理实现方法,并分享了预防措施与最佳实践,帮助开发者提升串口通信的可靠性。

weixin_33733810的博客 514

Langchain_v1.0|高级使用-上下文工程

本文介绍了LangChain框架中的上下文工程概念,重点阐述了如何通过控制三类上下文(模型上下文、工具上下文、生命周期上下文)来提升AI智能体的可靠性、安全性和效率。文章首先解释了上下文工程的定义和重要性,然后详细分析了智能体的工作循环机制、三大数据源(运行时配置、会话状态、长期记忆)以及模型上下文的具体控制方法,包括系统提示、消息处理、工具选择和响应格式等关键要素。最后提供了分步练习和最佳实践指导,帮助开发者掌握动态上下文智能体的配置技巧。

寓教于乐。教己助人 469

Unity URP项目里Post Processing死活没效果?别慌,这5个坑我帮你踩过了

本文详细解析了Unity URP项目中Post Processing效果失效的五大常见问题,包括渲染管线配置冲突、Volume作用域误判、摄像机参数漏配、Layer层级冲突和Profile引用异常。通过实际项目案例和代码示例,提供专业级解决方案,帮助开发者快速排查并修复后处理效果不生效的问题。

weixin_33721427的博客 333

上下文工程深度解析:从 KV Cache 到 Agent Skills 的技术原理与工程实践

该章开篇即指出:大语言模型在标准测试中成绩亮眼,但到了实际业务场景中却常常让人失望。原因是模型执行具体任务时需要的背景信息(产品架构、业务规则、内部约定)根本不在通用模型的训练数据中。一个中等能力的模型配上精心组织的上下文,往往能胜过一个顶级模型在信息匮乏下的盲目摸索。上下文工程因此成为利用现有模型开发高效 Agent 的关键所在。OpenAI 研究员翁家翌的观点被引用:“人和模型一样,最重要的是 Context。工具定义的质量直接决定 Agent 使用工具的准确性。

Dawson Zhu的博客 583

分享一下如何使用labelimg制作自己的YOLO数据集

首先准备一下自己的下准备一个空文件夹用于保存标签文件,如下图所示。

skywalkerxhx的博客 831

推荐系统(1):推荐系统评测

对于可以离线优化的指标,我个人的看法是应该在给定覆盖率、多样性、新颖性等限制条件下,尽量优化预测准确度。用一个数学公式表达,离线实验的优化目标是:最大化预测准确度使得 覆盖率 > A多样性 > B新颖性 > C其中,A、B、C的取值应该视不同的应用而定。

数据不会骗人 2527

上下文工程:从 KV Cache、Skills 到长程 Agent 的实战思考

本文探讨了AI Agent开发中的上下文工程与Harness架构的长期价值,结合《AI Agent Book》第二章的核心观点与作者实践经验展开分析。文章首先反驳了"大模型能力提升将使Harness淘汰"的观点,指出上下文质量、物理成本和信息利用效率三大因素决定了其持久必要性。随后深入讲解了KV Cache机制对工程实践的影响,列举了动态改写系统提示等四个常见反模式,并提出冻结静态前缀与追加动态信息两条优化准则。针对工具扩展问题,介绍了渐进式披露和外部引用化两种解决方案。

2301_80204950的博客 376

get_seed协议

【代码】get_seed协议。

a545958498的博客 912

AI 辅助研发内部复盘(3/5):上下文工程与认知解码

摘要: 在AI辅助老项目改造中,认知鸿沟是核心挑战。本文提出通过上下文工程(Context Engineering)与认知解码,系统化解决AI对遗留代码的理解问题。通过三个实战案例: 基于AST的依赖分析:将代码结构转化为知识图谱,显式化隐式逻辑; RAG项目知识库:利用向量数据库存储代码、文档、Git历史,实现精准问答; 自动化契约测试:结合AI生成测试桩,守护接口兼容性。 核心观点:从临时Prompt转向立体化上下文构建(规则层、知识层、记忆层、检索层),形成“理解-约束-验证”闭环,使AI从“盲改”升

小相探索IT世界 5633

先进封装技术的一些优缺点探讨

半导体封装技术是半导体制造过程中的关键环节,它不仅保护了芯片免受物理损伤,还提供了电气连接和散热功能。随着技术的发展,出现了多种先进的封装技术,每种技术都有其特定的应用场景和优缺点。

阿拉伯梳子的专栏 2170

【unity游戏开发入门到精通——通用篇】Post Processing 后处理插件Post-process Volume 和 Volume最全基础使用说明

之前我已经实现了不少后处理功能,本文其实就是将他们归类整理,以便更好的查找和理解。在Unity中,后处理(Post-Processing)是在相机所捕捉的图像上应用一些特殊效果的过程,后处理会让图像视觉效果更好(前提是做的好)。这些效果的范围有非常细微的颜色调整,也包括整体的美术风格的大修,可以让场景看起来更加真实或风格化,或者只是变得更好看。就像我们都会用手机拍照,但很多时候我们拍的原始的相片都打不到我们想要的效果。比如照片可能亮度不够,颜色不饱和或者对比度不好等。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7897

上下文工程 —— 让 Agent 拥有记忆

主题一句话本质掌握标准记忆与状态API 无状态,记忆全靠工程精通:能说清短期/长期记忆的分界和各自解法MemGPT上下文=RAM,外存=磁盘,模型自己换页理解思想;知道 Anthropic Memory Tool 是它的产品化mem0提取事实而非存原文,ADD/UPDATE/DELETE 保持记忆库干净精通:能手写 mini 版(实战项目就是)向量检索语义变几何;BM25 补精确匹配的盲区;小块匹配大块返回会用:embedding+TopK 必会,Hybrid/父子索引知道何时上。

2602_96048311的博客 526

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

描述质量上不去?,Dify提示工程与上下文优化全解析

提升描述生成质量?掌握Dify提示工程与上下文优化策略,有效解决内容空洞、不准确问题。适用于AI写作、客服机器人等场景,通过精准提示设计和上下文增强显著提升输出质量,实用技巧值得收藏。

VarLens的博客 697

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

上一篇: 第一章 Agent的基本理解
摆正思想
博客等级 码龄8年 16粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值