AgentRun 0.1.0-beta.4 リリースノート / 新機能

AgentRun 0.1.0-beta.4 は、既存のAIエージェントに構造を追加するために設計されたワークフロー言語です。開発者は、繰り返し可能なステップを定義し、Jev を介した集中的な意思決定を統合し、特定の基準が満たされない場合にエージェントによる調査をトリガーすることができます。このシステムは、エージェントの既存のツール、権限、モデルアクセスを維持しながら、実行のための正式なフレームワークを提供するように設計されています。

コアアーキテクチャと DSL

AgentRun DSL を使用すると、JSON または Zod コントラクトを備えた TypeScript ビルダーを介してワークフローを定義できます。このアプローチにより、入力および出力の型が推論され、中間状態のパスが実行時にチェックされることが保証されます。

主なアーキテクチャ上の特徴は以下の通りです:

  • ノードタイプ: システムは call(ツール実行用)や judge(意思決定用)などの特定のノードを使用します。
  • 制御フロー: ワークフローは、他のワークフローへのネストされた呼び出し、タスクの並列マッピング、および境界付きループをサポートしています。
  • キャンセルとリカバリ: このフレームワークは、実行権限、キャンセル、および状態リカバリを管理するためのホスト統合を提供します。
  • 統合: システムは、実行と検証のための @parcha/agentrun-dsl、型付き意思決定のための @parcha/agentrun-jev、およびエージェントランナー拡張機能のための @parcha/agentrun-pi の3つの主要なパッケージに分割されています。

Jev を活用した意思決定

AgentRun は Jev と統合され、「型付き意思決定」を実装します。これにより、ワークフローは信頼しきい値を強制することで、単純な LLM プロンプトを超えた動きが可能になります。たとえば、サポートワークフローでは、意思決定ノードは、続行する前に少なくとも 0.8 の信頼スコアを持つ yes という回答を要求できます。信頼度が満たされない場合、ワークフローはエージェントをさらなる調査ステップにルーティングしたり、人間によるレビューのためにタスクをエスカレーションしたりするようにプログラムできます。

実装とユースケース

サポートワークフローの例

典型的なサポートシナリオでは、AgentRun は検索ノードと意思決定ノードのシーケンスを管理します。ワークフローはツールを使用して回答を検索し、Jev を使用してその回答が目的に適しているかを判断します。信頼性チェックに失敗した場合は、エージェントをトリガーしてさらに調査を行います。2回目のチェックも失敗した場合は、ケースがレビューのためにエスカレーションされます。

研究ワークフローの例

研究デモでは、サブ質問の計画、並列での調査、証拠のスクリーニング、最終レポートの統合を行う能力を示しています。これは、証拠の選択とレポート作成を必要とする複雑な多段階の推論タスクに対するシステムの能力を実証するものです。

Pi との統合

AgentRun は Pi 環境(バージョン 0.87.0 以降)に統合できます。@parcha/agentrun-pi 拡張機能をインストールすることで、ユーザーは /agentrun demo コマンドを使用してスクリプト化された例を読み込んだり、/agentrun run を使用してそれらを実行したりできます。Pi は、自然言語の指示を与えることで新しいワークフローを構築するためにも使用でき、エージェントはその指示を正式な AgentRun ワークフロー定義に変換します。

コミュニティの視点と技術的なトレードオフ

プロジェクトに関する技術的な議論では、エージェント向けのワークフローエンジンに関して、いくつかの考慮事項が強調されています:

「コストや労力の属性がないエッジや、報酬のない終了状態を持つグラフワークフローは役に立たない... 以前、SDLC をハーネスツール、重み付き有限状態機械の組み合わせとして表現することを考えた... 目標は、タスクのキューをサブワークフローとしてモデル化し、最も価値のあるものを実装することだ。」 — @handle

他の貢献者は、AgentRun は専門的な DSL を提供する一方で、業界にはすでに Temporal、Erandril、Airflow といった耐久性のあるワークフローソリューションが存在すると指摘していますが、AgentRun の具体的な焦点はエージェントループと型付き意思決定の統合にあります。

ある開発者は、独自のワークフロー定義アプローチとして、カスタム DSL を必要とせずにユーザーとエージェントの両方が関数を理解できるように、TypeScript のような「本物の」言語を直接使用し、コードの AST(抽象構文木)から UI を導出することを好むと述べています。

Sources

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト