Nextchat中{{ 预设提示词 }}的一些关注点

使用Chat UI而不使用网页的一大优势是 预设提示词的自由度,可以随时在对话过程中把一些重要对话记录提升到预设级别,让bot随时在最新的上下文信息中交互。
简单例子,例如
User: xxx
Bot: xxx
User: xxx (重要问题)
Bot: xxx (很酷的回答)
User: xxx
Bot : xxx


(很多轮会话)

假设其中一轮对话产生了精华片段,我可以把这轮对话提升到“预设提示词”级别,让模型以此为基准信息继续交流。这就很nice。 (例如写一个项目,不断以最新代码为基准)

这方面,在nextchat中使用openai 的 GPT似乎完全没有问题。但如果是claude,确实会存在大量丢信息、丢记忆的问题。(无论设置为system, 还是预设的user\assistant轮替),以以下为例:

  1. 故意设置了多个system级别的提示词,预设他有多项技能。(有人说为什么不把所有内容放在一个system里,是因为想模拟在对话中不断产生的精华片段,append到预设列表中,这样是更简明和方便的…)

  2. 可以看到GPT4o, 精准吸收了所有的预设提示信息,也就是能不断给它背景资料。*这种玩法也契合了前两天的dp硬盘缓存策略
    以下为GPT4o:

  3. 但是为毛claude不行,给一堆system (或者是user / assistant预设),效果还是不行,它记不住! 不知道是什么约束,似乎只能记得少量的几个提示词。这就影响体验了。
    以下为claude:

佬们有没有什么解决方案。

1 个赞

因为claude只支持一条system预设

4o这个感觉像是记忆

那看来只能都塞在一条提示词里了。放在user/assistant似乎效果也不好。

标准的OpenAI系都没啥问题

NextChat要把附带的历史消息数和消息压缩长度阈值拉满

Claude3.5实际体验效果还是不错的

claude只能塞一条system

claude 能力没毛病,写代码太舒服了

收到,佬

帮顶,看大佬怎么说

System Prompt 属于『指令』一般一段就足够(可以写很长很详细)。

但指令无法违抗系统的设定。

而 Assistant 属于『引导』除了做示范之外还可以把模型带偏。


1 个赞

好科普,学习了。

那我文中的示例,可以两种处理方式。
一是把4个技能作为指令放在一个system prompt中。
一个是通过user assistant轮替方式,引导他让自己预设4个技能。
看来可能第二种效果更好。到时我去试试。

From #develop:ai to 资源荟萃