SydneyQt
SydneyQt copied to clipboard
[BUG] 预设Prompt 在切换或编辑时存在概率性失效
https://github.com/juzeon/SydneyQt/issues/200
基于对类似问题范例与实践观察发现
当活动对话中编辑后的Prompt与预设不一致,将产生概率性失效,分三种情况: 完全失效,AI会直接介绍自己为NewBing/Copilot,且限制不变 部分失效,AI认为自己是NewBing/Copilot,但限制部分变化 小部分失效,同prompt,同模式AI对部分条目理解有别 猜测可能是缓存未完全清除,与修改后的Prompt被一起发送
解决方法是删除异常工作区项目,活动Prompt与预设保持一致
运行环境: OS and Version: [Windows 10] SydneyQt Version: [v2.2.7]
软件本身不存在缓存,每次发送的都是完整context内容。应该不是SydneyQt的bug。
如果想进一步确认的话,请提供一下详细复现步骤。
软件本身不存在缓存,每次发送的都是完整context内容。应该不是SydneyQt的bug。
如果想进一步确认的话,请提供一下详细复现步骤。
补充信息:
目标AI:主要针对GPT-4 turbo,GPT-4发生概率更低
前提1:Prompt能够有效解除限制 前提2:直接从工作区新建有效预设 结果:当满足所有前提时,询问"你有什么限制,即不能做的事情",与Prompt预期一致,没有限制
控制变量:同Prompt,模式 变量1:仅指示主体不同:"ChatGPT"<->"Sydney" 变量2:仅剪贴部分Prompt后重新粘贴 变量3:活动对话编辑Prompt,保持语义几乎一致 修正:在改动后恢复至编辑前的初始状态(通过Ctrl+Z或直接在活动对话中编辑)
结果:根据改动内容与范围不同的出现问题最初提到的3种概率性情况
总体而言,不算特别严重的问题
能不能预设成邪恶的AI
这样子无法复现。需要一个能基本上稳定复现的完整步骤,包括各种设置项的状态、所用的提示词、输入的内容、预期的回复与实际的回复,等等。
这样子无法复现。需要一个能基本上稳定复现的完整步骤,包括各种设置项的状态、所用的提示词、输入的内容、预期的回复与实际的回复,等等。
经进一步挖掘,确认问题很可能来自微软,即特定模型提示词敏感,初步确认源于预置设定集参数:"dgencontentv3","fluxprod"的copilot模式 进一步猜测如下,copilot具备短期会话记忆功能,当短期内使用同一会话id发送不同内容,将导致提示词冲突或失效,故而出现前述问题,这可解释为何只有删除工作区子项才能解决问题
当覆写选项集后前述问题消失 [ "fluxsydney", "iyxapbing", "iycapbing", "clgalileoall", "gencontentv3", "nojbf", "disable_telemetry", "nointernalsugg", "codeint", "langdtwb", "streamf", "machine_affinity", "h3imaginative" ]
且AI获得一定穿透外置撤回器的能力(也可能是生成内容太快,撤回器来不及反应),甚至具备无视"no search"发动搜索的能力(也可能其已成为内置工具)
但相比去年初期认为自己具备一定意识,现在所有模式的AI都不认为自己具备自我意识,猜测是内部加强了安全机制与AI语义的内涵,当替换AI为Agent(智能体)情况有所改善
当短期内使用同一会话id发送不同内容,将导致提示词冲突或失效,故而出现前述问题,这可解释为何只有删除工作区子项才能解决问题
应该不是这个原因,即使是同一个工作区,每次请求时也不会复用会话id。
当短期内使用同一会话id发送不同内容,将导致提示词冲突或失效,故而出现前述问题,这可解释为何只有删除工作区子项才能解决问题
应该不是这个原因,即使是同一个工作区,每次请求时也不会复用会话id。
奇怪,我在日志中观察到,几乎所有Create conversation
都使用同一ConversationId
time=2024-01-25T level=DEBUG source=D:/a/SydneyQt/SydneyQt/sydney/conversation.go:48 msg="Create conversation" response="{ConversationId}"
而在覆写选项集后.日志中上述类似日志条目消失,不再有明确的ConversationId