面倒で難しいコード “こそ”、AIに書かせては? 「生産性が高まるAIコーディング」の始め方:特集: その「AIコーディング」は本当に必要か?(3)
AIコーディングは、開発者から「書く苦労」を奪う代わりに「判断と責任」を課そうとしている。ベテランエンジニアのI氏に、AIが開発者個人にもたらす変化と、この先の向き合い方について尋ねた。
「AIコーディング」がもたらす「生産性」の本質を問う特集『その「AIコーディング」は本当に必要か?』。第1回では、生成AI(人工知能)導入による局所的な効率化が、かえってレビュー負荷の増大や現場の疲弊を招くという「AIパラドックス」の問題を整理。第2回では、KDDIアジャイル開発センターでAIコーディングを実践する面々との対談を通じ、AIコーディングを使いこなしながら「本当の生産性」をつかむための方策を探った。
第3回となる今回は、開発者個人に焦点を当てる。スマホ向けアプリなどの開発でAIを活用し、個人で進めるオープンソースのプロダクト開発にも生かしているI氏に、AIが開発者個人にもたらす変化と、この先の向き合い方について尋ねた。
目次
関数やクラスといった小さな単位でも「AIコーディング」は始められる
I氏は業務でスマホアプリの開発に携わる傍ら、趣味としてもオープンソースでソフトウェアを開発、公開してきた、プログラミング歴26年のベテランエンジニアだ。
I氏が個人開発で本格的にAIを利用し始めたのは2024年10月ごろからだという。「最初は、個人で開発しているオープンソースのプロダクトで、まず『ChatGPT』『GitHub Copilot』で『こんなコードを作ってください』とインプットするところから、スモールスタートで始めました。ある程度うまくいったので『OpenAI Codex CLI』や『Claude Code』も使い始め、部分的なコード修正から徐々に使う範囲を広げていきました」
AIでどのようにコーディングしていくか、誰しも初めは手探りとなることから、いきなり大規模に適用するのではなく、関数やクラスといった小さな単位から活用し始め、ある程度慣れた段階でCLI(Command Line Interface)ツールによるコーディングにチャレンジする方法を勧めたいという。
I氏もそのように活用範囲を広げ、コードの作成だけでなく、単体テストの作成と実行、間違った部分の検証までを数十分から数時間で自動実行できるようになりつつある。「コーディングAIへの依存度がどんどん高まってきています」
次に視野に入れているのは複数エージェントの組み合わせだ。「Claude Code Agent Teams」を活用し、設計者、実装者、テスターといった異なる役割をサブエージェントに割り当て、AIエージェント同士で対話しながら開発を進めていくスタイルに取り組もうとしている。
AIを使った開発は、一般的に次のような段階でレベルアップしていく。I氏は、レベル6の段階だという。
明日からできる「AIコーディングの始め方」リスト
- ChatGPTなどのチャットでコード相談
エラーの原因を聞いたり、簡単なコード例を出したりしてもらう段階 - ChatGPTなどのチャットで小さなアプリを作る
簡単なスクリプトやミニツールをAIと一緒に作る - 「Visual Studio Code」+GitHub Copilot「チャットモード(Ask)」
エディタ内でAIと対話しながら開発する - Visual Studio Code+GitHub Copilot「エージェントモード」
AIがリポジトリを理解しながら、より自律的にコードを書いていく - Visual Studio Code+GitHub Copilot「プランモード」
AIと計画・仕様を整理しながら、それを基に実装を進める - Claude Code/「OpenAI Codex」【CLI】またはCodexアプリ
AIを開発環境に深く組み込み、コマンドラインや専用ツールで開発を進める - Claude Code「エージェントチーム」活用
複数AIエージェントで役割分担して開発する段階。まだ発展途上の部分も多く、運用には注意が必要
I氏は個人開発だけでなく業務でもAIコーディングを活用し始めている。勤め先では従業員全員がClaude Codeを利用できるようになっており、プログラミングにそこまで詳しいわけではなかった開発者以外の従業員も、どんどん開発し、サービスを作り始めているという。
AIは先送りしがちな難問に取り組むハードルを下げる
「面倒くさいコーディング」をAIにさせる
こうしたAIコーディングの利点として最も感じているのは、「先送りしがちな面倒くさい問題、難しい問題に気軽に取り組めること」だそうだ。
「C#のプロダクトで、『Internet Explorer』ベースの『WebBrowser』コントロールから『Microsoft Edge』ベースの『WebView2』コントロールに切り替える作業がありました。しかしこれらは設計思想が全く異なっており、単純な移行が不可能です。手動でやろうとすると数カ月はかかる見通しで、なかなか腰が上がらなかったのですが、AIに任せることによって気楽にできるようになりました」
マイグレーションで複数のAIに競わせて一番良いものを選ぶ
既存プロダクトのマイグレーションもまた、AIを使わないと非常に厳しい分野になるという。
マイグレーションに当たってI氏は、同じリポジトリに複数の作業フォルダを作成できる「Git Worktree」を用い、OpenAI CodexやClaude Code、「Gemini CLI」といった複数のツールに並行して別フォルダで作業させ、競わせ、結果をそれぞれ互いにチェックさせて優れたものを選ぶ――という手法も試した。OpenAI Codexの結果をClaude Codeにチェックさせてみると「自分の設計はまずいので、あちらをコピーします」と返してきた。
「例えば複数の企業に発注して出来上がったものの中から最適なものを選ぶような開発は、これまで現実的ではありませんでした。しかしAIコーディングツールを使えば、そのようなぜいたくな開発に近いことが可能になります。見積もりを取って発注するよりもかなり安価な上に、それぞれの結果を評価させることでどんどんブラッシュアップできます」
テストやデバッグもAIならば文句を言わずにやってくれる
コーディング後に欠かせないテストやデバッグ作業もAIエージェントを活用することで効率化できるという。
「自分が作っているアプリで、例外エラーが定期的に上がってくるけれども理由が分からず、ずっと解決していない問題がありました。コード全体を見て原因を探る作業をAIにやってもらうことで解決できました」
具体的には、問題が潜んでいる可能性のある部分を洗い出し、単体テストを作っては問題が出ないように修正していく作業を繰り返し、一つずつ問題をつぶしていった。人間がやろうとするととても不可能な作業だが、AIならば文句を言わずにやってくれる。
同様に、GUI(Graphical User Interface)上での動作確認も、人がやるとなると非常に複雑で工数のかかる作業だが、AIコーディングのCLIから「Playwright MCP」を呼び出して、Webブラウザ回りのテストを実施することも可能だ。
AIであれば大量のデバッグログを渡すことで問題解決もしてくれる。どんどんデバッグログを出力し、AIに渡して日常的に修正していくことで、バグが入り込む余地を減らすことが期待できるという。
AI生成物をチェックし、管理するのは人間の“責任”
一方で、AIならではの課題も感じ始めている。コーディングに限らず、AIが生成した結果を、一次ソースに当たって検証することなく、そのまま手渡されるケースが増えているのだ。いわゆる「AIスロップ」問題だ。
「AIを使うにしても、一般企業での資料作成ならば一次ソースをチェックしたり、開発ならばちゃんとレビューし、機能要件を満たしているかどうかチェックしたりするという当たり前のことが抜け落ちる事態を、文化的に阻止しなければいけないと思っています」
クリティカルなアプリケーションならば、生成時に出力される差分を元に、問題ないかどうかをチェックし、ファイル/フォルダ構成が設計思想に合致しているかどうかといった事柄も含め、開発者がAIコーディングの管理者となってチェックしていく必要がある。その意味で「AIコーディングの一般化に伴い、人はコーダーから管理者に変わっていく」という意見もある。I氏は「管理者として機能しなければ、きちんとした開発者としての役割を果たせなくなります」と話す。
このチェック(レビューを含む)や管理といった作業でも、AIが支援してくれる部分はある。例えばClaude Codeにはプルリクエスト前のセキュリティチェック用に「/security-review」コマンドがあり、OpenAI Codexにはコードレビュー用の「/review」コマンドが搭載されている。また、マルチエージェントで開発するならば、コードを書くエージェントの他に「テスト担当」「セキュリティ担当」といった役割を担う別のエージェントを立ててレビューすることで、効率的にチェックできる。
このため、AIコーディング時代が到来すれば、全てAIに任せられる――という楽観論もあるが、I氏はそうした見方には反対だ。
「最後は結局、人間が責任を取らざるを得ません。となると、AIが生成したコードをきちんとレビューし、テストをして機能や要件を満たしているかどうか、問題はないかどうかを人間が保証する必要があります。一連のチェック作業自体もAIで効率化できるのだから『生成された膨大なコードをチェックし切れない』と諦めずに取り組むべきでしょう」
「開発者の役割は変わる」の具体像
責任を取らざるを得ないという意味で、I氏は一人一人の開発者がプロジェクトリーダー的な役割を担っていくようになると予想している。具体的には、このコードはどういった目的で、どのような条件・状況で使うのかを踏まえ、何を重視するか、逆に何をあえて採用しないのかという優先順位付けが必要になるという。
この記事では、同じ5行のコードでも、エンジニアがどの知識や関心を持っているかによって、見え方や改善点が変わることが示されている。例えば、次のような観点だ。
- エラーハンドリング
- パフォーマンス
- セキュリティ
- 認証認可
- 信頼性
- 保守性
- テスタビリティ
- スケーラビリティ
- 可観測性
AIにコードを書かせる場合でも、「常に全ての観点を盛り込んだコードを書かせればよい」という考え方は現実的ではない。目的や条件・状況に応じて「どの観点を重視するのか」を指示することが重要だという。
「運用管理の観点なら、なるべく多くのログを出力するコードを追加してほしいでしょうし、セキュリティの観点ならば入力チェックなどの処理が適切になされているかどうかという観点でコードを見ていくでしょう。逆に、個人で使うだけのツールならばシンプルなコードの方が適しています。一つ一つのコードの目的を明確化し、その観点でAIにコードを改善してもらうことが大事だと思います」
開発言語のチョイスにも、プロジェクトリーダーとしての人間の判断が求められるという。
「確かに、『TypeScriptのような静的型付け言語の方が、AIが生成するコードでもエラーが少ない』と言われていますが、会社単位、あるいはプロジェクト単位で『Pythonで開発する必要があるけれども、型安全を徹底する』といったコンセンサスがあるなら、『Claude.md』のような指示ファイルに型付けを明記し、AIにもそれを守らせればいいと思います」
他にも、プロダクトの性質やチームの規模、あるいは新規プロジェクトかどうか、既存の資産があるプロジェクトかどうかといった事柄も踏まえ、人間がAIをリードしていかないと、開発プロセス全体を効率化できないという。
AIコーディング時代ならではの新たなノウハウを蓄積し、共有を
結局のところ、AIによって開発が効率化できるからといって、人が学ぶことが少なくなるわけではない。「AIを使えるから学ばなくていいというのではなく、むしろ学んだ方がいいことは増えていると思っています」とI氏は言う。
個人のスキルアップで学んだ方がいいこと
例えば、AIコーディングツールを使いこなすための方法はもちろん、コードの理解力や、作成したコードに対するテストやレビューといった開発に関する一通りの手順についても知識が必要だ。AIが生成したコードをレビューし、コードをマージしていくにしても、その承認のプロセスをどの程度の粒度で、どのタイミングで実施するかといった運用側のノウハウも蓄積する必要がある。
さらには、バイブコーディングという言葉を提唱したアンドレイ・カルパシー氏自身が提唱する、「エージェンティックエンジニアリング」という概念を意識しながら、AIコーディング時代ならではのノウハウをまとめ、学んでいくことが、今後の開発者には求められるだろう。
企業・組織に求められる「ビジネス価値を創出する生産性」
蓄積した知識・ノウハウは所属する企業・組織にも大きなビジネス価値として求められる。まだ黎明(れいめい)期ということもあり、企業・組織にはノウハウがまとまっていない。世の中の仕組みも追い付いていないからだ。だからこそ、企業・組織としてもAIコーディングを始めるのは早ければ早い方がいいとI氏は勧める。「全従業員にClaude CodeやOpenAI Codexを使えるようにし、開発を始め、成功した人のノウハウを他の人に伝えていけばいいと思います」
始めた後、企業・組織としてはどうAIコーディングに向き合っていけばいいのか。迅速にコードを生成する「効率化という意味の生産性」だけでなく、品質が高く仕様通りに動作するコードを提供し、事業に貢献するといった「ビジネス価値を創出する生産性」を高めていく必要がある。
「どんどんプルリクエストを作り、チェックもせずにAIスロップと言われるようなコードを提供して、一つも承認されないようでは、ビジネス価値はゼロです。そうではなく、『ビジネス価値を創出する生産性が重要だ』という意識を会社の中で共有する方がいいと思います」
例えば、ビジネスアイデアをプロトタイプとして作り、実際に触って意見を言い合える状態を作り出していくのにAIコーディングは貢献しやすい。そうしたビジネス価値の創出の仕方もあるだろう。
AI活用にかかる“コスト”を意識する
ビジネス価値の創出には、コスト意識を持つことも忘れてはならない。AIを有効活用するには無料枠ではなく、トークンの制限やプランごとの価格を理解し、管理することが不可欠だ。
I氏によると、AI開発環境は、従量課金よりサブスクリプションで管理する方が安心だという。以下のようにお薦めを教えてくれた。
- ChatGPT
- Plus:月額約3000円(2026年3月現在、以下同)
- Business:月額約4650円
「これらのプランではOpenAI Codexも利用可能です。トークン量も比較的多く、AI開発のベース環境として使いやすいです。Claude Codeの利用上限に達した場合のバックアップ環境としても有用です。もしAIを頻繁に使う場合はPro(月額約3万円)プランへのアップグレードも選択肢になるでしょう」
- Claude Code
- Pro:月額20ドル
- Max 5x:月額100ドル
- Max 20x:月額200ドル
「Proプランでは利用量が限られるため、毎日開発する場合はMaxプランが必要になるケースが多くなると思います。企業利用の場合はTeamプランのStandardシート(月額25ドル)を基本とし、AI利用量が多いパワーユーザーのみPremiumシート(月額125ドル)を割り当てる形が現実的です」
AIに思想はない。今後も人間の役割は残る
数年前から「AIによって開発者はいらなくなる」という言説が飛び交い始めてから不安に思う開発者も多くいたことだろう。だが、生成AIやAIエージェントへの理解が進んだ現在は「AIによって単に仕様書のテキストをコードに変換する人間はいらなくなる」という言説に変わりつつある。AIコーディングが一般化した今、開発者に求められているのは、「単なるコーダー」から「責任を持つプロジェクトリーダー」への役割の変化だ。
だが、AI技術の進化は速い。今後はさらなる変化が起こるかもしれない。AIがいつまでたってもできないことは何か? その予測を踏まえ、I氏は次のように呼び掛けてくれた。
「AIには思想はありません。『ここはあのやり方でやって』『このライブラリは使わないで』といったさまざまな技術判断は、人間が持つ思想やチームとしての哲学に根差したものであり、AIに教え込んでやらせるのは困難でしょう。そこは人間の役割として残ると思います」
AIは「仕事を奪う敵」ではなく、開発者の価値を数倍に拡張する「増幅装置」だ。責任を負い、思想に基づいた意思決定を下すことは、AIには代替できない。
コスト意識を持ちながら、プロジェクトごとの目的、条件に応じてAIコーディングが必要な領域を見極める。そのための知識を深め、ノウハウをためていく――。本稿が、AIコーディング時代の開発者が生き残るヒントになれば幸いだ。これからAIコーディングを始めたい場合は、冒頭で示した明日からできるリストを基に第一歩を踏み出してみてはいかがだろうか。
今、開発現場は閉塞感に満ちている。IT需要が急増している一方で、現場を担えるエンジニアが不足。若手はいるが、設計・レビュー・育成を担える中堅が薄いのも深刻だ。打開策として「AIコーディング」がもてはやされているが、導入した現場では、かえって工数が増大してしまった例が相次いでいる。一般に生成AI活用には、プロセス、人の役割、文化の変革が必要とされ、それは開発現場でも例外ではない。だが、こうしたセオリーが案外理解されていないのではないか。理解していても実践に移せない原因は何か。それは、ゼロをプラスにする、ビジネス価値を創出する「本当の生産性」を考えていないからではないか。本特集では、読者調査や取材を通じ、開発現場の現実、テクノロジー本来の意義、エンジニアの本分を見極め、「本当の生産性」の具体像を解説する。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
なぜAIによるエンジニア代替はうまくいかないのか? “効率化”のはずが、現場で起きている逆転現象
AIで開発は効率化したはずだった。ところが現場では、品質低下やベテランの疲弊といった想定外の問題が広がっている。AI時代の開発現場で何が起きているのかを読み解く。
5カ月でコード100万行を生成してソフトウェア構築 AIコーディングを生かすための工夫とは? OpenAI解説
OpenAIのソフトウェア開発チームは「ハーネスエンジニアリング」を実践し、同社のAIコーディングエージェント「Codex」を活用して、手作業のコーディングなしで社内向けソフトウェアを開発したという。公式ブログで取り組みの成果と課題を共有した。
“アフターAIの世界”、エンジニアは何者になるのか?
AIがコードを書き、設計を補い、テストまで担う時代に、エンジニアという職種はどこへ向かうのか。OpenAIの共同創業者やまつもとゆきひろ氏らの言葉と最新データを手掛かりに、AI時代のエンジニアに求められる役割を探ります。