Googleのエージェント開発キットADK for Pythonに向けて、永続的な記憶を持たせられる拡張が登場した。Database Memory Serviceと呼ばれる統合である。セッションをまたいでエージェントが過去のやり取りを覚え続けられるようになる。
個人開発では会話履歴やユーザーの好みを自前で保存する実装が負担になりがちだった。今回の仕組みは既存のデータベースをそのまま記憶領域として使う発想である。手元の開発から本番運用まで同じコードでつなげられる点が特徴だ。
ADKエージェントに永続記憶を持たせる仕組み
Database Memory ServiceはBaseMemoryServiceと互換性のある永続化層として提供される。非同期のSQLAlchemyを基盤に動作する。エージェントの記憶操作をそのままデータベースに保存できる。
従来のインメモリ型の記憶ではプロセスを止めると内容が消えた。長期運用には別途保存処理が必要だった。新しいサービスはデータベース経由で読み書きを行い、再起動後も文脈を引き継げる。
エージェント側のコード変更は記憶サービスの差し替えに収まる。ドロップインで導入できる設計になっている。エージェントの定義やツールの実装を作り直す必要はない。
SQLiteで始めてPostgresに移す開発フロー
開発用途にはSQLite、本番用途にはPostgreSQLやMySQLを使う構成が想定されている。手元のSQLiteで試して公開時にマネージドなPostgreSQLへ移す流れに沿った設計だ。個人開発の段階的な移行と相性が良い。
導入は用途別のパッケージ指定で行う。SQLite向けはaiosqliteを組み合わせる。PostgreSQL向けはasyncpg、MySQLやMariaDB向けはaiomysqlを組み合わせる形が案内されている。
本体にはデータベースドライバーが同梱されていない。使うデータベースに対応したものを別途用意する。必要なドライバーを利用者側で選ぶ方式で、余分な依存を抱え込まない工夫になっている。
クロスセッション記憶が変える個人開発の作り方
クロスセッション記憶は、別々の会話でも同一ユーザーに関する情報を引き継げる機能だ。前回伝えた設定や進捗を次の起動時にも参照できる。パーソナライズされた応答が作りやすくなる。
