Agno 2.x : ワークフロー – 概要と構築

Agno ワークフローが、マルチエージェント・システムの決定論的で制御された自動化を可能にする方法を学習します。
ワークフローは決定論的なエージェント自動化に優れている一方で、チームは動的なエージェント型協調のために設計されています。予測可能で、反復可能なプロセスを必要とする場合にはワークフローを使用します; 柔軟で、協調的な問題解決を必要とする場合にはチームを使用してください。

Agno 2.x : Learn : ワークフロー – 概要と構築

作成 : クラスキャット・セールスインフォメーション
作成日時 : 11/11/2025
バージョン : Agno 2.2.10

* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています。スニペットはできる限り日本語を使用しています :

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ 創立30周年(30th Anniversary)🎉💐

クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

Agno 2.x : Learn : ワークフロー – 概要

Agno ワークフローが、マルチエージェント・システムの決定論的で制御された自動化 (automation) を可能にする方法を学習します。

Agno ワークフローは、エージェント、チームと関数を一連の定義済みステップにわたりオーケストレーションすることで、決定論的で、制御されたエージェント型フローを構築することを可能にします。自由形式のエージェント・インタラクションとは異なり、ワークフローは予測可能な実行パターンを備えた構造化された自動化を提供し、それらを信頼性と再現性のあるプロセスを必要とする本番システム向けに理想的にします。

 

何故ワークフローを使用するべきなのでしょうか?

ワークフローはエージェント型システムに対して決定論的な制御を提供し、毎回一貫性をもって実行される、信頼性の高い自動化の構築を可能にします。以下を必要とする際、それらは不可欠です :

決定論的な実行

  • 定義済みの入力と出力による、予想可能な step-by-step な処理

  • 複数の実行にわたる一貫した結果

  • 本番システム向けの明確な監査証跡 (audit trails)

複雑なオーケストレーション

  • 制御されたハンドオフによるマルチエージェントの協調 (連携)

  • 並列処理と条件分岐

  • 反復タスクのためのループ構造

ワークフローは決定論的なエージェント自動化に優れている一方で、チームは動的なエージェント型協調のために設計されています。予測可能で、反復可能なプロセスを必要とする場合にはワークフローを使用します; 柔軟で、協調的な問題解決を必要とする場合にはチームを使用してください。

 

決定論的なステップ実行

ワークフローは制御された一連のステップとして実行され、各ステップは次のステップに供給される決定論的な出力を生成します。これは、自由形式のエージェント会話とは異なり、予測可能なデータフローと一貫した結果を作成します。

ステップの種類

  • エージェント: 特定の機能と指示を持つ個々の AI executors

  • チーム: 複雑な問題のために連携するエージェントの協調グループ

  • 関数: 特定の処理ロジックのためのカスタム Python 関数

決定論的なメリット

エージェントとチームは個々のキャラクターと機能を保持しますが、以下を保証する構造化されたフレームワーク内で動作します :

  • 予想可能な実行: ステップは、制御された入出力を備え、定義された順序で実行されます

  • 再現可能な結果: 同じ入力は実行ごとに一貫した出力を生成します

  • 明確なデータフロー: 各ステップからの出力は明示的に次の入力になります

  • 制御された状態: セッション管理とステップ間の状態永続性

  • 信頼性の高いエラー処理: 組み込みの再試行メカニズムとエラー・リカバリー

 

直接的なユーザ・インタラクション

ユーザがワークフローと (プログラミング的に呼び出すのではなく) 直接的にやり取りする場合、WorkflowAgent を追加することでそれを対話的にできます。これは自然なチャットライクなインタラクションを可能にし、そこではワークフローは以前の結果から回答するか、新しくワークフローを実行するか知的に決定できます。Learn more in the Conversational Workflows guide.

 

Agno 2.x : Learn : ワークフロー – ワークフローの構築

ワークフローを構築する方法を学習します。

ワークフローはエージェントとチームを編成し協調させる (orchestrate) ための強力な方法です。それらは、ユーザが制御するフロー内で実行される一連のステップです。

 

ビルディング・ブロック

  1. Workflow クラスは、実行プロセス全体を管理するトップレベルのオーケストレーターです。

  2. Step はワークフローシステム内のワーク (作業) の基本単位です。各ステップは 1 個の executor (実行主体) – エージェント、チーム、またはカスタム Python 関数 のいずれかを正確にカプセル化します。このデザインは明瞭さと保守性を保証する一方で、各 executor の個々の特質を維持します。

  3. Loop は、一つまたはそれ以上のステップを複数回実行することを可能にする構造です。これはステップのセットを特定の条件が満たされるまで繰り返す必要がある場合に有用です。

  4. Parallel は、一つまたはそれ以上のステップを並列に実行することを可能にする構造です。これは、一連のステップを並行して実行して、出力を結合する必要がある場合に役立ちます。

  5. Condition は、指定した基準に基づいてステップを条件付きにします。

  6. Condition は、どのステップを次に実行するか指定できて、ワークフローで分岐ロジックを効果的に作成できます。

❗️ When using a custom Python function as an executor for a step, StepInput and StepOutput provides standardized interfaces for data flow between steps:

 

最初のワークフローをどのように作成しますか?

ワークフローを構築するために使用できる様々な種類のパターンがあります。例えば、エージェント、チームと関数を組み合わせてワークフローを構築できます。

from agno.workflow import Step, Workflow, StepOutput

def data_preprocessor(step_input):
    # Custom preprocessing logic

    # Or you can also run any agent/team over here itself
    # response = some_agent.run(...)
    return StepOutput(content=f"Processed: {step_input.input}") # <-- Now pass the agent/team response in content here

workflow = Workflow(
    name="Mixed Execution Pipeline",
    steps=[
        research_team,      # Team
        data_preprocessor,  # Function
        content_agent,      # Agent
    ]
)

workflow.print_response("Analyze the competitive landscape for fintech startups", markdown=True)

 

以上