SillyTavern上下文怎么设置,说到底是把角色卡里的字段按“必须每轮都在”和“命中才出现”分好类,再定谁先谁后、塞在第几条消息的位置上。窗口是有限的,常驻内容越多,对话历史被挤得越厉害,角色就越容易忘掉前面发生的事。所以先定字段预算,再排顺序,最后才谈世界书条目的触发。

角色卡字段预算怎么分:常驻、触发与消耗三层

角色卡进入模型视野的方式并不一样,先按“每轮都在”“命中才来”“出现一次就走”分成三层,字段预算才有地方可省。

常驻层是人设、说话风格、当前关系与边界底线。它们每一轮都要重新发一遍,占的是固定开销,判断标准很简单:这条信息如果漏掉一轮,角色会不会立刻演错?会,就留在常驻层;不会,就搬去世界书。很多人写卡时习惯把背景故事、家族史、地理志一起塞进人设,结果常驻开销翻倍,能留给对话历史的额度被压掉,演到二三十轮就开始忘事。

触发层是挂在角色卡上的世界书条目。它平时不占位置,只有扫描到触发词、或者按概率命中时才进场。适合放进去的是地点、组织、配角、往事这类“提起来才有用”的内容。

消耗层包括示例对话、开场白和快捷指令。示例对话用来校准语气,进场几轮之后容易被历史推出去;开场白只在第一轮出现,每条不超过 300 字;快捷指令由用户手动触发,属于临场调料。

还有一条容易被忽略的边界:AI 没有真实情感,它能保持称呼和语气连贯,但不能替代现实关系。如果角色设定涉及情绪困扰类的剧情,记得在边界字段里留一句引导——遇到严重情绪困扰时,建议告诉身边的人,或者寻求专业帮助。

SillyTavern上下文怎么设置:三个旋钮与字段对照

真正要调的只有三个旋钮。

第一个是历史保留多少轮。轮数越大,角色越记得住刚才发生的事,但常驻内容和命中条目会一起被挤。判断方法是:如果剧情靠“上一轮的具体台词”推进,就往大调;如果靠长期关系状态推进,就把关系写进常驻层,轮数可以收着点。

第二个是插入位置与深度。同一条设定,贴在系统区最前面和插进历史中间,效果完全不同。身份、底线这类要一直管着角色的,放前面;临时气氛、场景细节,插得靠近当前对话更自然。

第三个是扫描深度与条目排序。扫描深度决定往回看几条消息找触发词,排序决定多条同时命中时谁先谁后。名字、地点这类高频词适合浅扫描;一次性的往事适合深扫描加靠后的位置。

角色卡字段 进入方式 建议位次 写法要点
人设 每轮常驻 1 只留会改变行为的信息
说话风格 每轮常驻 2 句长、称呼、禁语各一条
关系设定 常驻或条目触发 3 写清当前档位,不写“慢慢”
边界底线 每轮常驻 4 写成行为句,不写成口号
世界书条目 关键词或概率触发 按需 一条只讲一件事
示例对话 常驻或按深度插入 靠后 一段只校准一件事
开场白 首轮出现一次 最末 每条不超过 300 字
快捷指令 用户手动触发 临时 指令名尽量短

想直接试一试?

进合欢主站选一个角色,把上面的内容用起来。可免费试用,进阶能力按平台规则计费。

免费开始演绎

可复制的上下文分层模板与四步落地

角色卡上下文分层模板
【常驻层|每轮都在】 角色定位:[一句话,说清他此刻是谁] 当前关系:[称呼 + 关系档位 + 一个动作许可] 硬约束:[三条以内,写成行为句,例如“被追问时会沉默两秒”] 语气:[句长 + 称呼习惯 + 一条禁语] 【触发层|世界书条目】 [前缀:地点] 触发词:[词1, 词2] 插入位置:[系统区/历史中段] 排序:[数字] 内容:[四行以内,只讲一件事] [前缀:配角] 触发词:[名字, 绰号] 插入位置:[历史中段] 排序:[数字] 内容:[四行以内] 【消耗层|按需出现】 示例对话:[一段,只校准语气] 快捷指令:[指令名 → 它做什么] 开场白:[第一幕要发生的事,控制在 300 字内]
  1. 先算常驻开销:把想写进人设的句子逐条问“漏掉一轮会不会演错”,答不上来的挪去世界书,这一步就是在定字段预算。
  2. 再排常驻内部的顺序:按“身份 → 关系 → 约束 → 语气”排,越靠前越优先被读到。
  3. 然后挂触发条目:每条只写一件事,给触发词、插入位置和排序各填一个值,避免几条共用一个词。
  4. 最后做一次对照测试:开一局新会话走五轮,看角色是否在第二轮就正确用上称呼、是否在提到某个地点时把条目内容说出来;哪一条没出现,就先动它的触发词,再动排序。

概率触发、扫描深度与排序:什么内容该留在世界书

关键词触发适合“用户一提到就必须出现”的内容,比如地点名、配角名、门派名。把词选得具体一点,别用“他”“那里”“那天”这种每轮都冒出来的词,否则条目会一直进场,等于变相增加常驻开销。

按概率触发适合气氛类的内容,比如街头见闻、天气、路人的闲话。这类信息不是每轮都需要,偶尔出现反而更像真的。概率调得太高,它会变成背景噪音;调得太低,写了等于没写。可以先用一个中间值跑十轮,看它出现的次数是否合你的意,再上下微调。

扫描深度决定往回翻几条消息找触发词。数值小,条目响应快,但用户隔了几轮再提同一个词可能就不响应了;数值大,命中更稳,代价是更多内容被拉进窗口。稳妥做法是:核心地点与人物用较深的扫描,装饰性条目用较浅的。

排序解决的是“同时命中怎么办”。把最不能丢的条目排前面,把可有可无的排后面。如果两条内容经常一起出现并且互相矛盾,那就不是排序问题,是条目该合并或该拆词了。

上下文设置的四条反例与改法

反例一:人设写成小传。把出身、师门、三场大战全写在人设里,常驻开销被吃满,历史轮数一压,角色反而记不住刚才说过的话。改法:人设只留此刻能演出来的部分,往事拆成事件条目,用关键词唤回。

反例二:五个条目共用一个触发词。一提“师父”,五条同时进场,内容互相打架,角色的态度前后矛盾。改法:一条讲一件事,触发词错开——人称交给关系字段,往事交给事件条目,口头禅交回说话风格。

反例三:把每轮都要用的语气写进示例对话。示例对话会被历史推出窗口,语气也跟着丢。改法:语气提回常驻层,示例只留一两段,用来校准具体场景的节奏。

反例四:把上限当成目标。有人觉得条目越多越好、轮数越大越好,结果窗口里塞满寒暄和无关设定,早期内容反而被稀释。改法:把关键设定写进角色卡,其余按需唤回,让字段预算留出余量。

从本地迁到网页版:上下文怎么接续

如果你在 SillyTavern 里已经把分层理顺,迁到网页版时不必重写。合欢AI 支持导入 SillyTavern 角色卡 JSON 和世界书,自建角色可以在创作里填人设、开场白、世界书等字段;世界书条目支持关键词触发和按概率触发,可以设置插入位置、扫描深度和排序,跟前面讲的三个旋钮一一对得上。开场白一个角色最多 10 条,每条不超过 300 字,正好可以把第一幕拆成几个可选入口。

迁移后的落地顺序建议这样:先导入角色卡,确认人设、说话风格、关系、边界四块常驻内容都在;再挂世界书,逐条核对触发词与排序;最后开一局新会话走五轮,验证称呼和场景条目有没有按预期出现。会话保存在云端,登录同一账号换设备可以接着聊,常驻层写得干净,换设备后续聊的落差就越小。可免费试用,进阶能力按平台规则计费,以产品内显示为准。

常见问题

SillyTavern上下文怎么设置才不会让早期设定被冲掉?

把关键设定写进角色卡的常驻层,而不是指望对话历史兜住。人设、说话风格、关系档位、边界底线每轮都会重新进场,历史被挤压也不会丢;背景、地点、配角这类信息拆进世界书,用触发词按需唤回。轮数调大只解决“记得刚说过什么”,解决不了设定被稀释。

常驻层写多少字比较合适?

没有固定数字,判断标准是每条是否都会改变角色的行为。只留能演出来的信息,形容词、履历、世界观概览都可以挪走。常驻层越干净,留给对话历史的额度越多,角色在十轮之后越不容易崩。宁可多拆几条世界书,也不要把人设写成小传。

世界书排序和插入位置怎么定?

先看这条内容该管多久。一直管着角色的底线、身份,放系统区靠前;只影响当前场景的气氛与细节,插在靠近当前对话的位置更自然。排序上越靠前越优先被读到,把最不能丢的那条排在最前。同一个触发词尽量只对应一条,避免几条同时进场互相打架。

长会话里角色开始忘事,先改哪里?

先分辨是忘了刚说的话,还是忘了设定。前者是历史额度问题,可以适当加大保留轮数;后者多半是常驻层没写清,把关系档位、称呼、关键约束提回人设,再把往事拆成世界书条目。改完开一局新会话走五轮验证,不要在原会话里反复试探,那样很难判断是哪一层出的问题。

关于本文:由合欢AI 内容团队整理,最后更新于 2026-10-22。文中产品能力以合欢主站内实际提供为准;第三方产品名称归其各自所有者。