Kilo Code 模型选择指南:四个模型槽位、优先级规则与本地部署配置实战
2026/9/12 15:43:47 网站建设 项目流程

Kilo Code 模型选择指南:四个模型槽位、优先级规则与本地部署配置实战

【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocode

导读:Kilo Code 将模型配置拆分为主模型、小模型、子代理模型与自动补全模型四个独立槽位,并在 IDE 扩展与 CLI 中提供了各自完整的选择与覆盖机制。本文以官方模型选择指南为骨架,结合仓库源码(配置覆盖层、task 工具、VS Code 深链处理器)与实际配置样例,讲清每个槽位的用途、解析顺序、优先级链条,以及如何用kilo.jsoncvscode://深链和 Auto 模型档位在完全本地、完全免费与最强能力之间精准切换。

为什么静态推荐列表注定过时

AI 模型领域的变化速度极快:每隔几周就有新模型发布,既有模型持续更新,价格反复调整,昨天的旗舰今天可能已经沦为性价比选项。任何一份手工维护的"推荐模型清单"在落笔的那一刻就已经开始过时。

因此 Kilo Code 没有维护静态榜单,而是提供实时模型榜单——展示 Kilo Code 用户当前实际使用并取得成效的模型数据。它来自真实开发者使用数据并持续更新,能直观看到不同任务下用户的选择、实际效果,以及模型格局的实时变化。相关源码证据可参见 overlay.ts,其中将modelsmall_model等配置字段纳入了设置覆盖层的解析范围。

四个独立配置的模型槽位

Kilo Code 的 IDE 扩展与 CLI 配置中包含四个彼此独立的模型槽位,各自负责不同任务,可单独配置:

槽位用途配置方式未配置时的解析逻辑
主模型(Main model)编码任务、对话、推理的主模型;同时用于上下文压缩/摘要todo 列表生成模型选择器、/modelskilo.jsonc中的model按 优先级链条 逐级解析
小模型(Small model)会话标题生成、提交信息生成、提示词增强等轻量后台任务kilo.jsoncsmall_model键,或Settings → Models标签页的Small Model字段见下方"小模型解析逻辑"
子代理模型(Subagent model)task工具启动的子代理的默认模型kilo.jsoncsubagent_model键,或Settings → Models标签页的Subagent Model字段未设置时继承父代理会话当前使用的模型
自动补全模型(Autocomplete model)输入过程中的行内代码补全(FIM)Settings → Models → Autocomplete model默认 Codestral,经 Kilo Gateway 路由

小模型的解析逻辑

small_model未显式设置时,Kilo 按以下顺序解析:

  1. 在当前 provider 上寻找小型/廉价变体(如 Anthropic 的 Haiku、Gemini 的 Flash);
  2. 若会话中已认证 Kilo Gateway,则回退到kilo-auto/small
  3. 若未认证 Kilo Gateway,则复用主模型。

源码层面,provider.ts 中的kiloSmallModelPrioritykilo开头的 provider 返回["kilo-auto/small"];provider.ts 则在找不到合适小模型时回退到 Kilo provider 目录中的kilo-auto/small条目。而kilo-auto/small的最终解析由 Gateway 侧按账户状态决定:有付费余额时路由到google/gemma-4-31b-it,无余额/免费账户则路由到google/gemma-4-26b-a4b-it:free(见 models-and-providers.md)。

配置本地/私有推理

若希望使用私有或本地推理源(Ollama、LM Studio,或直连 BYOK provider),按以下四步配置:

  1. 主模型设置为非kilo-auto的 provider——本地模型(Ollama、LM Studio)或直连的 BYOK provider key;
  2. 显式设置small_model为同一 provider 上的模型。若在登录 Kilo Gateway 的状态下留空,它会回退到kilo-auto/small不会复用主模型;
  3. subagent_model留空——无论是否登录 Gateway,它都始终继承主模型,而不是默认走 Kilo Gateway;
  4. 自动补全:将 provider 切换到直连的 Mistral 或 Inception BYOK key,或直接禁用自动补全。

提示:在 IDE 扩展或 TUI 中登出 Kilo Gateway,即可确保没有任何推理流量经过 Kilo Gateway。

从配置层面看,small_modelagentprovider等字段一样被纳入设置覆盖层统一管理(见 overlay.ts),agent.<name>.model是集合类配置项,可逐代理覆盖。

模型优先级完整链条

VS Code 中的优先级

  • 使用聊天输入区的模型选择器为当前会话选择模型,也可输入/models打开模型选择器;
  • 当所选模型支持变体时,输入/variant打开推理强度(reasoning effort)选择器;
  • 在输入区按Shift+Tab可循环切换到下一个推理强度变体,到末尾后循环回第一个。该快捷键在侧边栏聊天、Agent Manager 输入框和新 Worktree 对话框中都生效;将鼠标悬停在变体选择器上会显示快捷键提示。若希望Shift+Tab保留用于键盘焦点导航,可关闭kilo-code.new.chat.shiftTabCyclesVariant设置(也可在Settings → Display中调整);
  • Settings面板(Models 标签页)设置每个代理的默认值与全局默认值,或直接在kilo.jsonc中配置。

VS Code 模型优先级:会话级覆盖 → 每个代理最近一次的选择 → 代理级配置 → 全局配置 → Auto Free。

模型选择器会记住每个代理你最后一次选择的模型,切换代理时会恢复此前的选择;手动选择始终优先于配置设置。

CLI 中的优先级

  • 在 TUI 中使用模型选择器Ctrl+X m/models)切换模型;
  • 非交互场景使用--model标志,例如kilo run --model claude-sonnet-4-20250514
  • kilo.jsoncmodel键设置全局默认,或在agent段中按代理配置模型。

CLI 模型优先级--model标志 → 代理级配置 → 会话中最近使用 → 全局配置 → 最近使用过的模型列表 → 首个可用模型。

这与 custom-models.md 中记载的加载顺序一致:--model/-m命令行标志 → 配置文件中model键 → 上次会话最后使用的模型 → 内部优先级下的首个可用模型,格式统一为provider_id/model_id

任务类型与模型档位的一般建议

  • 复杂编码任务:高端模型(Claude Sonnet/Opus、GPT-5 级别、Gemini Pro)通常更擅长处理精细需求、大规模重构与架构决策;
  • 日常编码:中端模型通常在速度、成本与质量间取得最佳平衡——足够快到不打断心流,又足以胜任多数任务;
  • 预算敏感:新一代高效模型(DeepSeek、Qwen 等)的性价比常常超出预期,可参考下文免费与预算选择;
  • 本地/私有场景:Ollama 与 LM Studio 支持本地运行模型,代价通常是速度与能力,换来的是隐私与零 API 成本。

使用未收录模型:自定义模型注册

Kilo Code 为每个 provider 内置了精选模型列表,但你可以使用 provider 支持的任何模型——包括尚未收录的新发布模型、微调模型、本地模型或自托管端点。在配置文件provider.<provider_id>.models下注册即可,模型键即为你在其他位置引用的模型 ID:

{ "$schema": "https://app.kilo.ai/config.json", "model": "lmstudio/my-custom-model", "provider": { "lmstudio": { "models": { "my-custom-model": { "name": "My Custom Model", }, }, }, }, }

model键使用provider_id/model_id格式:provider_idprovider下的键(如lmstudioollamaopenaianthropicopenai-compatible),model_idprovider.<provider_id>.models下的键。可配置字段包括nameid(API 侧模型 ID)、tool_callreasoningtemperatureattachmentmodalitieslimit(context/output/input 令牌上限)、costoptionsheaders等,完整字段说明见 custom-models.md。

免费与预算模型选择

不需要付费 API key 也能高效使用 Kilo Code:

  • Auto Efficientkilo-auto/efficient):按任务难度实时分类,路由到经基准验证对该任务足够准确的最便宜模型,将每个请求的成本压到最低;
  • Auto Freekilo-auto/free):自动路由到当前可用的最佳免费模型,是免费起步最快的方式;
  • 偏好手动选择时,可在模型选择器中输入free过滤出免费模型。

完整零成本配置见 using-kilo-for-free.md。

注意:免费模型的可用性会随 provider 调整促销周期而变化,请以产品内实时榜单为准。

关于 Auto Free 的数据处理:Auto Free 可能将请求路由到会记录提示词与输出并用于改进服务的 provider(尤其可能路由到 NVIDIA 的免费端点),因此使用 Auto Free 时请勿提交个人或机密数据。NVIDIA 免费端点(Super/Ultra 等)仅限试用用途,使用会被记录用于安全目的及改进 NVIDIA 产品与服务。详见 auto-model.md。

Auto 各档位一览(详见 auto-model.md 与 models-and-providers.md):

档位适用场景定价路由策略
kilo-auto/frontier需要最强能力付费推理重任务(plan/architect/debug 等)路由到anthropic/claude-opus-4.7,实现类任务(code/build/explore)路由到anthropic/claude-sonnet-4.6
kilo-auto/efficient追求单任务最低成本付费会话感知的难度分类,按 API 接口回退到基线模型(Completions→qwen/qwen3.6-plus、Responses→openai/gpt-5.5、Messages→anthropic/claude-sonnet-4.6
kilo-auto/free免费起步免费从当前可用免费模型集合中按会话动态选择,映射由服务端更新
kilo-auto/small轻量后台任务视账户而定有余额→google/gemma-4-31b-it;无余额→google/gemma-4-26b-a4b-it:free

各档位底层模型由服务端持续更新——档位 ID 保持稳定,路由到的具体模型可能随时间变化。

上下文窗口与 Max Tokens 取舍

上下文窗口大小直接影响工作流,这一点不会随时间改变:

  • 小型项目(脚本、组件):32–64K tokens 即可胜任;
  • 标准应用:128K tokens 足以处理大部分多文件上下文;
  • 大型代码库:256K+ tokens 有助于跨系统理解;
  • 超大规模系统:存在 1M+ token 模型,但在极端规模下有效性会衰减。

各模型的具体上下文限制可查阅 ai-providers 文档(如 Anthropic 的 200K、Groq 的 128K、Moonshot 的 200K 等)。

技巧:思考型模型的 Max Tokens 要克制。分配给输出的每个 token 都会挤占存储对话历史的空间。建议仅在 Architect、Debug 等模式下使用较高的Max Tokens/Max Thinking Tokens,Code 模式保持在 16k 以下。

恢复技巧:遇到上下文上限错误时。若触发input length and max tokens exceed context limit错误,可通过删除一条消息、回滚到之前的检查点,或临时切换到长上下文模型(如 Gemini)处理一条消息来恢复。

从实现角度看,limit.context决定何时触发对话压缩,limit.outputmax_tokens形式发送给 provider 并默认封顶 32,000 tokens(可通过KILO_EXPERIMENTAL_OUTPUT_TOKEN_MAX环境变量调整)。若自定义模型未设置limit且不在内置目录中,contextoutput会解析为0,导致压缩被禁用、对话无界增长直到 provider 拒绝请求——因此自定义/本地模型务必显式设置limit.contextlimit.output(见 custom-models.md)。

委派(Delegation)时的模型行为

当代理通过task工具把工作委派给子代理时,子代理默认继承父代理的模型。可在配置中按子代理覆盖:

{ "agent": { "explore": { "model": "anthropic/claude-haiku-4-20250514" } } }

上面的配置让explore子代理无论父代理用什么模型,始终使用 Haiku;任何没有model覆盖的子代理都使用发起方代理当前运行的模型。

VS Code 端的等价操作:

  • 通过 Settings:打开Settings → Models → Model per Mode,找到子代理并选择其模型;
  • 通过配置文件:编辑kilo.jsonc,写入同样的agent.<name>.model条目。

Settings 界面写入的正是agent.<name>.model,两种方式效果一致。子代理的完整配置(提示词、模式、工具、权限)见 custom-subagents.md(其中model字段注释明确:未设置时子代理继承发起主代理的模型)。

源码层面的解析顺序可在 task.ts 的KiloTask.defaultModel中看到:依次检查 workflow 直接指定 → 已保存的子代理状态 →agent.model(直接指定)→subagent_model配置,且支持subagent_variant_overrides对特定模型做变体覆盖。

通过链接选择模型或代理(VS Code 深链)

VS Code 扩展注册了vscode://协议处理器,可打开 VS Code 并自动选择模型、代理或两者,无需手动操作选择器——适合分享模型推荐、从网页启动指定模型档位或快速切换到偏好的代理。

URL 格式

modelagent参数至少提供一个:

vscode://kilocode.kilo-code/kilocode/switch?model=<modelID> vscode://kilocode.kilo-code/kilocode/switch?agent=<agentName> vscode://kilocode.kilo-code/kilocode/switch?model=<modelID>&agent=<agentName>

<modelID>使用 Kilo Gateway 模型 ID(如kilo-auto/free);<agentName>使用可见的主代理 ID(如codeplan),而不是显示名称。

示例:Auto Free

打开 Kilo Code 并切换到 Auto Free 档位(kilo-auto/free):

vscode://kilocode.kilo-code/kilocode/switch?model=kilo-auto%2Ffree

仅切换到 Plan 代理并使用其常规模型选择:

vscode://kilocode.kilo-code/kilocode/switch?agent=plan

同时选择两者:

vscode://kilocode.kilo-code/kilocode/switch?model=kilo-auto%2Ffree&agent=plan

技巧:在 HTML 链接等裸斜杠可能被误解析的场景中嵌入该 URL 时,请将模型 ID 中的/编码为%2F

工作原理

  • VS Code 已打开:聚焦 Kilo 侧边栏,并立即将链接中的选择应用到当前会话;
  • VS Code 未打开:先启动 VS Code,待扩展就绪后再应用选择;
  • 提供model时,它必须是当前 Kilo Gateway 目录中的模型;无效或不可用的模型会导致深链被忽略;
  • 提供agent时,它必须是可见的主代理;无效或不可用的代理会导致深链被忽略;
  • 仅含agent的链接使用该代理正常情况下会选用的模型;两个参数同时出现时先选择代理,再让链接中的模型应用到该代理;
  • 选择遵循与使用选择器相同的优先级:更新当前会话,无活动会话时更新下一个会话;不会更改设置中的配置默认值。

实现层面,extension.ts 中的 URI 处理器匹配/kilocode/switch/kilocode/model路径,解析modelagent查询参数后调用provider.selectKiloModel(modelID, agent);两个参数都缺失时直接忽略。

分享与嵌入

可将链接嵌入网页:

<a href="vscode://kilocode.kilo-code/kilocode/switch?model=kilo-auto%2Ffree&amp;agent=plan"> Open Kilo Code with Auto Free in Plan </a>

或作为纯 URL 分享,用户粘贴到浏览器地址栏即可。

保持对模型格局的跟踪

AI 模型领域变化极快。评估新选项时,以产品内实时模型榜单为准并时常回看:今天的最佳选择下个月可能就不再是了——这本身就是这个领域有趣的地方。从仓库侧看,模型的可用性与能力清单也在持续演进,内置目录会定期刷新(custom-models.md 中提到 Kilo 内置 models.dev 快照并每小时刷新),因此以实时数据为准永远比依赖静态记忆更可靠。

【免费下载链接】kilocodeKilo is the all-in-one agentic engineering platform. Build, ship, and iterate faster with the most popular open source coding agent.项目地址: https://gitcode.com/GitHub_Trending/ki/kilocode

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询