ChatGPTとClaude Codeの間でチェスの駒を運ぶ私

2026年10月17日、東京で開催されたTokyo Agent Hackathonに参加した。

そこで、チームメンバーが別の女性参加者に話しているのを聞いた。

バイブコーディングでも何でもいいから、とにかく開発を進めてみたらどうか、というような話だった。

バイブコーディング?

あれ、聞いたことある。

でも、何のことだっけ?

いやぁ、難しそう。自分には無理。

言葉は知っていたけれど、意味は全然分かっていなかった。

そこで、ハッカソンの会場でChatGPTに聞いてみた。

そしたら、自然言語でAIに指示を出して、コードを作ってもらう開発スタイルだと教えてくれた。

えっ?

それって、私が毎日やっていることじゃない!?

それ、名前付いてたんだ。

バイブコーディングって何?

バイブコーディング(Vibe Coding)は、人間がプログラムのコードを一行ずつ書く代わりに、AIに自然言語で指示して、プログラムを作っていく開発スタイル。

例えば、

「こういう画面を作って」

「このボタンを押したら、一覧を表示して」

「ここがうまく動かないから直して」

そんなふうにAIと会話しながら開発を進める。

もともとは、AIが作ったコードを細かく確認せず、動いた結果を見ながら試行錯誤していくスタイルを指す言葉として広まった。

今では、自然言語を使ったAI開発全般を、もっと広い意味でバイブコーディングと呼ぶこともあるみたい。

だから、AIを使ったプログラミングが全部、厳密な意味でのバイブコーディングというわけではない。

でも、私が普段やっている開発と、かなり重なる部分がある。

というか、名前を知らずにずっとやっていた(笑)。

私たちはバイブコーディング組!

そのとき、チームメンバーが話していた相手も、AI開発の初心者だった。

私もプログラミングの専門知識があるわけではない。

だから、なんとなく仲間意識が湧いた。

ああ、私たちはバイブコーディング組なんだ!

ハッカソンには、コードを書けるエンジニアもいれば、私のようにAIを使いながら開発に参加する人もいる。

技術力にはもちろん差がある。

でも、AIのおかげで、以前なら自分には難しいと思っていたことにも挑戦できるようになった。

これは本当に面白い変化だと思う。

私はChatGPTに相談してから、Claude Codeにお願いしている

ちなみに、私が普段どうやってアプリなどを作っているかというと、少し変わった方法かもしれない。

まず、ChatGPTにやりたいことを話す。

どんな機能が欲しいのか、どういう画面にしたいのか、何を改善したいのか。

それをChatGPTと相談しながら整理する。

そして、Claude Codeに渡す指示を作ってもらう。

その指示をコピーして、Claude Codeに貼り付ける。

Claude Codeが作業して、結果を返してくれる。

今度は、その結果をChatGPTにコピーして見せる。

するとChatGPTが、次にどうすればいいかを考えて、新しい指示を作ってくれる。

それをまたClaude Codeに渡す。

基本的には、この繰り返し。

たまにClaudeのチャットで相談して、そこで作った指示をClaude Codeに渡すこともある。

つまり、私はClaude Codeに直接、自分で考えた指示を入力することはあまりない。

どうしてそんな方法になったのか?

実は、以前、自分なりに自然言語で指示してみたら、あまりうまくいかなかったことがあったから。

それ以来、まずChatGPTで指示をしっかり整理してからClaude Codeに渡す方法が定着した。

私の場合は、この方法がやりやすい。

AIにコードを書いてもらうために、別のAIに指示を考えてもらっているわけだ。

考えてみたら、ちょっと面白い(笑)。

まるでシドニー・シェルダンのチェス!

実は、こうやってChatGPTとClaude Codeの間でコピー&ペーストを繰り返すたびに、思い出すシーンがある。

昔読んだ、シドニー・シェルダン(Sidney Sheldon)の小説『明日があるなら』(If Tomorrow Comes)に出てくるチェスのシーン。

テレビで映像版も見た記憶がある。

これが、なぜかずっと頭に残っている。

主人公の女性、トレイシーが、豪華客船で2人のチェスの名人と同時に対局することになる。

しかも、2人は別々の場所にいて、お互いの盤面を見ることができない。

でも、トレイシー自身はチェスの達人ではない。

普通に考えたら、そんな相手に勝てるわけがないよね。

さて、どうする?

ここが面白い!

私が覚えているのは、こんな仕掛け。

まず、1人目の名人が指した手を、2人目の名人との対局でそのまま使う。

すると、2人目の名人が次の手を考えてくれる。

今度はその手を、1人目の名人との対局で使う。

そうすると、1人目の名人がまた次の手を考えてくれる。

その手を2人目の名人に伝える。

また返ってきた手を、1人目の名人に伝える。

これをひたすら繰り返す。

つまり、トレイシー自身が難しい次の一手を考えなくても、実際にはチェスの名人同士が対局していることになる!

なんて面白い仕掛け!

もちろん、トレイシーにも仕事はある。

相手の指した手を正確に覚えて、もう一方の盤面で再現すること。

それから、時々「うーん……」って、真剣に考え込んでいるふりをする演技力も必要なんだけどね(笑)。

私は昔この場面を読んだとき、その発想の面白さが強く印象に残った。

自分がチェスの名人になるわけじゃない。

でも、2人の名人の力を借りることで、自分一人では到底できないことができてしまう。

しかも、相手の2人は、自分たちが実質的に対局していることを知らない。

なんだか、すごくユニークなアイデアだと思った。

そして、何年も経って。

私がChatGPTとClaude Codeを使って開発するようになった。

ChatGPTに相談する。

指示を作ってもらう。

それをClaude Codeに渡す。

Claude Codeが実装して、結果を返してくれる。

その結果をChatGPTに渡す。

するとChatGPTが、また次の指示を考えてくれる。

それをClaude Codeに渡す。

また結果が返ってくる。

あれ?

私、AI同士の間でチェスの駒を運んでいるみたいじゃない?(笑)

これ、構造がそっくり!

片方から返ってきたものを、もう片方に渡す。

すると、相手が次の一手を考えてくれる。

私はその間を行ったり来たりする。

まさに、あの豪華客船のトレイシーみたい!

しかも、これは今回のハッカソンで突然思いついたたとえじゃない。

ChatGPTとClaude Codeを行き来するようになった最初の頃から、何度もあのチェスのシーンを思い出していた。

今でもそう。

コピーして、貼り付けて、返ってきたものをまたコピーして。

そんな作業をしていると、ふっと、あのチェスの盤面が頭に浮かぶ。

もちろん、実際のAI開発はチェスほど単純じゃない。

ChatGPTとClaude Codeには、それぞれ違う役割をお願いしている。

ChatGPTは私の考えを整理したり、次に何をすべきか一緒に考えたりする。

Claude Codeは実際にコードを書いたり、修正したり、テストしたりする。

そして私は、何を作りたいのかを決める。

できあがったものを確認する。

思っていたものと違えば、もう一度相談する。

どの提案を採用するか、いつ公開するかも自分で判断する。

だから、単純な伝言ゲームというわけでもない。

それでも、自分ではできない技術的な作業を、得意な相手の力を借りて進めていく。

自分がすべての答えを持っている必要はない。

大切なのは、自分が何を実現したいのかを考えて、必要な相手に力を借り、結果を確かめながら進めること。

そう考えると、あのチェスの場面と、今の私の開発方法には、やっぱり共通するところがある。

そして今回、ハッカソンで「バイブコーディング」という言葉の意味を知った。

ああ、私がずっとやってきた、このチェスみたいなAI開発にも、ちゃんと関連する名前があったんだ!

もちろん、複数のAIを使い分けること自体がバイブコーディングの定義ではない。

でも、私にはこのチェスが、自分の開発スタイルを説明する一番分かりやすいたとえなんだよね。

昔読んだ小説のワンシーンが、何年も経って、自分のAI開発の方法と重なるなんて。

あの頃は、まさか自分がAIを使ってプログラムを作るようになるなんて、想像もしていなかった。

それが今では、ほとんど毎日のように、2つのAIの間でチェスの駒を運んでいる(笑)。

なんだか不思議だし、面白い。

最初は、短い指示だけで動いてびっくりした!

でも、最初からこんな方法だったわけじゃない。

以前、Codexを使い始めた頃だったと思う。

使い方を教えてもらいながら、ものすごく簡単なプロンプトを入力したことがあった。

すると、それだけでAIが作業を進めてくれた。

えっ、これだけでいいの?

こんな短い言葉でやってくれるんだ!

本当にびっくりした。

細かいコードを書いていないのに、自分の指示でプログラムが動く。

それまで自分が想像していたプログラミングとは、全然違う世界だった。

今は慣れて、毎日のようにAIに開発を手伝ってもらっている。

でも、最初のあの驚きは覚えている。

そして、今思えば、あれが私にとって、AIを使った開発の可能性を実感した瞬間の一つだったんだと思う。

AIに頼んでも、全部うまくいくわけじゃない

もちろん、AIに指示すれば何でも簡単に完成するわけじゃない。

思っていたものと違うものができることもある。

エラーが出ることもある。

一度うまく動いたと思っても、別のところに問題が出ることだってある。

だから、私は指示を整理するだけでなく、テストや動作確認も大切にしている。

例えば、ブログに新しい記事を公開するときも、AIに準備してもらったあと、まず自分でプレビューを確認する。

日本語と英語の記事を確認して、問題がなければ公開を承認する。

AIが作業をしてくれるからこそ、どこまで任せて、どこで自分が確認するかを考える必要がある。

そういう意味では、私の開発方法は、バイブコーディング的な部分もあれば、AIを使った開発支援に近い部分もあるのかもしれない。

そして、まだまだ分からないことも多い。

でも、プログラミングの専門知識がほとんどない私が、AIを使って実際にいろいろなものを作れるようになったのは大きな変化だ。

名前を知らなくても、もうやっていた!

今回のハッカソンで面白かったのは、バイブコーディングを新しく始めたことじゃない。

すでに毎日やっていたことに、名前があると知ったこと。

「へえ、そういう言い方をするんだ!」

という感じ。

そして、初心者の参加者に対して、まずはAIを使って進めてみようという話が出ていたことも印象に残っている。

以前なら、コードを書けない自分がハッカソンに参加するなんて、あまり想像できなかったと思う。

でも、今はこうして参加している。

もちろん、分からないことは山ほどある。

それでも、AIに助けてもらいながら何かを作ることができる。

専門用語を全部知ってから始める必要なんてないんだよね。

先にやってみて、後から名前を知る。

そんな順番でもいいんだ!

そして、シドニー・シェルダンの小説に出てきた、あのチェスの場面。

あれを思い出すたびに、ちょっと楽しくなる。

私自身がチェスの名人になる必要はない。

もちろん、これからも勉強するし、できることも増やしていきたい。

でも、今の自分の知識だけで、できることの限界を決めなくてもいいんだと思う。

AIと相談しながら、一歩ずつ作っていけばいい。

それにしても、私は毎日バイブコーディングっぽいことをやっていたのか。

しかも、シドニー・シェルダンのチェス方式で!(笑)

これからも、しばらくはこの方法で、いろいろ作っていこうと思う。