前几天,Cloud Code 的创始人 Boris Ney 亲自分享了他使用 Cloud Code 的技巧和心得。今天,我们将解读 Boris 分享的这些技巧与工作流。
目前,Cloud Code 的生态已非常成熟,开源社区提供了各种现成的工作流插件、配置方案。但这次的分享尤为特别,因为这是 Cloud Code 创始人本人的使用经验,这让许多人好奇,开发这款工具的人究竟是如何使用它的。
Boris 的分享出乎意料地简单,他并未展示一套复杂或炫技的配置,而是强调 Cloud Code 开箱即用就已非常强大,因此他不对其进行过多定制。其分享内容甚至未提及 Spec D 规格驱动开发 或 BE 等开发方案。本期视频将结合实际项目,分析 Boris 分享的这些技巧,并进行演示。最终我们会发现,这些看似朴素的技巧,实则蕴含着“复利工程”(Compound Engineering: 微小优化带来指数级效率增长)的概念,即每一个小的优化都会在未来成倍放大效率。
终端多开与高效切换
Boris 分享的一个技巧是,他会在终端中开启 1 到 5 个标签页(tabs)。我也按照他的方式进行了测试,通过快捷键可以快速地多开几个标签页。
可以看到,新开启的终端标签页会按顺序编号。我们可以直接使用快捷键加上序号,快速切换到对应的标签页。例如,使用 Cmd + N + 3 即可切换到第三个标签页。通过对开启的多个终端标签页进行编号,极大地方便了快速切换。
这里提供了 iTerm2 的官方链接,用户可以根据官方文档提供的详细配置方式进行个性化设置。iTerm2 这款终端命令行工具使用起来效果非常不错,且十分便捷。
项目初始化与 cloud.md 配置
在开始演示前,我们先初始化一个 iOS 项目,然后结合 Cloud Code 的技巧来开发。我已使用 Xcode 成功创建了一个新的 iOS 项目。
接着,我们打开终端,使用 cd 命令切换到项目目录,然后启动 Cloud Code。在开发项目之前,我们先使用 cloud init 命令来初始化一个 cloud.md 文件。
成功创建 cloud.md 文件后,我们可以打开它进行查看。可以看到,cloud.md 文件包含了构建、运行命令,项目的结构,以及与架构相关的内容。接下来,我们将深入了解 Cloud Code 分享的 cloud.md 文件使用方式。
cloud.md:团队协作与全局配置
Boris 提到,他们的团队共享一个 cloud.md 文件,并将其提交到 Git。整个团队每周都会对这个文件进行多次更新。每当他们发现 Cloud Code 出现错误或不当之处,就会将其添加到 cloud.md 文件中,以确保 Cloud Code 下次不会再犯同样的错误。在进行代码审查(Pull Request)时,他通常会在同事的 PR 上 @ Cloud Code,要求将其某些内容作为 PR 的一部分添加到 cloud.md 文件。这一切都是通过 GitHub Actions 实现的。
刚才生成的 cloud.md 文件主要作用于当前项目。但用户也可以创建全局的 cloud.md 文件。我这里使用的是一个全局的 cloud.md 文件,通过 ant gravity 来打开。这个文件能够作用于所有项目,其中包含了上下文窗口的管理和默认的行为设置。
我们可以让 ant gravity 分析一下我使用的全局 cloud.md 文件起到的作用。分析结果显示,它主要包含以下几个方面:
- 上下文窗口的管理:克服 AI 模型上下文窗口的限制,明确指示 AI 不要担心 Token 用完而提前结束任务,而是持续工作,减少向用户确认的频率,鼓励 AI 动手写代码和修改。
- 执行效率优化:提高任务执行的效率。
- 质量保证与防止幻觉:确保代码质量,防止 AI 产生幻觉。
- 设计哲学与约束:防止过度设计和代码膨胀。
- 工作环境的维护:保持代码整洁。
通过这些配置,我使用的全局 cloud.md 文件能够更好地发挥 Cloud Code 的潜力。
GitHub Actions 与自定义命令
此次分享中提到了 GitHub Actions,并给出了安装命令。下面,我们需要初始化一个 GitHub 仓库。我直接使用了自定义的斜杠命令来完成 GitHub 仓库的初始化,只需提供 GitHub 仓库链接并运行即可。
Boris 在分享中提到,他会将一些常见的工作流制作成自定义的斜杠指令。通过将重复性工作抽象为自定义斜杠命令,我们可以避免每次都输入长提示词,只需使用斜杠命令即可完成操作。刚才,我已通过自定义斜杠命令完成了 GitHub 仓库的初始化。
创建自定义命令非常简单:我们可以新开一个终端,使用 cloud new 命令新建一个 cloud.md 文件,输入自定义内容并保存。然后重启 Cloud Code,即可通过斜杠命令调用刚才创建的自定义指令。
仓库初始化完成后,我们继续看 Boris 的分享。他提到,他们团队使用 Cloud Code GitHub Actions 来管理项目。在执行相关命令前,需要先将项目 push 到 GitHub。为了方便操作,我也创建了自定义的斜杠命令,如 commit push pull_request。执行这些命令即可将项目成功 push 到 GitHub 仓库。
接下来,我们运行命令来安装 Cloud Code GitHub Actions。这里会弹出设置界面,按照指引一步步操作即可完成设置。安装成功。
Opus 4.5 计划模式:自动化开发
接下来,我们继续查看 Boris 分享的更重要内容。他提到,他始终使用 Opus 4.5 模型,并采用了“计划模式”(Plan Mode),即连续按两次 Shift + Tab。
我们回到 Cloud Code,连续按两次 Shift + Tab 即可开启计划模式。然后,我们可以输入提示词来开发内容进行测试。我将让它开发一个原生的 iOS 背单词应用,并准备了一个简单的提示词。
在 Cloud Code 的计划模式下,直接粘贴提示词并运行。Cloud Code 将根据输入的提示词生成开发计划。这里我们选择了 Opus 4.5 模型,完全遵循 Boris 的技巧。
稍等片刻,Cloud Code 生成了开发计划。现在,我们可以让它执行这个计划。我选择第一项,让 Cloud Code 根据生成的开发计划全自动执行开发。它会创建开发任务并按计划执行。
开发完成后,我们可以使用我设置的自定义斜杠命令创建一个新分支,然后直接运行。这样,项目上就会创建一个新的分支。我们还可以使用自定义的 commit 命令进行提交。
之后,我们回到仓库查看创建的 PR(拉取请求 - Pull Request: 代码合并请求)。我们还可以调出 Cloud Code 来审核代码。Cloud Code 正在工作,并生成了 PR 的评审。
Cloud Code 网页版与后台任务
Boris 还提到了 Cloud Code 的网页版。只需打开链接,即可进入 Cloud Code 网页版。在这里,我们可以点击下拉菜单,选择刚才开发的那个项目。
接下来,我们可以输入一个任务。我输入的提示词是:“重构这个项目的代码,以优化项目的性能,并确保它符合行业的最佳实践。”然后直接运行。这样,即使关闭 Cloud Code 网页版,这些任务也会在后台运行,无需我们监督。
这是 Boris 分享的在网页版 Cloud Code 中运行多个开发任务的方式,还可以从手机上查看运行状态或启动任务。
智能助手、权限管理与长任务处理
他还提到了 Cloud Code 的 Sub-agent(子代理 - Sub-agent: 自动化工作流组件)功能。在之前的视频中,我们曾详细演示过。官方文档提供了详细的配置方式和几个案例,例如用于代码审查的 Sub-agent。Boris 认为 Sub-agent 类似于斜杠命令,能够自动化处理大多数 PR 相关的整个工作流程。
继续解析分享内容,他提到了 Cloud Code 的代码格式化,例如使用 Post to use(这里可能指 prettier 或类似工具)来格式化 Cloud Code 生成的代码。Cloud Code 的格式化功能用途非常广泛,不限于给出的例子。
在另一条分享中,他提到不要让 Cloud Code 获取所有权限,而是可以使用 permission 命令来设置 Cloud Code 允许执行哪些命令。
我们可以通过斜杠命令加 permission 来查看和设置权限,可以看到允许执行的命令、需要询问的命令以及拒绝执行的命令。
关于运行时间非常长的任务,Boris 提到了使用 top 命令,以及上期视频演示的方法,这些对于处理长时间运行的任务效果都非常不错。
关键洞察:反馈机制与效率提升
Boris 给出的总结是,想要充分发挥 Cloud Code 的效果,最重要的一点是让 Cloud Code 能够有办法验证它工作的成果。如果提供了这样的反馈机制,最终结果的质量将提升 2 到 3 倍。
他还提到,他使用了 Cloud Code 的 Chrome 扩展(cloud.chrome),这个扩展能够自动调用浏览器测试用户的界面,并不断迭代,直到代码运行正常且用户体验良好为止。这个 cloud.chrome 扩展插件,我在之前的视频中也演示过。在 Cloud Code 中输入 mcp,就可以看到 cloud.chrome 这个 MCP(可能是指 Microservice Communication Protocol 或类似的内部组件),它能全自动调用当前使用的 Chrome 浏览器。
通过 Cloud Code 创始人 Boris 分享的使用经验,我最大的感受是,他分享的方法和技巧并没有特别“眼前一亮”的地方。对于 Cloud Code 的资深用户来说,这些可能都是基础操作。但这恰恰证明了 Cloud Code 强大的可定制性,用户可以根据自己的需求进行深度定制。而且 Cloud Code 开箱即用,其默认设置足以应对许多开发任务。
总的来说,Boris 的分享非常有价值,尤其是对于刚接触 Cloud Code 的新手用户,确实非常有帮助。
本期视频就到这里,欢迎大家点赞、关注和转发,谢谢观看。
📌 文中提及的人物和组织
公司/组织: Cloud Code
产品/模型: Opus 4.5, Cloud Code