Verboo Code:如何用 /effort 调整模型的推理级别
返回博客
文章verboo codetutorialagente de programaçãodev toolshow to

Verboo Code:如何用 /effort 调整模型的推理级别

Mafra2026年10月14日阅读约 4 分钟

重命名一个变量,用不着让智能体思考两分钟;而排查只在生产环境出现的竞态条件,就需要。Verboo Code 的 /effort 正是用来控制这一点:它设定模型在回答前推理多少,可选级别由当前模型自身提供。本指南介绍相关命令、级别保存在哪里,以及为什么有时设置看起来没有生效。

/effort 在 Verboo Code 中做什么?

它决定 CLI 在每次调用时向模型请求的推理级别(effort)。不带参数时,会打开一个选择器,列出当前模型可用的级别:

/effort

这个列表不是固定的。Verboo Code 会读取路由器在 /models 中为每个模型公布的级别,因此某个模型可能只提供 low 和 high,另一个则提供 low、medium 和 high。在选择器中,Enter 确认,Esc 取消。第一个选项始终是 Auto,说明为 "Use the default effort level for your model"。

Verboo Code /effort 流程图:用 /effort 查看模型级别,用 /effort high 固定级别,用 /effort current 确认,或用 /effort auto 恢复模型默认值
查看、固定、确认,以及恢复模型默认值的分支。已于 2026-10-14 在 v0.15.37 源码中核实。

/effort 支持哪些命令?

共五种写法,全部直接取自 src/commands/effort/effort.tsx:

命令作用
/effort打开选择器,列出当前模型的级别
/effort high固定级别,并为之后的会话保存
/effort current 或 /effort status显示当前生效的级别
/effort auto 或 /effort unset清除已保存的级别,交由模型决定
/effort help显示用法:/effort [level|auto]

级别名称不区分大小写:/effort HIGH 与 /effort high 效果相同。固定级别后,CLI 会回复 Set effort level to high:,后面跟着该级别的说明。

不同任务该用哪个级别?

先用自动模式,只有在回答过于浅显时再调高。下表中的说明就是 CLI 在选择器里显示的原文:

级别CLI 中的说明适用场景
lowQuick, straightforward implementation with minimal overhead重命名、格式化、单行修改、关于代码的简单提问
mediumBalanced approach with standard implementation and testing小功能、新测试、局部重构
highComprehensive implementation with extensive testing and documentation疑难 bug、跨多个文件的改动、架构设计
maxMaximum reasoning for the most complex taskshigh 也解决不了的问题(前提是模型提供该级别)

推理越多,每次回答就越慢。因此,在大量小改动的会话中适合调低级别,只在难点部分调高,而不是一直开到最高。

级别保存在哪里?

保存在 ~/.verboo/settings.json 的 effortLevel 键中。这是用户级配置文件,对所有项目生效:

{
  "effortLevel": "high"
}

如果你用 VERBOO_CONFIG_DIR 指定了其他配置目录,文件就在那里。/effort auto 会删除该键,并回复 Effort level set to auto。

为什么 /effort 看起来没有生效?

几乎总是因为环境变量 CLAUDE_CODE_EFFORT_LEVEL。它的优先级高于会话中的任何选择。当它被设为其他值时,/effort 仍会保存你的选择,但会提示本次会话仍由该变量控制。完整顺序(从强到弱):

顺序来源作用范围
1CLAUDE_CODE_EFFORT_LEVEL所有带该变量启动的进程。auto 或 unset 强制自动
2会话内的 /effort <级别>当前会话,并保存给之后的会话
3--effort <级别> 参数仅限用它启动的会话,不保存
4settings.json 中的 effortLevel每次会话启动时加载
5Auto路由器为该模型报告的默认值

在 shell 中检查并清除该变量:

echo $CLAUDE_CODE_EFFORT_LEVEL
unset CLAUDE_CODE_EFFORT_LEVEL

然后重新打开 CLI,运行 /effort current。自动模式下回复为 Effort level: auto (currently high),括号中是模型的默认级别。固定级别时,回复为 Current effort level: high 加上说明。

切换模型后会怎样?

每次调用前,已保存的级别都会与当前模型核对。如果新模型没有该级别,就使用它的默认值。所以执行 /model 之后,运行 /effort current 看看当前生效的是什么。如果你请求模型不支持的级别,CLI 会拒绝并列出可用级别:

Invalid reasoning level: max. Available for <模型>: low, high, auto

对于不支持推理控制的模型,回复为 Reasoning is not supported for <模型>。示例中的级别名称仅作说明,实际级别以消息为准。

如何在脚本或 CI 中设置 effort?

按次执行时用参数,整个进程则用环境变量:

verboo --effort low -p "根据上一个 tag 以来的提交更新 CHANGELOG"

CLAUDE_CODE_EFFORT_LEVEL=high verboo -p "排查集成测试为什么偶尔失败"

--effort 参数接受 low、medium、high 和 max,其他值会立即被拒绝。它只对本次执行有效,不会修改 settings.json,这正是流水线需要的行为:每个任务声明自己需要的级别。

它和其他命令如何配合?

  • /plan 适合搭配 high:规划时高推理,执行时用较低级别。
  • /context 显示是什么占满了上下文窗口,这也是回答质量下降的常见原因。
  • /compact 在对话过长时进行总结。

在 Verboo Code 中 token 不限量,所以调高 /effort 花的是响应时间,而不是账单:在 verboo.ai 创建账号,在仓库中打开 CLI,下次遇到难缠的 bug 时运行 /effort high。

喜欢这篇文章吗?
把知识分享给你的朋友。
// 继续阅读

相关文章