CommandCode AI: 使用 Taste Framework 提升开源模型的工具调用能力

CommandCode AI: 使用 Taste Framework 提升开源模型的工具调用能力

解决开源模型中的工具混淆问题

开源 LLM 经常面临“工具混淆”问题,即尽管它们能力很强,但无法遵循严格的工具调用模式(schemas)。CommandCode AI 的 CEO Ahmad Awais 发现,开源模型中许多被察觉到的弱点并非能力差距,而是“框架/契约问题”——即模型与工具调用框架交互方式的失败。

在内部评估中,通过实现一个确定性的修复层,DeepSeek V4 Pro 在 10 次案例中有 6 次表现优于 Opus 4.7。核心问题在于,开源模型可能会反复发送错误的 schema(例如,在需要数组的地方发送了一个 null 对象)并忽略标准的错误消息(如 Zod 验证错误),从而陷入失败循环。

“先验证后修复”的方法

当工具调用失败时,CommandCode AI 不仅仅是向 LLM 返回错误,而是实现了一个修复层,在工具执行之前确定性地修复输入。

  • 确定性修复:如果模型始终输出 JSON 字符串而不是数组,修复层会自动将其转换为数组。
  • 修复提示:在修复输入并返回工具结果后,系统会向模型发送“修复提示”。这能教会模型在未来的调用中遵循正确的格式。
  • 判断决策:对于缺失的参数(例如,读取文件时的文件偏移量),系统会做出合理的默认假设(例如,读取前 100 行)以保持 Agent 的运行进度。

Awais 指出,一旦模型通过修复获得了成功的结果,它通常会在随后的调用中纠正其行为,变得更加具有创造力且更有效。

通过组合式框架解决“设计平庸化”问题

除了工具调用,确定性修复和结构化引导的相同逻辑也被应用于解决“设计平庸化”(design slop)——即 LLM 生成的通用、往往重复的美学模式(例如无处不在的靛蓝色-紫色渐变)。

减少设计平庸化

CommandCode AI 通过为模型提供组合式框架和特定约束来减少设计平庸化:

  • 意图优先设计:在实现设计之前,强制模型定义设计背后的意图(例如,将仪表板识别为“监控界面”)。
  • OKLCH 色彩空间:强制模型使用 OKLCH 而不是 HSL 或 RGB。当使用 OKLCH 时,LLM 对亮度和感知色彩一致性的控制表现更好,这更符合人类视觉。
  • 设计异味与模式:实现了一套“设计异味”(需要避免的事物)和源自专业设计师的七个核心设计模式。

通过将设计视为一组可确定性修复的模式,而非模糊的美学请求,该系统可以消除大部分 AI 生成的设计痕迹。

Taste Framework: 元神经符号记忆

CommandCode AI 利用一个名为 “Taste” 的框架来管理开发者的偏好和技能。Taste 被描述为一种元神经符号架构,能够随着时间的推移学习开发者的特定编码风格和偏好。

技能 vs. Taste

  • Skills:特定的、有文档记录的规则或模式(例如,“优先使用 pnpm 安装包”)。
  • Taste:高阶引擎,能够自动识别仓库中的重复偏好并生成 skill files。

Taste 的关键特征

  • 自动学习:Taste 会观察开发者的编辑行为和接受/拒绝操作,以识别开发者可能不会想到手动记录的微决策(例如,特定的 PR 工作流)。
  • 透明性:Taste 文件以 Markdown 格式存储在 Git 仓库中,使其可以通过 Pull Requests 进行透明化管理和审查。
  • 可移植性:Taste 文件可以在项目之间共享。开发者可以使用高质量模型(如 Opus)来建立项目的 “taste”,然后使用更便宜的开源模型来维护项目,同时遵循已建立的 taste。

未来路线图与开源

CommandCode AI 意图将 CommandCode CLI 开源,使其变得完全可黑客化(hackable)。其目标是创建一个支持“顶尖中的顶尖”模型(包括开源和闭源)的系统,同时允许用户集成自己的本地模型。这种方法旨在提供类似于 Apple 生态系统的精选选型,而非提供一个广泛且未经优化的模型列表。

Sources