Skip to Content
Docs01. 基礎概念AI Agent とは何か

この記事の音声は準備中です。

音声の一覧・再生リストへ

AI Agent とは何か

この記事の目的

「Agent」という言葉のブレを整理し、(1) 自分が作ろうとしているものが Agent なのか、そうでないもので足りるのかを判断できる、(2) Agent の類型と自律性の度合いをチーム内の共通言語として使える、という 2 点をゴールにします。

対象読者

前提知識

  • AI Agent 学習ロードマップ — このライブラリの読み進め方
  • LLM API の基本(システムプロンプト、チャット履歴、トークンの概念)

本文

概要: このライブラリでの定義

このライブラリでは AI Agent を次のように定義します。

AI Agent とは、LLM を判断の中枢に置き、ツールを使いながら、目標達成までの手順を実行時に自律的に決めて実行するシステム

重要なのは「手順を実行時に自分で決める」という点です。処理手順を開発者がコードで固定し、LLM を各ステップの部品(分類・要約・生成など)として使う構成は、このライブラリでは Workflow 型処理手順を開発者がコードで固定し、LLM を各ステップの部品(分類・要約・生成など)として使う構成。Agent との対比概念。(workflow) と呼んで Agent と区別します。

2026 年時点でも業界での「Agent」の定義は揺れており、マーケティング上は Workflow 型のプロダクトも「Agent」と呼ばれることがあります。実務で重要なのはラベルではなく、システムにどれだけの自律性を与えるかという設計上の選択です。

詳細: Agent を構成する 4 つの要素

AI Agent とは何か: 詳細: Agent を構成する 4 つの要素の図AI Agent とは何か: 詳細: Agent を構成する 4 つの要素の図
AI Agent とは何か: 詳細: Agent を構成する 4 つの要素の図
図を元の大きさで表示

図の中をスクロールして読めます。キーボードでは図の領域へ Tab で移動し、矢印キーを使います。読み終わったら、この見出しをもう一度選ぶと閉じます。

AI Agent とは何か: 詳細: Agent を構成する 4 つの要素の図AI Agent とは何か: 詳細: Agent を構成する 4 つの要素の図
要素役割詳細ドキュメント
LLM状況を観測し、次の行動を決める判断の中枢—
ツール使用(tool use)検索・API 呼び出し・コード実行など、外界への働きかけtool-use.md
Agent ループLLM が「観測 → 思考 → 行動」のサイクルを繰り返し、完了・失敗・上限のいずれかの停止条件まで自律的に処理を続ける制御構造。(agent loop)「観測 → 思考 → 行動」を繰り返し、完了・失敗・上限で止める制御agent-loop.md
メモリAgent が「覚えている」ように見えるデータの総称。短期記憶(コンテキスト)・作業状態・長期記憶(外部ストレージ)の 3 層に分けて設計する。 / 状態会話履歴・中間成果物・長期記憶の管理memory-and-state.md

この図はアプリ実行型です。アプリは実行経路で権限・引数・承認を検証し、メモリの読み書きも制御します。権限制御とガードレールモデルの判断の外側でコードとして強制される制御。入力・出力・アクションの 3 層に配置し、プロンプトでの指示(お願い)と区別される。は最初から実行経路に置く必須部品です。プロバイダー側が実行するツールの制御点は ツール使用で区別し、監視は 05-operations で扱います。

詳細: 自律性のスペクトラム

「Agent かどうか」は二値ではなく、自律性の度合いのスペクトラムで捉えると設計判断に使えます。

段階手順の決め方予測可能性柔軟性コスト / デバッグ性
固定パイプライン(Workflow 型)すべてコードで固定高い低い低コスト / 容易
ルーティング分岐先の選択のみ LLM が判断高い中低コスト / 容易
単一 Agent ループ手順・ツール選択を LLM が実行時に決定中高い中〜高コスト / 難しい
マルチエージェント複数の Agent ループが、それぞれ独立したコンテキストを持って分担・協調する構成。複数の Agent が分担・協調低い最も高い高コスト / 最も難しい

右に行くほど扱える問題は広がりますが、予測可能性・コスト・デバッグ性を差し出すことになります。左で足りるなら左を選ぶのが原則です(詳細は Workflow 型 vs Agent 型の使い分け)。

詳細: Agent の 3 類型

実務で出会う Agent は、行動する対象によって大きく 3 つに分類できます。

類型観測と行動の対象例特有のリスク・考慮点
会話型自然言語の対話 + 限定的なツールサポートチャットボット、社内ヘルプデスク会話履歴の肥大、話題の脱線、根拠のない回答
ツール実行型API・コード・データコーディング Agent、データ分析 Agent、調査 Agent誤操作の影響範囲、ツール権限の設計、実行時間
コンピュータ操作型(computer use)画面(スクリーンショット)とマウス・キーボード操作ブラウザ操作 Agent、GUI 業務の自動化誤クリックの実害、処理の遅さ、画面経由の間接的な攻撃(詳細は computer-use-and-multimodal-agents.md)

類型によって、必要なサンドボックスモデルが生成したコードの実行やコンピュータ操作を、本番システムから隔離された使い捨て環境(ネットワーク・資源制限付き)で行う仕組み。・評価方法・レイテンシ特性が大きく変わります。要件定義の段階でどの類型かを明確にしてください。

設計判断: 「Agent が必要か」から始める

最初に問うべきは「Agent をどう作るか」ではなく「Agent が必要か」です。

  1. 単一の固定手順で処理できる → 固定パイプラインで作る
  2. 入力の種類ごとに固定手順を用意でき、振り分けだけ判断が要る → ルーティングを足す
  3. 手順が入力によって大きく変わる・探索的で事前に列挙できない → Agent ループを検討する

具体例で比べます。「先月の出張費はいくら精算されましたか?」という社内問い合わせに答えるシステムを考えます。

  • 固定パイプライン: 問い合わせを分類 → 経費 API を呼ぶ → 結果を整形して返す。手順はコードで固定
  • Agent: 経費 API・社内規定検索・担当者へのメール送信をツールとして渡し、必要な手順を LLM が決める。曖昧な質問への追加確認も自分で判断する

この例では問い合わせのパターンが安定しているため、固定パイプラインで十分です。Agent が正当化されるのは「精算が却下された理由を調べて、規定と突き合わせて、再申請の下書きまで作ってほしい」のような、手順が可変で探索的なタスクです。

実務での注意点

アンチパターン

  • 「とりあえず Agent 化」 → 固定パイプラインで足りるタスクを Agent にすると、コスト・レイテンシ・不安定さだけが増える → 上の設計判断フローを先に通し、自律性は必要最小限にする
  • 自律性の上限を決めずに作り始める → ループ回数・実行時間・使えるツールが無制限の Agent は、暴走時の影響範囲を見積もれない → 停止条件(最大ステップ数・タイムアウト・コスト上限)とツール権限を最初に設計する
  • デモの成功率で本番投入を判断する → デモは成功しやすい入力を選びがちで、実運用の分布とずれる → 投入判断の前に評価設計(Agent 評価の基礎)を行う

チェックリスト

Agent という方式を採用する前の確認:

  • タスクの手順を事前に列挙できないことを確認した(列挙できるなら Workflow 型にする)
  • Agent の類型(会話型 / ツール実行型 / コンピュータ操作型)を特定した
  • 使えるツールと権限の一覧を書き出した
  • ループの停止条件(最大回数・タイムアウト・コスト上限)を決めた
  • 失敗時に人間へエスカレーションする経路がある
  • 品質をどう測るかを実装前に決めた

関連トピック

参考資料

TODO・未確認事項