APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

エンジニアと衝突必至? 喧嘩にならない「AI開発」の使い方

取締役兼ACS事業部長の上林です。

弊事業部ではDX開発を支援する業務を行っているのですが、生成AIの急速な台頭により、LLMOps、FMOps、GenOpsなど様々な用語が現れるなど業務の在り方自体が見直されている時代かと思いますが、開発の領域でもAIを活用していくシチュエーションが増えています。そういった中で最近「AI開発」(もしくはAIの開発)という言葉による混乱を、小さいことから大きいことまで様々に体験してきました。仕事柄、ビジネス系の方々、開発系エンジニアの方々、インフラ系エンジニアの方々、データ系エンジニアの方々、はたまた企業として事業会社の方々、メーカー系の方々、SI系の方々、様々な立場の方とお会いしますが、コンテキストによって「AI開発」は多様な使われ方をする言葉だなと体感しています。実際に業界標準として「AI開発」という言葉の明確な定義は特にない状況でもあると考えています。

今回は、言葉の使われ方を「①AIモデルの開発」「②AIを組み込むアプリ開発」「③AI駆動開発」の3つに分けて整理してみました。そのうえで②の中のサブジャンルとして「②'生成AIアプリ開発」についても整理しましたのでご紹介します。

「AI開発」の使われ方マップ

①「AIモデルの開発」としての使われ方

いわゆるデータサイエンティストの方などが「AIモデル」自体を開発することを指します。モデルにはLLMもSLMも入ります。弊事業部では「AIモデル開発」と呼称しています。

MLOpsなどモデルをチューニングしていくところも含めて使われることもありますが、あくまでもモデルの開発を指し、基本的にはその周辺のアプリ開発のことは含まれません。図上で一部「AIを組み込むアプリ開発」と被っているのは、モデルを開発する方々がちょっとしたアプリまで含めて開発してしまうことを「AI開発」と呼ぶこともあるので、被らせています。

生成AIやLLMが登場する前からある使われ方で、恐らくAI開発と言われて業界の人がイメージするのはこちらの使われ方という印象です。

ちなみにやっかいなのが、一言にAIモデルと言ってもMLモデル、ディープラーニングモデルなど様々なカテゴリがあり、その一つにLLMモデルがあるため、②'との境が混乱しやすいです。LLMのファインチューニングはこちらに入っても、RAGでの利用はこのジャンルに入らないイメージです。

②「AIを組み込むアプリ開発」としての使われ方

①のAIモデルを組み込むもしくは配置する、ときに使われる使われ方です。モデルにはLLMもSLMも入ります。弊事業部では「AI組み込み開発」と呼称しています。

こちらも、生成AIやLLMが登場する前から存在し、そういう時代でメジャーだったのはwebサイトのリコメンドエンジンなどでしょうか。普通の開発者の方々に聞くとこの領域を「AIの開発」と想像する方も多い印象です。

昨今の生成AIの流れでは、①で利用したAIモデルをチャット窓などを実装して裏でAPIで呼び出すなどもここに入りますので、②'としても定義しています。

②'「生成AIを利用したアプリ開発」としての使われ方

基本的には②の一部で、特に最近案件が多いのはこの領域で、弊事業部では「生成AIアプリ開発」と呼称しています。

生成AIアプリ開発≒LLMアプリケーション開発とも呼ばれる領域です。プロンプトエンジニアリングやLangChainなどを利用し、LLMを活用する開発です。また生成AIのモデルのAPIをたたくのもここに入る形になります。

最近ではこういった開発を容易にするDifyやPromptFlowなどのツールも登場してきています。

図上で一部②から飛び出ているのは、ChatGPTなどの既製製品を既存データと連携させたり、既存製品をプロンプトエンジニアリングでカスタマイズするだけの、純粋な開発を伴わないものでも「生成AI開発」と呼ばれたりしますのでそう表現しました。正しい呼び方があるわけではありませんが、意識合わせには注意が必要です。

③「AI駆動開発」としての使われ方

開発手法や環境にAIを利用していく方法論としての使われ方です。まだ業界標準があるわけではないという認識ですが、こういった用語が出てきており、弊事業部でもそれにならって「AI駆動開発」と呼称しています。

①と②とはそもそもジャンルが異なりAIをツールとして使う方でして、GitHub CopilotによるAIコード生成や支援などがここに入ります。「AI開発をしたい」と言われてよく聞くとGitHub Copilotを導入したいという話だったというパターンが多い印象です。

最近非常に活況な領域で開発の在り方さえ変えてしまう可能性のあるツール群も発表されてきています。自然言語の開発環境「GitHub Spark」「Zoltraak(ゾルトラーク)」などから、開発プロセス全体を支援する「Aider」「Cursor」、更にLLMマルチエージェントが自律的に協働するモデルである「GitHub Copilot Workspace」「Devin」のようなものまで、今後も進化していくでしょう。

また昨今では、「AIOps」と呼ばれる、DevOpsのOps側の環境・ツール・システムにAIを利用していく流れも出てきており、DevOps開発という文脈では広義には「AIOps」も「AI駆動開発」に入ると考えています。


いかがだったのでしょうか。

日本人は阿吽の呼吸が得意ですし、日本語の特性でもあると思いますが省略してしまうことが多く「AI開発」という言葉はつい出てしまいますし、人によって今後も使われるのかなと想像しています。知り合い同士でそれぞれのコンテキストがはっきりしている場合であればそれでもよいのですが、弊社内のスモールなチームですら混乱が見られたため、基本的に「AI開発」という言葉を使わず、一段定義を明確にすることには意義があると感じています。また、お相手のコンテキストがはっきりしない場合には、是非この整理などを使って一段深堀りして頂き意図を合わせていただけると、DXのコミュニケーションもスムーズになるのではないでしょうか。

なお、ここがちょっと違うのではないか、ここはこうしたほうが良いなどの、ご意見も頂けるとありがたいです!(よく関連の展示会などにも出ておりますので、その場で議論も是非)

ACS事業部のご紹介

私達ACS事業部はクラウドネイティブ技術、Azure AI サービス、Platform Engineeringなどを活用し、攻めのDX成功に向けた開発者体験の向上・内製化のご支援をしております。
www.ap-com.co.jp www.ap-com.co.jp また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。 www.ap-com.co.jp