huohua325/Memslides
A hierarchical memory framework for personalized presentation agents. Try it at memslides.com.
MemSlides – パーソナライズされたスライド生成のための階層型メモリ・エージェント
概要 – MemSlidesは、PowerPointスタイルのプレゼンテーションを作成するための stateful なAIアシスタントを構築できる、オープンソースのフレームワークです。スライド全体を一括で生成するのではなく、システムはいくつかの層のメモリを保持します:
| Memory layer | Purpose |
|---|---|
| User‑profile memory | プレゼンテーションの意図に紐づく長期的な偏好(スタイル、レイアウト、トーン)を保存します。 |
| Working memory | セッション固有の制約や一時的な偏好を保持し、複数回のリビジョン(修正)にわたって維持されます。 |
| Tool memory | 過去のツールチェーンの実行(例:レンダリング、画像検索)を記憶し、不要な重複操作を回避します。 |
ユーザーがフィードバックを与えると、MemSlidesは、そのフィードバックを最小の影響を受けるスライド領域に投影し、その部分のみをパッチ適用することで、スライド全体を再生成することを避けます。
Key Features (READMEに記載)
- Intent‑conditioned personalization – エージェントは、まずプレゼンテーションの意図に目的に合わせてユーザープロファイルのスライスを適用し、その後に詳細なスタイルやコンテンツの偏好を適用します。
- Multi‑turn revision – Working memoryは、一時的な編集や制約を保持し、ユーザーとのスムーズなやり取りを実現します。
- Tool memory – ツールチェーンの実行に成功した結果(例:画像生成、レイアウトレンダリング)をキャッシュし、繰り返しの失敗を防ぎます。
- Scoped slide‑local revision – ユーザーが変更を求めたスライド領域のみを更新し、スライド全体の不意な変化(ドリフト)を防ぎます。
- CLI entry points –
memslides generate,memslides revise,memslides template inductによるスクリプト化された使用が可能で、実験ランナー (python -m memslides.experiment) も提供されています。 - Docker support – Docker Hubにプリビルド済みのイメージがあります。コンテナ内で smoke-test スイートを走らせることができます。 | Docker support – Docker Hubにプリビルド済みのイメージがあります。コンテナ内で smoke-test スイートを走らせることができます。 |
- Research‑oriented – 再現性スイート (
smoke_minimal) と、付属の arXiv 論文のための完全な実験セットが含まれています。
Quick‑Start Summary
- System dependencies – LibreOffice, fontconfig, Noto CJK fonts, poppler‑utils.
- Create the Conda environment –
conda env create -f environment.yml && conda activate memslides. - Install the package –
pip install -e "[research]"(オプションの研究用拡張機能を追加). - Set up Playwright –
python -m playwright install chromium ffmpeg(Webベースのツールサービスに必要). - Run a sanity check –
python -m memslides.experiment run smoke_minimal \ --output-base .memslides/experiments \ --parallel 1 - Or use Docker –
docker compose build && docker compose run --rm memslides ….
How to Use the CLI (READMEからの例)
- Generate a deck:
python -m memslides generate \ --instruction "Create a one‑slide project summary" \ --num-pages 1 - Revise a slide (以前の生成結果に基づいて):
python -m memslides revise \ --workspace .memslides/session \ --feedback "Tighten the title" - Induct a template (新しい PPTX レイアウトをシステムに学習させる):
python -m memslides template induct --template-file template.pptx
Project Structure (概要)
src/memslides/– コア・ランタイム・コードと公開エントリポイント.src/memslides/memory/– Profile, working, および tool memory の実装.src/memslides/experiment/– 論文の実験を再現するためのスクリプト.tests/– 回帰テストおよび契約テスト..memslides/&~/.cache/memslides/– ランタイム・ワークスペース、キャッシュ、および生成された成果物 (Gitで無視されます).
Security & Privacy Notes
- API キーやその他の認証情報は、環境変数、
.envファイル、またはプライベートな YAML config を通じて提供する必要があります。これらは決してコミットしてはいけません。 - ネットワークアクセスはオプションであり、ユーザーが検索またはモデルサービスの認証情報を提供した場合にのみ発生します。
- ユーザーは、プレゼンテーションを行う前に、ダウンロードされた外部アセットをレビューすることをお勧めします。
Citation
MemSlidesを研究で使用する場合、READMEに記載されている arXiv 論文 (2026) を引用してください。
License
Apache‑2.0 (see LICENSE).
Bottom line – MemSlidesは、パーソナライズされたスライド作成をサポートし、複数回のリビジョン(修正)に対応する、階層型メモリを備えたLLMエージェント・フレームワークです。階層型メモリを活用してパーソナライズの一致性を維持し、修正を局所化することで、スライド生成を反復的に行います。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト