import { ArticleImage } from "@/components/article/ArticleImage";
【2026年最新】Letta AI(旧MemGPT)完全ガイド|使い方・料金・始め方を徹底解説
ChatGPTに昨日の会話を覚えていてほしいと思ったことはありませんか?AIエージェントが毎回ゼロからスタートする問題、これを根本から解決するのがLetta AIです。
Lettaは、AIエージェントに「本物の長期記憶」を持たせるオープンソースフレームワークです。UC Berkeley発、シード資金1,000万ドルを調達したスタートアップが開発しており、2026年現在もっとも注目されているエージェントメモリプラットフォームの1つです。
この記事では、Lettaの仕組み・料金・実際のコード例・競合比較まで、必要なことをすべて解説します。
この記事でわかること
- Letta AI(旧MemGPT)とは何か、何が解決できるか
- 3層メモリアーキテクチャの仕組み
- 料金プラン(無料〜$200/月)の詳細
- Python SDKを使った具体的な実装方法
- Mem0・LangChainとの違い・使い分け
- どんなプロジェクトに向いているか
30秒で結論
- Letta = AIエージェントの「OS」。会話をまたいだ永続メモリを実現する
- 無料プランあり(月5,000クレジット・3エージェント)。試すならまずCloudから
- Mem0より複雑だが圧倒的に柔軟。本格的なエージェント開発向け
- Python専用。コードが書けないなら Dify など別を検討
- 旧名MemGPTからLettaに改称し、2024年ステルス解除、2026年も活発に開発継続中
Letta AI(旧MemGPT)とは?
Lettaは、カリフォルニア大学バークレー校の研究者グループが開発した「ステートフルAIエージェント」のためのオープンソースフレームワークです。2024年9月にステルスを解除し、Felicis主導のシードラウンドで1,000万ドル(約15億円)を調達しました。
なぜ生まれたか
通常のLLM(大規模言語モデル)はステートレスです。会話が終わるたびに記憶がリセットされ、ユーザーの好みも前回のやり取りも消えてしまいます。コンテキストウィンドウ(一度に処理できるテキスト量)に制限があるため、長い会話になるほど古い情報が失われていきます。
Lettaはこの問題を、OSのメモリ管理方式を模倣することで解決しました。RAM(高速・容量小)とディスク(低速・容量大)を使い分けるように、LLMのコンテキストウィンドウをRAMとして扱い、外部ストレージをディスクとして使います。
MemGPTとLettaの違いは?
MemGPT(Memory-augmented GPT)は2023年に発表されたUC Berkeleyの研究論文が原点です。Lettaはその研究を商用プラットフォームに発展させたもので、実質的に同じプロジェクトが改名されたと考えて問題ありません。コードリポジトリも letta-ai/letta に統一されています。
GitHubスター数と開発状況
2026年4月時点でGitHubスターは9,000以上。2026年3月末にもコミットが続いており、活発なOSSプロジェクトです。
Letta AIの3層メモリアーキテクチャ
Lettaのもっとも特徴的な設計が、3層に分かれたメモリ管理です。OSのメモリ階層にならっています。
1. コアメモリ(Core Memory)— 常時アクティブなRAM
コアメモリはエージェントのコンテキストウィンドウに常に存在するメモリブロックです。
主な用途:
- ペルソナブロック:エージェントのキャラクター・振る舞いの定義
- ヒューマンブロック:ユーザーの名前・好み・背景情報
- タスクブロック:現在進行中のタスク情報
このメモリはAPIやエージェント自身が書き換えることができます。「ユーザーがラーメン好きと言った」という情報を、エージェントが自分でヒューマンブロックに書き込む、というイメージです。
2. リコールメモリ(Recall Memory)— 会話履歴のデータベース
過去のすべての会話ログを外部データベースに保存します。必要なときだけセマンティック検索で引き出します。
コンテキストウィンドウには入りきらない数ヶ月分の会話も、「先月Aについて話したこと」で検索して再利用できます。
3. アーカイブメモリ(Archival Memory)— 無制限の長期ストレージ
ドキュメント、ナレッジベース、外部データなど大量の情報を格納するストレージ層です。ベクトルデータベースを使ったセマンティック検索で関連情報を引き出します。
| メモリ層 | 役割 | 特徴 |
|---|---|---|
| コアメモリ | 常時コンテキスト | コンテキストウィンドウに固定、エージェントが編集可 |
| リコールメモリ | 会話履歴 | 全会話を保存、セマンティック検索で取得 |
| アーカイブメモリ | 長期知識 | 大量データ対応、ベクトルDB連携 |
Letta AIの料金プラン(2026年4月現在)
Letta AIには4つのプランがあります。
Free(無料)
| 項目 | 内容 |
|---|---|
| 月額 | $0 |
| 月間クレジット | 5,000クレジット |
| エージェント数 | 最大3体 |
| ストレージ | 1GB |
| ADE(ビジュアルデバッガ) | 利用可 |
| モデル | BYOK(自分のAPIキーを使用)+無料ローテーションモデル |
| Letta Code | 利用可 |
小規模プロジェクトや検証用途には無料プランで十分試せます。BYOKに対応しているため、OpenAIやAnthropicのAPIキーを持っていれば、自分のモデルをすぐ使えます。
Pro($20/月 ≒ 約3,000円/月)
| 項目 | 内容 |
|---|---|
| 月額 | $20/月(年払い割引なし、月次のみ) |
| 月間クレジット | 20,000クレジット |
| エージェント数 | 無制限 |
| ストレージ | 10GB |
| エージェントテンプレート | 20種類 |
| 超過分 | 従量課金(pay-as-you-go) |
本格的な開発・個人プロジェクトにはProで対応できます。月3,000円以下でエージェント数無制限は割安です。
Max($200/月 ≒ 約30,000円/月)
個人利用専用の最上位プラン。利用制限が高く、Letta Codeの使用に最適化されています。エンジニアが毎日ヘビーに使う用途向けです。
Enterprise(カスタム価格)
| 項目 | 内容 |
|---|---|
| 価格 | 要問い合わせ |
| SAML/OIDC SSO | 対応 |
| RBAC(ロールベースアクセス制御) | 対応 |
| カスタムモデルデプロイ | 対応 |
| BYOC(自社インフラ) | 対応 |
| サポート | 専任サポート |
セキュリティ要件が厳しい企業や、大量のエージェントを運用する場合はEnterpriseを検討します。
セルフホスト(完全無料)
オープンソースなので、自前のサーバーで動かすことも可能です。コストはゼロで利用制限なし。ただしインフラ管理の工数がかかります。
Letta AIのインストールと始め方
方法1:Letta Cloud(推奨・最速)
まずはCloudで試すのが最短ルートです。
# Python SDKのインストール
pip install -U letta-client
from letta_client import Letta
# Letta Cloudに接続
client = Letta(token="YOUR_LETTA_API_KEY")
# エージェントを作成
agent = client.agents.create(
model="openai/gpt-4.1",
embedding="openai/text-embedding-3-small",
memory_blocks=[
{"label": "persona", "value": "あなたは親切な旅行プランナーです。"},
{"label": "human", "value": "ユーザーはラーメンとスノーボードが好きです。"},
]
)
# メッセージを送る
response = client.agents.messages.create(
agent_id=agent.id,
messages=[{"role": "user", "content": "おすすめの旅行先を教えて"}]
)
print(response.messages[-1].content)
APIキーは app.letta.com で取得できます。
方法2:Docker(セルフホスト)
# Dockerで自己ホスト起動
docker run \
-v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
-p 8283:8283 \
-e OPENAI_API_KEY="your_openai_api_key" \
letta/letta:latest
from letta_client import Letta
# ローカルサーバーに接続
client = Letta(
base_url="http://localhost:8283",
token="your_password"
)
Ollamaなどローカルモデルも使う場合:
docker run \
-v ~/.letta/.persist/pgdata:/var/lib/postgresql/data \
-p 8283:8283 \
-e OPENAI_API_KEY="your_openai_api_key" \
-e OLLAMA_BASE_URL="http://host.docker.internal:11434" \
letta/letta:latest
方法3:pip(サーバー直接起動)
pip install -U letta
pip install -U letta-client
# 環境変数を設定
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=...
# サーバーを起動(ポート8283)
letta server
.envの設定例
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
OLLAMA_BASE_URL=http://localhost:11434
# セキュリティ(本番環境では必ず変更)
SECURE=true
LETTA_SERVER_PASSWORD=your_strong_password
ADE(Agent Development Environment)の使い方
Lettaの大きな差別化ポイントがADE(Agent Development Environment)です。AIエージェントのための「IDE」と考えてください。
ADEでできること
- メモリの可視化:コアメモリ・リコールメモリ・アーカイブメモリの中身をリアルタイムで確認
- ツール呼び出しのトレース:エージェントがどのツールをどの順番で呼んだか追える
- メモリ編集:手動でメモリブロックの内容を書き換えられる
- 会話デバッグ:エージェントがなぜその判断をしたかを後から追跡
自律型エージェントを開発していると「なぜこの返答をしたのか」が謎になることが多い。ADEはその問題を視覚的に解消してくれます。
Letta Cloudを使えばADEも無料プランから利用できます。
実用的なコード例:記憶を持つカスタマーサポートエージェント
from letta_client import Letta
client = Letta(token="YOUR_LETTA_API_KEY")
# カスタマーサポートエージェントを作成
agent = client.agents.create(
name="support_agent_v1",
model="openai/gpt-4.1",
embedding="openai/text-embedding-3-small",
memory_blocks=[
{
"label": "persona",
"value": "あなたはEC企業のカスタマーサポート担当です。"
"常に丁寧かつ簡潔に回答します。"
},
{
"label": "human",
"value": "顧客情報:未設定" # 会話を通じてエージェントが自動更新
}
],
tools=["send_message", "archival_memory_search", "core_memory_append"]
)
def support_chat(user_id: str, message: str) -> str:
"""ユーザーIDごとにエージェントを維持する"""
response = client.agents.messages.create(
agent_id=agent.id,
messages=[
{
"role": "user",
"content": f"[ユーザーID: {user_id}] {message}"
}
]
)
return response.messages[-1].content
# 使用例
print(support_chat("user_001", "先日注文した商品がまだ届きません"))
print(support_chat("user_001", "注文番号は何でしたっけ?"))
# 2回目の会話でも1回目の注文情報を記憶している
エージェントは会話を通じてヒューマンブロックを自動更新します。次回同じユーザーが来たとき、過去のやり取りを参照して返答できます。
Letta AI vs Mem0 vs LangChain:どれを選ぶか
AIエージェントメモリの選択肢は複数あります。用途別に整理します。
| 比較軸 | Letta | Mem0 | LangChain/LangMem |
|---|---|---|---|
| アーキテクチャ | エージェントランタイム全体 | 外付けメモリレイヤー | LangGraphと統合 |
| 学習コスト | 高(OS概念の理解が必要) | 低(既存フレームワークに追加) | 中(LangGraph前提) |
| 柔軟性 | 非常に高い | 中程度 | LangGraph依存 |
| 視覚的デバッグ | ADEで充実 | なし | なし |
| GitHubスター | 9,000+ | 51,000+ | - |
| 無料プラン | 月5,000クレジット | 月1,000メモリ | オープンソース |
| 有料開始 | $20/月 | $19/月 | 従量課金 |
| 言語 | Python専用 | Python/JS | Python/JS |
| 向いてる用途 | 複雑な自律エージェント | 既存スタックへの追加 | LangGraphユーザー |
Lettaが向いているケース
- ゼロからエージェントシステムを構築する
- コンテキストウィンドウを超える長期会話が必要
- エージェントの動作を詳細にデバッグしたい
- 自社インフラ(BYOC)で完全制御したい
Mem0が向いているケース
- LangChain、CrewAI、AutoGenなど既存フレームワークを使っている
- シンプルにユーザープロファイルを保存したい
- すぐに動くものを作りたい
LangMemが向いているケース
- すでにLangGraphでエージェントを構築している
- LangChainエコシステムから離れたくない
よくある質問
Q. LettaはChatGPTやClaudeと組み合わせられますか?
はい、組み合わせられます。LettaはLLMに依存しないフレームワークです。OpenAI、Anthropic(Claude)、Gemini、Mistral、さらにOllamaを通じたローカルLLMまで幅広く対応しています。model="anthropic/claude-opus-4-6" のように指定するだけで切り替えられます。
Q. 無料プランの5,000クレジットはどれくらい使えますか?
クレジット消費はモデルとトークン量によって異なります。GPT-4.1を使って1回の会話が約500トークンの場合、単純計算で10回の往復会話程度です。ただしBYOK(自分のAPIキー)を使う場合はLettaのクレジットではなく各社のAPI料金で課金されるため、無料プランでもかなり多くの会話が可能です。
Q. セルフホストは難しいですか?
Dockerが使えれば比較的簡単に立ち上げられます。PostgreSQL(pgvector拡張)が内包されたDockerイメージが提供されているため、1コマンドで起動できます。本番運用にはインフラ管理の知識が必要ですが、開発・検証用途なら問題ありません。
Q. 日本語は使えますか?
使えます。Lettaはメモリの保存・検索に日本語テキストをそのまま扱えます。使用するLLMが日本語対応していれば(GPT-4.1、Claude、Geminiなど)、日本語での会話・記憶保持が問題なく動作します。
Q. CrewAIやDifyとどう違いますか?
CrewAI や Dify はマルチエージェントオーケストレーションや汎用ワークフロー構築に強みがあります。一方Lettaは単一エージェントの長期記憶と状態管理に特化しています。用途が重ならないため、CrewAIのエージェントにLetaのメモリレイヤーを組み合わせるような構成も可能です。
Q. Letta Codeとは何ですか?
Letta Codeは、Lettaプラットフォーム上で動作するAIコーディングアシスタントです。エージェントが会話履歴やコードベースの記憶を保持しながらコーディングを支援します。ProとMaxプランで利用でき、長期プロジェクト向けのコーディングエージェントとして機能します。
まとめ:Letta AIはこんな人に最適
Letta AIは「AIエージェントのOS」です。コンテキストウィンドウの制約を超えた長期記憶、3層に分かれたメモリ管理、ADEによる視覚的デバッグ——これらを組み合わせることで、本格的な自律エージェントを構築できます。
こんな人・プロジェクトに強くおすすめします:
- Pythonが書けて、複雑なAIエージェントを一から設計したい開発者
- 会話履歴・ユーザープロファイルの永続化が必須なSaaS開発者
- エージェントの内部動作を詳細に把握しながら開発したい人
- 自社インフラで完全に制御したいエンタープライズチーム
反対に、コードを書きたくない・既存フレームワークに記憶機能を追加したいだけなら、Mem0の方がシンプルで始めやすいでしょう。
まずはLetta Cloudの無料プランでADEを触ってみることを強くおすすめします。3エージェントまで無料で試せるため、アーキテクチャのキャッチアップと同時に実装を進められます。
