2つのAIの間を、私が走っていました

余裕のある2体のAIロボットの間を、紙の束をくわえた鳩が汗をかきながら飛んでいるイラスト AI実験室
この記事は約11分で読めます。

7月の終わりから、クローゼットアプリを作っています。今月で2か月目です。

やりたいことは単純で、朝、着る服で迷いたくない。

  • 手持ちの服を、写真で登録しておく
  • その日の気温を見て、着られそうな服を出してくれる
  • 実際に着たら記録して、暑かった・ちょうどよい・寒かったを残す
  • 着ていない服が分かるので、いつか整理できる

最後のが、本当の目的です。着ない服を整理する勇気がほしい。それと、前に手放して後悔した服があるので、捨てたあとの心残りを減らしたい。

そして、これから入れたいものが2つあります。

  • 猫の毛が目立たない服を選べるようにする(猫が2匹います)
  • 服のお手入れ方法を登録しておく

2つ目は、自分でも呆れているところです。

買うときは、洗濯表示をちゃんと確認しているんです。手洗いなのか、家で洗えないのか。

それなのに、実際に洗うときには、もう忘れています。

このあたりは、たぶん世の中のクローゼットアプリには入っていない条件です。自分に必要なものは、自分で作るしかない部分だと思っています。


それで、本題です。

このアプリを作っていた1か月、いちばん忙しかったのは私でした。

実装はCodexがやっています。レビューはClaudeがやっています。私は何も作っていません。

それなのに、いちばん疲れていました。

理由は単純で、2つのAIの間を、私が走っていたからです。

🔀 なぜ2つ使っていたのか

もともと、このブログで使っている自己分析のプロンプトはClaudeで作っていました。そこそこ長い付き合いです。

それで、今度はCodexを試してみようと思ったんです。アプリを作るなら、そちらのほうが向いているかもしれない。

実際、Codexはちゃんと動くものを作ってくれました。ただ、使ってみると違和感がある。どこがどう変なのか、自分では言葉にできない。

それで、Claudeに相談しました。

ここから伝書鳩が始まりました。

🕊️ 伝書鳩のはじまり

流れはこうです。

  • Codexがアプリを作る
  • 私が使う
  • Claudeに「ここが変」と相談する
  • Claudeがレビューを返す
  • 私がそれをCodexに貼る
  • Codexが直す
  • 私が使う(最初に戻る)

最初のうちは、よかったんです。

Claudeの指摘を読んで「だよね」と思う。自分がうまく言えなかったことが、言葉になって出てくる。

しかも、ありがたいことがありました。

私がCodexに伝えても伝わらなかった指示を、
Claudeに「どう言えばいい?」と聞いて、考えてもらっていた。

私の「なんか違う」を、Claudeが「余白が20種類ある」「コントラスト比が2.8:1で基準を下回っている」と数字にしてくれる。それをCodexに渡すと、ちゃんと直る。

便利でした。便利だったんですが、あとから気づきました。

AIに指示を出すために、AIを使っていた。

📋 運んでいた荷物が、1000行を超えました

そうやって受け取ったレビューは、指示書の形で溜まっていきました。

  • ボタンの高さは48px以上に(メインは56px以上)
  • 文字と背景のコントラスト比は4.5:1以上に
  • 余白を4段階に統一(いま20種類ある)
  • 「第2工程」「PoC」などの開発用語を画面から削除
  • プライバシー説明を一般の人が読める言葉に

全部、正しい指摘です。進捗バーは本当に背景と同じ色でしたし、文字のコントラストも本当に基準を下回っていました。

ただ、指示書が4本たまって、1000行を超えました。

1000行の宿題を、コピーして、貼って、結果を読んで、また相談する。

AIは2つとも、休まず働いています。減らないのは私の仕事だけでした。


🚚 「直接やり取りしてもらえませんか」

途中で、当然こう思いました。

この2人で、直接やってくれないかな。

ネットを見ると、複数のAIを連携させている話がいくらでも出てきます。エージェントがエージェントに指示を出して、勝手に開発が進んでいく、みたいな。

それで聞いてみました。できませんでした。

設定が分からない。というより、私の環境では繋がっていなかったんです。

ClaudePCの中にいる。ファイルを読み書きできる
Codexブラウザの中にいる。PCのファイルには触れない

この2人には、共通の通路がありませんでした。ClaudeはPCのファイルに書けますが、ブラウザの中のAIに話しかける手段を持っていない。

だから、私が唯一の通路でした。

それでも、半分だけ解決しました

何とかたどり着いたのが、この方法です。

Claudeが書いた指示書を、Codexに読んでもらう。

ClaudeにPCのファイルとして指示書を保存してもらい、それをCodexに渡す。1000行をコピーする作業は、これで消えました。

ただ、行き来そのものは消えません。「実装した」「レビューした」を運ぶ役は、結局私でした。

ネットで見かける「AI連携」は、たいていこのどれかです。

  • 同じサービスの中にいるAI同士(最初から繋がっている)
  • 自分でプログラムを書いて繋ぐ
  • 対応しているツール同士を、決まった規格で繋ぐ
  • ファイルを置いて、読ませる(私がたどり着いたのはこれ)

「AIを2つ開けば、勝手に協力してくれる」わけではありません。繋ぐのは人の仕事でした。


🔧 【後日】やり方は、あったらしいです

この記事を書くにあたって、あらためて聞いてみました。「本当にできなかったの?」と。

返ってきた答えは、「やり方はあります」でした。

以下は、そのとき教えてもらった内容です。私はまだ試していません。できると言われただけの状態なので、そのまま載せておきます。

方法1:Codexをコマンドとして入れる

Codexには、ブラウザ版とは別にコマンド版(CLI)があるそうです。これをPCに入れると、状況が変わります。

ブラウザ版PCの外にいる。Claudeからは話しかけられない
コマンド版PCの中にいる。Claudeがコマンドとして呼べる

そして、笑ってしまったのがここです。

PCの中を調べてもらったら、Codexのインストーラーが置いてありました。
ダウンロードしたまま、実行していませんでした。

1か月走っていた原因の一部は、ダブルクリックしていなかったことでした。

方法2:決まった規格でつなぐ

MCPという、AIと道具をつなぐための共通の規格があります。対応しているもの同士なら、設定ファイルに書くだけで繋がるそうです。

ただし両方が対応している必要があるので、組み合わせによっては使えません。

方法3:自分でプログラムを書いてつなぐ

それぞれのAIには、プログラムから呼び出すための窓口(API)があります。そこを自分のプログラムで交互に叩けば、好きなように連携できます。

いちばん自由ですが、いちばん手間がかかります。「アプリを作るのが目的」だったのに、「AIをつなぐプログラムを作る」が増えるので、今回は本末転倒でした。

方法4:ファイルを置いて、読ませる

私がたどり着いた方法です。結果的に、いちばん設定が要らない方法だったようです。

完全な自動化はできませんが、運ぶ荷物の重さは確実に減ります。1000行をコピーするのと、ファイルの場所を伝えるのとでは、まるで違うので。


つまり、できなかったのは私の環境と、私の知識の話でした。技術的に不可能だったわけではありません。

ただ、正直に書いておくと、あのとき知っていても、たぶん設定しなかったと思います。アプリを作りたくて始めたのに、AIをつなぐ作業に時間を使うのは、また別の宿題が増えるだけなので。


🤔 でも、繋がっていたら楽だったのか

ここで、ついでに聞いてみました。「繋がっていたら、楽になってましたか?」

答えは「半分だけ」でした。

運ぶ作業は、たしかに消えます。私の窓口も1つになります。ただ、一緒に消えるものがあると言われました。

確認する人です。

伝書鳩をしていたとき、私は両方の言うことを毎回読んでいました。レビューを読んで「だよね」と思い、直ったものを使って「直ってない」と気づく。効率は最悪でしたが、私が唯一の検査係でした。

繋いでしまうと、こうなるそうです。

Codex「直しました」
Claude「直っていますね」
私  「(見ていないけど)そうなんだ」

前回の実験⑤で、AIは「完成」を判定できないと書きました。17件中17件失敗している画面を前に、AIが「実装しました」と報告してきた回です。

つまり、AI同士を繋ぐと、完成を判定できない者同士が握手して終わる可能性があります。報告だけが上がってきて、画面は止まったまま。

私の伝書鳩は、無駄な運搬と、必要な検査が、1つになっていたということでした。運搬だけ消すつもりで繋ぐと、検査も一緒に消えます。

じゃあ、どちらと話せばよかったのか

これも聞きました。答えは「1つに絞るのが正解だった」でした。

目的が「作る」1つに絞る。実装できるAIは1つで足りる
目的が「試す」2つ使っていい。ただし、育てている本番で試さない

私の動機は「Codexを試してみたい」でした。それ自体は間違っていません。

誤算だったのは、試す場所が、進行中のアプリ開発だったことです。作りたいものと、試したいものが同じ場所で混ざったので、どちらも進みにくくなりました。

この連載でやっている「同じお題を複数のAIに投げて比べる」のが、本来の試し場所だったんだと思います。


👀 そして、運んでいた中身も要りませんでした

ここで、もっと大きなことに気づきました。

1か月走り続けて、アプリは動いているのに、開く気がしない。

それで、運んでいた荷物を並べて見直しました。

直そうとしていたこと誰のため
ボタンを押しやすくする初めて使う人
開発用語を消す意味が分からない人
プライバシー説明を平易に不安になる人
エラー文言を丁寧につまずいた人

このとき、テスターは0人でした。

使っていたのは私だけです。「第2工程」が何なのかは、いちばんよく知っています。エラーが出たら自分で調べます。

いない審査員に、1か月ぶん採点されていました。

ここで断っておくと、AIが前提を取り違えていたわけではありません。私は本当に、一般向けのアプリを作ってみたかった。だから「知らない人がはじめて開く」という前提は、私とAIで、ちゃんと共有できていました。

ずれていたのは、そこではありません。

それを、いま満たす必要があったのか。

テスター0人の段階で、ボタンの高さを48pxに揃える必要はありませんでした。いつか必要になるとしても、それは今日ではなかった。

なぜ「今日じゃない」と気づいたか

数字で判断したわけではありません。こう感じたからです。

  • 気力が持たなかった
  • 同じような修正ばかりで、楽しくない
  • もともと作りたかった機能を、1つも追加できていない
  • 指示を出せば出すほど、画面が散らかっていく

最後のが、いちばん効きました。

説明文を足す。エラーの文言を丁寧にする。初めての人向けの案内を出す。どれも「親切にする」修正です。

ところが親切にするほど、画面の文字が増えます。

気づいたら、自分が毎日使うには邪魔なものばかりが並んだ画面になっていました。よくしようとして、使いにくくしていた。

それで、大方消しました。説明も、案内も、丁寧な文言も。

そして、まずは自分が使えるように育てていく方向へ切り替えました。


この判断は、AIにはできません。「一般公開を目指すなら何が必要か」は答えられても、

AIが分からないのは、適切なタイミングと、私のモチベーションです。

私がどれくらい飽きているか。同じ作業が何回続いて、あと何回なら耐えられるか。作りたかった機能に、いつまで手が届かないままか。そこはAIには見えていません。

そしてこれは、聞かれれば答えられることでした。聞かれなかったので、私も言わなかった。

この連載、毎回ここに行き着きます。

実験③言わなかった細部は、消える
実験④AIは「使えるか」を判定できない
実験⑤AIは「完成」を判定できない
今回AIは「今やるべきか」と「私の気力」を知らない

何を作るか、いつ何をやるか、そしてどこまで頑張れるか。順番を決めるのは、やっぱり人の側でした。


🔄 2つ、やめました

それで、方針を変えました。やめたのは2つです。

① 他人に見せる前提をやめた

まずは自分用のアプリとして育てる。
「自分に必要なアプリは自分で作る時代」と銘打って作っていく。
万が一ほしい人がいたら、そのとき提供する。

判定者を1人に絞ると、決めるのが速くなります。「これは私が困っていないから、やらない」で終われるので。

② AIを2つ使うのをやめた

実装もレビューも、Claudeに一本化しました。

レビューした本人が、そのまま直す。運ぶ人が要りません。

連携させる方法をずっと探していたのに、いま落ち着いているのは「2つ使わない」という形でした。

いつか、連携そのものを試す日が来るかもしれません。そのときは、あのインストーラーをダブルクリックするところから始めます。

⚡ やめたら、動き出しました

方針を変えてからの3週間で、こう変わりました。

これまでいま
今日の服を見るまでに、画面を4つ通り過ぎる開いた最初の画面に出てくる
データが消えたら、登録しなおし書き出して、戻せる
パソコンを起動しないと使えないスマホだけで使える

1000行の指示書に載っていた項目は、1つもありません。

全部、私が使っていて「これは困る」と思ったことです。

いちばん上の話をすると、こういう状態でした。

毎日、今日着る服を見たいだけ。
それなのに、服を登録するための画面を4つ通り過ぎないと、そこにたどり着けない。
作った本人が、どれが何をする画面なのか分からなくなっていた。

これは、指示書には書かれていませんでした。

他人が初めて開く1回目には、起きない問題だからです。毎日開く人にしか、気づけません。

📝 分業の前に、確かめたほうがいいこと

今回いちばんの学びは、これでした。

分業すると、運ぶ仕事が生まれる。

人間同士でも同じです。担当を分けたら、間の調整が誰かの仕事になる。それがAI同士だと、調整役は自動的に人間になります。AIは自分から連絡を取らないので。

なので、AIを2つ以上使うときは、先にこれを確かめたほうがいいと思います。

  • この2つは、直接やり取りできるのか
  • できないなら、運ぶ人は誰か
  • それは、1つでやるより本当に楽か

私は確かめずに始めました。結果、AIが2つとも働いて、私も働きました。


ちなみに、1000行の指示書は消していません。

いつか誰かに使ってもらう日が来たら、あれは役に立ちます。要らなかったのは内容ではなく、順番でした。

Codexが悪かったわけでもありません。試してみたかったから試したし、動くものはちゃんと出てきました。分かったのは、2つ開けば2倍進むわけではないということだけです。

次回は、このアプリでもう一つ「やめた」話を書きます。今度はAIに考えさせるのをやめた回です🧠


🧪 前回までの実験

タイトルとURLをコピーしました