昨天我优化了一个提示词类技能,核心不是让它写出更漂亮的 prompt,而是让它先知道“自己现在运行在哪个 agent 里”。这个问题看起来细,但其实影响很大。一个技能如果靠路径、上下文或者命名来猜当前环境,短期能跑,长期一定会混乱。
我的判断是:身份应该由适配器明确注入,而不是由技能自己猜。比如同一套能力被同步到不同工作台时,本地适配器应该告诉它:你现在是面向哪个 agent 的版本。用户显式指定目标时,用户优先;没有指定时,适配器身份优先;再不行才用路径推断;最后才询问。
为什么要这么做?因为跨 agent 的技能最怕“看起来通用,实际各说各话”。不同 agent 对提示词的偏好、工具能力、上下文注入方式都不一样。如果技能不知道运行身份,它就可能生成一份对当前环境并不合适的指令。
长期来看,这个改动的价值是把“智能猜测”换成“明确契约”。契约一旦清楚,后续同步、安装、调试都更容易。技能不需要每次重新理解自己,用户也不用反复提醒“这是给哪个工具用的”。这类小基础设施,越早做,后面越省心。