FlowEvo:ワークフローと実行可能スキルの共進化による自己進化型AIエージェント
はじめに:AIエージェントが「経験を活かせない」問題
大規模言語モデル(LLM)を基盤とするAIエージェントは、ユーザーの指示に応じて推論時にワークフローを動的に構築し、複雑なタスクを解決する能力を持っています。しかし、その過程で一度使った手順は、タスク完了とともに捨てられてしまいます。たとえば「冷蔵庫から卵を取り出して茹でる」という家事タスクと「冷蔵庫から牛乳を取り出して温める」というタスクは、移動・把持・加熱という一連の動作パターンが酷似しているにもかかわらず、従来のエージェントは毎回ゼロからワークフローを組み立て直さなければなりません。
この「経験を活かせない」問題は、以下の2つの非効率性を引き起こします。第一に、同じような問題で毎回似た手順を生成するため、API呼び出し回数が増加しトークンコストが膨らみます。第二に、生成のたびに結果がばらつくため、安定した品質を得るのが難しくなります。これらの課題は、LLMエージェントを実運用に展開する際の大きな障壁となっています。
flowchart LR
subgraph 従来のエージェント
A1[タスクA<br/>卵を茹でる] --> B1[ゼロから<br/>ワークフロー生成] --> C1[実行]
A2[タスクB<br/>牛乳を温める] --> B2[ゼロから<br/>ワークフロー生成] --> C2[実行]
end
subgraph FlowEvo
D1[タスクA] --> E1[ワークフロー生成] --> F1[実行] --> G1[スキルとして蓄積]
D2[タスクB] --> E2[蓄積された<br/>スキルを再利用] --> F2[実行]
G1 -.-> E2
end
本記事で解説するFlowEvoは、この問題を解決する新しいフレームワークです。FlowEvoは、エージェントがタスクを成功裏に完了したとき、その実行トレースから「実行可能なスキル」を自動的にコンパイルし、スキルバンクに蓄積します。将来のタスクでは、蓄積されたスキルをそのまま実行するか、構造化コンテキストとしてワークフロー生成に活用することで、ゼロからの再生成を回避します。これにより、トークンコストの削減と結果の安定化を同時に実現します。以降のセクションでは、FlowEvoがどのようにこの自己進化ループを実現しているのか、その3つのメカニズムを詳しく見ていきます。
FlowEvoとは:3つの仕組みで動く自己進化ループ
FlowEvoは、LLMエージェントがタスクを解決した「経験」を、次に活かせる形で蓄積し、再利用するためのトレーニング不要(training-free)のフレームワークです。従来のエージェントが毎回ワークフローをゼロから生成していたのに対し、FlowEvoは成功した実行トレースを実行可能なスキルレコードに変換し、将来のタスクでそれらを呼び出せるようにします。この仕組みは「ワークフロー→スキルへのコンパイル」「スキル→ワークフローへのフィードバック」「スキルキュレーション」という3つのメカニズムで構成される自己進化ループとして動作します。
ワークフロー→スキルへのコンパイル
エージェントがタスクを成功裏に完了すると、その実行トレースからスキルレコードが自動生成されます。1つのスキルレコードは、実行可能コード(f)、呼び出しインターフェース(σ)、リプレイ用テスト(𝒯)、メタデータ(m)、ライフサイクル状態(ℓ)の5要素で構成されます。コンパイラはトレースからエントリポイントと呼び出しシグネチャを抽出し、重複排除やインターフェース検証、安全性チェックの品質ゲートを通過したものだけをスキルバンクに登録します。
classDiagram
class SkillRecord {
+str skill_id
+Callable f
+Interface σ
+ReplayTest 𝒯
+Metadata m
+LifecycleState ℓ
}
class Interface {
+List~Parameter~ input_schema
+List~Parameter~ output_schema
+str description
}
class ReplayTest {
+dict input_example
+dict expected_output
+float replay_accuracy
}
class Metadata {
+str source_task
+float success_rate
+int usage_count
+float utility_delta
}
class LifecycleState {
+str status
+datetime created_at
+datetime last_used
}
SkillRecord --> Interface : 呼び出し仕様
SkillRecord --> ReplayTest : 再現性検証
SkillRecord --> Metadata : 性能・履歴情報
SkillRecord --> LifecycleState : 登録・抑制・廃棄状態
スキル→ワークフローへのフィードバック(3つのルーティングモード)
蓄積したスキルをどう活用するかは、ルーターがタスクごとに最適なモードを選択します。FlowEvoは以下の3モードを備えています。
| ルーティングモード | 動作 | 適した状況 |
|---|---|---|
| 動的生成(Dynamic generation) | スキルを使わず毎回ゼロからワークフローを生成 | 既存スキルと互換性のない新規タスク |
| 直接スキル実行(Direct skill execution) | 取得したスキルを実行可能サブルーチンとしてそのまま呼び出す | 過去と同一パターンの反復タスク(ALFWorldの家事操作など) |
| スキル条件付き生成(Skill-conditioned generation) | スキルを構造化コンテキストとしてプロンプトに注入し、新しいワークフロー生成をガイド | 問題ごとにユニークだが、解法パターンに共通性があるタスク(コード生成・数学推論) |
ルーターは各タスクについて、スキルバンクから候補を検索し、互換性スコアと検証結果に基づいて最適なモードを選択します。ALFWorldの実験では134エピソード中101エピソード(75%)で直接スキル実行が選択され、その成功率は98%に達しました。
flowchart TD
A[新規タスク入力] --> B[スキルバンク検索]
B --> C{互換性スコア > 閾値?}
C -->|Yes| D{検証合格?}
C -->|No| E[動的生成モード]
D -->|Yes| F[直接スキル実行]
D -->|No| G[スキル条件付き生成]
F --> H[実行・検証]
G --> H
E --> H
H --> I{成功?}
I -->|Yes| J[スキルコンパイル]
I -->|No| K[失敗処理]
スキルキュレーション(品質管理と有害スキルの抑制)
スキルバンクに登録されたスキルが常に有用とは限りません。一部のスキルは特定のタスクに対して**負の転移(negative transfer)を引き起こし、むしろ性能を低下させます。FlowEvoはこの問題を対照評価(Contrastive evaluation)**で解決します。
具体的には、あるスキルを使ったエピソード(guided)と使わなかったエピソード(unguided)の成功率を比較し、その差分(デルタ)を計測します。デルタが閾値(-0.1)を下回ったスキルは自動的に抑制状態となり、以降のルーティングで使用されなくなります。論文では、ALFWorldのpick_two_obj_and_placeタスクにおいてデルタ-0.23を検出し、該当スキルを抑制した結果、全体性能が+2.2ポイント改善した事例が報告されています。このキュレーション機構により、スキルバンクの品質は継続的に維持されます。
なぜFlowEvoが重要なのか:既存手法との比較から見える革新性
既存手法の限界
LLMエージェントの性能を向上させる試みはこれまでも数多く行われてきましたが、いずれも根本的な制約を抱えていました。Reflexion(Shinn et al., 2023)は失敗時に自己内省(self-reflection)を行いリトライする手法ですが、各タスクごとにリトライするだけで、成功した実行パターンを実行可能な形で保持しません。一度正解に辿り着いても、その手順は次回以降に活かされず、同じような問題で再び試行錯誤が発生します。
ExpeL(Zhao et al., 2024)はテキストレベルの「洞察」を蓄積する点で一歩進んでいますが、蓄積されるのは自然言語で記述された経験則に過ぎず、エージェントが直接実行できるコードではありません。そのため「読んで参考にする」ことはできても、「呼び出して自動実行する」ことはできません。AFLOW(Zhang et al., 2024)やADAS(Hu et al., 2024)はモンテカルロ木探索(MCTS)などを用いて特定タスク向けの固定パイプラインを最適化しますが、最適化されたワークフローはそのタスク分布に強く依存するため、タスクの種類が変わると適応できません。Voyager(Wang et al., 2023)はMinecraft環境向けのスキルライブラリを構築しますが、コード生成や数学推論といった汎用的なタスクには対応していません。
FlowEvoの優位性
FlowEvoがこれらの既存手法と決定的に異なるのは、「実行可能なコード成果物」と「テキストガイダンス」を組み合わせたハイブリッド設計にあります。スキルレコードは単なるテキストではなく、呼び出し可能な関数(f)として保存されるため、ルーターが「直接スキル実行」モードを選択すれば、検索や再生成を経ずに即座に実行できます。これによりALFWorldでは1エピソードあたり平均12,267トークンという低コストを実現しており、これは最強ベースライン(AFLOW)の半分以下の水準です。
さらに、タスクの性質に応じて2つの再利用モードを切り替えられる点も大きな強みです。反復的なパターンが多いタスク(ALFWorldの家事タスクなど)では「直接スキル実行」が効果的で、134エピソード中101エピソードでこのモードが選択され、成功率は98%に達します。一方、各問題がユニークなコード生成(HumanEval)や数学推論(GSM8K)では「スキル条件付き生成」により、過去の成功パターンを構造化コンテキストとしてプロンプトに注入することで、ゼロからの生成をガイドします。この柔軟性により、FlowEvoはALFWorld(82.8%)、HumanEval(95.1% pass@1)、GSM8K(97.1%)の全ベンチマークで既存手法を上回る精度を達成しています。
| 比較軸 | Reflexion | ExpeL | AFLOW | Voyager | FlowEvo |
|---|---|---|---|---|---|
| 成功パターンの保持 | なし | テキスト洞察 | 固定パイプライン | スキル(環境限定) | 実行可能スキル+テキスト |
| 再利用方法 | なし(リトライのみ) | 読んで参考 | 同一タスク内再利用 | 直接実行 | 直接実行+コンテキスト注入 |
| タスク適応性 | 高い | 中程度 | 低い(固定) | 低い(特定環境) | 高い(両モード切替) |
| トークン効率 | △(31,900/ep) | △(32,958/ep) | ○(30,137/ep) | — | ◎(12,267/ep) |
| トレーニング不要 | ○ | ○ | ○ | ○ | ○ |
flowchart LR
subgraph 既存手法
A[Reflexion<br/>内省リトライ] -->|成功しても破棄| B[毎回スクラッチ]
C[ExpeL<br/>テキスト洞察] -->|読んで参考| D[手動適用が必要]
E[AFLOW/ADAS<br/>固定パイプライン] -->|タスク固有| F[分布変化に弱い]
end
subgraph FlowEvo
G[実行可能スキル] -->|直接呼出| H[高速実行]
G -->|コンテキスト注入| I[柔軟な生成]
end
FlowEvoの革新性は、単なる精度向上にとどまりません。トレーニング不要(training-free)でありながら、GPT-4o-miniからLlama-3-70B、DeepSeek-R1-671Bに至るまで10モデル×50比較中49でExpeLを上回る汎用性を示しています。これは「学習」ではなく「蓄積と再利用の仕組み」そのものが、モデルの能力を引き出す普遍的なアプローチであることを示唆しています。
実験結果の詳細:数字で見るFlowEvoの実力
FlowEvoの有効性は、3つの代表的なベンチマーク(ALFWorld・HumanEval・GSM8K)を用いた評価実験で検証されています。共通バックボーンにはGPT-4o-miniを使用し、いずれのタスクセットでも既存手法を上回る精度とトークン効率を同時に達成しています。
ALFWorld(対話型家事タスク環境)
ALFWorldは、エージェントがテキストベースの対話を通じて家事タスク(調理・掃除・整理など)を完了する環境です。全134タスクでの評価結果を下表に示します。
| 手法 | 成功率 | トークン/エピソード |
|---|---|---|
| ReAct(ベースライン) | 33.6% | — |
| Reflexion | 52.2% | 31,900 |
| ExpeL | 46.3% | 32,958 |
| ADAS | 53.0% | 29,671 |
| AFLOW | 59.2% | 30,137 |
| FlowEvo | 82.8% | 12,267 |
FlowEvoは成功率82.8%を記録し、最強ベースラインのAFLOW(59.2%)を+23.6ポイント上回りました。特筆すべきは、134エピソード中101エピソードで「直接スキル実行」モードが選択され、その成功率が98%に達した点です。トークン使用量は1エピソードあたり12,267トークンと、ベースラインの約3分の1に削減されており、反復的なタスクではスキル再利用による効率化が極めて顕著です。
アブレーション分析によれば、「ワークフロー→スキルコンパイル」の導入でベースラインから+5.2ポイント、「スキル→ワークフローフィードバック」の追加で+41.8ポイントもの大幅改善がもたらされました。さらに「スキルキュレーション」による負の転移抑制が+2.2ポイントの追加向上に貢献しており、3つのメカニズムが段階的に効果を積み上げていることが確認できます。
HumanEval(コード生成)
HumanEvalは、Python関数の仕様から正しいコードを生成する能力を測るベンチマークです。FlowEvoは95.1%のpass@1を達成し、AFLOW(94.7%)やReflexion(92.7%)を上回りました。
| 手法 | pass@1 | トークン/タスク |
|---|---|---|
| Reflexion | 92.7% | 890 |
| ExpeL | 89.0% | 883 |
| ADAS | 82.4% | 3,776 |
| AFLOW | 94.7% | 3,826 |
| FlowEvo | 95.1% | 880 |
コード生成では各問題が独立しているため直接スキル実行は稀ですが、FlowEvoは「スキル条件付き生成」と「適応的エスカレーション」の組み合わせで高精度を実現しています。平均トークン使用量は880トークン/タスクと、AFLOW(3,826)の約4分の1以下です。
GSM8K(数学文章題)
GSM8Kは小学校高学年レベルの数学文章題1,319問からなるデータセットです。FlowEvoは97.1%の正解率を記録し、Reflexion(96.8%)をわずかに上回りました。
| 手法 | 正解率 | トークン/問題 |
|---|---|---|
| Reflexion | 96.8% | 555 |
| ExpeL | 92.1% | 552 |
| ADAS | 90.8% | 2,820 |
| AFLOW | 93.5% | 2,494 |
| FlowEvo | 97.1% | 541 |
GSM8Kでも問題ごとに解法パターンが異なるため直接スキル実行の機会は限られますが、構造化コンテキストとしてスキルをプロンプトに注入するアプローチと、難易度に応じて段階的に推論リソースを増やす適応的エスカレーションにより、最小限のトークン消費で最高精度を達成しています。
モデル汎用性(10モデル・50比較)
FlowEvoは特定のモデルに依存しない汎用的なフレームワークであることを示すため、GPT-4o-miniからLlama-3-70B、DeepSeek-R1-671Bに至るまで10種類の異なるモデルを用いて50の比較実験が実施されました。結果、49の比較でFlowEvoがExpeLを上回りました。モデルのサイズやアーキテクチャにかかわらず一貫した改善が確認されており、トレーニング不要の枠組みでありながら、モデルの能力を最大限に引き出す仕組みとして機能していることが実証されました。
FlowEvoのアーキテクチャを深掘り:4つのコンポーネント
FlowEvoの中核は、4つのコンポーネントが連携して「ワークフローの生成→実行→スキル化→再利用」のサイクルを回すアーキテクチャにあります。それぞれの役割と内部動作を順に見ていきましょう。
ワークフロープランナー(Workflow Planner)
プランナーは、タスクと検索されたスキルを入力として受け取り、最適なルーティングモードを決定する頭脳です。最初にスキル検索(Retrieve)が実行され、語彙的重複度・タスクパターンの互換性・インターフェースの整合性・過去のユーティリティ信号の4軸で候補スキルがスコアリングされます。ここで重要なのは、負の転移を引き起こした履歴も明示的に考慮される点です。過去に有害だったスキルにはペナルティが与えられ、ルーティングの対象から除外されます。スコアと検証結果に基づき、動的生成・直接スキル実行・スキル条件付き生成の3モードから最適な戦略が選択されます。
実行・検証エンジン(Executor & Verifier)
プランナーが組み立てたワークフローは、実行・検証エンジンによって実際に動作検証されます。ALFWorldのような対話型環境ではエージェントのアクションに対して環境からフィードバックが返り、コード生成や数学推論ではテスト実行や正解照合によって検証が行われます。このエンジンは単に成功・失敗を判定するだけでなく、エージェントの思考過程や各ステップの結果を構造化トレースとして記録します。このトレースこそが、次のコンパイラがスキルを生成するための原材料となります。
トレース→スキルコンパイラ(Trace-to-Skill Compiler)
検証を通過した成功エピソードのみがコンパイルの対象となります。コンパイラは実行トレースから以下の手順でスキルレコードを生成します。
flowchart LR
A[成功エピソードの\n実行トレース] --> B[エントリポイント抽出]
B --> C[軽量インターフェース推定]
C --> D[リプレイテスト\nパッケージング]
D --> E[メタデータ付与\n(タグ・成功率・トークンコスト)]
E --> F[スキルレコード\n完成]
F --> G[品質チェックへ]
style F fill:#4CAF50,color:#fff
style G fill:#FF9800,color:#fff
抽出されたエントリポイントはスキルの呼び出し口となり、軽量インターフェース推定によって引数や戻り値のシグネチャが自動的に決定されます。その後、同じ条件下で再現可能かを確認するリプレイテストがパッケージングされ、メタデータ(タグ・成功率・トークンコストなど)が付与されてスキルレコードが完成します。
スキルレジストリとキュレーション(Skill Registry & Curation)
完成したスキルレコードはスキルレジストリに登録されますが、その前に3段階の審査(Admission)を通過する必要があります。第1段階はインターフェース準拠の確認、第2段階は機能的正当性の検証、第3段階は安全性コンプライアンスのチェックです。登録後も継続的モニタリングが行われ、対照評価によって各スキルの有無によるエピソード成功率の差分(デルタ)が計測されます。デルタが閾値-0.1を下回ったスキルは自動的に抑制され、以降のルーティングで使われなくなります。この仕組みにより、蓄積したスキルがむしろ性能を下げる「負の転移」を防ぎ、スキルバンク全体の品質が維持されます。
実装のポイント:FlowEvoを動かすには
必要な環境
FlowEvoを実行するには、OpenAI互換のチャット補完エンドポイントが必要です。デフォルトの設定ではOpenRouter経由でGPT-4o-miniにアクセスする構成となっており、configs/default.yamlを編集することでAPIキーと利用するモデルを切り替えられます。GPT-4o-mini以外にもLlama-3-70BやDeepSeek-R1-671Bなど10種類のモデルで動作確認が済んでおり、モデルを差し替えてもFlowEvoのフレームワーク自体に修正は不要です。
リポジトリをクローンしたら、まずpip install -e .で依存パッケージをインストールします。その後、ベンチマークごとに用意されたランナーを実行します。コード生成や数学推論の評価であれば、次のコマンドでHumanEvalを起動できます。
python -m src.code_math.runner --benchmark humaneval --conditions ours
対話型家事タスク環境のALFWorldで試す場合は、以下のコマンドを使用します。
python -m src.alfworld_.run_20task_validation --conditions full_library
--conditionsフラグでFlowEvoの全機能(フルライブラリ+キュレーション)を有効にするか、特定のアブレーション構成を指定するかを切り替えられます。
主要パラメータ
FlowEvoの動作を制御する主要なハイパーパラメータは、すべてconfigs/default.yamlで管理されています。以下の表に代表的なパラメータとそのデフォルト値をまとめます。
| パラメータ | デフォルト値 | 説明 |
|---|---|---|
| スキル検索のtop_k | 3 | タスクに対して検索されるスキル候補の最大数 |
| 互換性閾値(直接実行) | 0.55 | この閾値を超えるとスキルを直接実行可能サブルーチンとして呼び出す |
| 対照評価の有害閾値 | -0.1 | スキル使用時の成功率デルタがこの値を下回ると自動抑制 |
| ガイド付き最低サンプル数 | 5 | 対照評価に必要なスキル使用エピソードの最低数 |
| 非ガイド付き最低サンプル数 | 3 | 対照評価に必要なスキル不使用エピソードの最低数 |
適応的エスカレーションのレベル構造
FlowEvoはタスクの難易度に応じて推論リソースを段階的に増やす「適応的エスカレーション(Adaptive Escalation)」を採用しています。簡単なタスクは低コストで完了させ、難しいタスクだけにリソースを集中投下する仕組みです。
| レベル | 動作 | 概要 |
|---|---|---|
| レベル1 | Greedy | 単一パスのgreedyデコード。最も高速で低コスト |
| レベル2 | ミニアンサンブル | 複数のサンプルを生成し、多数決や検証結果で最適を選択 |
| レベル3 | リトライ(軽量) | 検証に失敗した場合に限り、プロンプトを調整して再試行 |
| レベル4 | リトライ(本格) | より多くのサンプルと詳細なフィードバックを用いて再試行 |
実際の運用では、レベル1からスタートし、検証結果が不合格だった場合のみ次のレベルへ自動的にエスカレーションします。この仕組みにより、HumanEvalでは1タスクあたり平均880トークン(AFLOWの3,826トークンの約4分の1)、GSM8Kでは541トークンと、大幅なトークン削減を実現しています。
ルーティングモードの選択ロジック
ルーターは各タスクに対して、以下のロジックで最適なモードを選択します。まずスキル検索で候補を取得し、互換性スコアが0.55以上のスキルが存在すれば「直接スキル実行」を選択します。該当するスキルがない場合は「スキル条件付き生成」にフォールバックし、検索されたスキルを構造化コンテキストとしてプロンプトに注入します。両方のモードが適用できない場合のみ、スキルを使わない「動的生成」へとフォールバックします。この単純なルールベースのルーティングが、ALFWorldでは134タスク中101タスクで直接実行を選択し、その成功率98%という高い成果に結び付いています。
また、一度「有害(harmful)」と判定されたスキルは、以降のルーティング候補から自動的に除外されます。これにより、負の転移を引き起こすスキルがシステム全体の性能を下げることを防ぎます。
潜在的な課題と今後の展望
現在の制約
FlowEvoは現在、検証可能なフィードバックが得られるドメインに依存している点が最大の制約です。ALFWorldでは環境からの明示的な報酬、HumanEvalやGSM8Kではテスト実行による正誤判定が利用できたため、成功エピソードを確実に特定してスキルコンパイルできました。しかし、フィードバックが遅延する(長期的なタスク)、部分的である(部分点のみ得られる)、ノイジーである(評価者のばらつきが大きい)ような環境では、成功と失敗の切り分け自体が難しく、スキルの品質保証が困難になります。
また、FlowEvoの自己進化ループはベースモデルがタスクを解く最低限の能力を持っていることを前提としています。モデルが全くタスクを遂行できない場合、そもそも成功エピソードが発生せず、スキルバンクが空のままループが機能しません。この「ブートストラップ問題」は、スキルライブラリ型のアプローチに共通する課題です。
さらに、現時点ではクロスドメイン転送が未検証です。FlowEvoはベンチマークごとに独立したスキルバンクを保持しており、例えばALFWorldで獲得した家事スキルをコード生成タスクに転用できるかどうかは確認されていません。ドメイン間のタスク構造の違いやインターフェースの不一致が、転移学習を難しくする可能性があります。
将来の方向性
今後の発展として、自己進化の範囲をワークフロー生成以外のコンポーネントに拡大することが期待されます。具体的には、検証ヘルパー(Verifier)の評価基準や、リトライポリシー(何回・どの条件で再試行するか)、スキル検索時のヒューリスティック関数など、エージェントハーネスを構成する他の要素も進化の対象に含めることで、より自律的な適応が可能になります。
長期間の運用を見据えたスキルバンクのメンテナンスも重要な研究テーマです。現在は抑制されたスキルは単にルーティングから外されるだけですが、今後は類似スキルの統合・マージ、不要スキルの整理・廃止、スキル間の依存関係管理といった運用が必要になります。スキルバンクが無制限に肥大化することを防ぎつつ、有用な知識を効率的に保持するためのライフサイクル管理が求められます。
標準化プロトコルとの連携も将来の方向性の一つです。Model Context Protocol(MCP)のような外部ツールエコシステムとの相互運用性を確保することで、FlowEvoのスキルバンクが異なる環境やツールセットを横断して再利用可能になり、適用範囲が大幅に広がります。
よくある質問
FlowEvoはモデルの重みを更新するの?
いいえ。FlowEvoは完全にトレーニング不要(training-free)のフレームワークです。ベースモデルのパラメータは一切変更せず、推論時にスキルバンク・補助メモリ・ルーティング統計のみを更新することで自己進化を実現します。この設計により、GPT-4o-miniのような軽量モデルからDeepSeek-R1-671Bのような大規模モデルまで、幅広いLLMにそのまま適用できます。
スキルバンクはどのくらいのサイズになるの?
ALFWorldの134エピソードを通じた実験では、最終的に6つのテンプレートスキルが蓄積され、うち1つは有害と判定されて抑制されました。タスクタイプごとに1スキル程度が生成されるため、無制限に増え続けることはありません。審査(Admission)による品質チェックとキュレーションにより、スキルバンクのサイズと品質は常に管理されています。
既存のExpeLやReflexionと何が違うの?
決定的な違いは「実行可能性」にあります。ExpeLはテキストレベルの「洞察」を蓄積しますが、それは人間が読んで参考にするだけで、エージェントが直接実行できるものではありません。FlowEvoは「実行可能なコード成果物」としてスキルを保存するため、ルーターが適切と判断した場合には即座にサブルーチンとして呼び出せます。またReflexionは失敗時に内省してリトライするのに対し、FlowEvoは成功時に再利用可能な資産を自動生成する点も大きく異なります。
どんなタスクで効果が大きいの?
タスクパターンが反復する環境で最大の効果を発揮します。ALFWorldの家事タスクでは、FlowEvoはベースライン比で+41.8ポイントもの改善を達成しました。一方、各問題がユニークなコード生成(HumanEval)や数学推論(GSM8K)でも、スキル条件付き生成による構造化コンテキストの提供と適応的エスカレーションにより、最高精度と最低トークンコストを両立しています。
自分で試すにはどうすればいいの?
GitHub(https://github.com/DEFENSE-SEU/FlowEvo)でコードが公開されています。OpenAI互換のAPIエンドポイント(OpenRouterなど)を用意し、`pip install -e .でセットアップ後、python -m src.code_math.runner --benchmark humaneval --conditions oursでコード生成ベンチマークを、python -m src.alfworld_.run_20task_validation --conditions full_libraryでALFWorldの検証を実行できます。設定ファイルconfigs/default.yaml`を編集すれば、使用するモデルやAPIキーの変更も簡単です。
まとめ
FlowEvoは、LLMエージェントが実行経験を自動的に「スキル」として蓄積し、将来のタスクに再利用できるようにする自己進化型フレームワークです。その最大の特徴は、モデルの重みを一切更新せずにエージェントの性能を継続的に向上させる点にあります。このトレーニング不要の設計は、計算リソースの制約がある現場や、頻繁なモデル更新が困難なプロダクション環境でも導入しやすいという実用的な強みを持ちます。
FlowEvoの中核を成すのは、3つのメカニズムが形成する共進化ループです。まず「コンパイル」が、成功した実行トレースから実行可能なスキルレコードを自動生成します。次に「フィードバック」が、ルーターによるモード選択を通じて、蓄積したスキルを新しいタスクのワークフロー構築に活用します。最後に「キュレーション」が、対照評価によって負の転移を引き起こす有害スキルを検出し、自動的に抑制することでスキルバンク全体の品質を維持します。この3段階のサイクルが回るごとにエージェントはより賢く、より効率的になっていきます。
実験結果はこの設計の有効性を明確に示しています。対話型家事タスクのALFWorldでは82.8%(ベースライン比+49.2ポイント)、コード生成のHumanEvalでは95.1% pass@1、数学推論のGSM8Kでは97.1%の正解率を達成し、AFLOW・Reflexion・ExpeLなど既存の8つのベースラインをすべて上回りました。同時にトークン使用量はALFWorldで1エピソードあたり12,267トークンと、最強ベースラインの半分以下に抑えられています。さらに、GPT-4o-miniからDeepSeek-R1-671Bまで10種類のモデルで検証が行われ、50比較中49でExpeLを上回る汎用性も確認されました。
この成果を支えているのが、「実行可能なスキル」と「テキストガイダンス」を組み合わせたハイブリッド設計です。直接スキル実行により反復型タスクでは高速・低コストな推論を実現し、スキル条件付き生成により単発型タスクでも構造化されたコンテキストを提供します。この2つの再利用モードを状況に応じて切り替える適応的エスカレーション戦略が、幅広いタスク分布に対する頑健性を生み出しています。
一方で、FlowEvoには今後の課題も存在します。検証可能なフィードバックが得られる環境に依存しているため、フィードバックが遅延・部分的・ノイジーな実世界のタスクへの応用はこれからの研究領域です。また、現時点ではベンチマークごとに独立したスキルバンクを持ち、異なるドメイン間の知識転送は未検証です。長期運用を見据えたスキルの統合・マージ・整理といったメンテナンス機構の確立も重要な研究方向となります。
それでもなお、FlowEvoが提示した「ワークフローとスキルの共進化」というパラダイムは、LLMエージェントの自己進化研究に新たな扉を開きました。トレーニング不要でありながら継続的に成長するエージェントの実現は、AIシステムの自律性と効率性を次の段階へ引き上げる可能性を秘めています。
参考資料
- FlowEvo論文(arXiv): https://arxiv.org/abs/2607.21596
- FlowEvo論文HTML版: https://arxiv.org/html/2607.21596v1
- FlowEvo GitHubリポジトリ: https://github.com/DEFENSE-SEU/FlowEvo
- HuggingFace Daily Papers: https://huggingface.co/papers/2607.21596
- Voyager (Wang et al., 2023): https://arxiv.org/abs/2305.16291
- FlowEvo config: https://github.com/DEFENSE-SEU/FlowEvo/blob/main/configs/default.yaml