TAKT 工作流编排器
用 YAML 把多代理编码流程变成可执行、可审查且可追溯的开发工作流。
这个 Agent 能做什么,适合哪些场景?
TAKT 是面向 AI 编码工作的开源命令行编排器,以 YAML 工作流定义规划、实现、评审、修复和人工检查点。工作流由带 persona、编辑权限、规则和输出契约的步骤构成,规则可转入 COMPLETE、ABORT 或前序修复步骤。任务可先写入 .takt/tasks/,再由 takt run 在隔离 Git worktree 中执行,并将日志、报告、会话和追踪信息保留在 .takt/runs/<run>/。它支持 Claude Code、Claude SDK、Codex SDK、OpenCode SDK、Cursor、GitHub Copilot CLI 和 Kiro 等提供方,也提供 takt-acp 的 Agent Client Protocol stdio JSON-RPC 入口及 takt-mcp stdio MCP 服务器。除编码外,其工作流模型也适用于需要多代理协调、评审和反馈闭环的任务。
用户通过 takt 或 takt add 与助手澄清需求,使用 /go 生成任务后选择 Queue as task;TAKT 将任务保存到 .takt/tasks/。执行 takt run 时,它为待办任务创建隔离 worktree,按 YAML 中 steps、initial_step、max_steps、persona、edit、required_permission_mode 和 rules 运行步骤。步骤规则将任务推进到后续步骤、COMPLETE、ABORT,或从评审返回实现步骤形成修复循环;运行产物写入 .takt/runs/<run>/,包括日志、报告、会话、追踪及相关元数据。takt list 可管理任务分支,支持合并、重试、重新排队、强制失败、下达指令和删除;takt watch 可常驻监测并执行待办队列。
- 需要把“规划—实现—评审—修复”固定为可复用流程的软件团队,可用 default 工作流及其并行评审和收敛式修复循环。
- 维护 CLI 或后端服务的开发者,可为每个步骤设置不同 persona、知识、策略和编辑权限,避免实现与评审职责混在同一长对话中。
- 希望将多个待办改动与当前工作目录隔离的 Git 项目,可先排队任务,再由 takt run 在独立 worktree 中处理。
- 使用 Codex SDK、Claude SDK 或 OpenCode SDK 的团队,可通过配置中的 provider、model 和 API 密钥让步骤调用所选提供方。
- 希望从 GitHub Issue 创建任务并在完成后创建 PR 的项目,可用 takt add #6 或 takt #N,并可选安装 gh。
- 需要将任务队列接入 MCP 客户端或 Agent Client Protocol 客户端的工程,可运行 takt-mcp 或 takt-acp,通过 stdio 进行集成。
这个 Agent 有哪些优点和局限?
- 用 YAML 的步骤和转换规则显式表达评审及修复循环,流程不依赖单个代理记住提示词。
- 每个步骤可拥有独立 persona、策略、知识、指令和输出契约,且可配置编辑权限与 required_permission_mode。
- 默认排队执行会创建隔离 Git worktree,并把运行日志、报告和追踪保留为本地文件,便于追溯任务到 PR 的路径。
- 同时覆盖 SDK 型和外部 CLI 型提供方,并提供 MCP、ACP、GitHub Actions 与流水线模式的集成入口。
- 运行环境要求 Node.js >=24.15.0、Git 和至少一个已配置的提供方;部分提供方还必须另装外部 CLI。
- 工作流、facets、权限和路由的配置采用 YAML,团队需要设计并维护自己的步骤、规则和提示资产。
- “Execute now”会直接修改当前工作目录,失去默认 worktree 隔离。
- GitHub Issue 功能需要可选的 gh;GitLab 集成依赖 glab 且按远程 URL 自动检测。
- OAuth 是否可用取决于各提供方及使用场景,使用前需要自行核对其服务条款。
如何安装或部署这个 Agent?
前提是当前目录为至少有一个提交的 Git 仓库,并安装 Node.js >=24.15.0 与 Git。安装:npm install -g takt。以 Codex SDK 为例,配置 ~/.takt/config.yaml:provider: codex、model: gpt-5.6-sol、language: en,并设置 export TAKT_OPENAI_API_KEY=sk-...。也可用 nix run github:nrslib/takt 运行,或用 nix profile install github:nrslib/takt 安装。
如何使用这个 Agent?
运行 takt,描述任务;在对话中输入 /go 后选择 “Queue as task”。随后运行 takt run,让 TAKT 在隔离 worktree 中执行已排队任务。使用 takt list 检查任务分支并进行合并、重试或重新排队;如需持续处理队列,运行 takt watch。在改写工作流前可用 takt workflow init my-flow 创建脚手架,并用 takt workflow doctor my-flow 验证定义。
这个 Agent 与同类方案有什么区别?
与直接使用 AI 编码代理相比,TAKT 把流程控制放入 YAML:评审和修复循环由规则显式驱动,每一步只接收所需上下文,并保留日志与报告;直接使用代理时,这些过程主要依赖提示词和代理自身遵循。