#11671·Continue

系统提示需要全面重构组件

作者: shanevcantwell创建于 2026年3月21日更新于 2026年9月17日
标签area:configurationkind:bug

□ 问题

系统快取是"续取"和它与之沟通的每一个模型之间的主要接口. 它目前由分散在多个文件中的硬码字符串文字组装而成,在增长的两年中通过400+贡献者的递增变化而积累. 没有模板系统,没有每个模型的意识,也没有区分基础指令,工具语法,模式特定行为,和规则.

□ 当前状态

系统快取器是通过从下列站点接取部件来构建的:

  • `core/LLM/defaultSystemMessages.ts'——特定模式的基础信息(代理/聊天/计划),硬码字符串字母
  • " gui/src/redux/util/getBaseSystemMessage.ts " -- -- 模式选择和硬编码全头盔 " NO TOOL WARNING " ,在没有工具活动时附加
  • “核心/工具/系统MessageTools/toolCodeblocks/index.ts”——带有硬编码前缀、后缀和示例模板的工具语法框架
  • `核心/工具/系统MessageTools/buildingToolsSystemMessage.ts'——调制工具定义(两种不相容的格式:内置模型、MCP模型)
  • " 核心/LLM/规则/规则/规则系统 " -- -- 附加没有预算意识的工作空间规则

没有中央模板。 没有模型大小或能力意识。 只有`model.baseAgentSystemMessage',它取代了整个基本信息或什么都没有。

□模型得到什么

** 启用工具(代理模式):** 一个简短模式声明("你在代理模式"),代码块格式化指令,然后是工具使用语法规则和每个工具的例子. 实际的行为指导约为50个符. 其他一切都是工具语法文档.

** 没有启用工具(代理模式):** 同样的工具使用规则是不存在的,然后是全头信息:“用户没有提供任何工具, 该模型在一个系统消息中接收到相矛盾的指示.

** 对于上下文窗口小的本地模型:** 没有适应。 被发送到同GPT-4或Claude一样的4位分量化的9B型. 没有产出格式指导,没有结构限制,对上下文预算没有认识.

□ 记录下游效果

以下未决问题可追溯到该系统,或因该系统的及时性而变得更加复杂:

  • XQ11072** — `TOOL NAME' 关键词在每一个内置工具示例中重复;较小的模型作为对话文本回放 -XQ11070** — 解析器截取引用的工具语法作为真实的工具调用
  • #11074- 解析器假设工具调用在模型输出中是位置终端

  • 10785** - 终端输出显示中泄露内容的原因
  • #11069 — Vercel 流转换器将推理-德尔塔转换为内容 ---- 10781** — 系统快取未发送到本地 LM Studio 模型的某些配置

信息世界文章 . . . . . . .

内容来源: continuedev/continue