Gemini CLI 如何启用 Model Steering 在任务执行中实时纠偏
【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli
当 Gemini CLI 正在执行一个耗时任务(重构、代码库调研、起草实现方案)时,你发现它查错了目录、漏掉了关键上下文,或者准备走一条不必要的路径——此时停下来重开会丢失已有的上下文。Model Steering 允许你在 agent 工作过程中直接在输入框里输入反馈,CLI 会把这条提示注入模型上下文的下一轮,让它在不停机、不重启的情况下调整当前计划。
该功能目前是实验性功能(experimental),默认关闭,需要手动开启。使用前需要已安装并完成认证的 Gemini CLI。
开启 Model Steering
有两种开启方式,二选一。
方式一:通过/settings对话框
- 在 Gemini CLI 中输入
/settings。 - 搜索Model Steering。
- 将值设为true。
方式二:编辑settings.json
在设置文件中加入:
{ "experimental": { "modelSteering": true } }设置文件有两个位置(见 settings 文档):
- 用户级:
~/.gemini/settings.json - 工作区级:
your-project/.gemini/settings.json
工作区设置会覆盖用户设置。对应的配置项是experimental.modelSteering,默认值为false(见 configuration 参考)。
启用后提示是如何生效的
提交一条 steering hint 后,Gemini CLI 依次做三件事:
- 即时确认(Immediate acknowledgment):用一个小型快速模型生成一句简短确认消息,让你知道提示已被接收。
- 上下文注入(Context injection):在你的提示前追加一条内部指令,要求主 agent:
- 重新评估当前活跃的计划(re-evaluate the active plan);
- 对更新进行分类(例如是新增任务还是补充上下文);
- 对受影响的任务做最小化改动(minimal-diff changes)。
- 实时送达(Real-time update):提示在 agent 下一轮(next turn)开始时送达,尽可能快地完成纠偏。
也就是说,hint 不是立即打断当前这一轮,而是在下一轮生效。
在任务执行中输入纠偏提示
基本操作路径:
- 启动一个任务,例如 "Refactor the database service"。
- 当 agent 正在工作时(spinner 可见),在输入框中键入你的反馈。
- 按Enter。
随后 CLI 会显示一条简短的确认消息,并在下一轮将提示注入模型上下文;模型会重新评估当前计划并相应调整动作。判断纠偏是否生效,就看 agent 在下一轮的行为是否转向了你指出的方向。
文档给出的典型提示场景(均为文档示例语句,可按你的任务替换为具体内容):
- 纠正路径:"Actually, the utilities are in
src/common/utils." - 跳步:"Skip the unit tests for now and just focus on the implementation."
- 补充上下文:"The
Usertype is defined inpackages/core/types.ts." - 重新定向:"Stop searching the codebase and start drafting the plan now."
- 消除歧义:"Use the existing
Loggerclass instead of creating a new one."
与 Plan Mode 组合:在调研和设计阶段中途纠偏
Model Steering 在 Plan Mode 的长流程中收益更直接:Plan Mode 通常按"调研 → 提案 → 起草"线性推进,而 steering 让你在调研或起草中途就能介入,不用等一整轮调研结束。
前置条件(来自 plan-mode-steering 教程):
- Gemini CLI 已安装并完成认证;
- Plan Mode 已在设置中启用(Plan Mode 默认开启,可用
/settings管理); - Model steering 已按上文启用。
教程给出的完整操作路径:
第 1 步:启动复杂任务。输入:
/plan I want to implement a new notification service using Redis.CLI 进入 Plan Mode,开始调研现有代码库以确定新服务应放在哪里。
第 2 步:纠偏调研阶段。当你看到 agent 调用list_directory、grep_search等工具,发现它遗漏了相关上下文时,在 spinner 运行期间输入提示(文档示例):
"Don't forget to check packages/common/queues for the existing Redis config."
预期现象:CLI 确认提示后,下一轮开始探索你指出的目录。
第 3 步:起草中途修改设计。调研结束后 agent 开始起草实现计划,若方案与目标不符,输入(文档示例):
"Actually, let's use a Publisher/Subscriber pattern instead of a simple queue for this service."
预期现象:agent 停止当前版本的起草,基于反馈重新评估设计,并用 Pub/Sub 模式开始新起草。
第 4 步:批准后执行。审阅最终的.md计划文件(可用Ctrl+X在外部编辑器中打开),确认后输入(文档示例):
"Looks perfect. Let's start the implementation."
CLI 退出 Plan Mode 进入实现阶段。
教程给出的三条使用建议:Be specific——不要说 "do it differently",而是像 "use the existingLoggerclass insrc/utils" 这样指明具体位置和对象;Steer early——在调研阶段提供反馈比等最终计划起草完更高效;Use for context——用它传递读代码看不到的知识,例如 "We are planning to deprecate this module next month"。
限制与适用边界
- Model steering 是实验性功能,文档标注其仍在积极开发中。
- 功能默认关闭,未开启时输入框中的文本只按普通消息处理,不会作为 steering hint 注入。
- hint 的生效时机是 agent 的下一轮开始时,而不是当前这一轮的中间;对正在执行的工具调用它不产生即时中断效果。
- 主要适用场景是 Plan Mode 工作流和长时间运行的 subagent 执行等需要保证 agent 不跑偏的任务。
更多细节可查阅 Model steering 参考文档、Plan Mode 文档以及 组合使用教程;进阶方向包括用 Agent Skills 为规划阶段添加专门能力。
【免费下载链接】gemini-cliAn open-source AI agent that brings the power of Gemini directly into your terminal.项目地址: https://gitcode.com/GitHub_Trending/gemi/gemini-cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考