news 2026/10/3 17:12:36

如何在little-coder中用大模型规划、小模型实现:Per-phase双模型完整使用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何在little-coder中用大模型规划、小模型实现:Per-phase双模型完整使用指南

如何在little-coder中用大模型规划、小模型实现:Per-phase双模型完整使用指南

【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder

little-coder是专为小模型优化的本地编码智能体(coding agent),它的 Per-phase 双模型(按阶段选模型)功能让你可以用大模型做规划、小模型做实现——规划阶段花大模型的"脑力",实现阶段交给快速廉价的小模型,从而在本地硬件上同时获得高质量计划和高执行速度。下面这份指南带你从零开始完成配置。

🎯 为什么大模型规划、小模型实现?

在动手之前,先理解这个设计背后的三个理由:

痛点双模型方案
小模型做复杂规划容易跑偏、漏掉边界情况规划阶段切到能力更强的大模型,产出可靠计划
大模型本地推理慢,写代码逐行输出代价高实现阶段切回小模型,token 生成快、成本低
规划过程会占满上下文窗口计划被批准后会保存为文件,实现阶段开全新会话只带计划本身,不把研究过程带进实现上下文

最后一点是 little-coder 的关键机制:计划批准后会持久化到.pi/approved-plan.md,执行/implement时会用一个"以计划为种子"的新会话启动工作,避免小上下文窗口被前期研究挤爆。

下图展示了 little-coder 这套脚手架对多语言编码任务的表现(对比 Aider Polyglot 基准),直观说明"小模型 + 好的脚手架 + 合理的阶段分工"能带来多大的提升:

⌨️ 核心命令一览

双模型配置全部通过斜杠命令完成,支持自动补全和模糊匹配(输入9b也能命中qwen3.5-9b):

命令作用
/plan-model <名称>指定规划阶段(Plan Mode)使用的模型
/action-model <名称>指定实现阶段使用的模型
/phase-models查看两个阶段模型、当前激活模型和交接模式
/model-handover auto\|manual切换"自动交接"或"手动切换"
/implement用实现模型在新会话中执行最近一次被批准的计划

示例:

/plan-model llamacpp/qwen3.8-27b /action-model llamacpp/qwen3.5-9b

💡 模型标签是会话状态而非启动配置——你可以随时在会话中途更改,这正是该功能的设计初衷:拿同一份需求给两个规划模型做 A/B 对比。

📋 完整使用流程

第 1 步:设定两个阶段的模型

启动 little-coder 后,先指定规划模型与实现模型(名称支持模糊匹配):

/plan-model qwen3.8-27b /action-model 9b

第 2 步:进入 Plan Mode 产出计划

按ctrl+q切换规划模式(输入框下方出现◆ PLAN MODE指示器),也可以启动时就用--plan-mode参数直接进入。提交需求后,little-coder 会:

  1. 派只读"子编码器"研究代码库,只把简报带回主上下文;
  2. 向你提 1–3 个澄清问题(带建议答案和自由填写项);
  3. 在聊天中写出完整计划——不会动任何文件。

第 3 步:批准计划

批准计划后它会保存到.pi/approved-plan.md并停下。此时不会切换模型——交接发生在实现真正开始的那一刻,所以"批准了又反悔想重写计划"不产生任何代价。

第 4 步:/implement 交给小模型执行

运行/implement,little-coder 会:切换到实现模型(如小模型)、开启以计划为种子上下文的全新会话、开始干活。研究、问答等前期消耗都不会吃掉实现所需的上下文。

按Esc可随时取消进行中的规划。

⚙️ 配置默认值

不想每次手动敲命令?可以在 models.json 顶层加默认键,或用环境变量:

来源配置项
models.json"planModel"/"actionModel"/"handover"
环境变量LITTLE_CODER_PLAN_MODEL、LITTLE_CODER_ACTION_MODEL、LITTLE_CODER_MODEL_HANDOVER

两个阶段都没设置时,每个阶段都用当前激活模型——即不配置就完全回退到普通用法,零影响。

⚡ 自动 vs 手动交接(本地用户必看)

默认是auto模式:进入 Plan Mode 自动切到规划模型,/implement时自动切到实现模型。

但本地部署有个重要细节:在单个 llama.cpp 后端上,模型切换会卸载并重新加载权重,可能带来约 15 秒的停顿。如果你希望完全掌控切换时机(比如在两个模型都预热的状态下手动切换),可运行:

/model-handover manual

几个贴心的降级行为:

  • ✅ 两个阶段指向同一模型时,交接是空操作,不会触发重载;
  • ✅ 切换失败(模型不可用、缺密钥)时,会停留在当前模型并明确告知,而不是卡死。

🧰 常见问题速查

问题解答
如何确认配置生效?运行/phase-models,可查看两个阶段模型、激活模型与交接模式
批准计划后可以不执行吗?可以。交接发生在/implement时而非批准时,反悔重写计划零成本
只想用一个模型?两个命令都不设置即可,各阶段沿用当前激活模型
本地切换卡顿?改用/model-handover manual,自己挑时机切换
更多模型从哪看?little-coder --list-models列出所有已注册模型

📚 延伸阅读

  • 功能与命令详解:README.md 的 "Per-phase model selection" 一节
  • 脚手架架构与扩展机制:docs/extensions.md
  • 项目系统提示词:AGENTS.md
  • 基准测试叙述(含小模型实战数据):docs/benchmark-qwen3.6-35b-a3b.md

按"大模型想清楚、小模型写出来"的节奏工作,你只需记住三件事:/plan-model指定规划者、/action-model指定执行者、/implement一键交接。剩下的,little-coder 会替你管好上下文和模型切换。

【免费下载链接】little-coderA harness optimized to smaller LLMs项目地址: https://gitcode.com/gh_mirrors/li/little-coder

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 17:11:11

Linux磁盘存储管理实践——逻辑卷管理LVM之精简卷

Linux的磁盘存储管理实操——(下二)——逻辑卷管理LVM的扩容、缩容https://blog.csdn.net/xiaochenxihua/article/details/149632228 一、精简池简介 逻辑卷管理(LVM)是建立在磁盘分区和文件系统之间的一个逻辑层,管理员利用LVM可以在磁盘不用重新分区的情况下动态调整分…

作者头像 李华