0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI Codingの成熟モデル?

Posted at

こんにちは|こんばんは。カエルのアイコンで活動しております @kyamaz :frog: です。

はじめに

生成AI系のツール(Github Copilot, Cursor, Claude Code, Gemini CLI, Codex CLI など)をコーディング支援に使われている方も多いと思います。一般的に、AI Coding や Vibe Coding と呼ばれ、効率的なプログラム開発にはなくてはならない共創パートナーとして開発を楽しんでいらっしゃる様子をSNSのタイムラインでも見かけることが多いです。ただ一方で、OSS開発者のようなエキスパートの場合は生産性が低下するような研究報告もあるようです。(関連記事1
わたし :frog: は、2025年7月中旬から Claude Code を主に使ってOSSの開発をしています。関連記事にあるようなエキスパートではないので、生産性は高まっていると思っています。本稿では、この数ヶ月で AI Coding で使いこなしていくまでに、利用者側である人間(わたし :frog:)が使い勝手を学んでいって、AI君と上手く付き合えるようになってきた経験を整理してみようと思います。ポエム・ネタです。

AI成熟モデル

AI活用や生成AIシステムに対する成熟モデルについて少し前に以下のような日本語の記事で取り上げられています。

AI Codingについては特に取り上げられた記事は未だ多くないようです。:frog: の体験に基づく話しとなり、体系的ではなく感覚的にはなりますが、AI Coding の開発者の発達過程をみてみましょう。

AI Coding の発達過程(:frog:のケース)

1. 導入前の段階

AI Coding を噂には聞くものの活用できるのかが不安で、使う前に検討する段階があります。例えば、いま目の前の業務での開発に活用できるのか、それにはどれくらいのコストがかかるのか、等々。また仕事であればクライアントとの契約などにも照らして利用可能かなどの導入までの障壁を乗り越えていく必要があります。
:frog: はほぼ個人で開発しているOSSの開発に活用するという目的で活用を決めました。

活用を決めたとしても、様々なツール(Github Copilot, Cursor, Claude Code, Gemini CLI, Codex CLI など)から、どれが今のプロジェクトや自身に合うのかが分かりません。
:frog: は SNS や Qitta の記事を参考にもしましたが、無料枠で使ってみて自分との相性から決めました。terminal + vim での開発の方が慣れていたので、VS Code やエディタから使い易いものより、CLIの使い勝手が良いものを選びました。

この段階で、クライアントとの契約や ISMS や Pマークによる社内のセキュリティ規定などに照らして、活用が制限されるケースも多いと思います。その場合は、このあとの発達段階のある段階までで活用が止まってしまうように感じております。つまり人が関与せざるを得ないコーディング作業は無くならないだろうと考えています。(皆さんのご意見はいかがでしょう?)

2. 初期の試行錯誤段階

コーディングAIを使い始めると活用するための試行錯誤の段階があると思います。まずどの開発フェーズでAI Codingを活用するのがよいのかに悩みます。設計?実装?テスト?どのフェーズで活用するがよいしょうか。既に「スペック駆動開発」という手法も唱えられており、AI Coding ならではの効率的な開発手順と各フェーズでの活用方法も提案されています。おそらく今目の前にある開発フェーズで使い始めればよいと思います。
:frog: は要件定義で使い始めましたが、新規のPoCなどを対象にして最初から使い始めるのが良さそうです。まっさらなコンテキストから specification.md や design.md、architecture.md などの設計書・仕様書を書いて、その流れて実装が始められるのは、生成AIの使い方としては自然なように感じます。

要件定義なりコーディングなりをいざAIとペアプロしていくと、AIのクセなどが分からずに戸惑うこととなります。プロンプトエンジニアリングなのでしょうけど、対話していきながら掴んでいくのがこの段階です。

3. 効率的なコーディング段階

上手く対話ができるようになってくると、意外とサクサクと進んでいくのに驚いて、使いはじめて良かったと思うタイミングがあるかと思います。AI Coding が何に適しているかが分かってくる段階です。Claude Codeであれば、/コマンドなどのコーディングAIの機能を深く知って、更に活用の幅が増えてきます。利用上限のあるサブスクでは、その上限まで使えるようになってきます。上限変更のためにプラン変更なども視野に入ってきますし、自分との適合度がわかってきて、ほかのツールへの乗り換えもこの段階ではありそうです。
:frog: は利用しはじめてから、1ヶ月ほどでこの段階まで来られたように思います。

3. 活用の拡大段階

活用がわかってきますので、更に活用を広げたくなります。ここまでは個人の開発効率の向上に寄与しますが、このあたりからチーム開発における活用がでてくるように思います。同時期にコーディングAIを組織で導入したとしても、開発者それぞれの活用にもばらつきが出てくる状況もありそうです。例えば、コンテキストの記録である AGENT.md(Claude Code であれば、CLAUDE.md)の共有やその方法などもチームで検討される時期だと思います。今までコーディングには縁遠かったQAオペレータや企画サイドのPdMにも活用が広がっていくのもこの段階です。
一方で、個人活用では、酷い目に会うケースもでてきます。:frog: は1日の作業が無かったことになってしまった経験をしましたが、この段階だったと思います。(失敗例が様々なところで取り上げられています。どんな失敗だったかというと、よく取り上げられている失敗と同様で、AI君の無謀な操作によるものでした。)

4. 真に効率化を目指す段階

効率的に開発するためにも、コーディングAIの現機能や出力に不満がでてくることもありそうです。個人で複数のプロダクトやプロジェクトでの利用を経験して、複数のAIを使いたくなる段階です。モデルの使い分け等はこの段階では比較的できるようになりますが、サブエージェント機能も使うようになり、統合的な Vibe kanban のようなツールも導入していきます。
:frog: は、3ヶ月でこの段階に差し掛かったところのようです。再び試行錯誤を重ねています。

5. その先の段階へ

この先の段階は、先人に学びたいですが、AI君をチームで動かしたくなるのだと思います。ここまでは人がチームになって、その人にコーディングAIが付いて支援を受けるような組織ですが、複数のコーディングAIがチームになり、一人一人の開発者をAI君のチームが支援していくようになるようです。
ひとりの開発者は、AIのチームをマネジメントするスキルも必須になってくる段階がこの先にはありそうです。

おわりに

さて、いかがでしたでしょうか。
あるソフトウェアエンジニア(わたし:frog:)の AI Coding を活用するための推移を軽くではありますが、ご紹介しました。
皆さんの発達段階とは異なるかもしれませんが、一例として、これから導入される方の参考になれば幸いです。

本稿のタイトルを「成熟モデル」としましたが、どちらかというと「発達段階」というタイトルの方が良かったかもしれません。記事内で紹介した「AI成熟モデル」とは観点が違う整理になっておりますので、本来は「AI Coding の成熟モデル」というのは組織における成熟度を扱うべきだったかもしれません。今後、そういった観点の整理も提示されてくることと思います。

ご一読いただきまして有り難うございます。
(●)(●) Happy Hacking!
/"" __""\

  1. https://metr.org/blog/2025-07-10-early-2025-ai-experienced-os-dev-study/
    https://qiita.com/Doc-Tanukichi/items/84ab2edcc7e7e7fcc241

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?