加载中...
加载中...
上下文工程是把 Agent 每次推理看到的全部 token(指令、工具、知识、历史、记忆)当成一份有限的注意力预算来装配,目标是在预算内放入最小的高信号 token 集合。
上下文工程(Context Engineering)不再问「这句话怎么写得更好」,而是问「这一次推理,Agent 该看到什么、不该看到什么」。它把系统指令、工具定义、检索知识、会话历史、长期记忆当作一份有限的注意力预算来统一装配,目标是在预算内放入最小的高信号 token 集合。
测试一:上下文腐烂曲线(Context Rot Curve)
目的:量化无关上下文对任务准确率的影响,找出可用长度拐点。
指标:准确率衰减斜率(每增加 10K 无关 token 掉几个百分点)、拐点位置(超过多少 token 开始明显下滑)。
工具:promptfoo(https://promptfoo.dev)、OpenAI Evals、自建 Python 脚本。
测试二:工具描述膨胀实验
目的:验证工具数量与描述长度对工具选择准确率的影响。
指标:工具选择准确率(Top-1)、错误工具调用率、参数填错率、单次调用 token 数。经验拐点通常在 20-30 个工具之间,超过后应改为「工具分组 + 两阶段检索」。
测试三:大海捞针(Needle in a Haystack)
指标:按位置分组的召回率,重点观察 50% 中间位置是否为最低点。
工具:Needle in a Haystack 测试集(https://github.com/gkamradt/LLMTest_NeedleInAHaystack)、RULER 基准(https://github.com/NVIDIA/RULER)。
测试四:上下文消融(Ablation)
指标:准确率下降幅度即该块上下文的价值;下降不明显的块就是在白占 token,直接精简。
坑点1:把上下文工程等同于压缩历史
压缩是最后手段。真正的问题是「一开始就不该塞进去」。正确顺序是先做消融,删掉低价值块,再考虑压缩。压缩有损,细节一旦丢失无法恢复。
坑点2:工具 schema 是隐形 token 黑洞
30 个工具、每个 schema 200 token,就是 6000 token,每次请求都要付,而且工具越多模型选错概率越高。建议按场景分组加载,或先检索工具、再加载 schema。
坑点3:只用单轮准确率评估,忽略长会话衰减
Agent 是多轮的,第 1 轮与第 20 轮的准确率可能差很多(历史累积 + 上下文腐烂)。评估必须跑「同一会话连续 20 轮」的衰减测试,而不是 20 个互相独立的单轮请求。
「分享到微信」:手机浏览器打开时一键调起系统分享面板,选择微信即可分享到朋友圈或聊天。电脑上回退为复制文案。
暂无留言,来说两句吧