サイト内の現在位置

自律的AIエージェント

・Innovation Story 12

#AIエージェント #エンジニアリング

AIの自律的判断を前提とした次世代ソフトウェアエンジニアリング

#AIエージェント #エンジニアリング

この数年で、研究開発の進展により、生成AIを取り巻く技術環境は大きく変わりました。従来は一部工程の支援にとどまっていたAIが、現在では複数の工程を横断し、より長いプロセスを前提とした出力を行うケースも見られます。

NECソリューションイノベータのイノベーションラボラトリ(以下、イノベラボ)では、こうした技術環境の変化を踏まえ、システムインテグレーション(以下SI)の工程全体をAIが担うことを想定した技術開発に取り組んでいます。その狙いは、AIを効率化のための補助ツールに留めるのではなく、人の判断を前提としない、自律的に思考し実行できる仕組みとして設計することにあります。

イノベラボでは、SI工程(要件定義、設計、実装、テスト、リリース)をAIエージェントが一貫して担うことを目標としています。その実現には、AIが判断基準を参照しながら処理を進めるだけでなく、実行結果に基づく失敗や問題点を記録として蓄積し、以降の判断や行動に反映できる仕組みが必要です。

AIの自律化を前提にSI工程そのものを再設計するイノベラボのこの取り組みは、エンジニアが担う役割や意思決定のあり方を見直す契機となっています。本記事では、AIを自律的に動作させるための考え方と技術開発の方向性について、「曖昧性」や「記憶」といった設計上の論点を軸に、開発の概要を整理します。

NECソリューションイノベータ株式会社 イノベーションラボラトリ 探索グループ/サービス開発チーム  森松 祐樹(もりまつ ゆうき)
NECソリューションイノベータ株式会社
イノベーションラボラトリ 探索グループ/サービス開発チーム
森松 祐樹(もりまつ ゆうき)
NECソリューションイノベータ株式会社 イノベーションラボラトリ 探索グループ/サービス開発チーム  森松 祐樹(もりまつ ゆうき)
NECソリューションイノベータ株式会社
イノベーションラボラトリ 探索グループ/サービス開発チーム
森松 祐樹(もりまつ ゆうき)

生成AIの進展に伴うSIの再検討

近年の生成AIの進化に伴い、エンジニアが担ってきた知識や作業領域との関係性にも変化が生じています。

その一例として、生成AIの出力特性や処理プロセスの変化が挙げられます。従来の生成AIは、指示に対して短時間で回答を返すことを主な用途としていました。一方、近年の生成AIでは、一定の時間をかけて指示内容を整理・分解し、複数の観点を踏まえた出力を行う事例も見られます。

従来は「一つの指示に対して一つの回答」を返す構成が一般的でしたが、近年では「一つの指示から複数の選択肢や補足的な提案を提示する」など、指示内容の不足を補う出力も確認されています。

このような出力特性の変化は、AIを単なる補助ツールとしてではなく、一定の判断や作業を担う役割として位置づける構成が可能であることを示しています。開発現場においても、従来の経験や知見を前提とした進め方を継続できるかどうかについて、再検討の必要性が指摘されています。

また、専門的な知識や長年の経験がなくても、アイデアを具体化できる環境が整備されつつある点も、生成AIの進化に伴う変化の一つといえます。

こうした生成AIの進化に伴い、実装やテストを人が行うことを前提としてきた従来の開発手法の見直しが注目される中、イノベラボでは「AIが自律的に動くこと」を前提にSI工程全体を設計し直す技術開発に取り組み始めました。

AIの位置づけの再整理 ― 作業代替から自律的実行主体へ

本取り組みでは、人が詳細な指示や手順を逐一与えるのではなく、AIが自律的に処理を行い、失敗事例を踏まえて出力を更新していく仕組みを重視しています。SI工程の各段階において出力結果に問題が生じた場合には、その原因を分析し、次の実行に反映させる「自己改善ループ」の構築も進めています。

こうした仕組みを前提とすると、エンジニアが担う役割の再定義が求められます。従来のように作業手順を細かく指示するのではなく、これからのエンジニアには「課題を定義すること」「判断基準を設定すること」「品質と結果に責任を持つこと」といった役割を担うことの重要性が高まっています。

  • 指示粒度の設計とAIの自律的判断

従来のAI活用と自律的AI活用の違いの一つは、人がAIに与える指示や情報の粒度にあります。

例えば、「椅子を壁際に寄せる」という課題を例に挙げます。従来のプログラム制御では、「椅子を左の壁に2センチ幅で寄せる」といったように、位置や手順を細かく指定する必要がありました。一方、本取り組みでは、「人の動線を妨げないように椅子を片付ける」といった目的を中心とした指示を基に、状況に応じて適切な行動を判断できる仕組みを想定しています。

人が課題や目的を定義することで、AIは与えられた要件や判断基準を参照しながら、自ら思考し、行動を選択します。その結果として、設計書の作成やコード生成といった工程も、一定の自律性をもって進められるようになります。これは、すべての手順を事前に細かく指定する従来の前提とは異なるアプローチです。

期待した結果が得られなかった場合でも、調整の余地は確保されています。人が結果を確認し判断基準を調整できるほか、AIが試行結果を基に出力を修正する自己改善の仕組みを組み込んでいるためです。その結果、業務の蓄積に応じてアウトプットの品質向上が可能となります。

  • AIの自律化を前提とした開発モデルの再構成

このような仕組みを実装すると、SIにおける役割や価値の位置づけにも再整理が求められます。

AIは人の稼働時間に制約されないため、処理速度や継続的な実行という点で、人手中心の開発とは異なる特性を持ちます。その結果、時間やコストの制約により従来は着手が難しかった開発や検証にも対応が可能となります。

また、専門的な知識や長年の経験を前提とせずに、アイデアを迅速に具体化できる環境が整備されることで、開発に参加する主体の範囲が拡大する可能性があります。AIの自律化を前提としたSIは、開発環境のあり方を再検討する方向性の一つとして捉えることができます。

AIの思考プロセスを安定化させるための設計

本取り組みが対象とする領域には、あらかじめ定められた正解や確立されたベストプラクティスが十分に整備されているわけではありません。従来の設計論や開発手法をそのまま適用することが難しいため、開発プロセスでは仮説検証を重ねながら進める姿勢が採られています。

取り組みの中心となっているのは、AIエージェントの構成設計をはじめ、プロンプトの構造化、コンテキスト設計、記憶の管理方法といった要素です。これらは個別の機能開発ではなく、AIが自律的な処理を継続できる構造を成立させるための設計対象として整理されています。

  • 曖昧さと過度な詳細を排したプロンプト設計

AIが適切な処理プロセスに到達するためのプロンプト設計は、本取り組みにおいて特に検討を要する領域の一つです。詳細な手順を与えない設計を採用する一方で、指示に曖昧さが残ると、意図した出力が得られない場合もあります。詳細すぎず、かつ曖昧すぎない指示をどのように設計するかは、本技術開発における主要な検討課題となっています。

また、AIは扱えるコンテキストのサイズに制約があるため、複雑で大量の指示を一度に解釈できない場合があります。そのため、AIに段階的な処理を行わせる設計が必要です。具体的には、最初に指示を与えた後、その内容を要約させ、箇条書きで整理させます。続いて、実行対象を選択させたうえで処理を実行する、といった段階的な手順を採用します。

こうしたアプローチは、AIによるタスク分割が処理効率の向上に寄与するとの研究報告とも合致しています。これを踏まえ、継続的な検証を通じた有効性評価が行われています。

  • 自己改善ループを支える記憶機構

詳細な手順を与えない設計を採用した場合、AIの出力には一定のばらつきが生じます。先ほどの「人の動線を妨げないように椅子を片付ける」という例でも、「人の邪魔にならない」という表現をどのように解釈するかは、AIの処理過程に依存します。そのため、同じ指示であっても、実行のたびに出力結果が変動する場合があります。

このようなばらつきが制御できない状態では、SI工程全体を安定的に運用することは困難です。そのため、AIに記憶機構を組み込む設計が重要な検討対象となります。記憶を組み込むことで、出力のばらつきを一定の範囲に抑え、再現性の向上が期待されます。

記憶機構の設計には、大きく二つのアプローチがあります。

  • (1)
    AIがエラーを検知し、修正結果を記録する方法
    実行結果を評価し、問題点と修正内容を記録として蓄積することで、次回以降の生成や判断処理に反映させる方式です。
  • (2)
    人が与えた判断基準を記録する方法
    人のフィードバックによって示された判断基準を永続的なルールとして保存し、以降の出力や判断処理の基準として利用する方式です。

こうした記憶機構を組み込むことで、AIの自律性を前提としつつ、SIに求められる再現性との両立が可能となります。

「AI=補助ツール」から「AI=自律的実行主体」へ

「AI=補助ツール」から「AI=自律的実行主体」へ
従来はAIを補助的に活用するモデルが主流でしたが、イノベラボにおいてはAIがSI工程全体を担う構成のもと、自律的な判断・実行を可能とする開発が進められています。その結果、エンジニアは上位設計や意思決定を担う役割へと再定義されています。
「AI=補助ツール」から「AI=自律的実行主体」へ
従来はAIを補助的に活用するモデルが主流でしたが、イノベラボにおいてはAIがSI工程全体を担う構成のもと、自律的な判断・実行を可能とする開発が進められています。その結果、エンジニアは上位設計や意思決定を担う役割へと再定義されています。

AI自律化を支える専門分担体制と学際的知見

前述のとおり、AIが試行錯誤を通じて安定した出力に収束するためには、記憶の扱いを適切に制御する仕組みが不可欠です。イノベラボでは記憶メカニズムの設計・実装を担う専門チームを設置し、AIの自律化に必要な各要素を分担して技術開発を進めています。

また、テーマごとに専門領域を分けて検討を行う体制をとることで、複雑な課題についても論点を整理しながら段階的な検証を進めています。こうした体制が、技術開発を継続的に推進する基盤となっています。

さらに、AIがより複雑な状況を扱うようになるにつれて、人の意図や文脈をどのように解釈するかという観点も重要になります。表情や行動から意図を推定することや、利用者の嗜好や過去のやり取りを踏まえた提案の生成は、技術的処理のみでは完結しない領域です。

そのため、イノベラボにおける次の段階では、心理学や行動科学の専門知見も参照しながら検討が進められています。技術基盤の整備と人間理解に関する知見を組み合わせる構成により、単なる自動化に留まらないAI活用の可能性が検証されています。

エンジニアの役割の再整理 ― 作業から意思決定へ

イノベラボでは、生成AIの進展に伴い、システム開発の在り方についても再検討が進んでいます。これまで実装やテストといった工程は“人が担うこと”を前提としてきましたが、その前提そのものを再評価する必要性が指摘されています。

その流れの中で、エンジニアに求められる役割も整理されています。エンジニアの重要な役割は、全ての工程でAIが自律的に動作できるような目的と判断基準を設計したうえで、最終的な品質や結果に責任を持つことと位置づけられています。こうした変化に伴い、エンジニアの役割は作業の実行主体から意思決定主体へ、またAIを利用する立場からAIを設計・制御する立場へと再整理されています。

価値や目的を言語化し、AIに適切な文脈と判断基準を与えることで、専門知識の有無にかかわらず、アイデアの検証や具体化を進めることが可能になります。イノベラボでは、AIを前提とした開発環境のもとで、試行錯誤を重ねながら価値を具体化していくこのアプローチが、開発の可能性を大きく広げると考えています。エンジニアとAIが役割を再定義しながら協働することで、これまでとは異なる創造の形が生まれていくことを期待しています。

イノベーションラボラトリ 探索グループ/サービス開発チーム
森松 祐樹(もりまつ ゆうき)

ミッションクリティカルシステムの開発を中心に、大規模プロジェクトのアーキテクトおよび技術リーダーを務める。近年は生成AIを前提とした次世代の開発プロセス設計に取り組み、「コードを書かずにプロダクトを成立させる」開発スタイルを実践。長年の経験で培った判断力と「なぜを問う力」を基に、AI時代におけるエンジニアの価値と役割の再定義に取り組んでいる。

イノベーションラボラトリ 探索グループ/サービス開発チーム  森松 祐樹(もりまつ ゆうき)

INNOVATION STORIES/イノベーションストーリー

INNOVATION STORIES/イノベーションストーリー

先端技術研究と人間理解の研究、さらには社会課題の解決に貢献する新規事業開発の事例をご紹介いたします。