【ITニュース解説】AIエージェントのしくみと技術:RAGベースとワークフローベース

2024年11月27日に「Gihyo.jp」が公開したITニュース「AIエージェントのしくみと技術:RAGベースとワークフローベース」について初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

ITニュース概要

AIエージェントは、RAGベースとワークフローベースの2種類に大別される。RAGベースは、外部知識を検索・利用して回答を生成する。ワークフローベースは、タスクを分割し、複数のツールを連携させて実行する。AIエージェントの仕組みと技術を理解することで、より高度なAIシステム開発に繋げられる。

ITニュース解説

AIエージェントとは、与えられた目標を達成するために、自律的に行動できるAIシステムのことだ。この記事では、特にRAGベースとワークフローベースという2種類のAIエージェントの仕組みと技術について解説する。

まず、RAG(Retrieval-Augmented Generation)ベースのAIエージェントについて説明する。RAGは、大規模言語モデル(LLM)の知識を補強する技術だ。LLMは大量のテキストデータを学習しているが、学習データに含まれていない情報や、最新の情報に対応できないという課題がある。RAGは、この課題を解決するために、まず外部の知識データベースから関連情報を検索(Retrieval)し、その情報をLLMに与えて(Augmented)回答を生成(Generation)する。

RAGベースのAIエージェントの仕組みは以下の通りだ。ユーザーからの質問や指示(プロンプト)を受け取ると、まず検索モジュールが関連情報を知識データベースから検索する。知識データベースには、テキストデータ、画像データ、動画データなど、様々な形式の情報が格納されている。検索モジュールは、ユーザーの質問に関連する情報を効率的に見つけ出すために、キーワード検索やベクトル検索などの技術を用いる。

次に、検索された情報はLLMに渡される。LLMは、元のプロンプトと検索された情報を組み合わせて、回答を生成する。この際、LLMは検索された情報を参考にすることで、より正確で詳細な回答を生成することができる。例えば、ある商品の価格について質問された場合、RAGベースのAIエージェントは、まず最新の価格情報をデータベースから検索し、その情報に基づいて回答を生成する。

RAGベースのAIエージェントの利点は、LLMの知識を常に最新の状態に保つことができる点だ。また、LLMが学習していない専門的な情報や、特定の企業や組織に関する情報も、知識データベースに追加することで、対応することができる。

一方、ワークフローベースのAIエージェントは、予め定義された手順(ワークフロー)に従って、複数のタスクを連携して実行するAIシステムだ。RAGベースのAIエージェントが主に情報検索や質問応答に用いられるのに対し、ワークフローベースのAIエージェントは、より複雑なタスクや、複数のステップを必要とするタスクに適している。

ワークフローベースのAIエージェントの仕組みは以下の通りだ。まず、タスクを達成するために必要な手順を定義したワークフローを作成する。ワークフローは、例えば「顧客情報の取得」→「与信審査」→「契約書の作成」→「契約」といった一連のステップで構成される。各ステップは、それぞれ独立したタスクとして定義され、AIモデルやAPIなどのツールを用いて実行される。

次に、ユーザーからの指示やイベントが発生すると、ワークフローエンジンがワークフローに従ってタスクを実行していく。各タスクの実行結果は、次のタスクに引き継がれる。例えば、顧客情報の取得タスクで取得された顧客情報は、与信審査タスクに引き継がれ、与信審査の結果は、契約書作成タスクに引き継がれる。

ワークフローベースのAIエージェントの利点は、複雑なタスクを自動化できる点だ。人手で行っていた作業を自動化することで、業務効率を大幅に向上させることができる。また、ワークフローを明確に定義することで、タスクの実行プロセスを可視化し、改善することも容易になる。

RAGベースとワークフローベースのAIエージェントは、それぞれ異なる特徴を持っている。RAGベースは、LLMの知識を補強し、より正確で詳細な回答を生成することに優れている。一方、ワークフローベースは、複雑なタスクを自動化し、業務効率を向上させることに優れている。

これらのAIエージェントを開発するためには、プログラミングスキル、データ分析スキル、AIモデルに関する知識など、幅広いスキルが必要となる。特に、LLMやベクトル検索などの最新技術に関する知識は不可欠だ。また、AIエージェントを実際に運用するためには、クラウドコンピューティングやセキュリティに関する知識も必要となる。

AIエージェントは、まだ発展途上の技術であり、今後ますます進化していくことが予想される。システムエンジニアを目指す初心者は、これらの技術の基礎を理解し、積極的に学習していくことが重要だ。