SuperAPI AI 工具集

decision-model-setup

智能体与模型

查看项目

更新于 10-27 23:54

技能介绍

用途

决策模型(decision model)回答关于 Open Second Brain 交给它的文本的类型化问题(是/否概率、从列表中选择一个、在量表上的位置),并且从不生成文本。Open Second Brain 仅用它来在自身代码产生的候选项之间做选择:哪些搜索结果排在前面、提供哪些技能、宿主应挖掘哪些转录轮次、注入哪些召回笔记,以及去重、张力、标签和可回答性提案旁的咨询性判定。它从不写入 vault。

该功能默认关闭。没有它时,Open Second Brain 的行为与今天完全一致,且不进行任何网络调用。完整参考见 docs/decision-models.md(枢纽,含逐用途表格)和 docs/decision-models/providers.md(每条路由)。

对于概念性问题(“什么是 Jev”“这值得吗”“哪条路由更便宜”),请从文档回答,不要做任何更改。仅当用户想要设置、测量或关闭它时,才执行以下步骤。

主要能力与使用方式

第 1 步:始终从 check 开始

o2b decision-model check

它会打印状态(disabled、no_key、disabled_by_vault、invalid、active)、provider 和 processor、密钥变量的名称以及是否已设置(从不打印值)、每个用途及其配置的模式、阈值配置、enforce 以 shadow 运行的用途、每日成本闸门,以及一行仅指出缺失项的提示。退出码 1 表示配置无效或 ping 失败;先修复被指名的密钥。

第 2 步:选择路由

询问用户想要哪条路由;绝不要替他们选择。

  • TypeSafe(typesafe):直接使用模型供应商。
  • OpenRouter(openrouter):通过 OpenRouter 使用同一模型。
  • Vercel AI Gateway(vercel 为兼容路由,vercel-evaluate 为网关自有的 evaluate 端点)。
  • OpenCode Zen(opencode-zen)。
  • 回环自托管(laya、openjev,或通过 decision_model_base_url 配置在 localhost、127.0.0.1 或 ::1 上的兼容服务):没有任何数据离开本机。laya 和 openjev 在回环上不需要密钥。检查模型的许可证(当权重带有使用限制时,check 会打印许可证说明)。安装服务器是用户自己的事;本技能不下载权重。
  • llm-emulation:一个仅被要求给出概率的生成式聊天端点。未校准、成本高得多,仅用于 shadow 评估。绝不要建议将其作为默认。
  • Converse 网关(converse):一个使用 bearer 认证、讲 Bedrock 风格 Converse 协议的网关。与 llm-emulation 一样未校准(网关背后的模型自行写出概率),因此 enforce 需要 decision_model_allow_uncalibrated,且其 converse 阈值配置尚无调优用途,所以每个 enforce 都作为 shadow 运行,直到从该路由自身的 shadow 数据调优。基础 URL、模型 id 和密钥变量由用户设置。绝不要建议将其作为默认。

兼容服务器在 decision_model_threshold_profile 指明其所服务的模型家族之前不强制执行任何内容;在此之前每个 enforce 都作为 shadow 运行,check 会说明这一点。

第 3 步:密钥,仅按名称

密钥存放在运行 Open Second Brain 的环境的环境变量中(shell 配置文件、宿主的 env 文件、密钥管理器)。机器配置只保存变量名:

decision_model_enabled: "true"
decision_model_provider: <preset>
decision_model_env_key: <VARIABLE_NAME>   # 名称,绝不是密钥
decision_model_uses: "<use>:shadow"

绝不要把密钥写入配置、vault、受跟踪文件或聊天中。绝不要回显它。请用户自行设置变量,然后重新运行 check。

配置位于 vault 之外(机器配置);vault 的 Brain/_brain.yaml 只能关闭该功能,绝不能开启。

纯 http:// 仅在回环上被接受。对于没有 TLS 的其他主机,在用户设置 decision_model_allow_insecure_http 之前,先解释其含义(文本和密钥以未加密方式穿越网络)。

然后用一个不携带任何 vault 内容的合成请求验证连通性:

o2b decision-model check --ping

第 4 步:一个用途以 shadow 运行

先让一个用途以 shadow 运行。Shadow 会发送并记录每个请求,但原样返回今天的结果,因此用户暂时看不到差别。选择与用户想要改进的内容相匹配的用途:

  • rerank:搜索排序(需要 search_rerank_enabled: "true" 和 search_rerank_kind: decision-model;配合语义通道才有回报)。
  • answerable:一个咨询性的“这些结果能否回答该问题”信号,由 rerank 请求携带。
  • skills:skills_attach 提供哪些技能。
  • extract_prefilter:extract-signals 信封携带哪些用户轮次。
  • recall_inject:提示时召回钩子注入哪些笔记。它会为每个注入的提示增加一个请求;请提及延迟。
  • dedup、tension、labels:对确定性检测器所做提案的咨询性判定(brain_hygiene scan、brain_tension verify、brain_labels suggest)。

每个用途在 docs/decision-models/ 下都有自己的页面。

第 5 步:测量,然后决定

在正常使用约一周后,读取数字:

o2b decision-model report --use <use>
o2b search rerank-eval --dataset <queries.json> --kind decision-model --compare-local   # 仅 rerank

report 打印调用次数、结果、延迟、token 和成本,以及该用途自己的评估指标。仅当该指标相对于确定性基线显示出增益且没有回归时,才建议 enforce。对于 extract_prefilter,enforce 需要零遗憾(过滤器本会丢弃的轮次中没有已提交信号);否则保持 shadow。切换到 enforce 是用户的决定,一次一个用途:

decision_model_uses: "<use>:enforce"

关闭它

以下任一方式:

  • 从 decision_model_uses 中移除该用途(或将其设为 off);
  • 在机器配置中设置 decision_model_enabled: "false";
  • 向 Brain/_brain.yaml 添加 vault 退出选项:
decision_model:
  enabled: false

取消设置密钥变量也会停止每个请求,除了无密钥的回环 laya 或 openjev 服务器,它们不需要密钥。

适用场景

  • 用户想要设置、评估或关闭 Open Second Brain 的可选决策模型功能。
  • 用户想要改进搜索排序、技能选择、转录轮次挖掘、召回笔记注入,或获得去重、张力、标签、可回答性提案的咨询性判定。
  • 用户想要在 shadow 模式下先测量效果,再决定是否切换为 enforce。

限制与注意事项

隐私与条款:在首次 shadow 运行前告知用户

Shadow 会发送数据。shadow 或 enforce 中的每个请求都会将 vault 文本(候选项、轮次或笔记)发送给 check 指名的 processor。

  • 私有页面绝不离开。带有 visibility: private 的页面和 <private> 区域绝不会被发送。其他所有内容都会被掩码、裁剪并通过共享的密钥脱敏,但非私有笔记中的姓名、电子邮件地址或路径会按原样发送;如果此类文本必须留在本机,请将其标记为 <private>。
  • 保留取决于 processor。模型供应商仅通过企业安排提供零保留;网关会添加自己的日志和保留条款。请将用户指向 processor 的条款:TypeSafe https://typesafe.ai/legal/privacy-policy,OpenRouter https://openrouter.ai/privacy 和 https://openrouter.ai/docs/guides/privacy/provider-logging,Vercel AI Gateway https://vercel.com/docs/ai-gateway/security-and-compliance/zdr,OpenCode Zen https://opencode.ai/legal/privacy-policy。回环自托管服务器将所有内容保留在本地。
  • 不对记录的答案进行训练。Open Second Brain 绝不在 decision_model_call 记录上训练、微调或蒸馏模型,且主要托管供应商的条款禁止训练模仿其输出的模型。请告知操作者不要在这些记录上构建此类模型。
  • 非英语 vault。托管决策模型在英语上最强。请根据每个 vault 自己的 shadow 数据评估,考虑多语言自托管模型,或保持 shadow。

本技能不做的事

  • 不写入、粘贴或回显密钥。用户自行设置变量。
  • 未经用户决定和 shadow 数字,不将用途切换为 enforce。
  • 不安装服务器或下载模型权重。
  • 不编辑 vault 的 _brain.yaml,除非用户要求添加退出选项。