AI Agent 的提示词越塞越厚,我们在做减法

技能多了提示词变垃圾场——我们改成按需检索注入,顺带修了中文渲染和「搜一次就下结论」的毛病

2026-09-24 · Leo · 技术实践 · 6 分钟阅读
TL;DR — 一个 Agent 产品用久了,系统提示词会变成垃圾场:每加一个技能就塞一段说明,加到几十个技能时大量内容当前用不上。最近我们做了三个改动:①技能说明从「启动时全量注入」改为「每轮检索命中才注入」,没命中回退全量,不丢能力;②中文标签渲染默认按 3 倍分辨率导出(实测 1 倍 124×224 糊、3 倍 367×667 清楚);③给 Agent 加「至少换一种说法搜两次再下结论」的纪律。本文说做法,也说边界。
⚠️ 本文是通用工程实践分享,不含具体客户案例与使用数据。技术选型按你们自己的场景评估,文中数字均为我们的实测环境,换环境要重测。

从「全量塞」到「按需取」

原来的做法:启动时把技能目录整体写进系统提示。每加一个技能,就往提示词里塞一段说明。加到几十个技能时,每次请求都带着大量当前用不上的内容——占 token,也稀释模型注意力。

现在的做法:每轮对话先做一次检索,只把命中的前几个技能(名称 + 描述)注入;没命中就回退到完整目录,保证不会因为检索失败而丢能力。

用一个具体场景说差别:用户在飞书里问「怎么把审批流接到钉钉」,这轮只需要「钉钉接入」和「审批流配置」两个技能的说明,不需要把绘图、语音、文件处理那几十个技能的说明全带上。

这不是新概念,检索增强在很多场景都用。但把它用在「技能注入」这个位置,效果比想象中直接——提示词短了,模型的注意力也更集中。

一个实测细节:中文标签的渲染分辨率

我们给 Agent 加了画图能力,可以输出流程图、架构图这类图形。做的时候踩了一个坑:图形引擎默认按 1 倍分辨率导出 PNG,英文标签没问题,中文标签糊。

导出倍率三节点图实测尺寸中文标签
1 倍(默认)124×224 像素❌ 笔画糊成一团
3 倍367×667 像素✅ 正常显示

所以现在默认按 3 倍导出。这个数字没有理论依据,就是试出来的——中文笔画密,低分辨率下笔画会糊成一团。别信默认值,用你们自己的图实测。

另一个取舍:图形引擎只留一个,把之前试过的另一套路径砍掉了。两套并存的时候,维护成本和出错概率都是双份。

让 Agent 别急着下结论

这是行为层面的改动,不是功能。我们给系统提示里加了一条纪律:只搜一次就下结论是不允许的,至少换一种说法再搜一次。

原因很实际。搜索类任务里,第一次没搜到,很可能是关键词选错了,而不是「这个东西不存在」。只搜一次就回答「没有」,是最常见的错误来源。

这条纪律还要求区分两种情况:「判据错了」和「数据错了」。比如用户问「有没有支持 XX 的产品」,搜不到时,要先想是不是自己搜的词不对,而不是直接说「没有这样的产品」。这条纪律做成了开关,可以按场景开或关。

还改了什么

稳定性方面的工作占了大头,多数不适合展开讲,挑两个能说的:

写在最后

上面这些,都是我们自己产品里的能力和稳定性改进。没有客户案例,没有使用数据——产品上线时间还不长,这类数字编不得。

如果你们在做类似的 Agent 产品,有两个点可能值得参考:技能注入可以做成检索式的;中文渲染的分辨率要实测,别信默认值。

💡 延伸阅读:接 IM 平台的实操见《企业 IM 里直接调 AI Agent:4 步搞定飞书/钉钉/企微接入》;落地前的安全边界看《AI Agent 权限与数据安全:企业落地必踩的 7 个坑》。