スプレッドシートを用いたタスクを自動で行うLLMエージェント、SheetAgentが登場!
3つの要点
✔️ スプレッドシートの操作を行うLLMエージェントを開発・評価するための新たなベンチマークであるSheetRMを構築
✔️ 高度な推論と正確な表計算を可能にしたLLMエージェントであるSheetAgentを提案
✔️ 比較実験により、SheetAgentが既存手法を大幅に上回る性能を持っていることが確認された
SheetAgent: A Generalist Agent for Spreadsheet Reasoning and Manipulation via Large Language Models
code:
written by Yibin Chen, Yifu Yuan, Zeyu Zhang, Yan Zheng, Jinyi Liu, Fei Ni, Jianye Hao
(Submitted on 6 Mar 2024 )
Comments: Published on arxiv.
Subjects: Artificial Intelligence(cs.AI); Machine Learning(cs.LG)
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
スプレッドシート形式のデータは科学・金融・マーケティングなどの分野で重要な役割を果たしており、主に表計算システムで扱われています。
これらのシステムは数値計算やデータ分析、可視化などの作業に有用である一方で、これらの事務処理には多くの場合、膨大な時間と経験値が必要になります。
こうした課題を解決するために近年、大規模言語モデル(Large Language Model, LLM)を用いた表計算の自動化が試行されてきています。
しかし、多段階の推論や曖昧な要件を含む操作等の、複雑で現実的なタスクを行うには対応できておらず、簡単な計算と1ステップの推論を伴うタスクしか扱うことができませんでした。
本稿ではこうした背景から、表計算における現実的な課題とのギャップを埋めるために、スプレッドシートの操作を行うLLMエージェントを開発・評価するための新たなベンチマークであるSheetRMと、3つのモジュールから構成され、高度な推論と正確な表計算を可能にしたLLMエージェントであるSheetAgentを提案した論文について解説します。
SheetRM Benchmark
Multi-Category
本論文では、既存ベンチマークにはないより複雑な多段階推論や曖昧な要件などの課題をタスクに含ませ、シミュレーションと実世界のタスクとのギャップを縮めることを目的に、SheetRMという新たなベンチマークを構築しました。
SheetRMの概要を下図に示します。
SheetRMはより現実的で複雑なタスクを含ませるために、図(a)にあるような複数種類の操作カテゴリーと多段階の推論が求められる実課題が含まれています。
具体的には5種類の主要タイプと36種類のサブタイプの操作問題+それに対応する4種類の推論課題が含まれており、各課題においてスプレッドシートの操作能力と課題における推論能力の両方が問われます。
Task Schema
SheetRMにおける各タスクは、以下の3つの部分で定義されます。
- Spreadsheet Assets: 各タスクは複数のスプレッドシートで構成されるため、LLMの内部知識を評価することを目的として、スプレッドシートの内容を1文の自然言語によって翻訳させます。
- Task Instruction: 自然言語で表現された高レベルのタスクを行わせます。タスクを完了させるには、対象となるスプレッドシートに対する一連の操作が必要になります。
- Checklist: 図(b)に示すように、各タスクはその完了を評価するために設計されたチェックリストと対になっており、チェックリストの各項目はそれぞれに合わせた基準で、細かい操作の評価に対応しています。
SheetAgent Framework
本論文ではSheetRMがもたらす課題を定量化するために、LLMベースのエージェントフレームワークであるSheetAgentを提案しています。
SheetAgentは下図に示すように、Planner・Informer・Retrieverの3つの主要なコンポーネントから構成されています。
それぞれ解説していきます。
Planner
下図にSheetAgentにおけるPlannerのプロンプトテンプレートを示します。
Plannerはスプレッドシートの操作に利用され、具体的にはReActを用いた方式で推論を行い、ターゲットとなるスプレッドシートを操作するためのPythonコードを生成します。
Informer
下図にSheetAgentにおけるInformerのプロンプトテンプレートを示します。
SheetAgentにおけるInformerは、クエリを実行するためのタスク固有のSQLを生成する役割を果たしており、これによりPlannerはターゲットとなるスプレッドシートをより正確かつ効率的に認識できるようになり、推論の課題に効果的に対処できるようになっています。
Retriever
SheetAgentにおけるRetrieverは、タスク計画中にPlannerに助言を与え、コードリポジトリから関連するコードを調達することでエラー修正を補強する役割を果たしています。
また、検索効率を向上させるために、オープンソースのベクトルデータベースであるMilvus(Wang et al., 2021)をコードリポジトリとして採用しています。
Experiment
本論文ではSheetAgentの性能を検証するために、既存のベンチマークであるSheetCopilot Benchmark(SCB)と前述したSheetRMを用いて実験を行いました。
また、SheetAgentとの比較モデルとして、LLMベースのエージェントフレームワークであるSheetCopilotとVBAコードを生成して実行する手法であるVBAを採用しました。
加えて本実験では、既存ベンチマークであるSCBに準拠し、以下の3つの評価指標を採用しています。
- Exec@1: タスク実行中に例外が発生しなかった割合を計算する
- Pass@1: タスクを達成した割合を計算する
- SubPass@1: 各タスクのサブタスクを達成した割合を計算する
SCBにおける実験結果を下の表に示します。
表より、SheetAgentはSheetCopilotよりも16.8%も高いPass@1と6.8%も高いExec@1を達成し、性能面でSheetCopilotを凌駕していることが確認できます。
これは、SheetAgentがより高度な推論能力を発揮し、複雑なスプレッドシートの操作を可能にしていることを示しています。
加えて下図は、SheetAgentとSheetCopilotの推論課題を含むタスクでの比較になります。
図に示す通り、SheetCopilotは命令を満たすソリューションを生成できないのに対し、SheetAgenthは与えられた情報に基づいて命令の意図を正しく特定し、優れたソリューションを生成できていることが確認できました。
まとめ
いかがだったでしょうか。今回は、表計算における現実的な課題とのギャップを埋めるために、スプレッドシートの操作を行うLLMエージェントを開発・評価するための新たなベンチマークであるSheetRMと、3つのモジュールから構成され、高度な推論と正確な表計算を可能にしたLLMエージェントであるSheetAgentを提案した論文について解説しました。
本論文で行われた比較実験により、提案されたSheetAgentは既存手法と比較して、より複雑なスプレッドシートの操作を行い、より複雑なタスクをこなす能力を持っていることが確認できました。
現段階ではgithubにて公開されていませんが、本フレームワークは誰でも使えるようにオープンソースになる予定であり、これにより多くの人が面倒な表計算のタスクから解放されることが期待されるため、今後の進展が楽しみです。
今回紹介したフレームワークや実験結果の詳細は本論文に載っていますので、興味がある方は参照してみてください。
この記事に関するカテゴリー