
aiterm-mcp を「AIに永続ターミナルを1本握らせてトークンを削る」道具として公開した。けど使ってるうちに、永続ターミナルの本当のうまみは別のところにあると気づいた。対話型のコマンドが、そのまま回せることだ。
対話型が回せるってことは、親のClaudeが中で codex を起動して、そのまま喋らせられるってことだ。Claude が Codex CLI を握れる。これが地味に効く。
ちょうど rpgdev(AIの作業を画面の隅でRPGに変換するやつ)を作ってて、曲も、勇者とモンスターの絵も、効果音も、背景も、エフェクトも要った。ロジックはClaudeで書きつつ、こういう創作まわりだけCodexに投げたい。Claudeが映像や音に強くないのは昔から知ってる話で、そこは素直に別の手へ回したい。
引っかかるのはそこじゃない。ロジックを書いてる裏でCodexに絵を作らせて、それを同じプロジェクトに組み込もうとすると、普通にコンフリクトする。同じファイルを2人で触るからだ。うーん面倒だな——その程度の地味な引っかかりが、aitermでCodexを子分にしたら消えた。
2枚並べると、気持ち悪いことが起きる
別の頭がほしいだけなら、Codexをもう1枚、隣に立てて並走させればいい。最初はそう思ってた。
実際やると、ちょっと気持ち悪い。同じリポジトリを2人が同時に触るから、「こっちが書いてる間、お前は待機な」って片方を止める場面が出る。コミットも分裂する。気づいたら履歴が左右に枝分かれしてて、うわっとなった。
正直に言うと、これで実害が出たわけじゃない。事故って何かが壊れた、まではいってない。ただ、ちょっと先を考えれば、このまま2人を放置したら同じ行を奪い合って混乱するのは目に見えてた。あの気持ち悪さは、その予兆だったと思う。
aitermなら、Codexは"子分"になる
並走(横並び)でぶつかるなら、縦に積めばいい。
親のClaudeが aiterm でターミナルを握って、その中で Codex を起動する。あとは親が「この曲を作れ」「この敵の絵を描け」と投げて、Codex がアセットだけ作って返す。親はそれを受け取って、本筋(ゲームのロジック)を進める。
ポイントは、順番を親が全部握ってるところだ。横並びだと2人が勝手に同じファイルへ突っ込むけど、親子なら親が「次はお前」「次は俺」と直列に捌く。誰がいつどこを触るかが一本道になるから、そもそもぶつかりようがない。
しかもこれ、ほぼ素直に動いた。Codex CLI は途中で承認を聞いてきたりするけど、対話型をそのまま握れる aiterm 越しなら、親がそれも待ち受けて捌ける。特別な小細工はほとんど要らなかった。
俺が、交通整理から消えた
これの何が嬉しいかって、俺がいなくなれることだ。
2枚を並走させてたときは、衝突しそうになるたびに俺が「それはCodex担当」「そこはClaudeに戻して」と間に立つ羽目になる。要は交通整理係だ。
親子にした瞬間、その係が要らなくなった。親のClaudeが段取りを握ってるから、Codexへの振り分けも、戻ってきたアセットの組み込みも、親の中で完結する。俺は「rpgdev作って」とだけ言って、あとは本筋だけ眺めてればいい。
rpgdev の曲も、勇者とモンスターのグラフィックも、効果音も、背景も、各種エフェクトも——全部この流れで出てきた。どのファイルが誰の担当か、俺は一度も仕切ってない。
親と子は、握った方で決まる
ついでに気づいたんだが、この親子関係、固定じゃない。
ターミナルを握ってる方が親で、握られてる方が子。それだけだ。だから逆に、Codex に aiterm を持たせて、Codex から Claude を子分として呼ぶこともできる。やってないけど、まず普通に動くと思う。だってどっちも、ただのCLIだからな。
どっちを上に置くかは、好きに決めればいい。今回はたまたま俺がClaudeで開発してたから、Claudeが親になっただけの話だ。
aitermの、もう一つの使い道
生産性がどうこうより、感覚の話だ。
苦手な領域を、別の頭ひとつに、自分の管理下でまるごと預けられる。しかもその頭の面倒まで親が見てくれるから、俺は交通整理から降りられる。AIにAIの世話までさせてる感じで、これがけっこう、気持ちいい。
aiterm は「ターミナルを握らせてトークンを削る」道具のつもりだった。けど対話型がそのまま回せるってことは、その先にいる別のCLIまで握れるってことだった。俺がやったのは、ターミナルを1本握らせただけ。あとは勝手に、親子で回ってた。