>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
JavaScript

如何用 Comet 驯服 AI 开发中的混乱

一个熟悉的场景:你启动一个 AI 代理,它兴高采烈地开始写代码,十分钟后你发现它在"幻觉"、覆盖正在使用的文件,或者在同一个错误上陷入无限循环。我们习惯了在编码中使用 LLM 要么是简短的对话会话,要么是需要持续监督的不可预测的自主代理。

最近我发现了一个有趣的项目叫 Comet。它不仅仅是 OpenAI 或 Claude API 的又一个包装器。开发者将其定位为"可恢复的长时间运行任务工作流"。通俗地说:它是一个框架,让神经网络按照严格的协议工作,停止时不会丢失上下文,并经历正常开发周期的所有阶段——从设计到验证。

有了 Cursor 或 Claude Code 为什么还要用它

看起来既然现代 IDE 和 CLI 工具已经处理得很好了,为什么还要构建复杂的东西?问题在于规范性。普通的代理经常直接跳到代码,跳过适当的设计阶段。Comet 强制执行架构方法。

该项目结合了两种方法论:OpenSpec(我们要做什么)和 Superpowers(我们如何做)。整个过程被分解为五个阶段:

  1. Open — 准备提案和分解任务。
  2. Deep Design — 详细设计和创建设计文档。
  3. Plan & Build — 创建实施计划和实际提交。
  4. Verify & Finish — 测试和验证报告。
  5. Archive — 同步规范和归档变更。

有趣的是,代理在"守卫"(验证脚本)触发之前实际上无法进入下一阶段。例如,如果没有测试报告或违反了 .comet.yaml 结构,它不会让你关闭任务。

实际工作原理

安装方式对于 Node 工具来说是标准的:

npm install -g @rpamis/comet
cd your-project
comet init

初始化后,配置和所选平台的一组技能将出现在你的项目中(支持超过 30 个平台,包括 Claude Code、Cursor、Windsurf,甚至 GitHub Copilot)。

我喜欢的 主要特性是 /comet 命令。它作为一个带记忆的入口点工作。如果你暂停工作、去喝咖啡或重启电脑,/comet 将确定进程停在哪个阶段,并提供从该点恢复的选项。你不需要向代理重新提供上下文或提醒它你计划做什么。

Dashboard

顺便说一句,对于视觉学习者有 comet dashboard。这是一个本地服务器,在浏览器中打开一个整洁的仪表板,显示所有活动变更、任务进度和归档历史。它看起来比终端中无尽的日志要好得多。

Comet 的三大支柱

在 0.4.0 版本中,开发者强调了三个覆盖 90% 需求的主要场景:

  • 通过 /comet 编码:主要工作流程,代理引导你逐步完成各个阶段。
  • 通过 /comet-any 创建技能:允许你构建自己的操作链(技能)并将其打包成分发包。
  • 通过 comet eval 评估:这可能是技术性最强的部分。你不需要猜测"我的代理变聪明了吗",而是通过 Pass@k 和 Pass^k 指标运行测试。你甚至可以将其与 LangSmith 集成以进行严格的生产监控。

Evaluation Statistics

技术内部原理

该项目使用 JavaScript/TypeScript 编写,作为纯 Node.js 运行时运行。这是一个很大的优点,因为之前类似的工具通常需要在 Windows 上使用 Bash 或 WSL,这给设置带来了额外的麻烦。

Comet 架构建立在通过 YAML 文件进行状态管理的基础上。在 openspec/changes/<name>/ 文件夹中,会创建一个 .comet.yaml 文件,存储所有内容:从当前阶段和选定的构建模式到文档路径和验证结果。

对于关注 token 的人来说有一个有趣的细节:Comet 有 context_compression 模式。在从设计过渡到构建期间,comet-handoff.mjs 脚本会压缩上下文,移除多余内容。根据作者的测试,这可以节省约 25–30% 的输入 token,同时不会丢失代码质量。对于 Claude 3.5 Sonnet 上的大型项目,这可以在你的账单上节省不少。

值得一试吗

Comet 是为那些已经超越了"帮我写一个 Python 函数"阶段、想要用 AI 构建复杂且可维护的东西的人准备的工具。如果你符合以下条件,它就是适合你的:

  1. 你厌倦了混乱的代理编辑,这些编辑在意想不到的地方破坏了项目。
  2. 你需要透明度:代理现在到底在做什么以及为什么。
  3. 你想自动化日常任务,比如在代码变更后更新设计文档。

从缺点来看,我可以说学习曲线仍然比普通聊天要高。你需要习惯 openspec/docs/superpowers/ 文件夹结构。但如果你正在做一个长期项目,这种规范性会在没有技术债务中得到回报,而神经网络产生技术债务的速度非常快。

你可以在 rpamis/comet 仓库中查看源代码和文档。该项目正在积极开发中,从提交记录来看,作者们正在认真对待它,使其成为自主工程师的可靠"框架"。

相关项目