3行でいうと
- Anthropicの定義では、手順をコードが決めるのがワークフロー、モデル自身が決めるのがエージェントです。
- 型は5つ(連鎖・振り分け・並列・司令塔と作業者・評価ループ)。最も単純なものから試すのが両社の共通の勧めです。
- 自律エージェントは費用が増え、誤りが積み重なる恐れがあります。隔離環境での試験と歯止めが前提です。
この記事は、実際に使って確かめた記録ではありません。この記事は公式の文書や論文を読んでまとめたものです。
先に結論
- ワークフローは「手順があらかじめコードで決まっている」仕組み。エージェントは「手順をモデルが実行中に決める」仕組みです。これはAnthropicの記事の定義で、OpenAIの資料も、モデルが実行の流れを管理するものをエージェントと呼んでいます。
- 両社とも、いきなり自律エージェントを作らず、まず単純な構成で足りるかを見るよう勧めています。
- 型は5つ(連鎖、振り分け、並列、司令塔と作業者、評価ループ)。そのうえに自律エージェントがあります。後半で、両社の勧めを並べて選び方を整理します。
前提:用語を先にそろえる
- LLM(大規模言語モデル)は、文章を読んで文章を返すAIの本体です。
- ツール呼び出しは、AIが「この関数を、この引数で動かして」と頼み、プログラム側が実際に動かして結果を返す仕組みです。検索、データベースの読み書き、メール送信などがツールになります。
- ワークフローとエージェントの線引きは、後述のとおり出典によって少し言い方が違います。この記事では、まずAnthropicの2024年12月19日付の記事の定義を軸にします。
- 同じ記事は、この2つをまとめて「agentic systems(エージェント的な仕組み)」と呼んでいます。
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",
),
],
)
専門のエージェントを、普通のツールと同じ形で渡しているのが分かります。
どれを選ぶか:両社の勧めを並べる
両社の共通点は、「単純な構成から始める」です。
- Anthropic:まず最も単純な解で始め、結果が確かに良くなると示せるときだけ複雑にする。多くの用途では、検索と例示を足した一回のLLM呼び出しの改善で足りる。
- OpenAI:複数エージェントに分ける前に、一つのエージェントの能力を最大限に引き出す。ツールを足し続ける方が、評価も保守も楽になる。
エージェントが向く場面についての言い方は、次のとおりです。
- Anthropic:手順の数があらかじめ見えない、開かれた問題で、モデルの判断をある程度信頼できる場合。費用が増え、誤りが積み重なる恐れがある。隔離した環境(サンドボックス)での十分な試験と、歯止め(ガードレール)を勧めている。
- OpenAI:複雑な判断(例:返金の承認)、保守しにくいルールの山(例:取引先の安全性審査)、自然言語の資料が中心の仕事(例:住宅保険の請求処理)。これらに当てはまらなければ、決まった手順の解で足りるかもしれない、と書いている。
見立てです。この2つの指針を合わせて読むと、決め手は「手順が事前に書けるか」だと思います。書けるならワークフローにして、モデルには各段の中身だけ任せる。書けないところだけ、エージェントにする。そうすると、費用や所要時間が読みやすくなり、失敗の場所も追いやすくなります。
見立てです。業務で多いのは、全体はワークフロー、その一部の段だけがエージェント、という混ぜ方だと思います。OpenAIのSDK文書も、振り分けた先の専門エージェントが、さらに狭い仕事を別のエージェントにツールとして任せる組み合わせを挙げています。
設計の細部:ツールの作り込みと、歯止め
ツールの定義に手間をかける
Anthropicの記事は、ツールの定義に、本体のプロンプトと同じ程度の工夫を払うよう勧めています。具体的には、次の点です。
- 使い方の例、境界の事例、入力の条件、似たツールとの違いを書く。
- モデルが考える余裕のあるトークン数を残す。ネット上でよく見かける形式に近づける。
- たくさんの入力例で試して、間違えるところを見つける。
- 間違えにくい形に引数を変える(poka-yoke、ポカヨケ)。記事の例では、相対パスだと作業場所が変わったときに誤りが出たので、絶対パスを必須にしたところ、モデルが問題なく使えるようになった、とあります。
OpenAIの資料は、ツールが似ていたり重なっていたりすると問題が出る、と書いています。数が多いこと自体より、区別のつきにくさが問題で、15個以上のはっきりしたツールをうまく扱う例もあれば、10個未満の重なるツールで苦労する例もある、とされています。名前、引数、説明を整えても改善しなければ、エージェントを分ける、という順番です。
歯止め(ガードレール)と人の介入
OpenAIの資料は、ガードレールを「重ねて使う守り」と位置づけ、1つでは足りないとしています。種類は、関連性の判定、安全性の判定(脱獄やプロンプトインジェクションの検出)、個人情報(PII)の除去、有害表現の検査、ツールごとの危険度評価、ブロックリストや正規表現といったルール、出力の検査です。
ツールの危険度は、読み取りだけか書き込みか、元に戻せるか、必要な権限、金額への影響で、低・中・高に評価します。高いものは実行前に確認を挟むか、人に回す、という使い方が書かれています。
人への引き継ぎの引き金は2つ。失敗や再試行の回数が上限を超えたとき、そして取り消せない、重大な操作(注文のキャンセル、大きな返金、支払い)です。
Agents SDKの入力ガードレールは、既定では(run_in_parallel=True)、エージェントの実行と並行して走ります。run_in_parallel=False にすると、ガードレールが終わってからエージェントが始まります。
よくある失敗・つまずき
見立てです。以下は公式の指針から読み取れる落とし穴で、僕らが現場で起きたのを見たものではありません。
- 小さな仕事に自律エージェントを使い、費用と所要時間が増える(Anthropicが、費用と遅延の増加を挙げています)。
- 枠組み(フレームワーク)の内部が見えず、実際にモデルへ渡るプロンプトと返答が把握できなくなる。Anthropicは、まずLLMのAPIを直接使い、枠組みを使うなら中身を理解するよう勧めています。
- ツールを増やしすぎ、似た名前や説明のものが混ざる。
- 止める条件や、人に渡す条件を置かない。
- 評価(eval)の土台がないまま、複数エージェントに分けてしまう。OpenAIは最初に評価を整え、基準になる成績を作ることを勧めています。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式資料を読んでまとめたものです。
- Anthropicの記事は2024年12月の公開で、冒頭に「道具の状況は変わった」という注記があります。記事の中のモデル名や枠組みの名前は、そのまま現在の最新とは限りません。型の考え方と、現在の製品の機能は分けて読んでください。
- OpenAIのPDFは、発行日が資料内に書かれていませんでした。いつ時点の内容かは確認できていません。Agents SDKの文書は更新されていくので、コード例の書き方は変わる可能性があります。
- OpenAIの「agents」の入口ページ(developers.openai.comのガイド)は案内ページで、ハンドオフや承認の詳細は別のガイドにあります。この記事ではSDK文書とPDFで確かめました。
- 両社の「エージェント」の定義は完全には一致しません。Anthropicは「ワークフロー」と区別しますが、OpenAIは、LLMが実行を管理する仕組みを広くエージェントと呼んでいます。会話の中で言葉がずれないよう、最初に定義をそろえるのが安全です。
- 性能や費用の優劣を、この記事で比べてはいません。数字の比較はしていません。
- 業務に入れる前に、権限や安全面の設計は別に確認してください。
出典
- Building effective agents(Anthropic Engineering、2024年12月19日公開、2026年10月22日確認)
- A practical guide to building agents(OpenAI、PDF、2026年10月22日確認)
- Agents(OpenAI API、OpenAI、2026年10月22日確認)
- Orchestrating multiple agents(OpenAI Agents SDK、OpenAI、2026年10月22日確認)
- Guardrails(OpenAI Agents SDK、OpenAI、2026年10月22日確認)
更新履歴
-
2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
-
2026年10月22日 公式の資料を読み直して、次の点を直しました。
- 前:Agents SDKのガードレールは既定で「楽観的実行」で、出力を作るのと並行して走る → いま:入力ガードレールは既定(run_in_parallel=True)でエージェントと並行。run_in_parallel=Falseなら、終わってからエージェントが始まる
