1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIエージェントたちのガントチャートを作ってみた

1
Posted at

この記事のまとめ: 複数のセッションでエージェントを走らせていると、AIクレジットがどこで減ったのか分からなくなってきます。そこでセッションとサブエージェントの動きを時系列に並べる GitHub Copilot App 向け Canvas エクステンション「Credit Timeline」を作って公開しました。どんな作業に、どのモデルがどれだけコストを使っているかが一目で分かるようになります。

はじめに

GitHub Copilot を使ってAIエージェントを自律的にまわすようになると、各エージェントが自分でサブエージェントを起動していくため、気がつくとかなりの数のAIエージェントが動いていた、という経験をお持ちの方も多いのではないでしょうか。

AIスクラムチームのような規模でなくとも、複数セッションで2~3エージェントを動かしていると、どのモデルがどのくらいのAIクレジットをどこで使ったのかがよく分からなくなってきます。もちろんログを遡れば個々の作業は追えるのですが、全体を俯瞰するのはAIエージェントの数が増えるとともにどんどん難しくなっていきます。

というわけで、セッションとサブエージェントの活動を時系列に並べ可視化する GitHub Copilot App の Canvas エクステンションを作って公開しました。名前は Credit Timeline です。

以下のキャプチャ画像のように、1行が1セッションで、帯の長さがそのセッションにかかった時間を表します。インデントが下がっているところがサブエージェントを起動したところで、右端にはAIクレジットの消費量が並びます。この画面が GitHub Copilot App のサイドパネルに表示されます。

Credit Timeline のスクリーンショット

そもそも GitHub Copilot App と Canvas とは

私は最近 GitHub Copilot App 一択なのですが、あまり使っていない方も多いと思うので、少しだけ補足します。

GitHub Copilot App は、エージェントと一緒に作業するためのアプリです。エディタの補完でもなく、CLI での会話でもなく、セッションもワークツリーもキャンバスも同じ画面にまとまっているのが特徴です。エージェントに任せて、途中で割り込んで、別セッションに分岐する、といった動きがやりやすいです。概要は GitHub Copilot アプリについて、入手は github/app からどうぞ。

また、Canvas エクステンションは、そのサイドパネルに画面を足す仕組みです。エージェントと人間の両方が同じ画面を触れるので、バックログの仕分けやダッシュボードみたいなものは、会話を重ねるより見た方が早いです。公式手順で(/create-canvasを使って)自作もできますし、今回のように公開されているものを入れることもできます。手順はキャンバス拡張機能の操作、読み物としては GitHub Blog の紹介記事 がわかりやすいです。

本記事の執筆時点(2026年8月)で、Canvas API は実験的な機能です。今後仕様が変わる可能性がある点はご承知おきください。

AIスクラムチームでの実例

AIスクラムチームの1スプリント相当の作業を表示したものが以下です。

AIスクラムチームの1スプリントを表示した Credit Timeline

24セッション・57サブエージェントで 8,709 AIU(AI Units、AIクレジットの単位です)を消費しています。Backlog から Planning、Dev、Review、Retro へと帯が移り変わっていくので、スプリントの流れがそのまま形になって出てきていることがわかります。緑の長い帯が Dev、オレンジが Review、最後の赤が Retro です。

AIエージェントたちのガントチャートみたいで、見ているだけでも面白いですよね^^

意外だったのは、消費の上位に並んでいたのが実装ではなく、オーケストレーション役のセッションだったことです。誰をいつ起動するか、その結果をどう扱うのかの調整に、思っていたよりクレジットを使っていました。実装側は1タスクを終えれば会話が閉じますが、オーケストレーターはスプリントの間ずっと文脈を抱え続けるので、当然といえば当然なのかもしれません。進行管理まわりだけ安いモデルに寄せたり、オーケストレーターの作業を部分的に切り出したり、といった打ち手が有効そうです。ログを何往復もせずにこれが見えるのは大きいなと思います。

AIUの数字について

ここで出している AIU は、ローカルに記録されたモデル使用量から計算した値です。実際に消費した AIクレジットに相当しますが、あくまで手元の記録をもとにした概算で、請求額そのものではない点はご注意ください。

あと、チャット画面の右下に出る「AI Credit」とも数字が少し違います。あちらは compaction(会話履歴の圧縮)にかかった分を除いた数字です。こちらは合計に含めたうえで、内訳に compaction を出しています。AI Credit の数字と合わないと思ったときは、まずここを見てください。

画面でできること

ローカルの Copilot セッションストアからデータを読み込んで、次のようなことができます。

  • 時間帯ごとの AIU を積み上げグラフにして、累積のシェアと一緒に表示します
  • 親が起動した子セッションや、分岐した fork を、親の下に字下げして表示します
  • 行の Focus を押すと、その配下だけに絞り込めます
  • 表示範囲は、いまのチャットツリー、リポジトリ、フォルダー、全セッションから選べます
  • 40分以上空いた区間は破線に畳むので、夜間の空白で画面が間延びしません

なお、行にホバーすれば、所要時間やトークン数、PR / Issue の参照先まで出ます。サブエージェントの行なら、何を頼まれて、どのモデルで、何分動いたかまで表示されます。

サブエージェントのツールチップ

上の例だと、9体のサブエージェントで 312 AIU でした。役割ごとにモデルを変えているので、1体あたりの消費は 0.3 AIU から 46 AIU まで開きがあります。当たり前といえば当たり前なのですが、フロンティア級のモデルは他と比べて桁違いで、役割ごとにモデルを割り当てた効果がそのまま数字に出ています。

ひとつ注意点として、既定では自動更新されません。Auto を入れると30秒ごとに読み直すので、動かしながら眺めたいときはAutoを選んでください。

Credit Timeline の入れ方

Canvas エクステンションに対応した GitHub Copilot App が必要です。あとはローカルのセッションデータを読むので、node:sqlite が使える Node.js ランタイムも要ります。セッションデータの場所は既定だと ~/.copilot の下です。

リポジトリを取得して、credit-timeline/ をエクステンションの探索先にコピーします。ユーザースコープに一度入れておけば、全プロジェクトで使えますし、個別のプロジェクトのみに追加することも可能です。

git clone https://github.com/shyamagu-ms/copilot-credit-timeline.git
cd copilot-credit-timeline

# ユーザースコープ(全プロジェクトで使えます)
copilot_home="${COPILOT_HOME:-$HOME/.copilot}"
mkdir -p "$copilot_home/extensions"
cp -r credit-timeline "$copilot_home/extensions/credit-timeline"

# もしくはプロジェクトスコープ
mkdir -p /path/to/your-project/.github/extensions
cp -r credit-timeline /path/to/your-project/.github/extensions/credit-timeline

Windows の場合、セッションデータの既定の場所は %USERPROFILE%\.copilot です。上のコマンドは Git Bash や WSL ならそのまま動きますが、PowerShell なら Copy-Item -Recurse credit-timeline $env:USERPROFILE\.copilot\extensions\credit-timeline で同じことができます。

コピーしたら、GitHub Copilot App でエクステンションを再読み込みします。あとは Copilot に「Credit Timeline キャンバスを開いて」と頼めば開きます。

上記のコピーすら面倒なら、AIクレジットは少し使ってしまいますが、GitHub Copilot App にこのリポジトリの URL を渡して「この Canvas エクステンションを入れて」と頼んでしまうのが一番楽です。中身が気になる方は、コード量も多くないので先に覗いてみてください。

開いたらスコープを RepoFolder にして、まずは全体を眺めてみてください。消費の多いところはAIUの数値が突出しているので、並べ替えなくても目に入ってきます。気になった行は Focus で絞り込めますし、どの作業にどのモデルがどれだけ動いたかが一目瞭然になります。

このキャンバスの注意点

作業ステージの色分けは、セッション名からの機械的な推定です。そのためよく外れます。色が信用できないときは、帯の長さと表示された数字だけ見てください。このあたりはもう少し改善できないか検討中です。

なお、All スコープはセッション数が100を超えたあたりからかなり重くなります。私も普段は RepoFolder にしています。

まとめ

複数セッションを並行で回していると、クレジットの減り方が分からなくなる、というのが出発点でした。作ってみて気に入っているのは、全作業を一枚で俯瞰でき、そのうえでコストがかかっている場所の特徴まで読めるところです。実作業よりも進行管理側に消費が寄っていることや、役割ごとに割り当てたモデルの消費傾向がそのまま見えてくる。この2つが分かっただけでも、作ってよかったなと思っています。

ちなみに、GitHub Copilot App には Insights という使用状況を見る機能もあります。あちらが全体の集計なのに対して、こちらは「誰が・いつ・どの親子関係で」をローカルで掘り下げる画面です。複数セッションを走らせた日のふりかえりには、現時点ではこちらのほうが向いているかなと思います。

MIT ライセンスで公開しています。よければ皆様のAIエージェントの作業セッションを一度眺めてみてください。

最後までお読みいただきありがとうございました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?