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 pointsmemslides 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

  1. System dependencies – LibreOffice, fontconfig, Noto CJK fonts, poppler‑utils.
  2. Create the Conda environmentconda env create -f environment.yml && conda activate memslides.
  3. Install the packagepip install -e "[research]" (オプションの研究用拡張機能を追加).
  4. Set up Playwrightpython -m playwright install chromium ffmpeg (Webベースのツールサービスに必要).
  5. Run a sanity check
    python -m memslides.experiment run smoke_minimal \
      --output-base .memslides/experiments \
      --parallel 1
    
  6. Or use Dockerdocker 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エージェント・フレームワークです。階層型メモリを活用してパーソナライズの一致性を維持し、修正を局所化することで、スライド生成を反復的に行います。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト