キャンプで学ぶLetta-AI:短期記憶の壁を越える「Memory-First」な開発術
「おいおい、山の中でまでコードの話かよ!」なんて言わずに、ちょっとこれを見てくれ。今から紹介するのは、ただの便利ツールじゃない。まるで「記憶力がめちゃくちゃ良い、キャンプの相棒」みたいな存在なんだ。
紹介するよ、Letta(旧MemGPT)だ!
A
「なあ、さっき渡したペグ(杭)、どこに置いたっけ?」
B
「えーっと……5分前の会話は忘れたよ。俺、短期記憶(コンテキストウィンドウ)が狭いんだよね」
A
「それじゃテントが立たないよ!……あ、Lettaなら覚えてるぞ」
普通のAI(LLM)は、会話が長くなると古いことを忘れたり、動作が重くなったりする。でも、Lettaは「Memory-First(メモリ第一)」。
エンジニア的に言うと、LLMに「仮想OS」のような仕組みを持たせたものなんだ。
長期記憶
過去の会話やコードをデータベースに保存。
短期記憶
今必要な情報だけを賢く管理。
自己更新
AIが自分で「これは大事だから覚えておこう」と記憶を書き換える。
「あの時の実装」を忘れない
大規模なプロジェクトで、「3日前に書いたあの関数の仕様、なんだっけ?」と聞いても即答してくれる。
ステートフルなエージェント
サーバーを再起動しても、AIが「さっきまで何をしていたか」を覚えているので、自律的なデバッグやコーディングを任せられる。
無限のコンテキスト
トークン制限を気にせず、膨大なドキュメントを読み込ませた状態で会話ができる。
まずは、道具(ライブラリ)を揃えるところから始めよう。Pythonが入っていれば簡単だ。
# Lettaをインストール!
pip install letta
次に、サーバーを立ち上げる。これがAIの「脳みそ」の拠点になる。
# サーバー起動
letta server
これで、ローカル環境に記憶を持つエージェントの準備が完了だ!
エージェントを作って、彼に「記憶」を刻み込ませてみよう。
from letta import create_client
# クライアントの作成
client = create_client()
# 「キャンプの達人」エージェントを作成
agent_state = client.create_agent(
name="outdoor_pro",
system="君はアウトドアの達人だ。ユーザーの装備を記憶し、最適なアドバイスをしろ。"
)
# 1回目の会話:装備を教える
response = client.user_message(
agent_id=agent_state.id,
message="今日の持ち物は、テントと焚き火台と、お気に入りのナイフだよ。"
)
# 2回目の会話:しばらく経った後(記憶の確認)
response = client.user_message(
agent_id=agent_state.id,
message="さて、夕食を作るけど、僕は何を持ってたっけ?"
)
print(response.messages[-1].text)
# 出力例: 「テントと焚き火台、そしてお気に入りのナイフを持っていたね。ナイフがあるなら食材のカットもバッチリだ!」
Lettaは、AIに「忘れっぽいお調子者」から「頼れるベテラン職人」へと進化させる魔法のスパイスだ。
エンジニア視点
記憶の管理(Retrieval/Storage)をAI自身に任せられるのが最大のメリット。
未来
君が書いたコードの癖や、プロジェクトの歴史をすべて把握した「専属パートナー」が誕生する。
さあ、この便利なツールを使って、複雑なコードのジャングルをハックしてみないかい?
「ところで……さっきのナイフ、どこに置いたっけ?」 「Lettaに聞けよ!」