3行でいうと

  • Anthropicの定義では、手順をコードが決めるのがワークフロー、モデル自身が決めるのがエージェントです。
  • 型は5つ(連鎖・振り分け・並列・司令塔と作業者・評価ループ)。最も単純なものから試すのが両社の共通の勧めです。
  • 自律エージェントは費用が増え、誤りが積み重なる恐れがあります。隔離環境での試験と歯止めが前提です。

この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書や論文を読んでまとめたものです。

先に結論

前提:用語を先にそろえる

Anthropicの定義:手順を誰が決めるか

Anthropicのエンジニアリング記事「Building effective agents」(2024年12月19日公開)は、次のように分けています。

呼び方 公式の言い方(要約) 手順を決めるのは
ワークフロー LLMとツールが、あらかじめ決めたコードの道筋で動かされる 人が書いたコード
エージェント LLMが自分で処理の進め方とツールの使い方を動的に決める モデル

記事の冒頭には注記があります。「この記事で説明した道具の状況は2024年12月から大きく変わった。現在の方針はClaude Managed Agentsの記事と文書を見てほしい」という趣旨です。つまり、型の考え方は参照できても、挙げられている個別のツール名や例は古い可能性があります。

土台になる部品は「拡張されたLLM」と呼ばれ、LLMに検索、ツール、記憶を足したものです。記事はMCP(Model Context Protocol、AIと外部の道具をつなぐための共通の取り決め)を、その足し方の一つとして挙げています。

5つの型を順に見る

Anthropicの記事は、ワークフローを4つ、そのあとに自律エージェントを1つ挙げています。ここでは、OpenAIのAgents SDKの文書にある対応関係も添えます。

1. プロンプト連鎖

仕事を順番の段に分け、前の段の出力を次の段に渡します。途中に「ゲート」(プログラムによる合否チェック)を置けます。時間は増えますが、一回ごとの仕事が簡単になるぶん精度を上げる、という発想です。例として、宣伝文を書いてから翻訳する、文書の骨子を確認してから本文を書く、が挙がっています。

2. 振り分け(ルーティング)

入力を分類し、種類ごとに専用の処理へ回します。分類はLLMでも、従来型の分類器でもよいとされています。例は、問い合わせを一般・返金・技術サポートに分ける、簡単な質問は小さいモデル、難しい質問は大きいモデルへ送る、です。

3. 並列

2通りあります。

4. 司令塔と作業者(オーケストレーター)

中心のLLMが仕事を分解して作業者のLLMに配り、結果をまとめます。並列との違いは、小仕事の中身が入力を見てから決まる点だと、記事は書いています。複数ファイルを直すコード用途が例です。

5. 評価ループ

一つの呼び出しが作り、もう一つが評価して返す、を繰り返します。評価の基準がはっきりしていて、繰り返すと目に見えて良くなる場合に向く、と書かれています。

自律エージェント

人からの指示や対話で始まり、計画を立て、独立して動きます。記事は、各段で環境から「ground truth」(実際の結果。ツールの出力やコードの実行結果)を得ることが重要だとしています。止める条件(最大の繰り返し回数など)を置くことも勧めています。実体は「環境からの反応をもとに、ツールを使いながらループするLLM」にすぎない、とも書かれています。

OpenAIの資料との対応

OpenAIの「A practical guide to building agents」(PDFで34ページ。ファイルに発行日の記載はなく、PDFの作成日メタデータは2025年4月7日でした。公開日としては確認できていません)では、エージェントを「ユーザーに代わって、独立して仕事を成し遂げる仕組み」と定義しています。単純なチャットボットや、一回だけ呼ぶLLM、感情の分類器は、LLMで実行の流れを制御していないのでエージェントではない、としています。

構成は、モデル、ツール、指示の3つ。ツールは「データ」「行動」「オーケストレーション(他のエージェントをツールにする)」の3種類に分けています。

複数エージェントの組み方は、2つに分かれます。

OpenAIの呼び方 中身 向く場面(資料の説明)
マネージャー型(agents as tools) 中心のエージェントが、専門エージェントをツールとして呼ぶ 一つのエージェントが実行を握り、利用者とのやりとりも持つ場合
分散型(handoff) 対等なエージェントが、仕事の主導権を一方向に引き渡す 中央で統制や統合をしなくてよく、担当が丸ごと引き継ぐ場合

公式のSDK文書(OpenAI Agents SDK)も同じ整理で、「LLMに流れを決めさせる」方法と「コードで流れを決める」方法に分けています。コードで決める側の例として、出力を次の入力にする連鎖、分類結果で次のエージェントを選ぶ、評価役とのwhileループ、asyncio.gatherでの並列実行が挙がっています。つまり、Anthropicの4つのワークフローの型は、OpenAI側ではコードによる制御の例として並んでいます。

公式資料の対応表と、短いコード例
Anthropicの型 OpenAI Agents SDK文書の対応する書き方
プロンプト連鎖 一つのエージェントの出力を、次のエージェントの入力にする
振り分け 構造化された出力で分類し、種類ごとに次のエージェントを選ぶ。またはhandoff
並列 独立した処理をasyncio.gatherなどで同時に動かす
司令塔と作業者 マネージャー型(エージェントをツールにする)
評価ループ 作業役と評価役を、基準を満たすまでwhileで回す
自律エージェント モデルがツールとhandoffを使い、実行の流れを決める

この対応は、2つの文書を並べて僕らが整理したものです。両社が同じ表を出しているわけではありません。

OpenAIの資料にあるマネージャー型の例(公式文書の例です。この記事では、実行していません。長いので一部だけ載せます)。

manager_agent = Agent(
    name="manager_agent",
    instructions="You are a translation agent. You use the tools given to you to translate.",
    tools=[
        spanish_agent.as_tool(
            tool_name="translate_to_spanish",
            tool_description="Translate the user's message to Spanish",
        ),
    ],
)

専門のエージェントを、普通のツールと同じ形で渡しているのが分かります。

どれを選ぶか:両社の勧めを並べる

両社の共通点は、「単純な構成から始める」です。

エージェントが向く場面についての言い方は、次のとおりです。

見立てです。この2つの指針を合わせて読むと、決め手は「手順が事前に書けるか」だと思います。書けるならワークフローにして、モデルには各段の中身だけ任せる。書けないところだけ、エージェントにする。そうすると、費用や所要時間が読みやすくなり、失敗の場所も追いやすくなります。

見立てです。業務で多いのは、全体はワークフロー、その一部の段だけがエージェント、という混ぜ方だと思います。OpenAIのSDK文書も、振り分けた先の専門エージェントが、さらに狭い仕事を別のエージェントにツールとして任せる組み合わせを挙げています。

設計の細部:ツールの作り込みと、歯止め

ツールの定義に手間をかける

Anthropicの記事は、ツールの定義に、本体のプロンプトと同じ程度の工夫を払うよう勧めています。具体的には、次の点です。

OpenAIの資料は、ツールが似ていたり重なっていたりすると問題が出る、と書いています。数が多いこと自体より、区別のつきにくさが問題で、15個以上のはっきりしたツールをうまく扱う例もあれば、10個未満の重なるツールで苦労する例もある、とされています。名前、引数、説明を整えても改善しなければ、エージェントを分ける、という順番です。

歯止め(ガードレール)と人の介入

OpenAIの資料は、ガードレールを「重ねて使う守り」と位置づけ、1つでは足りないとしています。種類は、関連性の判定、安全性の判定(脱獄やプロンプトインジェクションの検出)、個人情報(PII)の除去、有害表現の検査、ツールごとの危険度評価、ブロックリストや正規表現といったルール、出力の検査です。

ツールの危険度は、読み取りだけか書き込みか、元に戻せるか、必要な権限、金額への影響で、低・中・高に評価します。高いものは実行前に確認を挟むか、人に回す、という使い方が書かれています。

人への引き継ぎの引き金は2つ。失敗や再試行の回数が上限を超えたとき、そして取り消せない、重大な操作(注文のキャンセル、大きな返金、支払い)です。

Agents SDKの入力ガードレールは、既定では(run_in_parallel=True)、エージェントの実行と並行して走ります。run_in_parallel=False にすると、ガードレールが終わってからエージェントが始まります。

よくある失敗・つまずき

見立てです。以下は公式の指針から読み取れる落とし穴で、僕らが現場で起きたのを見たものではありません。

気をつけること

出典

更新履歴