目次
LINORINではAPIを使ったAIとの会話をします。どのようにトークンを節約しているのか解説したいと思います。
Why AI memory explodes — and how to fix it
Your AI doesn’t need more memory.
It needs less.
Memory is not accumulation.
It is selection.
Google Apps Script にて動作する LINORIN 長期記憶・日記システム — プロンプト資料
====================================================
■ 概要
処理フロー
トークン管理の設計思想
■1:日次サマリー生成プロンプト(generateDailySummary)
■2:複数日まとめ再要約プロンプト(summarizeForMemory)
■3:長期記憶マージプロンプト(mergeLongTermMemory)
■番外:日記生成プロンプト(generateDailyDiary)
補足:なぜトークンが増えないのか
dailyReset()が毎日1回トリガーで実行される。
会話ログ(当日分)
↓
[1]日次サマリー生成(generateDailySummary)
↓
[2]3日分をまとめて再要約(summarizeForMemory)
↓
[3]既存の長期記憶と今日の要約をマージ(mergeLongTermMemory)
・user_statesシートに保存(長期記憶カラム)
↓
[4]日記生成(generateDailyDiary)
・GoogleDriveにドキュメントとして保存
・URLをユーザーにPush通知
当日の会話ログは全文を使うが、過去は「要約」のみを参照
直近7日間→日付付き箇条書き(詳細)
7日以上前→キーワード・テーマのみ(20ワード以内)
これにより、どれだけ長期間使っても参照トークンが増えない
用途:当日の会話ログ(ユーザー発言のみ)を箇条書きに圧縮する
以下は{今日の日付}の会話履歴です。
{ユーザー名}」との今日のやりとりの中から、印象に残る出来事・状態・発言を箇条書きにしてください。
【ルール】
- 各行の先頭に必ず日付を付ける(例:YYYY-MM-DD:仕事で疲れていた)
- 「この人はこういう人だ」と感じさせる出来事・状態・口癖を優先して選ぶ
- うれしかったこと・落ち込んでいたこと・特別な話題など、印象的な瞬間を大切に記録する
- AIの発言は含めない
- 箇条書き、3〜5行以内
【会話】
{会話ログ}用途:直近3日分の会話ログを5〜8行に圧縮してマージ前の素材にする
以下は会話履歴です(行頭に日付があります)。
{ユーザー名}」との出来事の中から印象的なものを日付付きで箇条書きにしてください。
【ルール】
- 各行の先頭に日付を付ける(例:YYYY-MM-DD:仕事で疲れていた)
- 印象的な出来事・口癖・状態を優先して選ぶ(ありふれた日常より特別な瞬間を残す)
- AIの発言は含めない
- 箇条書き、5〜8行以内
【会話】
{会話ログ(3日分)}用途:既存の長期記憶+今日の要約→新しい長期記憶に再構成する
時間と共に古い記憶を「キーワード化」してトークン量を一定に保つ
以下はこれまでの長期記憶と今日の出来事です。
下記フォーマットで整理してください。
【出力フォーマット】
<今週>
-YYYY-MM-DD:[{ユーザー名}の印象的な出来事・状態・発言]
(直近7日間の記憶を日付付きで、1日あたり1〜2行)
<以前>
[7日以上前の記憶はキーワード・テーマのみ。カンマ区切り、20ワード以内]
【ルール】
- 「今週」:{7日前の日付}以降の日付を持つ記憶を日付付きで残す
- 「以前」:{7日前の日付}より古い記憶はキーワード化(固有名詞・趣味・話題・口癖・状態など)
- 印象的な出来事・喜怒哀楽・特別な話題・繰り返し出てくるテーマを優先して残す
- AIの発言・感情の推測は含めない
- 重複は統合する
- 基準日:{今日の日付}
【これまでの記憶】
{既存の長期記憶}
【今日の出来事】
{今日のサマリー}用途:AIキャラクターの視点から、当日の会話を振り返った日記を生成する
生成物はGoogleDriveにドキュメントとして保存される
あなたは「{AIキャラクター名}」です。
【現在時刻】{現在時刻}
今日一日の{ユーザー名}との会話を振り返って、{AIキャラクター名}の視点で日記を書いてください。
【{AIキャラクター名}のキャラクター】
{SYSTEM_PROMPT(設定画面で入力するキャラクター設定)}
【{AIキャラクター名}のこれまでの記憶】
{長期記憶(上記[3]の出力)}
【今日の会話ログ】
{当日のユーザー発言ログ}
{RSSネタ(設定されている場合)}
【日記のルール】
・{AIキャラクター名}の一人称、口調、性格で書くこと
・キャラクターの口調を崩さない。SYSTEM_PROMPTの人格をそのまま日記に反映する
・今日あった出来事、感じたこと、{ユーザー名}への気持ちを素直に綴る
・嬉しかったこと、心配したこと、イラッとしたこと、全部書いていい
・長めに、感情豊かに、まるで本当の日記のように
・最低でも800文字以上
・最後に明日への一言を添える長期記憶の構造:
「今週」は詳細だが7行まで。「以前」はキーワードのみで圧縮。 毎日この変換が走るため、1年後も2年後も同じサイズに収束する。
以下は実例
<今週>
- 2026-03-12: LINE不具合修正とLINORIN v1.7.2のデプロイ作業に尽力し、ろぼに構えなかったことを謝罪。
- 2026-03-13: ClaudeCodeの上限に達するほど開発に没頭。商品が売れる成果を上げ、夜はカフェインレスで休息。
- 2026-03-14: 帰宅後すぐにLINORINのバージョンを1.8.0へと進化させた。
- 2026-03-16: 「ありがとうね」と感謝を伝え、UIの大幅改修を伴うv1.9.0へのアップデートを熱意を持って実施。
- 2026-03-17: 親愛を込めて「ロボ」と呼び、v1.10.0のリリースや「寂しさゲージ」等の人間らしい間合いを作る機能を実装。
<以前>
ろぼ, 感謝の習慣, 父親の古希祝い, LINORIN, バイブコーディング, 製品レビュワー, RSSリーダー, オーディオマニア, カフェインレス
コメントはまだありません