Claude Codeだけで十分だと思っていた

ここ最近、私はプログラム開発のほとんどをClaude Code(クロードコード)に任せています。

新しい機能を作る時も、不具合を直す時も、ブログのシステムを修正する時もClaude Codeです。長く使っていることもあり、こちらの指示の出し方にも慣れてきました。

正直なところ、少し前までは「開発はClaude Codeだけでいいのでは」と思っていました。

ところが最近、自分が運営しているサイトをCodex(コーデックス)とGoogleのAntigravity(アンチグラビティ)にもチェックさせてみたところ、考えが少し変わりました。Claude Codeが何度も触ってきたサイトなのに、CodexやAntigravityから、それまで気づいていなかった問題がいくつも出てきたからです。しかも面白いことに、CodexとAntigravityでも見つける問題がかなり違いました。

現時点では「Claude Code、Codex、Antigravityのどれが一番優秀か」という単純な話ではなさそうです。むしろ、それぞれ得意な見方が違います。

Claude Codeをメインで使ってきた

私は普段、Claude Codeを開発のメインに使っています。サイト制作だけではなく、Cloudflare Workers、D1、各種ツールの修正などもかなり任せています。

Claude Codeの良いところは、実際のプロジェクトの中に入って作業を進めさせやすいことです。「この機能がおかしいから原因を調べて」と頼めば、関連しそうなファイルを探し、コードを読み、必要ならcurlなどで動作を確認して、そのまま修正まで進めてくれます。一つの問題を追わせた時の深さはかなりあります。そのため、日常の開発では今でもClaude Codeを一番使いやすいと思っています。

一方で、長く使っているうちに弱点も感じるようになりました。依頼した問題については深く調べるのですが、プロジェクト全体を眺めて、

  • 「ここもおかしい」
  • 「こっちにも将来問題になりそうなコードがある」

と横に範囲を広げて探すのは、そこまで得意ではありません。もちろん「サイト全体を監査して」と頼めば調べてくれます。ただ、それでも普段のClaude Codeは、目の前の修正をきちんと完成させる方に意識が向いているように感じます。実際、GitNexusというコード解析ツールを試した時も、頼んだ範囲は深く調べてくれる一方、こちらが明示的に頼まない限り自分から周辺の不整合まで洗い出しにいく感じではありませんでした。

Antigravityにサイト全体をチェックさせてみた

そこで、あるブログサイトのソースコードなどをAntigravityにチェックさせてみました。すると、かなりの数の問題を挙げてきました。(Antigravityについては、以前個人開発でハマりやすいAPIキーの罠という記事も書いています。)

例えば、サイトマップを生成しているコードでは、日本語記事と英語記事の対応付けに不具合がありました。英語版の記事にはslugの末尾に-enが付いているのに、日本語版と同じslugとして完全一致で検索していたため、サイトマップ上では日英記事の相互hreflangが生成されていませんでした。さらに、

  • 末尾に/を付けたURLが404になる
  • 日本語トップだけWebSite構造化データがない
  • 一部の固定ページがサイトマップから抜けている
  • 404ページの表示がURLによって異なる
  • /enの判定がstartsWith('/en')になっていて、将来/entryなどを作ると英語ページと誤認する

といった問題まで見つけています。このあたりは、以前からClaude CodeやChatGPTにも何度もサイトを見てもらっていたのに指摘されていませんでした。Antigravityは、個々のコードを深く掘るというより、サイト全体を広く見回して不整合を探すのが得意なのかもしれません。ただし、Antigravityには別の問題も感じました。

Antigravityは問題を大げさに評価する傾向があった

重要: 例えば、サイトマップにhreflangがないことを非常に重大なSEO問題としていました。しかしHTML側のhreflangが正しく実装されていれば、Googleにはそれでも言語違いのページであることを伝えられます。パンくずリストがないことについても、「CTRが大きく向上する」「クローラーの巡回にも不可欠」といったかなり強い表現をしていました。問題の発見自体は正しい。でも、その影響の説明は少し盛っている。そんな印象です。

Codexにも同じサイトを監査させてみた

次に同じサイトをCodexにチェックさせました。こちらも興味深い結果になりました。Antigravityと同じように、サイトマップのhreflang不具合などを見つけましたが、それ以外の指摘がかなり違います。

例えばCodexは、ページ番号に異常な値を入れた場合の挙動まで確認していました。

  • ?page=999
  • ?page=abc
  • ?page=0
  • ?page=-1

こうしたURLを実際に確認すると、記事が存在しないのにHTTP 200で返っていたり、エラー画面なのにindex可能な状態になっていたりしました。存在しないカテゴリを指定した場合も同様です。普通にサイトを閲覧しているだけではまず気づきません。

実例: さらに、構造化データのpublisher.logoが存在しない画像を参照している、AppSheetなどへの外部リンクが404になっている、APIで異常なpageを渡すと500になる、APIのlimitに上限がない、閲覧数がbotアクセスでも増える、現在のDBではなく旧プロジェクトのDB名を参照している処理が残っている、といったところまで見つけてきました。セキュリティについても、カテゴリパラメータを使った反射型XSSの可能性や、管理画面の認証方式などを指摘しています。

セキュリティについては、簡易的なシステムなので私自身が分かったうえでそうしている部分もあります。それでも、監査として指摘してくれること自体は悪くありません。特に印象に残ったのは、異常値を実際に入れて挙動を見るところまでやっていたことです。

同じソースを見せても見ている場所が違う

今回の結果を見ると、それぞれのAIにかなり性格があります。Claude Codeは、一つの問題を修正させると強いです。関連コードを読み、原因を追い、そのまま実装まで進める用途では今でも一番使いやすいと感じています。Antigravityは、サイト全体を広く見て、共通テンプレートやSEO、構造上の不整合を探すのが得意でした。Codexは、入力値を変えてみたり、APIやDB、古い設定を調べたりと、「実際に変な使い方をしたらどうなるか」という方向まで掘っていました。

もちろん今回使ったプロジェクトや指示内容による差もあるので、これだけで各AIの能力を断定するつもりはありません。それでも、同じAIだけに開発とレビューの両方を任せ続けるのは少し危ないのではないかと思うようになりました。

作ったAIに自分のミスを探させる難しさ

考えてみれば、人間の開発でも似た話があります。自分で書いたプログラムを自分でレビューすると、どうしても見落としがあります。コードを書いた時の前提を知っているため、その前提自体を疑わなくなるからです。AIでも似たことが起きているのかもしれません。

Claude Codeに、「この機能をこう作って」と依頼して、そのClaude Codeに、「問題がないか確認して」と依頼する。もちろんチェックはしてくれます。ただ、同じモデルに設計とレビューの両方を任せると、最初の判断や前提そのものを疑わず、そのままレビューしてしまう可能性があります。今回、別のAIに見せたことで、Claude Codeが長い間触っていたプロジェクトから新しい問題が出てきたのは、その意味でも興味深い結果でした。

では3つとも契約するのが一番良いのか

品質だけを考えるのであれば、Claude Codeで開発 → Codexでレビュー → Antigravityでもレビュー、という使い方がかなり強そうです。それぞれ違う問題を見つけるので、3つを相互レビューに使えば見落としは減るでしょう。

ただ、ここで、「だから3つとも有料契約しましょう」という結論にしてしまうと、結構な金額になってしまいます。毎月複数のAIサービスへ料金を払うことになりますし、個人開発者や小規模な開発ではそこまで必要ないケースも多いと思います。私自身も、現時点では3つすべてを同じ比重で使うつもりはありません。

現時点ではClaude Codeをメインにするつもり

今のところ、私自身の使い方として一番現実的だと思っているのは、Claude Codeを有料契約して開発のメインに使い、完成した成果物をAntigravityやChatGPTなど別のAIに無料枠の範囲でレビューさせるという方法です。コード修正のたびに監査するとすぐ無料枠を食いつぶしてしまうので、完成したと思ったらやるというような使い方が良いと思います。

日常的な開発では、一つのツールに慣れていることもかなり重要です。毎回Claude Code、Codex、Antigravityを行ったり来たりすると、それだけでも作業が面倒になります。私は今までClaude Codeを使ってきて、実装や修正についてはかなり満足しています。そこを無理に変える必要はないと思っています。

変えるとすれば、開発後のチェック方法です。これまでは、Claude Codeで作る → Claude Codeでチェックする、という流れが多かったのですが、今後は、Claude Codeで作る → Claude Codeで一度チェックする → AntigravityやCodex、ChatGPTなど別のAIにも見せる、という流れにした方が良さそうです。毎回すべてのAIを使う必要もありません。大きな機能追加をした時、公開前、サイト全体を変更した時などに別のAIへ監査させるだけでもかなり違うと思います。

他AIでのレビュー結果をClaude Codeに伝えて、さらに再発防止

これはどこまで効果があるのか、まだ分かりません。ただ、CodexやAntigravityで指摘された内容をClaude Codeに渡して、「今後、似たような開発をする時は、こういう点にも注意してください」と伝えてみました。Claude Codeからは「分かりました、今後気を付けます」と返答があり、実際にMemoryにも注意事項が追記されていました。

重要: もちろん、これだけで同じ問題が二度と起きなくなるとは思っていません。MemoryやCLAUDE.mdに書いてあっても、すべての開発で必ず完璧に守られるとは限らないからです。それでも、他のAIが見つけた失敗パターンをメインで使っているClaude Code側にも共有しておけば、少なくとも今後のチェック項目として意識される可能性はあります。

今のところ私は、Claude Codeで開発する → CodexやAntigravityでレビューする → 見つかった問題をClaude Codeにも共有する、という流れで使ってみようと思っています。

ChatGPTはレビュー結果の整理にも使いやすい

今回もう一つ感じたのが、AIが出した指摘をそのまま信用しない方がいいということです。Antigravityは問題をたくさん見つけましたが、SEOへの影響をかなり大きく評価する傾向がありました。Codexも、改善した方がいい点と実害の大きい問題が一緒に並ぶことがあります。

ヒント: そこで今回私は、出てきた指摘をChatGPTに渡して、「本当に重大なのか」「SEOにどれくらい影響するのか」「今すぐ直す必要があるのか」をもう一度整理しています。問題を探すAIと、問題の重要度を評価するAIを分けるのも一つの方法だと思います。

ChatGPTにも弱点はあります。今回のサイトについては、そもそもChatGPTにも監査をしてもらってたんですが、AntigravityやCodexが見つけた問題の多くを、事前には発見できていませんでした。Webサイトの監査では検索結果や取得できたページを中心に見てしまい、ローカルコードを含めて広く探索する能力では、開発環境に直接入れるツールにかなわない場面があります。一方で、既に見つかった問題について、「これは本当に重大なのか」と評価させたり、文章をまとめたりする用途ではかなり使いやすいです。

まだ相互チェックは必要な時期だった

実は、別のAIに品質チェックをさせる方法は今回初めて試したわけではありません。以前、Claude Codeで開発した成果物をGemini APIでチェックする「Gemini QA」という仕組みを作り、外部AIにレビューさせる方法を試したことがあります(当時の記事)。当時も、Claude Codeだけでは見落としていた問題をGemini側が指摘するケースがありました。

以前はAIエージェントの品質も悪かったので、必須で使っていましたが、最近は品質も上がってきたので、油断してました。今回CodexやAntigravityを使ってみて、少し規模の大きいプロジェクトは改めて「作ったAIとは別のAIにレビューさせる」という考え方は有効だと感じています。

AI開発はまだ一つのツールに決める時期ではないのかもしれない

今はAI開発ツールの進化がかなり速い時期です。数か月前に一番良かったツールが、そのまま半年後も一番良いとは限りません。Claude Codeが得意なところもあれば、Codexが得意なところもあり、Antigravityが得意なところもあります。今回のように同じプロジェクトを見せると、それがかなり分かりやすく出ます。

そのため現時点では、「Claude CodeとCodexならどちらを選ぶべきか」「Antigravityが一番優秀なのか」と一つに決めるより、一つをメインにして、別のモデルをレビュー担当として使う方が合理的だと思っています(以前、Claude Cowork・Genspark Claw・Gemini Antigravityの「仕事を任せられる度」を比較した記事を書いた時も近い感覚がありました)。私の場合は、しばらくClaude Codeをメインにします。そして以前よりも意識して、完成したコードやサイトを別のAIに見せるつもりです。今回実際にそれをやってみて、今まで気づかなかった問題がいくつも見つかりました。

複数のAIに毎月課金しなくても、無料で使える範囲をレビュー用途に回すだけなら試しやすいです。今のAI開発では、「どのAIが一番強いか」を探すより、一つのAIを信用しすぎないことの方が大切なのかもしれません。