搜索文章

输入关键词开始搜索

PI学习笔记

AI#AI Coding

个人智能系统的学习与反馈循环

DeepSeek V4 Flash 关闭 Thinking 配置

背景

在 Pi Agent 中使用 DeepSeek V4 Flash 处理托福写作纠错、单词拼写检测、短句改写等低推理、强格式、短输出任务时,开启 thinking 模式纯属浪费延迟和 token,应直接关闭 thinking。

DeepSeek API 层面的关闭方式

DeepSeek V4 系列支持 Thinking / Non-Thinking 双模式,thinking 默认 enabled。关闭方式:

{
  "thinking": { "type": "disabled" }
}

API 调用示例:

curl https://api.deepseek.com/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${DEEPSEEK_API_KEY}" \
  -d '{
    "model": "deepseek-v4-flash",
    "messages": [
      {"role": "system", "content": "You are a concise TOEFL writing assistant. Answer directly and briefly."},
      {"role": "user", "content": "Check this sentence: I am agree with this idea."}
    ],
    "thinking": { "type": "disabled" },
    "temperature": 0.2,
    "max_tokens": 300,
    "stream": true
  }'

Node.js SDK 示例(关键:放到 extra_body 中):

import OpenAI from "openai";

// client 初始化:baseURL 指向 https://api.deepseek.com,
// 鉴权 key 从环境变量 DEEPSEEK_API_KEY 读取,不要把真实 key 硬编码进代码。
const completion = await client.chat.completions.create({
  model: "deepseek-v4-flash",
  messages: [/* ... */],
  temperature: 0.2,
  max_tokens: 300,
  stream: true,
  // 如果 SDK 类型不支持,就放到 extra_body 里
  extra_body: {
    thinking: { type: "disabled" },
  },
});

Thinking Effort 说明

  • reasoning_effort 参数可选值为 high / max,文档说明 low 和 medium 会被映射为 high。
  • 没有真正的 low thinking 模式。要快就直接关掉 thinking,而非调低 effort。

Pi Agent 中的配置方式

Pi Agent 的模型配置在 ~/.pi/agent/settings.json 中,而非 models.json。

当前配置(改造前):

{
  "lastChangelogVersion": "0.79.0",
  "defaultProvider": "deepseek",
  "defaultModel": "deepseek-v4-pro",
  "defaultThinkingLevel": "high"
}

推荐最终配置:

{
  "lastChangelogVersion": "0.79.0",
  "defaultProvider": "deepseek",
  "defaultModel": "deepseek-v4-flash",
  "defaultThinkingLevel": "off"
}

defaultThinkingLevel 支持的值:offminimallowmediumhighxhigh

也可以通过 Pi 内部的 /settings 命令交互式修改 thinking level。

任务分流建议

任务建议
单词拼写检测关 thinking
托福写作语法纠错关 thinking
改写一句话关 thinking
生成 45 秒口语答案关 thinking
托福作文评分 + 详细分析可开 thinking,不一定必要
复杂技术方案 / 代码架构设计可开 thinking
Agent / 工具调用 / 多轮任务谨慎开 thinking

最推荐配置

{
  "model": "deepseek-v4-flash",
  "thinking": { "type": "disabled" },
  "temperature": 0.2,
  "max_tokens": 300,
  "stream": true
}

配和 system prompt:

Answer directly. Do not explain unless necessary. Keep the response short.

总结

  • 不要用 thinkingLevel: "high",也不要用 thinkingLevel: "low"(low 实际等效 high)。
  • 直接使用 thinkingLevel: "off"
  • 托福写作相关任务是低推理、强格式、短输出场景,开 thinking 纯属浪费延迟和 token。

接入 ChatGPT 订阅跑 GPT-5.6

背景

折腾 Pi 的 ChatGPT 接入,目标是把 ChatGPT Plus/Pro 里包含的 Codex 订阅额度用起来,而不是走 OpenAI API 按 token 单独计费。整理了一份速查命令,重点是几个容易踩的坑。

最常用的启动命令

如果只记一条命令,就记这条:

pi --provider openai-codex --model gpt-5.6-sol --thinking xhigh

三个参数的含义:

  • --provider openai-codex:走 ChatGPT / Codex 订阅通道;
  • --model gpt-5.6-sol:使用 GPT-5.6 Sol;
  • --thinking xhigh:推理强度拉到 XHigh,适合复杂任务。

日常开发不需要一直这么重,后面讲怎么降档。

最容易踩的坑:provider 选错

Pi 里两种 OpenAI 接入方式不是一回事:

Provider使用方式费用来源
openai-codexChatGPT 账号 OAuth 登录ChatGPT / Codex 订阅额度
openaiOpenAI API KeyAPI 按 token 单独计费

目的是用订阅额度的话,启动命令里必须是 --provider openai-codex。写成 --provider openai 就会走 API Key 通道,订阅额度用不上,费用还单独算。这一步在启动命令里检查一次就够了,但写错了就是真金白银的问题。

登录方式:直接启动 pi,输入 /login,选择 ChatGPT Plus/Pro (Codex),浏览器里完成授权即可。

模型和推理强度

模型在 Pi 里用 /model 查看和切换,例如 gpt-5.6-sol [openai-codex]。模型 ID 以这个列表为准,不要凭记忆写。

--thinking 控制推理强度(Thinking Level / Reasoning Effort),常见档位是 off / minimal / low / medium / high / xhigh / max,具体可用档位取决于 Pi 版本和所选模型。推荐的分档方式:

场景档位
简单问答、看代码、小改动medium
Bug 排查、跨文件开发、方案设计high
复杂重构、长任务、架构决策xhigh
极难问题、对成本和速度不敏感max(前提是模型支持)

推理强度越高,响应越慢,订阅额度也消耗得更快,日常没必要一直拉满。在 Pi 内部可以通过 /settings 里的 Thinking Level 修改,/hotkeys 里能查到对应的快捷键。

看不到 GPT-5.6 的排查

如果 /model 列表里没有 GPT-5.6,或者启动时报 Unknown model: gpt-5.6-sol,大概率不是账号问题,而是 Pi 本身的问题。按这个顺序排查:

  1. pi --version 看版本是否过旧;
  2. which -a pi 看系统里是不是装了多份 Pi——实际执行的可能不是刚升级的那份;
  3. npm list -g --depth=0 | grep -i pi 确认全局安装的包名;
  4. 升级:npm install -g @earendil-works/pi-coding-agent@latest
  5. 升级后执行 hash -r 刷新 shell 命令缓存,否则可能还在跑旧的二进制。

这几步之后再看 /model。如果还是没有,才轮到确认账号是否开放了该模型权限,以及模型 ID 是否和列表里完全一致——模型名会随版本变化,以 /model 输出为准,不要抄旧笔记。

用别名固化常用命令

每次输完整命令不现实,直接在 ~/.zshrc~/.bashrc 里加别名:

alias pim='pi --provider openai-codex --model gpt-5.6-sol --thinking medium'
alias pih='pi --provider openai-codex --model gpt-5.6-sol --thinking high'
alias pix='pi --provider openai-codex --model gpt-5.6-sol --thinking xhigh'

source ~/.zshrc 之后,轻量任务 pim,日常开发 pih,复杂任务 pix,比每次进 /settings 切换方便得多。

总结

  • provider 先确认:凡是担心没走订阅额度,先查启动命令里是不是 --provider openai-codex
  • 模型 ID 以 /model 为准:报 Unknown model 时先去看列表,不要凭记忆或旧笔记写。
  • 升级后 hash -r + which -a pi:确认跑的是新二进制,避免”明明升级了还是没有新模型”。
  • 推理强度按任务分档:日常 high 足够,xhigh 留给复杂任务,别默认拉满浪费额度。

插件

搜索+识图、KVCache优化: https://www.zhihu.com/question/2044778982793643880/answer/2047077677790656490

资料

PI凭什么比 Claude Code 更省更聪明:预制菜 VS. 自己搭火锅 https://zhuanlan.zhihu.com/p/2043046237939749518

两毛四写一篇文章:用 Pi + DeepSeek 做 Codex 备用方案的体验 https://zhuanlan.zhihu.com/p/2032150226455229977