14円で、AIの「視座の違い」を思い知った。
PiloTubeの認証まわりの仕様書を仕上げたとき、自分はちょっとした実験をした。同じドキュメントをClaudeとGPTの両方に投げて、「この仕様、問題ないか?」と聞いてみたのだ。返ってきた内容が、あまりにも違った。
何に困っていたか
PiloTubeは、YouTubeクリエイター向けに動画データを管理・活用できるサービスとして開発を進めている。認証設計は、その中でも特に慎重に扱わなければいけない領域だ。ユーザーのGoogleアカウントと連携し、YouTube APIのトークンを預かる構造になるため、設計ミスがそのままセキュリティホールになる。
仕様書はそれなりに時間をかけて書いた。RLS(Supabaseのアクセス制御機能)の設計、トークンの保存場所、セッション管理の流れ。自分なりには「これで問題ないはず」という手応えがあった。
ただ、一人で書いた仕様書には必ず死角がある。誰かに見てもらいたかった。でも、セキュリティ設計を詳しい人間にレビューしてもらうには、お金も時間もかかる。そこで、AIに投げてみることにした。
気づきの入口
まずClaudeに投げた。
返ってきたフィードバックは、構造的で読みやすかった。「このフィールドはRLSで保護されているか」「このエンドポイントは認証済みユーザーのみアクセス可能か」「ロールの設計に矛盾がないか」——仕様書の記述をひとつひとつ照合するように、チェックリスト的に整理してくれた。抜け漏れを潰していく作業に向いている、という印象を受けた。
次にGPTに同じ仕様書を投げた。
返ってきた内容は、毛色がまったく違った。「攻撃者がこのフローを悪用するとしたら、どこを狙うか」という視点で書かれていた。「もしトークンが漏れたとき、被害はどこまで広がるか」「リフレッシュトークンの扱いに関して、こういう攻撃パターンが考えられる」——防御側ではなく、侵入側の目線でフィードバックが来た。
同じ仕様書を読んで、ここまで視座が違うのか、と正直驚いた。
実際にやったこと
この実験にかかったAPIコストは、合計で14円だった。
Claudeはclaude-3-5-sonnetを使用。GPTはgpt-4oを使用。仕様書のトークン数がそれなりにあったので、インプットコストが少しかかったが、それでも14円。人間のレビュアーに頼んだら、数万円と数日のスケジュール調整が必要になる作業が、14円と数分で終わった。
ただ、ただ投げるだけではなかった。
Claudeには「この仕様書を、セキュリティ要件のチェックリストとして読んでほしい。抜け漏れや矛盾を指摘してほしい」と指示した。GPTには「この仕様書を、攻撃者の視点で読んでほしい。悪用できる箇所があれば教えてほしい」と指示した。
プロンプトの方向性を意図的にずらしたのも一因だが、それ以上に、同じ指示を投げても返ってくる「デフォルトの視座」が違うことは以前から感じていた。今回の実験で、それが確信に変わった。
何が起きたか
Claudeのレビューで見つかったのは、「設計上の不整合」だった。
あるテーブルのRLSポリシーに、ログインユーザーのIDを参照する条件が抜けていた。仕様書には「ユーザーごとにデータを分離する」と書いてあるのに、実装レベルの記述でその条件が明示されていなかった。Claudeはそこをピンポイントで指摘した。「ここは意図的に省略していますか? それとも記述漏れですか?」という確認の仕方が、実に丁寧だった。
GPTのレビューで見つかったのは、「想定していなかったリスクシナリオ」だった。
リフレッシュトークンをどのタイミングで無効化するか、という設計について、「ユーザーが意図せずセッションを残したまま別デバイスからアクセスされた場合、どうなるか」というシナリオを提示された。自分の仕様書にはそのケースが書かれていなかった。「抜け」ではなく「考えていなかった穴」だった。
どちらのフィードバックも、使える内容だった。ただ、目的によって使い分けが必要だと実感した。
使い分けの実感
整理すると、こういう感覚になった。
Claudeは「守備側のレビュアー」。 書いてあることを丁寧に読んで、ルールや構造との整合性を確認する。仕様書や設計書のレビューで「抜け漏れを潰したい」ときに強い。文章の論理矛盾や記述の不統一も拾ってくれる。
GPTは「攻撃側のレビュアー」。 書いてあることより、「書いていないこと」「想定していないケース」を突いてくる。セキュリティの穴を探したり、ユーザーの予想外の行動を考えたりするときに強い。
どちらが優れているという話ではない。目的が違う。
教訓・ヒントとして持ち帰ってほしいこと
一人で開発していると、自分の仕様書を自分でレビューすることになる。当然、死角は見えない。
AIをレビュアーとして使うとき、「とりあえず投げる」だけでは半分しか活用できていない。どういう視座でレビューさせるかを、プロンプトで意図的に設計することが重要だ。
自分がやっている使い分けを一言でまとめるなら、「Claudeで整合性を潰し、GPTでシナリオを壊す」。
仕様書を書いたら、まずClaudeに「抜け漏れと矛盾を探してほしい」と投げる。それが終わったら、GPTに「悪用できる箇所を探してほしい」と投げる。この2ステップで、一人レビューの精度がかなり上がる。
14円でここまでできるなら、使わない理由がない。
PiloTubeの開発は、こういう小さな実験の積み重ねで進んでいる。「AIを使う」ではなく「AIをどう使うか」を考え続けることが、一人開発の武器になると思っている。
チャプター生成AI
URL貼るだけ。AIがチャプターを自動生成。
YouTubeのURLをコピーして貼る
「生成する」を押す
概要欄にコピペして完了
月3回まで無料 · クレジットカード不要