>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

How to Distill an Agent's Behavior Into a Workflow — Mateo Torres, Arcade

再生時間

6分 14秒

AIエージェントとワークフローの融合:予測可能性と自律性を両立する設計

ポイント

  • AIエージェント設計における自律性と予測可能性のバランスの重要性を理解し、その両立を目指す開発者向けの記事です。
  • 大規模言語モデルを組み込んだ半決定論的オーケストレーションと、危険な行動に制約を設ける非決定論的アプローチを紹介します。
  • ワークフローとエージェントの利点を融合し、メモリを共有する設計により、信頼性と有用性を兼ね備えたAIエージェント構築のヒントが得られます。

AIエージェントの構築は、今日のテクノロジーにおいて最も注目される分野の一つです。しかし、その設計においては「自律性(Agency)」と「予測可能性(Predictability)」という、相反するかに見える要素のバランスを取ることが重要です。本記事では、マルチインターフェースに対応するAIエージェントの構築パターンに焦点を当て、その最適なアプローチについて解説します。

AIエージェントにおける「エージェンシー」の定義

エージェントにとって最も重要なのは、「特定タスクにおけるエージェンシーとは何か」を定義することです。エージェンシーとは、**「行動を起こす能力、または取るべき行動を選択する能力」**を指します。これはシンプルなフレーズですが、その含意と副次的な影響は非常に大きいものです。

エージェンシーと予測可能性の関係を図で示すと、「Agency Against Predictability」のプロットが有効です。

  • 完全な自動化(Fully deterministic automation): ワークフロー、if-else文、制御フローなど、予測可能性は高いがエージェンシーは低い。グラフの上部にある赤い点として表現されます。
  • YOLOモード(Fully agency): 無制限な許可を持つ完全なエージェンシー。非常に危険であり、ユーザーにとって有用な結果をもたらすことは稀です。グラフの下部にある赤い点として表現されます。

これらの極端なアプローチは、ユーザーにとって真に有用な成果を達成するには効果的ではありません。

最適なエージェント設計のスイートスポット

私にとっての理想的な設計は、上記の2つの極端な間にある「スイートスポット」です。ここでは、特に2つのアプローチを提唱します。

1. 半決定論的オーケストレーション(Semi-deterministic orchestration)

これはワークフローのような見た目をしていますが、意思決定のルーティングや評価、そしてその結果に基づいた次のステップの選択に、大規模言語モデル(LLM)のコンポーネントを組み込んでいます。これにより、ある程度の予測可能性を保ちつつ、状況に応じた柔軟な判断を可能にします。

2. 制約付き非決定論(Constrained non-determinism)

このアプローチは、完全なエージェンシーに近いワークフローですが、危険な行動を取らないように制約を設けます。例えば、データの外部流出を防ぐなど、エージェントがユーザーに害を与えることを根本的に防ぎます。これにより、信頼性とエージェンシーの両立を目指します。

私は、信頼性とエージェンシーの両方を持つシステムを構築したいと考えており、この領域にとどまることを目指しています。

YouTube管理エージェントのアーキテクチャ事例

私自身がDevRelとしてYouTubeチャンネルを管理する中で開発した「YouTube管理エージェント」のデモがYouTubeで公開されています。このエージェントシステム自体の話が本記事の主題ではありませんが、その構築に使用したパターンについて説明します。

このアーキテクチャでは、エージェントと連携するための2つのプロジェクションレイヤーを必要とします。

  • GUI(Graphical User Interface): 視覚的なプレゼンテーション層として機能しますが、あまり頻繁には使用しません。
  • エージェントレイヤー(Agentic layer): ArcadeのMCPサーバーによって駆動されるアクションレイヤーに基づいて構築されています。

中心となるのは、私がMastralワークフローで構築した「半決定論的オーケストレーション」です。私はエージェントレイヤーを使用してワークフローを設計し、それを半決定論的オーケストレーションレイヤーに組み込みます。

重要なのは、メモリが両方のレイヤーで共有されている点です。これにより、一貫性のある情報アクセスが保証されます。

なぜこの設計なのか?ワークフローとエージェントの利点の融合

なぜこのような設計が必要なのでしょうか?それは、ワークフローとエージェントそれぞれの利点を活用するためです。

ワークフローの利点

  • ドメイン知識の捕捉: ユーザーがタスクの実行方法を知っている場合に非常に優れています。
  • 反復作業の最適化: 繰り返し行われる作業を効率化し、予測可能な形式に落とし込むことができます。エージェントが作業を加速させる場合でも、その活動が反復的なものであれば、ワークフローとして最適化する余地があります。

エージェントの利点

  • 有用なパターンの発見: データやアクション空間を探索し、新たなパターンや洞察を発見するのに役立ちます。
  • 一度限りのワークフロー設計: 特定のニーズに合わせて、一度限りのカスタムワークフローを設計するのに適しています。
  • 監視下での危険なモード: ユーザーの厳密な監視下であれば、より自由な(しかし潜在的に危険な)モードでの運用も可能です。

したがって、両方を組み合わせることで、エージェントの優れた探索能力を活かしてパターンを発見し、その発見された反復可能なパターンを予測可能で最適化されたワークフローに蒸留するという、非常に効果的な開発サイクルを実現できます。

エージェントにおけるコンテキストの重要性

エージェントの設計において、コンテキストは極めて重要な要素です。私にとってのコンテキストとは、**「エージェントがタスクを理解し、情報に基づいた意思決定を行い、継続性を維持することを可能にするために提供される環境知識」**です。コンテキストがあるからこそ、エージェントは自律的に機能し、適切なタイミングで正しい決定を下すための情報を得ることができます。

そして、このコンテキストはワークフローから得られるべき場合が多くあります。先述の通り、両サイド(ワークフローとエージェント)は同じメモリを共有します。

  • 構造化データ(データベース): ワークフローやcronジョブの最適化に非常に適しています。半決定論的なエージェントが毎回構造を解析する必要はありません。
  • フリーテキスト(検索可能なテキスト): 動画の監視など、エージェントが探索的な能力を発揮するために不可欠です。

私は探索を通じて、同じことを繰り返し行っていることに気づくと、その反復をワークフローに「凍結」します。そうすることで、その作業をはるかに速く実行できるようになります。

まとめ

AIエージェントの構築では、単にエージェンシーを追求するだけでなく、予測可能性とのバランスを考慮することが重要です。半決定論的オーケストレーション制約付き非決定論というアプローチは、このバランスを効果的に実現するための鍵となります。ワークフローとエージェントそれぞれの強みを理解し、メモリを共有しながら協調させることで、信頼性と有用性を兼ね備えたAIエージェントシステムを開発できるでしょう。

YouTube管理ワークフローはオープンソースとして公開される可能性があります(現在リポジトリを公開する必要があるかもしれません)。もしご自身のワークフローを構築したい場合は、本記事のスライド6の図とMastralおよびArcadeのドキュメントが参考になります。エンジンに何を望むかを伝えるだけで、動作するシステムが得られるでしょう。


参考動画