A:有的渠道 Claude 限制输入 10000,用上这个后随便你怎么输入都行,实测酒馆 10 万总 token 情况非常正常,按道理总 token 还能更高,上下文应该是十几万,懒得自己测试。无降智 / 不看世界书 or 预设 / 被截断 / 拒绝按照提示词要求回复 的情况。
Q:那 AI 咋知道上下文什么时候该回复呢?万一 AI 傻了,不知道自己处于哪一段呢?
A:不可能,加了一堆东西避免,但是解释出来没啥意义,用就完事儿了。
Q:为啥呀,咋做到的?
A:原理只是把单 role 拆成多 role。此代理做的事情为:将用户 / 角色 / 系统提示词三类消息分别加上前缀后,按照顺序(正常在酒馆使用 API 的时候上游收到的总 token 是什么顺序的请求,这边也一模一样)拍扁到一起,每 2000-2500 token 分成一条 user 消息,插入一条假的 ass 消息,同时计数 x/y,保证 AI 明白回复时机和应该回复内容,提示词和内置正则保证 AI 不会输出废话。
此流程为静默发生,最终效果和正常渠道基本上调用是一样的,实际 API 调用只有一次,AI 依旧是一次性看完你发的几万或者十几万上下文然后正常回复,并且知道最新输出和历史上下文的区别。能分清楚系统提示词,能知道哪些是自己的回复。不会因为拆成多 role 产生多余时间(最多 2 秒吧),如果时间久,那是上游问题,和此代理无关 ❤️
限制
输入无限制。输出的话,如果 AI 一次性回复超过 9000 字符(正常玩酒馆的话不会超过,自己看一下你平常收到的 AI 回复的单条 token 数量)会被代理优雅截断,按通用流程当做上一条上下文让 AI 继续回复完。这个是真救不了,尽可能一次性不要超过 9000 字符。
PS
酒馆总 token 10w 实测下来,AI 从生成的第一个字开始就完全按照酒馆的预设提示词代入身份在编写了,和调用正常渠道 API 的使用感完全一致。对话了十几轮一切正常,反正总上下文十几万应该 OK。