在大型语言模型(LLMs)的领域中,Context Engineering(上下文工程)是一项关键而精细的任务,尤其在构建强大高效的AI智能体时更是如此。它涉及精心筛选和向LLM的“内容窗口”提供恰当的信息,以确保后续步骤能达到最佳性能。正如Andrej Karpathy所比喻的,可将LLM视为一个复杂的操作系统。就像计算机的CPU依赖RAM作为工作内存一样,LLM在“内容窗口”这个主要工作区中处理信息。然而,这个内容窗口是有限制的,上下文工程正是为这个窗口精心筛选和提供恰好所需信息的过程,确保LLM拥有执行后续步骤所需的一切,且没有多余的信息。
塑造LLM行为的上下文类型
上下文工程是一个涵盖多种内容类型管理的总称,这些内容会输入到LLM的上下文窗口中,主要包括以下几类:
- 指令
:这包括核心提示、有价值的少样本示例,以及对LLM可使用的任何工具的关键描述。
- 知识
:涵盖LLM需要访问的一般事实、特定记忆以及任何领域特定数据。
- 工具
:指LLM在运行过程中通过工具调用生成的动态反馈和输出。
糟糕的上下文工程带来的隐藏成本与挑战
不当的上下文管理是LLM性能的隐形杀手,尤其对于那些参与长期任务或积累了大量工具调用反馈的复杂智能体而言。其后果可能非常严重:
- 内容窗口超限
:填满了有限的窗口。
- 成本和延迟增加
:数据越多,处理时间越长,运营成本也越高。
- 智能体性能下降