28 人が閲覧(直近 30 日) AIエージェント・MCP

TAKTとは?AIエージェントを指揮するOSSの使い方とYAMLワークフロー【2026年10月】

TAKTとは?AIエージェントを指揮するOSSの使い方とYAMLワークフロー【2026年10月】

TAKTは、エンジニアのnrslib(成瀬允宣)氏が公開しているオープンソースのCLIです。Claude CodeやCodexなどのAIコーディングエージェントに、計画→実装→レビュー→修正という工程をYAMLのワークフローどおりに踏ませます。公式READMEの言葉では「AI はコードを書きますが、次に何をするかは workflow が決めます」。この記事では、2026年10月15日公開のv0.71.0を手元に入れて動かした結果をもとに、導入手順、ワークフローの書き方、ここ3か月の破壊的変更、類似ツールとの違いを整理します。なお、製造業の「タクトタイム」、ゲームの「takt op.」、デンマークの家具ブランド「TAKT」とは別物です。

まとめ:TAKTの要点と導入判断(v0.71.0時点)

  • TAKTはMITライセンスのTypeScript製OSS。AIエージェントを信頼して任せるのではなく、stepと遷移ルールを書いたYAMLで外側から制御する。
  • 導入はnpm install -g taktのあとにtakt install claude-sdkが必要。v0.71.0からSDKを同梱しなくなり、入れないと実行時に止まる。Node.jsは22.22.0以上。
  • 2026年7月19日のv0.52.0から10月15日のv0.71.0まで、npmへの公開は27回。既定providerの変更やworkflow YAMLの構文削除が含まれるので、チームで使うなら版を固定する。
  • 書いたYAMLはtakt workflow doctorで実行前に検証できる。存在しないpersona、遷移先の誤記、廃止されたproviderキーはここで止まる。
  • 向いているのは、同じ品質保証の工程を毎日回すチーム。単発の修正や捨てるプロトタイプでは、ワークフローを書く手間を回収できない。

以下、基本情報、導入、YAMLの書き方、検証の実測、コマンドの使い分け、類似ツール比較の順に説明します。

TAKTの基本情報:作者・ライセンス・設計の考え方

nrslib(成瀬允宣)氏のOSS・MITライセンス・Node.js 22.22.0以上

TAKTはGitHubのnrslib/taktで開発され、npmのtaktパッケージとして配布されています。npmの初版(0.1.0)は2026年1月25日です。実装はTypeScriptで、ライセンスはMITなので商用利用も改変もできます。npmのパッケージ定義では動作要件がnode >=22.22.0です。名前は「TAKT Agent Koordination Topology」の頭字語で、オーケストラの指揮で拍を刻む意味のドイツ語「Takt(タクト)」にも掛けています。

「AIを信頼せず外側から制御する」設計と通常のエージェントとの違い

READMEは、プロンプトやCLAUDE.mdやスキルにルールを書き足しても「プロセスを強制できない」と書いています。守るかどうかをAI自身の振る舞いに委ねることになるからです。TAKTはそこで工程をYAMLに移し、stepごとに役割・文脈・権限・遷移ルールを渡します。公式READMEの日本語版にある対比を要約すると次のとおりです。

観点 通常のAIコーディングエージェント TAKT
工程の管理 プロンプトでお願いする YAMLのworkflowが決める
レビュー 忘れる・飛ばすことがある 遷移として強制される
コンテキスト 1本が肥大化し続ける stepごとに必要な分だけ渡す
作業場所 カレントツリーに直接入る 既定で隔離worktree
追跡 経路を追いにくい ログとレポートが残る

TAKTはAIの裁量を減らす側に立っています。レビュー飛ばしのような取りこぼしはモデルの賢さでは防げない、という立場です。

TAKTのインストールと始め方:v0.71で変わった手順

npm install -g taktからtakt runまでの最小手順

少なくとも1回コミット済みのGitリポジトリで実行します。初回はproviderの認証も必要です。既定のclaude-sdkをAPIキーで使う場合は、環境変数TAKT_ANTHROPIC_API_KEYを設定してください。v0.71.0のREADMEにある「5分で試す」の手順を、版を0.71.0に固定して書くと次の5行です。

npm install -g [email protected]
takt install claude-sdk   # 既定providerのSDKを入れる(v0.71.0から必須)
takt                      # AIと会話してタスクを決め、/go のあと「タスクにつむ」を選ぶ
takt run                  # 積んだタスクを隔離worktreeで実行する
takt list                 # 差分の確認・マージ・リトライ・削除

taktで会話を始め、/goで指示書を作ると「タスクにつむ/Issueを建てる/その場で実行する/会話を続ける」のメニューが出ます。既定は「タスクにつむ」で、タスクは.takt/tasks/に保存されます。takt runはClaude Codeのgit worktreeで並列エージェント開発を行う方法と同じ考え方で、作業ブランチ側のworktreeで計画→実装→レビュー→修正を回し、終わるとPRを作るか尋ねます。takt add '#6'のようにGitHub Issueからタスクを積むこともでき、その場合はghコマンドが必要です。

takt installを忘れたときに出るエラー(実測)

v0.71.0のCHANGELOGは、Claude Agent SDK・Codex SDK・OpenCode SDK・Pi SDKを本体と一緒に入れないようにした変更をBREAKINGとしています。v0.70以前の手順書どおりnpm install -g taktだけで止めると、どうなるかを確かめました。SDKを入れていない環境で非対話のパイプラインモードを実行すると、最初のstepに入る前に終了コード3で止まります。

$ takt --pipeline --skip-git -w pir -t "README.mdを作成する"
=== Running Workflow: plan-implement-review ===
[ERROR] Managed provider claude-sdk is not installed or failed an integrity check. Run `takt install claude-sdk`.
[ERROR] Workflow 'pir' failed

端末で対話的に使うときはインストールするか確認されますが、CIやtakt watchのような非対話の実行ではこのメッセージで止まります。GitHub Actionsなどでは、ジョブの中で先にtakt install claude-sdkを実行してください。TAKTを更新したら、SDKを固定版にそろえるtakt updateも必要です(v0.71.0が固定している版はClaude Agent SDK 0.3.300、Codex SDK 0.162.1)。

providerの選び方:SDK経由とCLI経由の違い

TAKTは特定のAIに縛られません。providerは、Node.jsだけで動くSDK経由と、外部CLIを呼ぶCLI経由に分かれます。v0.68.0で既定が従来のClaude Code CLIからClaude Agent SDKを使うclaude-sdkに変わり、provider: claudeはclaude-sdkの別名になりました。

区分 provider名 必要なもの
SDK経由 claude-sdk(既定)・codex・pi takt install
SDK経由 deepseek-harness takt install・Linux x64/arm64(glibc 2.28以上)・macOS arm64(14.0以上)
SDK+CLI opencode takt install・OpenCode CLI
CLI経由 claude-headless Claude Code
CLI経由 claude-terminal Claude Code・tmux
CLI経由 copilot・cursor・kiro 各社のCLI
テスト用 mock なし

最小の設定は~/.takt/config.yamlにprovider・model・languageの3行を書くだけです。これまでClaude Code CLIで動かしていた人は、provider: claude-headlessへ書き換えないと挙動が変わります。権限設定もprovider_profiles.claudeからprovider_profiles.claude-sdk(またはclaude-headless)へ移す必要があります。stepごとにproviderやモデルを変えたいときは、~/.takt/runtime.yamlか.takt/runtime.yamlに書きます(プロジェクト側が優先)。

YAMLワークフローの書き方:step・rules・persona・loop_monitors

計画→実装→レビューを回す最小のworkflow

workflowはstepの並びで、各stepに担当するpersona、編集の可否(edit)、次へ進む条件(rules)を書きます。COMPLETEが成功終了、ABORTが失敗終了です。READMEの最小例を、ビルトインに実在するpersona名(後述)に直したものが次のYAMLで、.takt/workflows/pir.yamlに置きました。

name: plan-implement-review
initial_step: plan
max_steps: 10

steps:
  - name: plan
    persona: planner
    edit: false
    rules:
      - condition: Planning complete
        next: implement

  - name: implement
    persona: coder
    edit: true
    required_permission_mode: edit
    rules:
      - condition: Implementation complete
        next: review

  - name: review
    persona: coding-reviewer
    edit: false
    rules:
      - condition: Approved
        next: COMPLETE
      - condition: Needs fix
        next: implement    # レビューで差し戻されたら実装へ戻る

レビュー役にはedit: falseを指定します。ただし、実効的な編集制限はproviderと権限設定にも依存します。たとえばCodexでpermission_control: codexを選ぶ場合は、Codex側のサンドボックス設定も確認してください。max_stepsはrun全体のstep実行回数の上限で、レビュー⇄修正が収束しないときの最後の歯止めになります。

rulesの評価順とrule_no_matchで止まる条件

Workflowガイドによると、rulesはYAMLに書いた順に評価され、最初に成立したものが採用されます。暗黙の優先順位やフォールバック遷移は無く、どれも成立しなければworkflowはrule_no_matchでABORTします。

これをAIを呼ばずに確かめるため、上のYAMLをテスト用のmock providerで実行しました。rulesが1つしかないplanとimplementはauto_selectでそのまま次へ進みました。2つあるreviewでは、ビルトインのconductor personaが出力をどの条件に当てはめるかを判定し、mockの定型応答がどちらにも当たらなかったため、Workflow failed after 3 iterations (4.0s): rule_no_matchで終了しました。分岐を作るときは「どれにも当てはまらない出力」が来る前提で、受け皿の遷移を用意しておく必要があります。

実際の運用でも、「OKなら次へ/NGなら全体を中断」の2択にしたところ、厳しいレビュアーが5回連続で中断させたという利用者の報告があります。差し戻しの遷移(上の例ではNeeds fix→implement)を用意し、ABORTは本当に続けられないときだけにするのが安全です。

persona・policy・knowledge・instruction・output contractの5ファセット

エージェントへの指示は、Faceted Promptingという考え方で5つに分けます。誰として振る舞うか(persona)、守るルール(policy)、参照する知識(knowledge)、そのstepの具体的な指示(instruction)、成果物の形(output contract)です。必要なstepに必要なファセットだけを渡すので、1本の長いプロンプトにすべてを詰め込むより文脈が汚れません。自作のファセットは~/.takt/facets/personas/のようにMarkdownで置き、workflowからpersona: my-reviewerのように名前で参照します。

v0.71.0でtakt catalog personasを実行すると、ビルトインのpersonaは29個ありました。planner・coder・coding-reviewer・architecture-reviewer・security-reviewer・testing-reviewer・supervisorなどです。READMEの最小例にあるreviewerはこの一覧に無いので、そのまま使うと次の章の検証で止まります。

loop_monitorsによるレビュー・修正ループの進捗判定

レビュー⇄修正を遷移で強制すると、指摘と修正が噛み合わずに同じ往復を繰り返すことがあります。loop_monitorsは、指定したstepの循環がthreshold回に達したら判定役のpersonaに進捗の有無を評価させ、進捗が無ければ打ち切る仕組みです。前掲のpir.yamlの末尾(stepsと同じ階層)に次のブロックを足すと、reviewとimplementの往復を監視できます(このブロックを足したYAMLもtakt workflow doctorで終了コード0を確認)。

loop_monitors:
  - cycle: [review, implement]
    threshold: 3
    judge:
      persona: supervisor
      instruction: "implement ループに進捗があるかを評価してください"
      rules:
        - condition: "進捗あり"
          next: implement
        - condition: "進捗なし"
          next: ABORT

max_stepsが回数で止める上限なのに対し、loop_monitorsは中身を見て止めます。両方を設定しておくと、無駄なトークン消費を早めに切れます。

takt workflow doctorによるYAMLの静的検証結果(実測)

v0.71.0には、workflowの雛形を作るtakt workflow initと、定義を静的に検証するtakt workflow doctorがあります。AIを1回も呼ばずに動くので、書いたYAMLをコミットする前やCIで確かめるのに使えます。macOS・Node.js v26.5.0・takt 0.71.0の環境で、4種類のYAMLを検証した結果が次の表です(2026年10月16日)。

検証したYAML 終了コード 出力
workflow initの雛形 0 Workflow OK
READMEの最小例そのまま 1 persona references missing resource “reviewer”
next: implementをimplemntと誤記 1 routes to unknown next step/Unreachable steps
workflowにprovider: codexを追加 1 Unrecognized key: “provider”

2行目は、公式の例でも実在しないpersona名なら止まることを示しています。personaをcoding-reviewerに直すと終了コード0になりました。3行目では誤記した遷移先だけでなく、その結果どこからも到達できなくなったstep(implementとreview)も列挙されました。

4行目は版の追随で効きます。v0.60.0でprovider・model・provider_optionsなどの実行設定がworkflow YAMLから削除され、runtime.yamlへ移りました。それ以前に書かれた解説記事のYAMLをそのまま写すと、このエラーで読み込みに失敗します。版を上げたら、まず手持ちのworkflowすべてにtakt workflow doctorをかけるのが確実です。

もう一つ確認できたのは、takt workflow initが.takt/.gitignoreも作ることです。中身は「すべて無視したうえで、config.yaml・workflows/・steps/・facets/だけを追跡する」設定でした。タスクの指示書や.takt/runs/の実行ログはGitの追跡から外れ、リポジトリに載せられるのはこの.gitignore自身と上の4種類です。

TAKTの主要コマンドと使い分け

takt run・exec・make・watchの違い

v0.71.0のtakt --helpには24個のサブコマンドが並びます。日常的に使うのは次のコマンドです。

コマンド 用途 追加された版
takt / takt add 会話でタスクを決めて積む 初期から
takt run 積んだタスクをまとめて実行 初期から
takt exec YAMLを書かずに即実行 v0.49.0
takt watch キューを監視して自動実行 v0.68で並列化
takt make 対話でworkflowを作成・修正 v0.64.0
takt ui ローカルWeb UI(実験的) v0.63.0
takt caccia CodeRabbitの指摘に対応 v0.67.0
takt merge PRのレビュー・修正・マージ v0.71.0

takt execは、Assistantが要求を整理し、/goで会話を.takt/exec/workflow.yamlに変換して、Worker・Review・Replanningのエージェントで実行します。ワークフローを書く前に一度試すにはこれが手軽です。毎回同じ工程を回すと決まったら、takt makeやtakt workflow initで自分のworkflowにしてtakt runに移ります。同じプロジェクトでtakt runとtakt watchは同時に起動できません(v0.71.0から)。

takt merge・takt cacciaによるPRレビューと修正・マージ

v0.67.0で入ったtakt caccia <PR番号>は、CodeRabbitのレビューを待ち、未解決のbotスレッドに隔離クローンで対応して、反復ごとの判断レポートを残します。v0.71.0のtakt mergeは、開いているPRをworkflowでレビュー・修正・マージします。既定は2件ずつ並行、マージ方法はsquashで、下書きとforkのPRは既定で対象外です。実装からマージ前までをTAKTに任せる構成が、本体の機能だけで組めるようになりました。

ハーネスエンジニアリングにおけるTAKTの位置づけ

成瀬氏は、Findy主催のイベント「ハーネスエンジニアリング(Harness Engineering)入門:AIエージェントを制御するアプローチ」(2026年4月22日開催)で「実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御」を講演しています。TAKTはこの「ハーネスエンジニアリング」を実装した道具として読むと分かりやすくなります。

ハーネスエンジニアリングのSpec・Context・Harness三層設計でいえば、TAKTが受け持つのは3層目のHarness、つまりエージェントをどう走らせ、どこで止めるかの制御です。何を作るか(Spec)は指示書やoutput contractで、何を知らせるか(Context)はknowledgeとpolicyのファセットで渡します。仕様駆動開発の工程をTAKTで回したい場合は、コミュニティのj5ik2o/takt-sddがワークフローとファセットを公開しています(仕様駆動開発(SDD)の考え方をそのままworkflowにしたもの)。

類似ツールとの比較:Claude Code Agent Teams・Microsoft Conductor・CrewAI・LangGraph

オーケストレーション系のツールは、AIにどこまで判断させるかで立ち位置が分かれます。2026年10月16日時点の版で並べると次のとおりです。

ツール 工程の決め方 主な対象 現行版・状態
TAKT YAMLで固定 コーディングエージェント v0.71.0(MIT)
Microsoft Conductor YAMLで固定 コーディングエージェント v0.1.42(MIT)
Claude Code Agent Teams リーダーがその場で分担 Claude Codeの並列作業 実験的機能
LangGraph コードでグラフ定義 LLMアプリ全般 1.2.15
CrewAI 役割を与えて自律協調 汎用マルチエージェント 1.15.28

TAKTに最も近いのは、Microsoftが公開しているConductorです。こちらもYAMLのworkflow・agents・routesでエージェントと遷移条件を定義します。Conductorの比較対象版は2026年10月6日公開のv0.1.42です。製品間で版番号の付け方は異なるため、番号の大小ではなく、必要なproviderへの対応やワークフローの記法で比較してください。どちらも0.x系なので、記法が変わる前提で使います。

Claude Code Agent Teamsは実験的機能で既定では無効になっており、環境変数CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1で有効にします。「このPRを3人のレビュアーで見て」のようなその場限りの協調はAgent Teamsが手軽です。毎回同じ手順で回すならTAKTのYAMLにします。TAKTには、ビルトインのworkflowとpersonaをClaude CodeのSkillとして書き出すtakt export-ccもあるので、両方を併用できます。複数エージェントにする価値があるかどうかの判断は、シングルエージェントとマルチエージェントの違いで整理しています。

TAKTを採用すべき場面と見送るべき場面

採用すべき場面:同じ品質保証の工程を毎日回すチーム

投資に見合うのは、実装→AIレビュー→修正の流れが定型化しているチームです。たとえばcoding-reviewerにレビューを担当させ、指摘があればimplementへ戻るrulesを定義すると、人のレビュー前にAIレビューと修正の工程を実行できます。workflowとファセットをリポジトリでバージョン管理すれば、新しく入ったメンバーも同じ基準で開発を始められます。「あの人のレビューは鋭い」という属人的な品質を、コードとしてレビューできる形にできるのが組織で使う利点です。

TAKTの導入やエージェント開発の工程設計を外部に相談したい場合は、一創のAIエージェント開発でも支援しています。

見送るべき場面:単発の作業と、版を追えないチーム

一度きりの調査、すぐ捨てるプロトタイプ、数行の修正には向きません。ワークフローを書くより、エージェントを直接動かすほうが早く終わります。

もう一つの判断材料が更新の速さです。v0.52.0からv0.71.0までの約3か月でnpmへの公開が27回あり、そのなかに既定providerの変更(v0.68.0)、workflow YAMLからの実行設定の削除(v0.60.0)、ビルトインworkflowの改名(v0.61.0で旧experimentalが新defaultに)、SDKの別インストール化(v0.71.0)が含まれます。npm install -g [email protected]のように版を固定し、上げるときにCHANGELOGのBREAKINGを読んでtakt workflow doctorを通す作業を担当できる人がいないなら、まだ様子を見るほうが安全です。

TAKTに関するよくある質問

TAKTは無料で使えますか?商用利用はできますか?

TAKT本体はMITライセンスのOSSなので無料で、商用利用も改変もできます。費用がかかるのは呼び出す側のAIで、Claude(Anthropic API)、Codex(OpenAI API)、GitHub Copilotなどの料金はそれぞれの契約に従います。

TAKTはClaude Codeで使えますか?

使えます。v0.68.0以降の既定providerは、Claude CodeのエンジンをNode.jsから呼ぶclaude-sdk(Claude Agent SDK)で、事前にtakt install claude-sdkが必要です。インストール済みのClaude Code CLIを使いたい場合はprovider: claude-headless、対話型ターミナルで動かすならclaude-terminal(tmuxが必要)を指定します。

takt runとtakt execはどう違いますか?

takt runは、会話やtakt addで積んでおいたタスクを、自分で選んだworkflowに沿って隔離worktreeで実行します。takt execは、ワークフローを書かずに会話から入り、/goで自動生成したworkflowで即座に実行します。工程を固めて繰り返すならtakt run、まず試すならtakt execです。

TAKTの作者は誰ですか?

nrslib(成瀬允宣)氏です。GitHubのnrslib/taktで開発されており、質問や議論はREADMEに案内のあるDiscordで受け付けています。成瀬氏はTAKTを「ハーネスエンジニアリング」の文脈で講演しています。

TAKTという名前の意味は?タクトタイムとは関係ありますか?

READMEによると、名前はオーケストラの指揮で拍を刻む「拍」「指揮棒の一振り」を意味するドイツ語「Takt(タクト)」に由来し、「TAKT Agent Koordination Topology」の頭字語にもなっています。製造業で稼働可能時間を必要生産数で割って求める「タクトタイム」も語源は同じドイツ語ですが、ソフトウェアとしての関係はありません。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.11.09 テックブログ エディオン不正アクセス第2報:カード番号の対象確認とログ・決済画面の改ざん対策
  2. 2026.11.09 テックブログ LANSCOPE不正アクセス第2報:製品への影響と偽連絡の確認、停止中のライセンス認証の窓口
  3. 2026.11.10 テックブログ Claude Fable 5.2とは:料金・破壊的変更4点とFable 5.1からの移行手順【2026年11月】
  4. 2026.11.10 テックブログ ニトリの情報漏洩:最大3,762万件の対象確認となりすまし連絡の見分け方
  5. 2026.11.09 テックブログ ステップゴルフ不正アクセス:口座情報の対象確認と偽連絡・引き落としの注意点

RELATED POSTS 関連記事

目次