谷歌发布Conductor:一个基于上下文的Gemini CLI扩展,以Markdown格式存储知识并编排代理流程
谷歌推出Conductor,这是一个开源预览插件,适用于Gemini CLI,将AI代码生成转变为结构化、上下文驱动的流程。Conductor将产品知识、技术决策和工作计划以版本化的Markdown形式存储在仓库中,然后从这些文件中驱动Gemini代理,而不是从临时的聊天提示中。
从基于聊天的编码到上下文驱动开发
今天的AI编码大多是基于会话的。你将代码粘贴到聊天中,描述任务,当会话结束时上下文就会消失。Conductor将这视为一个核心问题。
Conductor不是使用暂时性的提示,而是在仓库内维护一个持久的上下文目录。它捕获产品目标、约束、技术堆栈、工作流程规则和风格指南作为Markdown。然后,Gemini在每个运行中都读取这些文件。这使得AI行为在机器、shell和团队成员之间具有可重复性。
Conductor还强制执行一个简单的生命周期:
上下文 → 规格 и План → 实施
此扩展不是直接从自然语言请求跳转到代码编辑。它首先创建一个轨迹,编写规格,生成计划,然后才能执行。
将Conductor安装到Gemini CLI
Conductor作为Gemini CLI扩展运行。安装只需要一行命令:
gemini extensions install https://github.com/gemini-cli-extensions/conductor --auto-update
--auto-update标志是可选的,并保持扩展与最新版本同步。安装后,当你处于项目目录时,可以在Gemini CLI中使用Conductor命令。
使用/conductor:setup设置项目
工作流程从项目级设置开始:
/conductor:setup
此命令运行一个交互式会话,构建基本上下文。Conductor会询问有关产品、用户、需求、技术堆栈和开发实践等问题。根据这些答案,它生成一个conductor/目录,包含多个文件,例如:
conductor/product.mdconductor/product-guidelines.mdconductor/tech-stack.mdconductor/workflow.mdconductor/code_styleguides/conductor/tracks.md
这些工件定义了AI应如何对人项目进行推理。它们描述了目标用户、高级功能、接受的技术、测试期望和编码约定。它们与源代码一起生活在Git中,因此上下文的变化是可审核和可审查的。
轨迹:将规格和计划作为一等工件
Conductor引入了轨迹来表示工作单元,例如功能或错误修复。您可以使用以下方式创建轨迹:
/conductor:newTrack
或用简短描述:
/conductor:newTrack "在设置页添加深色模式切换"
对于每个新轨迹,Conductor在conductor/tracks/<track_id>/目录下创建一个目录,包含:
spec.mdplan.mdmetadata.json
spec.md保存轨迹的详细要求和约束。plan.md包含分阶段、任务和子任务的逐步执行计划。metadata.json存储标识符和状态信息。
Conductor帮助根据现有的上下文文件起草规格和计划。然后,开发者编辑并批准它们。重要的点是,所有实现都必须遵循明确和受控的计划。
实施与/conductor:implement
一旦准备好计划,您便将控制权交给代理:
/conductor:implement
Conductor读取plan.md,选择下一个挂起的任务,并运行配置的工作流程。典型的周期包括:
- 检查相关文件和上下文。
- 提出代码更改。
- 根据
conductor/workflow.md运行测试或检查。 - 在
plan.md和全局tracks.md中更新任务状态。
该扩展在阶段边界处插入检查点。在这些点上,Conductor暂停以供人工验证,然后继续。这有助于保持代理不会应用大型、未经审查的重构。
几个操作命令支持此流程:
/conductor:status显示轨迹和任务进度。/conductor:review帮助验证已完成的工作是否符合产品和工作指南。/conductor:revert使用Git来回滚轨迹、阶段或任务。
回滚定义了轨迹,而不是原始提交哈希,这在多变更工作流程中更容易推理。
现有项目和团队工作流程
Conductor旨在适用于现有代码库,而不仅仅是新项目。当你在现有仓库中运行/conductor:setup时,上下文会话成为从团队中提取隐含知识到明确Markdown的方式。随着时间的推移,随着更多轨迹的运行,上下文目录成为系统架构和约束的紧凑表示。
团队级的行为编码在workflow.md、tech-stack.md和风格指南文件中。任何工程师或AI代理在该仓库中使用Conductor都继承相同的规则。这用于强制执行测试策略、lint期望或批准的框架很有用。
因为上下文和计划在Git中,所以它们可以像源文件一样进行代码审查、讨论和更改。
关键要点
- Conductor是用于上下文驱动开发的Gemini CLI扩展:它是一个开源Apache 2.0许可扩展,在Gemini CLI内部运行,并通过仓库本地的Markdown上下文驱动AI代理,而不是临时提示。
- 项目上下文以版本化的Markdown存储在
conductor/下:类似于product.md、tech-stack.md、workflow.md和编码风格指南的文件定义了产品目标、技术选择和工作流程规则,代理在每个运行中读取这些文件。 - 工作以
spec.md和plan.md的形式组织:/conductor:newTrack创建一个包含spec.md、plan.md和metadata.json的轨迹目录,使得要求和执行计划明确、可审查,并与Git相关联。 - 实现通过/conductor:implement和轨迹感知操作进行控制:代理根据
plan.md执行任务,在tracks.md中更新进度,并支持/conductor:status、/conductor:review和/conductor:revert进行进度检查和基于Git的回滚。
查看存储库和技术细节。还可以在Twitter上关注我们,不要忘记加入我们的100k+机器学习SubReddit和订阅我们的通讯。等等!你在Telegram上吗?现在你可以在Telegram上加入我们了。
第一篇关于谷歌推出Conductor的文章已发布,这是一款上下文驱动的Gemini CLI扩展,以Markdown格式存储知识,并编排代理工作流程。阅读原文。