Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lakebaseを使ったAIエージェントを実装してみる

Avatar for camay camay
July 09, 2025

 Lakebaseを使ったAIエージェントを実装してみる

Cross Data Platforms Meetup #1.5 ~DatabricksとSnowflakeのSummitについて熱く語り合おう~(https://cdpm.connpass.com/event/357453/) の発表資料です

Avatar for camay

camay

July 09, 2025
Tweet

More Decks by camay

Other Decks in Technology

Transcript

  1. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 2

    自己紹介 亀井 友裕 会社 DATUM STUDIO 株式会社 役職 データエンジニア / AIエンジニア 主な 業務経験 データパイプラインの構築(Databricks) 需要予測モデルの運用(Databricks) RAGの精度改善(AWS) AIエージェントの構築(AWS) コミュニティ SnowVillage(Snowlfakeユーザー会) JEDAI(Databricksユーザー会) X @Camay119 (アイコンは→)
  2. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 3

    今回話すこと、話さないこと 話すこと 話さないこと ✓ Databricksの新機能、LakebaseをAIエージェントに組み込む際の実装手順 ✓ 実運用に載せるにあたって未だわかっていない部分 ✓ Lakebaseの詳細について(他の発表者の方がたくさん触れていらっしゃるはず) ✓ Snowflakeに関する話題
  3. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 8

    DatabricksでPostgres!?何に使うんだ!? 公式や有識者の方々が想定しているユースケースは以下でした オンライン特徴量ストア データ入力処理(受注・チャット等) アプリ状態の保存 用途 Model 推論結果の即時返却 AI エージェントのメモリ リアルタイム分析への同期 推論時にリアルタイムで特徴量を取得する 低レイテンシでトランザクション処理を実行 Databricks Apps でのフロントエンド状態を永続化 目的 パーソナライズ推薦やチャット応答など 対話履歴・思考をOLTPデータベースと連携して保存/検索 チャンクをベクトルに変換する機械学習モデル
  4. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 9

    DatabricksでOLTP!?何に使うんだ!? 公式や有識者の方々が想定しているユースケースは以下でした 今回は、AI エージェントのメモリとしての用途に着目します! オンライン特徴量ストア データ入力処理(受注・チャット等) アプリ状態の保存 用途 Model 推論結果の即時返却 AI エージェントのメモリ リアルタイム分析への同期 推論時にリアルタイムで特徴量を取得する 低レイテンシでトランザクション処理を実行 Databricks Apps でのフロントエンド状態を永続化 目的 パーソナライズ推薦やチャット応答など 対話履歴・思考をOLTPデータベースと連携して保存/検索 チャンクをベクトルに変換する機械学習モデル
  5. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 10

    AI エージェントにおける短期記憶と長期記憶 LangGraph(AIエージェントの開発フレームワーク) には、会話セッション専用の短期記憶と、ユーザ横断 で共有する長期記憶があります。どちらも Postgres による実装がパッケージ化されています。 短期記憶 (Short-term) ✓ 進行中の会話コンテキストを保持し、同一スレッド 内の応答精度・一貫性を向上 ✓ メッセージ履歴 ✓ アップロードファイル ✓ 生成物 など ✓ InMemory + Checkpointer(標準) ✓ SQLiteSaver langgraph-checkpoint-sqlite ✓ PostgresSaver langgraph-checkpoint- postgres ✓ RedisSaver langgraph-checkpoint-redis 長期記憶 (Long-term) ✓ ユーザ/アプリ全体で共有し、学習内容やパーソナ ライズ情報を永続化 ✓ セマンティック(事実) ✓ エピソード(経験) ✓ プロシージャル(ルール)など ✓ - InMemoryStore(開発用) ✓ PostgresStore(pgvector 検索対応) ✓ RedisStore(高速+ベクトル検索) 用途 格納する情報 代表的ストア
  6. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 11

    AI エージェントにおける短期記憶と長期記憶 LangGraph(AIエージェント実装用のパッケージ) には、会話セッション専用の短期記憶と、ユーザ横断で 共有する長期記憶があります。どちらも Postgres による実装がパッケージ化されています。 短期記憶 (Short-term) ✓ 進行中の会話コンテキストを保持し、同一スレッド 内の応答精度・一貫性を向上 ✓ メッセージ履歴 ✓ アップロードファイル ✓ 生成物 など ✓ InMemory + Checkpointer(標準) ✓ SQLiteSaver langgraph-checkpoint-sqlite ✓ PostgresSaver langgraph-checkpoint- postgres ✓ RedisSaver langgraph-checkpoint-redis 長期記憶 (Long-term) ✓ ユーザ/アプリ全体で共有し、学習内容やパーソナ ライズ情報を永続化 ✓ セマンティック(事実) ✓ エピソード(経験) ✓ プロシージャル(ルール)など ✓ - InMemoryStore(開発用) ✓ PostgresStore(pgvector 検索対応) ✓ RedisStore(高速+ベクトル検索) 用途 格納する情報 代表的ストア
  7. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 12

    短期記憶をLakebaseに保存すると何が嬉しいの? セッション情報を永続化できるので、「以前の会話を途中から再開」することができます 〇〇について調査して セッション情報を保存 〇〇ってなんだっけ 以前の調査結果によると、〇〇とは〜 〜 翌日 〜 はい!〇〇とは〜 セッション情報を読み込み
  8. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 14

    実装してみる(0/13) 今回は、Lakabaseを用いて短期記憶(Short-term Memory) を持つエージェントを実装してみます! ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 ④ 動作確認
  9. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 15

    実装してみる(1/13) Databricks の無料 Trial アカウントを登録(米国リージョン) ※ Free Edition では Lakebase が使えないので注意 >< ① 検証用アカウントの作成 (1/1) ② Lakebaseインスタンスの作成 ③ エージェントの実装 ④ 動作確認
  10. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 16

    実装してみる(2/13) [Compute] → [OLTP データベース] → [インスタンスの作成] ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 (1/3) ③ エージェントの実装 ④ 動作確認
  11. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 17

    実装してみる(3/13) 名前とインスタンスサイズを入力して、インスタンスを作成 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 (2/3) ③ エージェントの実装 ④ 動作確認
  12. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 18

    実装してみる(4/13) ステータスが「利用可能」になったら立ち上げ完了 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 (3/3) ③ エージェントの実装 ④ 動作確認
  13. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 19

    実装してみる(5/13) Lakebaseインスタンスの認証情報を発行 & コピー ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (1/6) ④ 動作確認
  14. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 20

    実装してみる(6/13) 認証情報をDatabricks Secretに登録 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (2/6) ④ 動作確認
  15. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 21

    実装してみる(7/13) Lakebaseから接続用の文字列をコピーしておく ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (3/6) ④ 動作確認
  16. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 22

    実装してみる(8/13) 必要なライブラリをインストール ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (4/6) ④ 動作確認
  17. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 23

    実装してみる(9/13) Lakebaseインスタンスへの接続 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (5/6) ④ 動作確認
  18. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 24

    実装してみる(10/13) エージェントの構築 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 (6/6) ④ 動作確認
  19. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 25

    実装してみる(11/13) 普通にチャットする ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 ④ 動作確認 (1/3)
  20. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 26

    実装してみる(12/13) Lakebaseにsession情報が書き込まれていることを確認 ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 ④ 動作確認 (2/3) * テーブルの中身は人間には解読不可能
  21. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 27

    実装してみる(13/13) 同じsession_idでもう一回聞き返してみる ① 検証用アカウントの作成 ② Lakebaseインスタンスの作成 ③ エージェントの実装 ④ 動作確認 (3/3)
  22. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 29

    わかっていない部分 • LangGraph では、短期記憶への接続情報を コンパイル時 に渡す必要がある • → 接続が切れるたびに再コンパイル = モデル再作成に相当 • 現状、Lakebase の OAuth トークン有効期限は 1 時間 • → 1 時間ごとに Model Registry へ再登録、Serving Endpoint へ再サーブ? このあたりのスマートな運用方法はまだ模索中です……。 有識者の皆さま、ぜひご意見をお寄せください! >< 短期記憶への接続と、Model Registry / Serving Endpoint との兼ね合い
  23. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 31

    まとめ • Lakebase により Databricks でもネイティブな Postgres OLTP が利用可能になり、AI エージェントのメ モリ や リアルタイム特徴量ストア など幅広い用途に活用できる • LangGraph + Lakebase を組み合わせることで、対話履歴を永続化するエージェントをシンプルに構築で きた • 運用面では トークン期限と再デプロイ の課題があるので、アイデア募集中です!
  24. © 2025 DATUM STUDIO Co. Ltd. PROPRIETARY & CONFIDENTIAL. 32

    参考資料 • Lakebase周り • リリースブログ : https://www.databricks.com/blog/announcing-lakebase-public-preview • What Is a Lakebase? : https://www.databricks.com/blog/what-is-a-lakebase • Lakebaseとは何ですか? : https://docs.databricks.com/aws/ja/oltp/ • Databricks Lakebase : https://qiita.com/taka_yayoi/items/08db713d3e80fe8537a4 • Lakebase徹底考察、彼はなぜDatabricksに生まれたのか、、、? : https://blog.akuwano.net/2025/06/14/why_lakebase/ • 【Databricks】OLTPデータベースであるLakebaseを触ってみた : https://dev.classmethod.jp/articles/databricks-use-lakebase/ • エージェント周り • LangChainとLangGraphによるRAG・AIエージェント[実践]入門 : https://gihyo.jp/book/2024/978- 4-297-14530-9 • Understanding Short-Term Memory in LangGraph: A Hands-On Guide : https://medium.com/@sajith_k/understanding-short-term-memory-in-langgraph-a-hands- on-guide-5536f39d0cb3 • Using PostgreSQL with LangGraph for State Management and Vector Storage : https://medium.com/@sajith_k/using-postgresql-with-langgraph-for-state-management- and-vector-storage-df4ca9d9b89e • Checkpoints : https://langchain-ai.github.io/langgraph/concepts/persistence/#checkpoints