V2EX用户发帖提醒自建反向代理使用pi、opencode等AI编程工具的开发者注意代理层的潜在问题。该用户察觉长对话质量存在瑕疵后,研究了多个反代和中转站的源码,发现几乎所有反代都采用相同逻辑:当识别到请求来自非Claude Code的Agent时,代理会将原始system指令搬移到user角色中,但并不会把所有消息都改为user。这意味着pi、opencode等非Claude Code工具发出的所有system消息,都会被降级为user角色处理。[System Instructions]只是文本标签,无法保留system指令应有的优先级,导致模型对指令的遵循程度下降,长对话中的瑕疵可能正源于此。该用户还指出,Codex同样存在类似的伪装处理逻辑,但这种角色转换实际上破坏了工具原本的调用行为。作者建议,如果使用GPT模型,直接用pi连接即可,反代在此场景下没有价值。这一发现揭示了API代理层兼容性处理中的隐性问题:反代为了让不同工具适配不同模型接口而对消息角色进行的改写,在部分场景下会系统性损害模型表现,且用户难以察觉。
事件分析
核心观点:反代看似无损的协议转换实为有损操作,system角色一旦降级,Agent能力便在无形中悄然折损。
原文链接:V2EX 分享发现

评论前必须登录!
立即登录 注册