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 生态系统的精选选型,而非提供一个广泛且未经优化的模型列表。