安爸-超级家庭

谷歌发布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.md
  • conductor/product-guidelines.md
  • conductor/tech-stack.md
  • conductor/workflow.md
  • conductor/code_styleguides/
  • conductor/tracks.md

这些工件定义了AI应如何对人项目进行推理。它们描述了目标用户、高级功能、接受的技术、测试期望和编码约定。它们与源代码一起生活在Git中,因此上下文的变化是可审核和可审查的。

轨迹:将规格和计划作为一等工件

Conductor引入了轨迹来表示工作单元,例如功能或错误修复。您可以使用以下方式创建轨迹:

/conductor:newTrack

或用简短描述:

/conductor:newTrack "在设置页添加深色模式切换"

对于每个新轨迹,Conductor在conductor/tracks/<track_id>/目录下创建一个目录,包含:

  • spec.md
  • plan.md
  • metadata.json

spec.md保存轨迹的详细要求和约束。plan.md包含分阶段、任务和子任务的逐步执行计划。metadata.json存储标识符和状态信息。

Conductor帮助根据现有的上下文文件起草规格和计划。然后,开发者编辑并批准它们。重要的点是,所有实现都必须遵循明确和受控的计划。

实施与/conductor:implement

一旦准备好计划,您便将控制权交给代理:

/conductor:implement

Conductor读取plan.md,选择下一个挂起的任务,并运行配置的工作流程。典型的周期包括:

  1. 检查相关文件和上下文。
  2. 提出代码更改。
  3. 根据conductor/workflow.md运行测试或检查。
  4. plan.md和全局tracks.md中更新任务状态。

该扩展在阶段边界处插入检查点。在这些点上,Conductor暂停以供人工验证,然后继续。这有助于保持代理不会应用大型、未经审查的重构。

几个操作命令支持此流程:

  • /conductor:status显示轨迹和任务进度。
  • /conductor:review帮助验证已完成的工作是否符合产品和工作指南。
  • /conductor:revert使用Git来回滚轨迹、阶段或任务。

回滚定义了轨迹,而不是原始提交哈希,这在多变更工作流程中更容易推理。

现有项目和团队工作流程

Conductor旨在适用于现有代码库,而不仅仅是新项目。当你在现有仓库中运行/conductor:setup时,上下文会话成为从团队中提取隐含知识到明确Markdown的方式。随着时间的推移,随着更多轨迹的运行,上下文目录成为系统架构和约束的紧凑表示。

团队级的行为编码在workflow.mdtech-stack.md和风格指南文件中。任何工程师或AI代理在该仓库中使用Conductor都继承相同的规则。这用于强制执行测试策略、lint期望或批准的框架很有用。

因为上下文和计划在Git中,所以它们可以像源文件一样进行代码审查、讨论和更改。

关键要点

  • Conductor是用于上下文驱动开发的Gemini CLI扩展:它是一个开源Apache 2.0许可扩展,在Gemini CLI内部运行,并通过仓库本地的Markdown上下文驱动AI代理,而不是临时提示。
  • 项目上下文以版本化的Markdown存储在conductor/:类似于product.mdtech-stack.mdworkflow.md和编码风格指南的文件定义了产品目标、技术选择和工作流程规则,代理在每个运行中读取这些文件。
  • 工作以spec.mdplan.md的形式组织/conductor:newTrack创建一个包含spec.mdplan.mdmetadata.json的轨迹目录,使得要求和执行计划明确、可审查,并与Git相关联。
  • 实现通过/conductor:implement和轨迹感知操作进行控制:代理根据plan.md执行任务,在tracks.md中更新进度,并支持/conductor:status/conductor:review/conductor:revert进行进度检查和基于Git的回滚。

查看存储库技术细节。还可以在Twitter上关注我们,不要忘记加入我们的100k+机器学习SubReddit和订阅我们的通讯。等等!你在Telegram上吗?现在你可以在Telegram上加入我们了。

第一篇关于谷歌推出Conductor的文章已发布,这是一款上下文驱动的Gemini CLI扩展,以Markdown格式存储知识,并编排代理工作流程。阅读原文


扫描二维码,在手机上阅读