第6章 thinkingLevel 思维层级体系
6.1 六档体系:off/minimal/low/medium/high/xhigh
Pi 真实存在 思维层级机制,档位比网传版本描述的"三档"更细,是六档:
| 档位 | 适用场景 |
|---|---|
off |
完全关闭推理,适合完全不需要推理的简单指令 |
minimal |
最低程度推理,极轻量任务 |
low |
简单问答、固定话术、格式转换 |
medium |
常规编码任务(多数模型默认档位) |
high |
复杂逻辑推理、多文件重构 |
xhigh |
最高强度推理(部分模型如 GPT-5.2/Codex 系列专属档位),适合"宁可慢一点也要对"的关键任务 |
6.2 三种控制方式:CLI 参数 / 交互命令 / settings.json
bash
pi --thinking high "解决这个复杂问题" # CLI 参数显式指定
pi --model sonnet:high "解决这个复杂问题" # 模型名+档位快捷写法
交互界面内:
bash
/thinking high # 需要安装 pi-thinking-level 等社区包提供 /thinking 命令
或用 Shift+Tab 循环切换,编辑器输入框的边框颜色会实时反映当前档位。
json
// settings.json 持久化默认档位
{ "defaultThinkingLevel": "medium" }
📌 校订:网传版本说这是
createPi()函数的一个配置参数------真实情况是,createPi()属于 Vercel 适配器(见第一部分 1.5),Pi 本体的 thinkingLevel 是通过上面三条真实路径控制的,不是传给某个构造函数的字段。
6.3 thinkingLevelMap 与 thinkingBudgets 精细化配置
thinkingBudgets 给每个档位设置具体 token 预算上限,用于精细化成本控制:
json
{
"thinkingBudgets": { "minimal": 1024, "low": 4096, "medium": 10240, "high": 32768 }
}
thinkingLevelMap 用于自定义模型接入时,把 Pi 的抽象档位映射到具体 Provider 支持的取值,未支持的档位可以映射为 null 直接隐藏:
json
{
"id": "custom-model",
"reasoning": true,
"thinkingLevelMap": {
"minimal": null,
"low": null,
"medium": null,
"high": "default",
"xhigh": "max"
}
}