MemSlides徹底解説:パーソナライズされたPPT生成とローカル編集を実現する記憶駆動型AIエージェント
MemSlidesがユーザープロファイル記憶、作業記憶、ツール記憶、部分修正機能を活用して、個別化されたプレゼンテーションを生成し、信頼性の高い複数回の編集をサポートする方法をご紹介します。

MemSlides: 記憶駆動型AIエージェントによるパーソナライズされたスライド生成とマルチターン編集
はじめに
AIプレゼンテーションツールは、初稿を作成することは得意です。それ以降の部分が難しいのです。
ユーザーは、テキストを減らしてほしい、図を増やしてほしい、視覚的なリズムを変えてほしい、あるいは1枚のスライドの小さな要素を変更してほしいと求めることがあります。多くのシステムでは、新しい指示を出すたびに、以前の好みが上書きされたり、すでに正しかったコンテンツが損なわれたりするリスクがあります。
MemSlidesは、プレゼンテーション作成を、ワンクリックでの変換タスクではなく、継続的で状態を持つ作成プロセスとして捉えています。北京郵電大学、清華大学、上海交通大学の研究者らによって開発されたこのフレームワークは、階層型メモリと厳密に範囲を限定したスライド編集を組み合わせています。
このシステムは、プロジェクト間で安定した好みを記憶し、現在のデッキ内での一時的な指示を保持し、成功した編集戦略を再利用し、ユーザーが実際に変更を求めた領域のみを修正するように設計されています。
MemSlidesの論文はHugging Face Daily Papersでトップにランクインし、プロジェクトはオープンソースリポジトリ、プロジェクトページ、オンラインデモも公開しています。

MemSlides: スライドを生成するだけでは不十分
プレゼンテーションの作業が一回で完了することはほとんどありません。
研究発表では、指導教員からのフィードバックを受けて、何度か修正を重ねる必要があるかもしれません。ビジネス用のピッチデッキでは、ストーリー、データの強調、視覚的階層、最終的な行動喚起などが繰り返し変更されることがあります。ユーザーが最初のバージョンを見て初めて、自分の好みが明確になることもよくあります。
このことから、AIスライドエージェントには3つの実用的な要件が生まれます。
- 異なるプレゼンテーションタスク間で安定した好みを記憶できなければならない。
- 現在のデッキにのみ適用される一時的なルールを保持できなければならない。
- ローカル編集の境界を理解し、無関係なコンテンツを書き換えないようにしなければならない。
MemSlidesは、会話履歴全体をますます長くなる単一のプロンプトに詰め込むことでこれを解決するのではありません。代わりに、メモリを寿命と機能によって分離します。

階層型メモリ設計
MemSlidesは2種類のメモリ寿命を使用します。
- 長期メモリは、プレゼンテーションジョブをまたいで持続します。
- ワーキングメモリは、現在のデッキとそのリビジョンラウンドの間アクティブなままです。
長期メモリはさらに機能ごとに分類されます。
- ユーザープロファイルメモリは、繰り返し現れるユーザーの好みを記録します。
- ツール
memoryは、編集や実行の再利用可能な経験を保存します。
その結果、エージェントが永続的な好みと一時的なリクエストを区別できる階層型システムが構築され、プレゼンテーションスタイルを操作上の編集知識から分離して保持することも可能になります。
| メモリコンポーネント | 寿命 | 主な目的 | 例 |
|---|---|---|---|
| ユーザープロファイルメモリ | プロジェクト間 | 意図を考慮した安定した好みを保存する | 低いテキスト密度と視覚的な説明を好む |
| ワーキングメモリ | 現在のデッキ | 一時的なルールとアクティブな改訂状態を保持する | このデッキの新しいスライドは青いタイトルを使用する |
| ツールメモリ | 類似の編集間 | 成功した編集手順を再利用する | レイアウトに影響を与えずに1つのグラフを変更するための信頼性の高い手順 |

新しいタスク中、MemSlidesはソース資料、オプションのテンプレート、および関連するプロファイルメモリを使用して最初のデッキを作成します。新しいフィードバックが届くと、現在のセッション状態を更新し、プレゼンテーション全体を自動的に再生成するのではなく、ローカライズされた改訂を実行します。
ユーザープロファイルメモリ:安定したプレゼンテーションの好みを学習する
パーソナライゼーションは、「アカデミック研究者」「金融アナリスト」「スタートアップ創業者」などの基本的な役割記述に縮小されることがよくあります。その情報は有用ですが、個人がどのようにコミュニケーションすることを好むかを完全に説明するものではありません。
2人の研究者でも、まったく異なるプレゼンテーションを望む場合があります。1人はスライドごとに1つの結論と最小限の数式を好むかもしれません。別の人は、詳細な導出、実験条件、および密度の高い裏付け証拠を望むかもしれません。
MemSlidesは、プレゼンテーションの意図といくつかの好みの次元に基づいてユーザープロファイルメモリを整理します:
- テーマ
- コンテンツ
- ビジュアルスタイル
- レイアウト
- テンプレートの使用
- 一般的なプレゼンテーション習慣
新しいジョブの開始時に、エージェントは現在の意図に一致するプロファイル項目を取得します。次に、それをユーザーの最新のリクエストおよびタスク固有のテンプレートと調整します。

好みが初稿にどのように反映されるか
ユーザープロファイルメモリは、初期(ラウンドゼロ)のプレゼンテーションに影響を与えます。
論文や文書を機械的に固定枚数のスライドに分割する代わりに、エージェントはアクティブなプロファイルを使用して以下を決定できます:
- どの概念を早期に定義する必要があるか
- 各スライドに表示する証拠の量
- メカニズムに図が必要かどうか
- 許容されるテキストの量
- 結論を詳細の前に表示するべきかどうか
- 最終スライドにアクションやチェックリストを含めるべきかどうか
これにより、
以下は、ご依頼内容の日本語訳です。
コンテンツ計画とレイアウトにおけるパーソナライゼーションの部分であり、単なる色やフォントの変更ではありません。
安定した好みがどのように統合されるか
すべての指示が永続的な好みになるべきではありません。
例えば、ユーザーがあるプレゼンテーションでクライアントのブランドに合わせてタイトルを青にするようリクエストしたとします。MemSlidesは、このユーザーが常に青いタイトルを好むと結論づけるべきではありません。
タスクの終了時に、システムは安定しており再利用可能とみなされるインタラクションシグナルのみを統合します。一時的な選択は、長期プロファイルに自動的に書き込まれるのではなく、現在のジョブ内に留まります。
この区別は、以下の2つのよくある失敗を防ぐのに役立ちます。
- プロジェクトごとに基本的な好みを繰り返しユーザーに尋ねること
- 一度きりの指示を永続的な個人の習慣として扱うこと
ワーキングメモリ:一時的な指示を有効に保つ
あるプレゼンテーション全体を通して重要な指示でも、そのジョブが終了すれば消えるべきものがあります。
次のようなリクエストを考えてみてください。
「後で新しいスライドが追加された場合、そのタイトルも青色にする必要があります。」
この指示は、現在の編集ラウンドではスライドが追加されていないため、関連性がないかもしれません。ステートレスなエージェントはこれを簡単に忘れてしまいます。MemSlidesはこの指示をワーキングメモリに保存し、後のラウンドで新しいスライドが作成されるまでアクティブな状態を保ちます。

ワーキングメモリは、以下のような情報を追跡します。
- 一時的なプレゼンテーションの好み
- セッション固有の制約
- 現在のプレゼンテーションの目標
- 以前に編集された領域
- 未完了のチェック
- リビジョン履歴とアクティブな状態
これにより、一連の独立したプロンプトが、同じデッキの継続的な編集に変わります。
ワーキングメモリは、長期の好みを上書きすべき指示がある場合にも役立ちます。現在のタスクでは、明示的なユーザーフィードバックが優先されます。したがって、システムはユーザーの永続的なプロファイルを書き換えることなく、一時的な例外を適用できます。
ツールメモリ:信頼性の高い編集経験の再利用
リクエストを理解することは、エージェントがそれを安全に実行できることを保証するものではありません。
小さなスライド編集でも、適切な要素の選択、正しいプロパティの変更、配置の維持、基礎となる表現の更新、結果のレンダリング、他の要素が移動していないことの確認などが含まれる場合があります。
エージェントは、以下のように失敗する可能性があります。
- 間違った領域を選択する
- 間違ったコードやオブジェクトを変更する
- 要求よりも広範囲な編集を適用する
- 変更が完了する前に停止する
- 以前に失敗したツールシーケンスを繰り返す
ツールメモリは、この実行レイヤーに焦点を当てています。
MemSlidesは、2種類の経験を記録します。
- ラウンドレベルのタスク経験: 編集ラウンドからの教訓、エラー、有用なパターンを要約したもの。
- 操作レベルのツールチェーン経験: 類似操作中に再利用するために、推論、ツール呼び出し、観察結果のコンパクトなシーケンスを保存したもの。

「Experience」にはAgent Lesson、Tool Error、Auto Extractが含まれ、Preloadを経て作業記憶(WM)に入り、複数の修正ラウンドを経て、最終的にJob Endに至ります。「Tool Chain Experience」は操作レベルのツールチェーン経験を記録し、複数の操作サイクルを含み、各サイクルには推論、ツール呼び出し、観察などのステップが含まれ、最終的にTool Memoryを形成します。この図はコンテキストと密接に関連しており、コンテキストで言及されている記憶タイプとワークフローを直感的に示しています。
ユーザープロファイルメモリはプレゼンテーションの姿をどうすべきかを決定します。ツールメモリはその変更を確実に行う方法の判断に役立ちます。
エージェントは類似の編集を試みる前に関連する経験を取得でき、繰り返しのミスや不要な試行錯誤を減らせます。
スコープ指定のスライドローカルリビジョン:要求された箇所のみを変更
マルチターンのプレゼンテーション編集における大きなリスクの一つは過剰編集です。
ユーザーが一つのラベル、グラフ、段落の変更を依頼した際に、スライド全体やデッキ全体を書き換えるシステムは、誤って正しい数式、色、間隔、コンテンツを変更してしまう可能性があります。
MemSlidesでは、3つの段階から成るスコープ指定のスライドローカルリビジョンプロセスを導入しています。
1. 計画 (Plan)
システムはユーザーのリクエストを実行契約に変換します。これにより以下を特定します。
- 編集がローカルかグローバルか
- 影響を受けるスライド
- 最小のターゲット領域
- アクティブなルールとセレクターヒント
- 検証要件
2. 実行 (Act)
エージェントは最小限の有効な変更を適用します。タスクに応じて、ローカルパッチ、狭い範囲のスタイル更新、特定ページの挿入や削除が含まれます。
3. 保護 (Guard)
リビジョンラウンドを終了する前に、システムは要求されたターゲットが更新され、関連のない領域が変更されていないことを検証します。カバレッジが不完全な場合、ラウンドはブロックされ、エージェントは再試行する必要があります。
このメカニズムは、既に正しいコンテンツを保護します。
以下の例では、スライド全体の広範な書き換えと、MemSlidesのローカライズドパッチを比較しています。要求された変更はスライド下部の1項目に影響します。広範な書き換えでは色が変更され、数式ブロックが削除され、レイアウトが変更されますが、スコープ指定パッチはターゲットのみを更新します。
実験結果
MemSlidesの評価では、編集が最終的に行われるかどうかだけでなく、編集が厳格な検証に合格するかどうか、そしてシステムが最初の正しい結果にどれだけ早く到達するかも測定します。
パーソナライゼーションとワーキングメモリの動作
論文によると、ユーザープロファイルメモリは初回ラウンド生成時のペルソナ適合性を向上させます。システムはデフォルトのプリファレンスを適用する代わりに、意図にマッチしたプリファレンスを使用します。
各タスクに1つの固定プロファイル。
ワーキングメモリの質的ケースにおいても、初期ラウンドで導入されたプリファレンスが、その後のフィードバックで繰り返されなくても、アクティブなまま維持され、後で影響を及ぼす可能性があることが示されている。
ツールメモリのアブレーション
研究チームは、診断的な対応ペア設定を用いてツールメモリをテストした。各ペアは同じソースデッキ、モデル、ペルソナ、要求された編集を使用した。主な違いは、ツールメモリが注入されたかどうかである。
| メトリクス | ツールメモリあり | ツールメモリなし |
|---|---|---|
| クローズドループ完了率 | 0.963 | 0.815 |
| 厳格検証率 | 0.534 | 0.310 |
| 初回正解編集時間 | 242.5秒 | 609.5秒 |
| コアツール時間比率 | 0.327× | 1.000× |

結果は、ツールメモリを使用した場合に、クローズドループ完了率が高く、厳格検証率も向上し、初回正解編集までの平均時間が大幅に短縮されることを示している。
これらの数値は、9つの対応する修正ペアを含む制御された診断設定によるものである。これは、MemSlidesがあらゆるプレゼンテーションタスクにおいて他のすべての代替手段よりも優れているという証明として解釈されるべきではない。この研究はより限定的であり、再利用可能なツール経験が、対応する条件下で局所的な編集を改善するかどうかをテストするものである。
MemSlidesをローカルで実行する
このプロジェクトはApache 2.0ライセンスのもとでオープンソースである。公式リポジトリでは、ソースインストールとDockerワークフローの両方を提供している。
ソースからインストール
sudo apt-get update
sudo apt-get install -y libreoffice fontconfig fonts-noto-cjk poppler-utils
conda env create -f environment.yml
conda activate memslides
pip install -e ".[research]"
python -m playwright install chromium ffmpeg
python -m memslides.experiment --help
内蔵のスモークテストスイートを実行する:
python -m memslides.experiment run smoke_minimal \
--output-base .memslides/experiments \
--parallel 1
Dockerで実行
docker compose build
docker compose run --rm memslides python -m memslides.experiment run smoke_minimal \
--output-base /app/.cache/memslides/experiments \
--parallel 1
smoke_minimalスイートは、小規模な検証実行を目的としている。実際の生成実験には、ユーザーが提供するモデルとサービスの認証情報が必要である。
認証情報はリポジトリの外部に保管すること。このプロジェクトは、環境変数、.envファイル、およびMEMSLIDES_CONFIG_FILEまたは--configで選択されるプライベートYAML設定をサポートしている。
MemSlidesの設計がPPT生成を超えて重要な理由
同じメモリ問題は、多くの長期実行エージェントワークフローに現れる。
ドキュメントエージェントは、すべての編集を永続的なものとして扱うことなく、書き方のプリファレンスを保持する必要がある。コーディングエージェントは、プロジェクトの規約を記憶しつつ、一時的なブランチ固有の指示を分離して保持する必要がある。データ分析エージェントは
信頼できるツール手順を再利用しながら、現在の目標を達成する。
MemSlidesは、より広範な設計原則を示している:
- 永続的なユーザー設定は、セッション状態から分離されるべきである。
- セッション状態は、複数回のラウンドにわたって保持されるべきである。
- 実行経験は、ユーザー設定とは独立して保存されるべきである。
- ローカルリクエストは、明確な境界内で動作すべきである。
- 修正が完了したと見なされる前に、検証が行われるべきである。
したがって、このフレームワークの価値は、魅力的なスライドを作成することだけに限定されない。これは、エージェントが一度きりの生成から信頼性のある反復的な協働へと移行する方法の具体的な例を示している。
FAQ
MemSlidesとは何か?
MemSlidesは、パーソナライズされたスライド生成と複数回のローカル修正を行うためのメモリ駆動型プレゼンテーションエージェントである。ユーザープロファイルメモリ、ワーキングメモリ、ツールメモリ、および範囲指定された編集ワークフローを組み合わせている。
MemSlidesはAIパワーポイント生成ツールか?
はい、ただしその主な焦点は初回ドラフトの作成を超えている。ユーザーの設定を記憶し、修正ラウンド全体で指示を引き継ぎ、フルデッキを不必要に再構築することなく限定的なスライド領域を変更するように設計されている。
ユーザープロファイルメモリは何を保存するか?
ユーザープロファイルメモリは、プレゼンテーションの意図やテーマ、コンテンツ、ビジュアルスタイル、レイアウト、テンプレート使用、一般的な習慣などの次元で整理された繰り返しのユーザー設定を保存する。関連するプロファイル項目のみが新しいタスクにルーティングされる。
ワーキングメモリと長期メモリの違いは何か?
長期メモリはプレゼンテーションプロジェクト間で持続し、安定したユーザー設定と再利用可能なツール経験を含む。ワーキングメモリは現在のデッキに属し、一時的な指示、アクティブな制約、修正状態を追跡する。
MemSlidesは無関係なスライドコンテンツの変更をどのように避けるか?
範囲指定されたスライドローカル修正を使用する。システムは最も影響の少ない領域を特定し、最小限の編集を行い、ラウンド完了前にカバレッジを検証する。
MemSlidesはDockerで実行できるか?
はい。公式リポジトリにはDocker Composeファイルと、コンテナ内で内蔵スモークテストスイートを実行するためのコマンドが含まれている。
MemSlidesはAPIキーを必要とするか?
実際の生成実験には、ユーザーが選択したモデルやサービスの認証情報が必要である。リポジトリでは、これらをGitにコミットするのではなく、環境変数、.env、またはプライベート設定ファイルに保存することを推奨している。
MemSlidesはオープンソースか?
はい。ソースコードはGitHub上でApache 2.0ライセンスのもとで公開されている。著者らはプロジェクトページ、論文、オンラインデモ、Hugging Faceペーパーページも提供している。
関連ツール
- MemSlidesデモ:パーソナライズされたスライド生成ワークフローを試すための公式オンラインワークスペース。
- MemSlides GitHub:オープンソース実装、設定ファイル、実験ランナー、Dockerセットアップ。
- MemSlidesプロジェクトページ:フレームワーク、メモリコンポーネント、例、結果の概要。
- Docker:再現可能なコンテナ環境でプロジェクトとその依存関係を実行する。
- LibreOffice:
libreoffice.org/): ローカルワークフローでプレゼンテーションや文書処理に使用されます。
- Playwright: プロジェクトのセットアップやレンダリングワークフローで利用するブラウザ自動化機能を提供します。
関連リンク
- MemSlidesのarXiv論文: フレームワークと実験を説明する公式研究論文。
- MemSlidesのHTML版論文: 全文をブラウザで閲覧可能な形式にしたもの。
- MemSlides on Hugging Face: 論文ページ、コミュニティディスカッション、プロジェクトリンク。
- MemSlides GitHubリポジトリ: ソースコード、インストールコマンド、Dockerファイル、実験ツール。
- MemSlidesプロジェクトウェブサイト: プロファイルメモリ、ワーキングメモリ、ローカルリビジョンの視覚的解説。
- MemSlidesライブデモ: システムをテストするための公式ウェブインターフェース。
- Apache License 2.0: オープンソースリポジトリで使用されているライセンス。
まとめ
MemSlidesは、スライド作成を単回の生成リクエストではなく、継続的な作成プロセスとして捉えます。階層型メモリにより、安定したユーザー設定、一時的なデッキレベルの指示、再利用可能な編集経験を分離します。
スコープ指定されたリビジョン・ワークフローは、各変更を必要最小限の領域に限定し、ラウンド完了前に結果を検証します。論文の診断的マッチドペア実験では、ツールメモリにより完了率と検証率が向上し、正しい編集に要する時間が短縮されました。
中心的なアイデアはシンプルです。有用なプレゼンテーションエージェントは、適切な情報を記憶し、適切なタイミングで一時的な詳細を忘れ、ユーザーが実際に依頼した変更のみを行うことです。