AIエージェントとワークフローの協働設計:研究現場での実践と考察

本日は、AIエージェントとワークフローの違いと使い分けについて、私自身の研究での実践例を交えながら整理してみたいと思います。

ワークフローとは

ワークフロー言語であるCommon Workflow Language (CWL) の日本語ドキュメントでは、ワークフローはソフトウェアを組み合わせて構成される一連の作業手順と記述されています。

たとえば研究において、

データの前処理 → 解析 → 可視化

のような流れを自動化したシステムが、典型的なワークフローの例かと思います。

ワークフローの特徴は、入出力の型が決まっており、処理の手順も明確に定義されている点にあります。一度設計しておけば、誰でも同じ処理を実行できるため、大規模データ処理や定型業務に最適です。

ワークフローの強みは、処理手順の一貫性自動化にあります。ただし、入力と出力結果が常に一致するとは限りません。例えば、LLMによる要約生成のように確率的要素を含む処理では、手順への再現性は確保できても、結果の再現性までは保証できません。

AIエージェントとは

一方で、AIエージェントは与えられた目標に対して自律的に行動・判断するAIシステムです。OpenAIによる定義とGoogleによる定義をそれぞれ下記に記述します。

OpenAI: Agents are systems that independently accomplish tasks on your behalf.

Google: AI agent can be defined as an application that attempts to achieve a goal by observing the world and acting upon it using the tools that it has at its disposal.

その自律性により、タスク実行の際にどの情報を使うか、どの順番で進めるかを状況に応じて柔軟に判断するシステムであることが特徴です。Googleによる定義にあるように、AIエージェントは手持ちツールの利用により外世界の観察を通じてタスク達成を試みます。

従来のワークフローが「決められた流れに従う機械」だとすれば、AIエージェントは「目的に応じて外世界の調査を行い、流れ自体を組み立て直せるパートナー」といえるかと思います。

得意分野と苦手分野の比較

ワークフロー AIエージェント
得意 定型処理・大量データ処理 複雑な意思決定・曖昧な指示の解釈・知識統合
苦手 想定外のケース対応・目的の再定義 処理手順の再現性・長時間の安定したバッチ処理
代表例 RNA-seq解析パイプライン、ETL処理 文献から仮説生成、研究課題の整理、具体的な次の作業の提案

ワークフローは定型処理の自動化や大量データ処理の軸で強く、

AIエージェントは柔軟性と判断力の軸で強い、という対比構造にあるといえるかと思います。

使い分けの重要性

AIエージェント開発を始めた初期の段階では、ワークフローとの違いを十分に考慮せずにシステム設計を進めてしまい、多くの時間を費やすことになりました。結果として、AIエージェントに任せるべきでない領域まで抱え込ませていたことが非効率さの原因の1つだったのではないかと思っています。

そこから、AIエージェントとワークフローの両方をうまく活用して補完し合うシステムが効率的なのではないか、と最近は感じています。

AIエージェントが「何を、どの順に行うべきか」を判断し、ワークフローがそれを正確に実行する。あるいは、ワークフローで事前に必要最低限の解析を済ませた上で、その結果をもとにAIエージェントが網羅的な調査や知識統合・提案を行う。このような両者の役割分担をさせることで、効率的なシステムを構築できると考えています。

さらに、AIエージェントの出力や提案内容に対して人間のチェックを挟むこと(Human in the loop)で、より信頼性が高い研究支援サイクルを実現できるのではないかと思います。

研究での実践例:非モデル生物の遺伝子研究論文の収集

私は研究の一環で、「非モデル生物を対象とした遺伝子研究論文の収集」を試みています。

これは単純な検索では難しく、機械的な検索手段も確立されていないようでした。そこでAIエージェントでの柔軟な判断力を活用することを考えました。

まずはタスクを次のように分解しました。

  1. モデル生物を定義し、それに当てはまらない生物種を非モデル生物と定義
  2. PubMedからランダムに論文を収集する
  3. PubTatorのアノテーション情報を確認し、モデル生物を対象とした論文を除外
    • 非モデル生物ではPubTatorの遺伝子アノテーション精度が十分でない可能性があるため、遺伝子情報は参考程度に利用
  4. 残った論文について以下を判定
    • 対象遺伝子の妥当性(実在性、種との対応)
    • 遺伝子研究タイプの分類
    • 生物カテゴリー(動物、植物、細菌など)
  5. 遺伝子研究であると判定された論文リストから、偏りのないようにサンプリング

2-3の処理は確定手順であり、ワークフローでの自動化が最適と判断しました。

一方で、4の処理は、テキスト理解、使用するツールの判断、入力情報の選定、外部データベース照合など、複数の判断を伴うため、AIエージェントによる自律的な実行が適切である可能性が高いと判断しました。

現在は、この判定部分をAIエージェントに任せるためのツール整備と精度評価を進めています。

実践から得られた学びと反省

研究初期の段階では、効率化を期待してタスク1-5のすべてをAIエージェントに任せようと試みていました。

しかし、数万件の論文処理などの長時間作業を行うと、エージェントの処理が不安定になることがわかりました。

主な原因は、現状の私のAIエージェントシステムは処理の履歴や出力内容などをコンテキストに保持する仕組みとなっており、処理が進むにつれて、LLMのコンテキスト(トークン)を圧迫していたことにあると考えています。

さらに、2-3のような処理をAIエージェントに安定的に処理させるための機能開発やプロンプト調整など、思ったより多大な時間がかかることがわかりました。

その後冷静に考え、タスク1-5の間で実際にAIエージェントが判断すべき部分は全体の一部にすぎないと考えを改めました。

入出力や処理の順序が決まっている処理はワークフローとして切り出し、AIエージェントには目的志向のタスクに集中させることで、コンテキストの節約と安定性の向上が見込めるのではないかと考えています。

この経験から、ワークフローとAIエージェントの明確な切り分けが、AIエージェントを活用した研究システムの設計や運用において重要だと実感しています。

まとめ

  • ワークフローは処理の一貫性と自動化のための仕組み
  • AIエージェントは目的達成のための判断と柔軟性の仕組み
  • 両者を補完的に使うことで、より強力な研究支援体制が実現できる

AIエージェントがシステム全体を担うべきかどうかは、タスクの性質や目的によって意見が分かれるところだと思います。私自身は、AIエージェントがすべてを担うのではなく、ワークフローや人間の判断と補完し合う形が望ましいと考えています。

「AIにどこまで任せ、どこから人やワークフローに任せるか」を設計することが、これからの研究効率化の鍵になるのではないかと感じています。