目标

这是什么?

目标(Objective)扩展允许用户为 AI 指定一个在对话过程中努力达成的目标。这个目标会被拆解为按步骤执行的任务。任务可以分支,子任务可以自动或手动创建,从而能够构建出复杂的任务树。列表中每个任务的完成状态都会在特定的时间间隔被检查。

这与通过提示词添加静态指令不同——它会为 AI 提供一系列按节奏推进的指令,无需用户介入。它带来了一种更真实的体验,让 AI 自主地朝着目标努力。

前置条件

在开始之前,请确保你已满足以下前置条件:

  • 确保你使用的是最新版本的 SillyTavern。
  • 从扩展面板(堆叠方块图标)中的“下载扩展与素材(Download Extensions & Assets)”菜单安装“目标(Objective)”扩展。

常见用例

你的想象力就是唯一的限制——你可以给 AI 设定任何想要的目标,它会自行规划如何达成。你可以让它规划如何斩杀一只恶魔、洗劫一座神庙、举办一场盛大派对,甚至接管整个世界。

目标设置面板
目标设置面板

配置

  • 该扩展位于扩展菜单中的“目标(Objective)”下。

  • 在顶部的文本框中输入一个目标,然后点击 Auto-Generate Tasks。这会向已连接的 API 发送请求,要求它根据你输入的目标提供一份相匹配的任务列表。

注意:点击 Auto-Generate Tasks 会先删除当前所选目标下的所有现有任务,再添加新任务。

  • 收到 AI 的回复后,会在目标输入框下方的区域自动创建一份任务列表。任务创建后可以再进行编辑。

  • 面板底部有两个框:Position in ChatTask Check Frequency

    • Position in Chat - 用于设置你希望当前任务插入到提示词的聊天内容部分中的“深度”。数值越小,AI 对该任务的关注度越高。设为 0 会让该任务成为 AI 心中的首要事项。设为较高的值会将任务置于背景,让 AI 专注于手头的对话,但如果设置得过高,可能导致 AI 永远“抽不出空”去处理该任务。
    • Task Check Frequency - 用于设置你希望 AI 检查任务是否已完成的频率。如果设为 3,AI 会被询问当前任务是否已完成,每 3 条消息一次。
  • 目标、任务及其描述会实时保存到当前对话会话中。自定义提示词则是全局保存的。

自定义提示词

你可以自定义发送给 LLM 的提示词,用于生成任务、检查任务完成情况以及提示词注入。编辑提示词会将其保存到当前会话。自定义提示词也可以保存和加载以实现持久化。

  • 点击 Edit Prompts 打开提示词编辑器窗口,你可以按需编辑提示词。
  • 要保存提示词,请输入一个名称并点击 Save Prompt。
  • 要加载提示词,请从下拉列表中选择该提示词。
  • 要删除已保存的提示词,请从下拉列表中选中它并点击 Delete Prompt。

警告:任务检查会在单独的 API 请求中进行。将 Task Check Frequency 设为 1 会使你调用 LLM 服务的 API 次数翻倍。如果你使用的是付费服务,请谨慎设置。

使用方式

默认情况下,目标扩展会自动跟踪所有任务及其各自的完成状态。

用户也可以随时手动创建、更新、删除和完成任务。

当前任务选择

当前任务始终是列表中的第一个未完成任务。对任务的任何手动更新都会触发一次重新检查,以确定当前任务应该是哪个。因此,如果你在一批已完成的任务上方添加了一个任务,它就会被设为当前任务。一旦它完成,之前已完成的任务会被跳过,下一个未完成的任务会被选为“当前任务”。

在任务树中使用父/子任务时,任务的选择遵循深度优先原则,即所有子任务会先按顺序被选中,然后才会继续遍历当前目标/任务的任务列表。

分支任务

点击 Branch Task 按钮,可将当前任务设为一个目标,随后你可以为其自动生成或手动创建子任务。你可以继续将任何子任务转化为目标,并随心所欲地不断生成。

将一个父任务标记为完成会导致扩展跳过其所有子任务。当所有子任务都完成时,父任务也会被标记为完成。

手动完成任务

你可以通过 点击任务旁边的复选框 来手动切换任务的完成状态。这会选中下一个未完成的任务。

手动任务检查

如果你想手动触发 AI 检查任务完成情况,请点击 Extras 扩展按钮(聊天输入栏右侧的 魔法棒),然后选择 Manual Task Check

手动任务检查
手动任务检查

手动添加任务

当不存在任何任务时,会显示一个 Add Task 按钮,允许你手动创建第一个任务。

如果已存在其他任务,请点击任意任务右侧的 + 按钮,在其后插入一个新任务。

删除任务

点击红色的 x 可删除一个现有任务。系统会自动选中下一个未完成的任务作为当前任务。

删除一个带有子任务的任务会连带删除其所有子任务及后代任务。

隐藏任务

如果你不想知道 AI 正在尝试完成哪些任务,请勾选 Hide Tasks 复选框以隐藏任务列表,让 AI 的意图成为一个谜。若要达到 100% 的神秘效果,请在点击 Auto-Generate Tasks 之前先执行此操作!