Claude Codeが「自分の仕事」を放棄し始めた
最近Claude Codeを使う場合 「チャットで長々と指示せず、1つの指示に全要件をまとめると精度が上がる」 とアドバイスされるようになりました。おい待て。
Claude Codeが「要件を整理してまとめる」という設計の中で一番しんどい仕事を放棄して人間に投げ返してきたのであれば、AIを使ってこの部分を集中的に高速化してきたエンジニアはどう生きればいいんでしょうか。
そもそもこれは、現代の最新型AIが「相談型AI」と「実務型AI」の2種類に分化してきただけのことです
大規模な開発では、プログラムそのものの設計より前に、市場調査や法的要件や顧客へのインタビューを元に優先すべき設計要素を固める 「要件定義」 、最新技術やベストプラクティスやチームの技術スタックの評価や比較に基づく 「技術選定」 、信頼性と開発効率が高く運用負荷とダウンタイムの少ない仕組みを設計する 「構造設計」 、そして鍵となる技術要素やアルゴリズムを設計する 「基礎設計」 などさまざまな設計ステップが必要です。
この初期段階の設計には、とにかくたくさんの手法や技術、サービスの組み合わせを比較検証し、今回のプロジェクトに最適な組み合わせを弾き出すためのブレインストーミングや多角的な観点の抽出や絞り出しが必要です。これは1プロンプトで収まるわけもない仕事なので、Claude Code最新版の出番はありません。
個人的に、ここでは超ロングコンテキストの把握とWeb検索が得意で速いGeminiがおすすめです。
GeminiはClaudeとは正反対の、文字通りだらだらと長いコンテキストで壁打ちする作業に特化しています。Web検索による横断的調査と取りまとめを依頼し、相互に意見を交わし、回答にツッコミ(指摘)を入れつつ、自分の頭の中の設計を組み上げるのに必要な情報の積み上げと整理のためのサポート用途では、今のところGeminiが一番使いやすいです。あと安い。(本格的な業務利用の場合、外部に情報が漏れない企業版の契約が必須なのでご注意ください)
方針と基本設計が固まったら、Geminiに以下のまとめを基礎設計の成果物として出力してもらいます。
- 要件定義書
- システム構造設計書
- 明確化すべきアルゴリズムのスニペット
- コーディング規約
実はここまでの作業、「開発会社に発注するための作業」と全く同じです。
私が所属するチームでは開発会社への発注もするし自社での開発もやるし私自身もコードを書きつつクラウドエンジニアとプロマネを兼務してますが、どんなツールを使うとしてもここまでは必ず必要です。
結局のところAIもだんだんこなれてきて、開発会社と同じように「ごちゃごちゃ五月雨に指示されるのは困るから、整理して1回で出してくれ」と言うようになったということですね。…ある意味進歩?なんでしょう。
この先もAIで作業を続ける場合、ここでようやく Claude Codeに乗り換えます。
Geminiで生成したスニペットや指示書を元に、開発に必要な環境と設定ファイル群を生成してもらいます。
もちろん、この段階でも生成された設定ファイル群をすべてじっくり読んで精査(レビュー)し、品質を保証するのはあくまで自分の責任です。ここでの丁寧さが出来上がるプロダクトの品質を左右します。
ここまで来たら、ようやくClaude Codeによる自律開発フェーズに入れます。あとは最近の人気の記事通りにやればそこそこ良いものがすぐできるでしょう。
AIが魔法から「道具」になりつつある
個人的に、上記のおおまかなフェーズはもちろん、開発フェーズ中の各段階も、特に中核的な機能の開発から順に、それぞれ「何を行うか」「どんなテストをするか」を逐一報告させ、それを人間がレビューしながら2人3脚で1つずつ前に進めていくのがおすすめです。 AIを中身のわからない魔法ではなく「道具」として使いこなせるかどうかが今後のAI活用の分かれ目かなと思っています。
開発会社への依頼でも同じですが、どんなに細かくプロンプトや指示を練ったつもりでも、途中で指示の曖昧な部分が表面化してAIや開発会社が意図から大きく外れ始めることはよくあることです。開発要件の複雑さにもよりますが、クラスや関数単位できちんとレビューをしながら順次進めていけば、全体としての手戻りは圧倒的に少なくなります。
もしあなたがリーダーなら、生成でも手書きでも、品質を保証しコードに責任を負うのはあくまで各プログラマー本人であることを常にはっきりさせておきましょう。 そこさえしっかり押さえておけば、システムの規模に関わりなくAIを使用して開発を行うことは制限せず、むしろ推奨できる事だと思います。まぁ会社で全員に買い与えるべきレベルの存在とは個人的に思ってませんが。個人レベルで仕事を効率化できると思うなら使えばいい、程度の感覚ですね。
まぁ、そのうち Claudeだけでなく他のAIも「モード切り替え」で上記のすべてのステップに対応するようになるでしょう。上記の壁打ち部分もClaudeのマルチエージェントとか使えば今でもなんとかなると思います。でも大量の初期設定ファイル群の運用が必要なAIってかなり大きな技術的負債だと思うんですよね。長い目で見ると設定不要が一番強い。もったいないと思って変に残しておくと、いつか必ず自分の足を引っ張る負債になります。コードはシンプルで少ない方がいい。だから私はとことん作り込んだAI向けの設定ファイル群はプロジェクトごとに使い捨ててます。そのために今のところは用途ごとにAIツール自体を乗り換えるのがシンプルに管理できておすすめです。
AIでやればすぐ出来るでしょう?とかちょくちょく言われ出した今日この頃、んなわけなかろうと心の中のツッコミを抑えつつ、引き続きなんとか業務をこなしていきましょう。
同業の貴兄貴姉方のお役に立てば幸いです。