島までは遠い 〜サークルアラウンド株式会社代表佐藤のブログ〜

佐藤正志@サークルアラウンド株式会社のことが少しわかる場所。プログラマーを育てるトレーナーとして、現役のソフトウェア技術者として、経営者の端くれとして、想うことをつづる。

手でコードを書かなくなった話とgit-worktree との戦いの記録

※ Claude Codeさんに描いてもらった雰囲気の絵

以前の記事から10ヶ月くらい経って、ほとんど手でコードを書かなくなった

ms2sato.circlearound.co.jp

2月ごろにこの記事を書いていて、まだ色々と「自分が書かずにいいコードを書かせる方法」を研究していた。 今12月なので10ヶ月くらい経過したところ。もはや現場の開発でも複数のAIエージェント(主にClaude Code 4.5 Opus )に並行して指示を出しながら仕事をしていて、自分の手でコードを書くことなどほとんどなくなってしまった。依頼とレビューだけをしている。

  • 動作確認が面倒だと思っていたら Chrome Devtool MCP を入れたらなんでもどうにかなるようになっていた。
  • 1つだけ指示を出すのだと脳が空くので、基本的に複数のタスクを並行してこなしている
  • 使っている脳みそとしてはメンバーに依頼してコードをマージしている時とほとんど一緒

自分が試したところでは Claude Code Opus 4.5 は大変優秀で、融通がきき、見通しも良いアクションをしてくる。 Gemini 3がすごいというような風潮があるが、自分が試した限りだとそんなに優秀さを感じなかった。若干こだわりが強すぎて素直さのない対応をされている気がする。codexはcodex自体の思想が安全に寄りすぎているようなのとcli自体がまだまだ発展途上な感じが否めない。codex経由で使わなければいいのかもしれないがあまりその気にはならない。

git-worktree という便利な道具とDXの悪さとの戦い

CLI での戦い

git-worktree は git ブランチごとに別のディレクトリを用意して仕事ができる仕組み。AIツールを並行利用するときに大変便利な道具だ。これがあると複数のタスクを並行してこなすのが捗る。しかし、コマンドが提供する環境はとにかくDXが悪い。

「素早く新たなWorktreeを作って終わったら素早く消す」という流れが作りにくい。Worktree を作成するコマンドがどうも長くなってしまうから打つのに躊躇するのもあるが、.env などの 周辺ファイルをコピーしたり、場合によってはシステムのポートを変更したりなどしないといけないので環境を作るのに億劫になる。

とりあえずコマンドの使い勝手を向上させようとして色々と試行錯誤してみた。その成果が git-wt コマンド。

github.com

これはそこそこ上手く動いた。とにかくcliで面倒なことをどんどんやっつけてみたものだ。テンプレートディレクトリを作って、.env の内容がいい感じに変更されつつコピーされる仕組みまで作っている。顧客のリポジトリを扱う自分としてはリポジトリを汚さずにこれができるようにしていて、使い勝手がいい。利用の程度が軽いうちはこれで問題なかった。

ローカル用 Webツールを試す

同時並行に複数のプロジェクトを動かすことのある自分にとって、中途でAIを放置することはザラにある。そうするとタブを開きっぱなしで置いておくのだが、どんどんiTermのタブが増えてしまう。大抵タブは1つでは済まず、同じディレクトリで別のターミナルを開いてコマンドを打つから、タブが10を超えてくると「どれがどれやらわからん」ということになってきた。

これがAIの活動を監視するタイプの人なら問題にならないのかもしれないが、私のように放置してたまに見にくるタイプの利用ではかなりしんどくなってしまった。

そこで出会ったのが Vibe Kanban で、これは救世主になると期待した。

www.vibekanban.com

しかし、基本的にAIに全件委任させるような設定が前提のようで、私のように、許可リストを適度にコントロールしたい使い方とは相性が悪い。DockerでラップしたりするとChrome Devtools MCP が使いにくくなってしまうし、どうも面倒が増えてしまい、使いこなすことができなかった。それに若干色々と盛りすぎてて自分にはオーバースペックとなったのもある。

ローカル用 Webツールを作る

それで結局ないなら作るか、という気持ちになってやってしまった。

github.com

自分としては以下のことができれば良かった。

  1. git worktree が直感的に扱えること
  2. 環境構築用のファイルがテンプレート的に用意できてディレクトリごとに違う内容でコピーできる
  3. 同じ Worktree で動かしているシェルがひとまとまりになる
  4. 各AIのCLIの動作を妨げず、CLIのまま使える

Claude Code 専用、 macOS 専用でとりあえず割り切ってゴリゴリ Claude に書かせていたらかなり自分にとっては使いやすいものになってきた。社内の勉強会で紹介してみたらメンバーの1人が気に入ってくれたので、自分としてはかなり満足している。

その後、追加のエージェントの機能なども作ったが、それはあまり利用しておらず、今のところはこれで Worktree を開いては閉じすればいい気持ちになってきた。簡易的な git diff 機能も作っておいたが、まだバグ入りなもののそこそこ役に立つ。

そうして何より驚くのが、この手のツールを作る時間コストの少なさ。とにかくすごいスピードでCloud Code が書いていくので自分の気力が尽きる前に一定の成果に辿り着けた。これは本当にすごい。

特にオチはないので一旦また中途の報告としてこれを置いておく。また何ヶ月かしたら続きを書く。