原文 链接:https://mirror-feeling-d80.notion.site/Context-Engineering-for-Agents-21f808527b17802db4b1c84a068a0976

上下文工程

  • 智能体需要上下文(例如,指令、外部知识、工具反馈)来执行任务。

上下文工程是一门艺术和科学,它在代理轨迹的每一步中,用最恰当的信息填充上下文窗口。

  • 常见策略:
    • 写入上下文 - 将其保存在上下文窗口之外,以帮助代理执行任务。
    • 选择上下文 - 将其拉入上下文窗口,以帮助代理执行任务。
    • 压缩上下文 - 只保留执行任务所需的令牌。
    • 隔离上下文 - 将其拆分以帮助代理执行任务。
      LangGraph 旨在支持这些策略。
      20250707155913

上下文工程定义

20250707155959
20250707160035
https://x.com/tobi/status/1935533422589399127
https://x.com/karpathy/status/1937902205765607626

Harrison Chase The rise of “context engineering”

定义

“上下文工程是‘……为下一步用最恰当的信息填充上下文窗口的精妙艺术和科学。’”

类比

Karpathy:LLM 是一种新型操作系统
LLM 是 CPU
上下文窗口是 RAM 或“工作内存”,其处理上下文的能力有限
管理什么信息适合 RAM 类似于上面提到的“上下文工程”
20250707160536

上下文类型

一个涵盖几种不同类型上下文的伞形学科

指令 – 提示、记忆、少样本示例、工具描述等

知识 – 事实、记忆等

工具 – 工具调用反馈
20250707160848

为什么这对智能体来说更难

  • 长期运行的任务和累积工具调用反馈

  • 智能体通常会使用大量令牌!
    20250707162647
    20250707162656

  • Drew Breunig 很好地罗列了更长上下文的导致的失败问题:

    • 上下文中毒(Context Poisoning):幻觉内容添加到上下文
    • 上下文干扰(Context Distraction):上下文信息过多导致淹没模型训练内容
    • 上下文混淆(Context Confusion):多余的上下文影响响应时
      = 上下文冲突(Context Clash):上下文的某些部分不一致
  • 上下文工程在构建智能体时至关重要!

Cognition Cognition | Don’t Build Multi-Agents

Context Engineering is effectively the #1 job of engineers building AI agents.
上下文工程实际上是构建 AI 代理的工程师的头号任务。

方法

  • 上下文写入意味着将其保存在上下文窗口之外,以帮助代理执行任务。
  • 上下文选择意味着将其拉入上下文窗口,以帮助代理执行任务。
  • 上下文压缩涉及只保留执行任务所需的token。
  • 上下文隔离涉及将上下文拆分以帮助代理执行任务。
    20250707163001

写入

  • 上下文写入意味着将其保存在上下文窗口之外,以帮助代理执行任务。
  • 当人类解决任务时,我们会做笔记并记住未来的相关任务。
  • 笔记 → 暂存区
  • 记住 → 记忆

暂存区

  • 在代理执行任务时保留信息
  • Anthropic 的 multi-agent researcher

    LeadResearcher 首先思考方案并将其计划方案保存到记忆中以保留上下文,因为如果上下文窗口超过 200,000 个令牌,它将被截断,并且保留计划很重要。
    使用运行时状态 state 对象或文件。

记忆

20250707163843

选择

  • 上下文选择指的是将其拉入上下文窗口以帮助代理执行任务。

暂存区

  • 工具调用
  • 从状态读取

记忆

工具

  • 基于工具描述的 RAG:最近的论文表明这可以提高3倍的选择效率。

知识

压缩

  • 上下文压缩涉及只保留执行任务所需的token。

总结

修剪

隔离

  • 上下文隔离指的是将其拆分以帮助代理执行任务。

多智能体

[Subagents operate] in parallel with their own context windows, exploring different aspects of the question simultaneously.

[子智能体]在各自的上下文窗口中并行运行,,同时探索问题的不同方面。

20250707172716

环境

huggingface Open-source DeepResearch – Freeing our search agents

20250707172724

状态 State

上下文工程 + LangGraph

Tracing + Eval (链路追踪和评估)

写入

暂存区

记忆

选择

暂存区

  • 在任何节点中检索状态 State

记忆

工具

知识

压缩

总结 + 修剪

隔离

多智能体

环境

状态

状态对象(State object): Overview Define graph schema

总结

  • 上下文写入意味着将其保存在上下文窗口之外,以帮助代理执行任务。
  • 上下文选择意味着将其拉入上下文窗口,以帮助代理执行任务。
  • 上下文压缩涉及只保留执行任务所需的令牌。
  • 上下文隔离涉及将其拆分以帮助代理执行任务。
    20250709103436