🌊

2024年 ビッグテックのAI Agent 動向まとめ

2024/12/27に公開

はじめに

株式会社neoAIの研究開発組織 (neoAI Research) / 東京大学の大槻真輝です。

最近LLMの推論能力の向上によりAI Agentがトレンドになりつつあります。また、MicrosoftやAmazonなどのビッグテックもAI Agentをテーマに様々なプロダクトやサービスを展開し始めています。
そこで今回は2024年4月にIBMとMicrosoftが出したAgentに関するサーベイ論文「The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey
https://arxiv.org/abs/2404.11584
を軸にGoogle、AWS、Microsoft、OpenAI、AnthropicのAgentに関する動向や立ち位置を整理したいと思います。

論文概要

エージェントとは?

2023年の「The Rise and Potential of Large Language Model Based Agents」という広く引用されている論文をもとに、Agentの定義は“brain, perception, and action”を行う言語モデルを利用したentityであるとしています。つまり、Agentは複数のiterationを通して、特定のゴールを達成するためにplan(計画)とaction(実行)ができるものです。

Agentは通常Agent Persona(役割)を持ち、toolを使う能力を有しています。また、Agentを利用したシステムは単一のAgentを利用するSingle Agent Architectureと複数のAgentを利用するMulti Agent Architectureに分かれます。

Single Agent Architectureは一つの言語モデルを利用したシステムです。Single Agent ArchitectureのAgentにはsystem promptとタスク遂行のために必要なtoolが渡されますが、他のAgentからのFBはありません。Multi Agent ArchitectureはAgentを複数利用するシステムです。

ここまでのまとめ

種類 特徴
Agent “brain, perception, and action”を行う言語モデルを利用したentityであり、Agent Personaを持ち、toolを使う能力を有していることが多い。一つの言語モデルを持つ
Agent Persona Agentの「役割」もしくは「性格」
Tools LLMが呼び出すことのできる関数
Single Agent Architecture Agentを一つ利用したシステム
Multi Agent Architecture Agentを複数利用したシステム

Multi Agent Architecture

Multi Agent Architectureは処理の流れ的にVertical ArchitectureとHorizontal Architectureに分かれます。

種類 特徴
Vertical Architecture 一つのAgentがリーダーとなり各Agentにコミュニケーションを取る。
Horizontal Architecture Agent全員がグループディスカッションに参加している。

各社動向

ここから先はGoogle / Microsoft / AWS / OpenAI / Anthropic のAgentに関する動向をまとめます。各社のリリースしているサービスやエージェントの定義を見ることで、各社の立ち位置を明確にすることが目的です。

Google

プロダクト/サービス 特徴
NotebookLM ユーザーがファイルをアップロードし、独自のチャットボットを構築可能なサービス。
Gemini Deep Research ゴールを与えることで数十のウェブサイトから情報を収集し、分析レポートを作成してくれるチャットシステム。
Vertex AI Agentbuilder Vertex AI の中でData Store, OpenAPI, Functions, Code Executorなどのtoolを利用できるAgentをGUIで作成可能。LLMのpromptに使用するtoolを書く。RAGシステムの構築も可能。
Google Agentspace(未公開) NotebookLM Enterprise, Google Agentspace Enterprise, Google Agentspace Enterprise Plusを含むAI Agentを簡単に構築できるサービス。

Google Agentspace の内容

サービス 特徴
NotebookLM Enterprise NotebookLMをエンタープライズで使えるようにセキュリティを強化したサービス
Google Agentspace Enterprise 企業独自のマルチモーダル検索Agentを提供。構造データ/非構造データの両方に対応。翻訳機能付き。Confluence, Google Drive, Jira, Microsoft Sharepoint, ServiceNow などの外部ストレージサービスと連携可能。
Google Agentspace Enterprise Plus カスタムAI Agentを構築可能。

Agent の定義

Deep ResearchやAgentspace Enterpriseなど、処理フローが決まっているものもagent / agentic featureと呼んでいることから、planningまで行わない場合でもagentとみなしていることがわかります。

展望

Google Agentspaceの公開のほかに、Project Astra、Project Mariner、Julesも進んでいます。それぞれがどのような形で世の中に発表されるかわかりませんが、Gemini の性能、NotebookLMの有用性やChromeとのシナジーを考えると期待できそうです。

プロジェクト 特徴
Project Astra 汎用的なAIアシスタントのケーパビリティを検証するプロジェクト
Project Mariner ChromeのExtensionとして、Chrome上でactionが取れるアシスタントを開発するプロジェクト
Jules コーディング補助をするAgent

https://cloud.google.com/agentspace/docs/overview

https://cloud.google.com/agentspace/agentspace-enterprise/docs/overview

https://cloud.google.com/products/agentspace?hl=ja

https://blog.google/products/gemini/google-gemini-deep-research/

https://blog.google/products/gemini/google-gemini-ai-collection-2024/

AWS

プロダクト/サービス 特徴
Agents for Amazon Bedrock エージェントに実行させるtoolは、Lambda関数として実装できるためすでに存在しているAWSの様々なサービスを連携させることができる。
Multi Agent Orchestrator 複数の AI エージェントを管理し、複雑な会話を処理するための柔軟なフレームワーク。GitHubで公開されている。ユーザーのクエリを適切にルーティングし、インタラクション全体でコンテキストを維持できる。
AWS Step Functions Difyにように視覚的にシステムつくれる
Amazon Connect Contact Lens コンタクトセンターの分析や品質管理を自動的に行うためのAI Agent

Agents for Amazon Bedrock

Agents for Amazon Bedrockは、AWSの生成AI基盤モデルであるAmazon Bedrockを拡張し、エンタープライズグレードのAIエージェント構築をサポートするサービスです。このエージェントの実行機能は、AWSのサーバーレスコンピューティングサービスであるLambdaを通じて実装され、AWS上の多様なサービスとシームレスに連携することが可能です。
特筆すべき点として、これらの機能はAWSマネジメントコンソール上でGUIを介して直感的に設計できるため、開発者の学習コストを大幅に削減することができます。さらに、AWSが提供する堅牢なセキュリティ環境での実装が可能となるため、企業の実運用に耐えうる信頼性の高いAIエージェントサービスを構築することができます。これにより、企業は安全かつ効率的にAIエージェントを導入し、ビジネスプロセスの自動化や顧客サービスの向上を実現できます。

Agentの定義

人間が設定したゴールを自らが設定したタスクを遂行することで達成するもの、としています。

An artificial intelligence (AI) agent is a software program that can interact with its environment, collect data, and use the data to perform self-determined tasks to meet predetermined goals. Humans set goals, but an AI agent independently chooses the best actions it needs to perform to achieve those goals.

AWSはすでにMulti Agentに関する取り組み、Multi Agent Orchestratorを発表しています。この場合の1つのAgentというのは1つのAgents for Amazon Bedrockとなります。つまり、1つのAgentの定義はソフトウェア的に定義されます。

ほかにも、AWSは以下のようなAgentの種類があると紹介しています。

種類 特徴
Simple reflex agents Simple reflex agentは、事前に定義されたルールと即時データに厳密に基づいて動作します。与えられたイベント条件アクションルール以外の状況には対応しません。そのため、これらのagentは広範な学習を必要としない単純なタスクに適しています。例えば、ユーザーの会話から特定のキーワードを検出してパスワードをリセットするのにSimple reflex agentを使用できます。
Model-based reflex agents Model-based agentはSimple reflex agentsと似ていますが、より高度な意思決定メカニズムを持っています。特定のルールに従うだけでなく、決定を下す前に起こりうる結果や影響を評価します。サポートデータを使用して、認識した世界の内部モデルを構築し、それを意思決定の支援に使用します。
Goal-based agents Goal-based agents(rule-based agentsとも呼ばれる)は、より強力な推論能力を持つAI agentです。環境データを評価するだけでなく、目的の結果を達成するために異なるアプローチを比較します。Goal-based agentsは常に最も効率的な経路を選択します。Natural Language Processing (NLP)やロボット工学のアプリケーションなど、複雑なタスクの実行に適しています。
Utility-based agents Utility-based agentは、ユーザーが望む結果を最大化するために複雑な推論アルゴリズムを使用します。agentは異なるシナリオとそれぞれの効用値または利益を比較します。そして、ユーザーに最も多くの報酬をもたらすものを選択します。例えば、顧客はUtility-based agentを使用して、価格に関係なく移動時間が最小の航空券を検索できます。
Learning agents Learning agentは、過去の経験から継続的に学習して結果を改善します。感覚入力とフィードバックメカニズムを使用して、特定の基準を満たすように学習要素を時間とともに適応させます。さらに、収集したデータと過去の結果から自己トレーニングするための新しいタスクを設計するために、問題生成器を使用します。
Hierarchical agents Hierarchical agentsは、階層状に配置された知的agentの組織化されたグループです。上位レベルのagentが複雑なタスクを小さなタスクに分解し、下位レベルのagentに割り当てます。各agentは独立して実行し、監督agentに進捗報告を提出します。上位レベルのagentは結果を収集し、下位agentを調整して、集合的に目標を達成することを確実にします。

https://github.com/aws-samples/amazon-bedrock-samples/tree/main/agents-and-function-calling

https://aws.amazon.com/what-is/ai-agents/

https://aws.amazon.com/connect/contact-lens/

https://github.com/awslabs/multi-agent-orchestrator

https://awslabs.github.io/multi-agent-orchestrator/

Microsoft

プロダクト/サービス 特徴
Microsoft Copilot Agents TeamsなどにデプロイできるAgentで、Microsoft Copilot Studioから作成ができる。
Azure AI Agent Service SDKが用意されているのでpython等でAzure OpenAI Service等を利用したAgentの実装を行うことができる。

Microsoft Copilot Agents

Microsoft Copilot 自体がエージェントの概念をもとに作られている。

様々な外部ストレージサービスとの連携が可能であり、会話からイベントをトリガーしたりワークフローを作ることができる。Teams、Microsoft 365 CopilotのMicrosoftのアプリだけでなく、Slackへデプロイしたり、自社のサイトに追加したりできる。

Azure AI Agent Service

Azure AI Foundry内でAI Agentはtoolを利用してRAGやactionの実行やworkflowの自動化を行うことのできるマイクロサービスです。toolの種類としては、Azure上で公開されているものを使えます。LLMとしてOpenAI製のものを公式のサポートで使えるのが他社との大きな違いとなります。

Agent の定義

Microsoft Copilot Studio:

エージェント は、複雑な会話を必要とする問題の解決から、指示とコンテキストに基づいて最適なアクションを自動的に決定するまで、さまざまなやり取りとタスクを処理できる強力なAIコンパニオンです。
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/fundamentals-what-is-copilot-studio#what-is-an-agent

エージェントとは、個人、チーム、または組織の代わりに動作するエキスパート システムです。
https://www.microsoft.com/ja-jp/microsoft-copilot/microsoft-copilot-studio

Microsoftは現状、Microsoft Copilotのエージェントのことを「宣言型エージェント(Declarative agents)」もしくは「自立型エージェント(Autonomous Agent)」と呼んでいて、何かイベントがトリガーになって動くワークフローのことを指しています。

https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/overview-declarative-agent

https://learn.microsoft.com/en-us/azure/ai-services/agents/quickstart?view=azure-python-preview&pivots=programming-language-python-azure

https://www.microsoft.com/en-us/microsoft-copilot/blog/copilot-studio/unlocking-autonomous-agent-capabilities-with-microsoft-copilot-studio/

OpenAI

プロダクト/サービス 特徴
GPTs ChatGPTのウェブアプリケーション内で外部APIとOpenAIのLLMを繋げることができ、Canvaでのデザイン生成や論文の検索/要約など様々なタスクがChatGPTのインターフェースで実行可能。
Swarm PythonベースのAgentオーケストレーション(OSS)。OpenAIのChat Completions APIの上に構築されており、呼び出し間で完全にステートレス。
Operator(未公開) LLMがコンピュータを制御できる。

Swarm

  • Agentの定義

    agent = Agent(
        name="エージェント名",
        model="gpt-4o-mini",
        instructions="エージェントへの指示",
        functions=[関数リスト],
    )
    
  • Agentの実行

    response = client.run(
        agent=agent,
        messages=[{"role": "user", "content": "ユーザーからのメッセージ"}],
    )
    
  • マルチエージェント

    • rooter Agent(triage Agentとかもいう,まあわかりやすければなんでもいい)

      router_agent = Agent(
          name="Router Agent",
          instructions="""あなたはRouter Agentです。ユーザーの質問に対して、適切なエージェントに転送します。
      
          ウェブ検索を行う場合は、transfer_to_web_search_agentを呼び出してください。
          DB検索を行う場合は、transfer_to_db_agentを呼び出してください。
          """,
          functions=[
              transfer_to_web_search_agent,
              transfer_to_db_agent
          ],
      )
      

Agent の定義

https://zenn.dev/neoai/articles/43f15e342cedd6

OpenAIもAGIについての定義を設けており,下記の通り.

レベル 名称 説明
1 Chatbots 現在のChatGPTのように自然な対会話語力を持つAI
2 Reasoners 博士号レベルの教育を受けた人のように高度な問題解決が可能なAI
3 Agents 独立してまたは指示に基づいて行動を取ることができるAIシステム
4 Innovators 新しいアイデアを発明し,人類の知識に貢献することができるAI
5 Organizations 組織全体の業務を独立して行うことができるAI

https://www.bloomberg.com/news/articles/2024-11-13/openai-nears-launch-of-ai-agents-to-automate-tasks-for-users

https://github.com/openai/swarm

Anthropic

プロダクト/サービス 特徴
Model Context Protocol Agentのtool useにおいて、外部APIであったらスキーマが異なるところを、中間層を設けることで、全てのtool(データ)が共通するフォーマットで書けるようにしたライブラリ。中間層はコミュニティによって大量に作られる。
Claude Compute Use Claude がパソコンの複数アプリに跨った処理を計画し、実行する

Agentの定義

AnthropicはWorkflowとAgentを明確に分類しているが一つのAgentic Systemと括ってはいる。

種類 特徴
Workflow WorkflowとはLLMやtoolが設定された処理を行うようにオーケストレーションされたシステムのことである。
Agent AgentはLLMが動的に自分の行う処理やtoolの使い方を決定し、自らがどうタスクを遂行するかをコントロールしている

Agentは処理フローが定義できない、open-endedなタスクに利用できるとAnthropicは主張しています。記事で、Anthropicは課題解決のために最もシンプルなソリューションから試すべきで、それはそもそもagentic system(workflow含めて)を使わないところから始めるべきと書いています。

https://www.anthropic.com/news/model-context-protocol

https://www.anthropic.com/research/building-effective-agents

https://www.anthropic.com/news/3-5-models-and-computer-use

おわりに

こちらのテックブログは,画像生成やLLM開発などを通して,社内の技術力を先導しているneoAIの研究組織「neoAI Research」メンバーで執筆しています.
「未来を創る生成AIの先駆者になろう」
neoAIでは最先端技術を駆使するプロフェッショナル集団として,業務効率化を超えて社会に新たな価値を創出していきます.あなたの好奇心と可能性を,neoAIで開花させてみませんか?

【現在採用強化中です!】

  • AIエンジニア/PM職
  • Biz Dev
  • 自社プロダクトエンジニア職
  • オープンポジション

【詳しい採用情報はこちらから!】

https://neoai.jp/career

neoAI

Discussion