AIは、1文字ごとに別人です ——ステートレスで読み解く、ローカルLLMとAPIの“不自由”
みんなで驚き屋さん
0:00 / 0:00
AIは、1文字ごとに別人です ——ステートレスで読み解く、ローカルLLMとAPIの“不自由”
2 просмотра · 4 ч назад
みんなで驚き屋さん
1 подписчик
2 просмотра · 4 ч назад
しばらく話すと前のことを忘れる。長い会話ほど返事が遅い。同じ言い回しをくり返す。こっちのセリフまで書く。請求がふくらむ。
ローカルLLMや OpenRouter で遊んでいるとぶつかるこの悩みは、全部「AIはステートレス(状態を持たない)」という一つの性質から説明できます。ChatGPT などのアプリで「長い会話は新しいチャットで」と言われる理由も同じです。
窓口と巻物のたとえで、KVキャッシュ・コンテキスト長・チャットのテンプレート・くじ(サンプリング)の設定までつなげます。
Ollama・KoboldCpp・llama.cpp・SillyTavern・OpenRouter それぞれの挙動と、手元のGPUで何Kまで伸ばせるかの目安も出します。
最後に、Qwen3.8・Gemma 4・DeepSeek V4.1 Flash で変わったこと(付箋=KVキャッシュの重さ・巻き戻し・下書きの扱い)を確かめ、設定画面の項目をたとえで読み替えます。
▼目次
0:00 はじめに
0:53 担当者は、巻物しか読まない(こっちのセリフまで書く)
2:30 毎回、最初から読む(遅い・請求がふくらむ)
4:28 巻物には、上限がある(前のことを忘れる)
6:25 担当者は、巻物の流れに乗る(くり返す)
7:21 いまのモデル(Qwen3.8・Gemma 4・DeepSeek V4.1 Flash)では?
9:52 まとめ:設定画面と、最初の悩み
▼出典
・Ollama ドキュメント「Context length」「FAQ」「Usage」、ソースコード server/prompt.go、GitHub issue #5303(2024-10 の開発者コメント)、v0.33.3 のリリースノート(prompt eval cached)
・KoboldCpp wiki(Context Shifting)、ソースコード gpttype_adapter.cpp、v1.114.1 のリリースノート(SWA が標準に)
・Anthropic「Introducing Claude Opus 4.5」(2025-11)、Claude ヘルプセンター(長い会話の自動要約・メモリ)
・llama.cpp server README(cache_prompt)
・OpenRouter ドキュメント「Responses API」「Prompt Caching」「Message Transforms」
・SillyTavern ドキュメント「Context Template」「Author's Note」「Reasoning」「config.yaml(Claude Configuration)」
・Hugging Face ドキュメント「Chat templates」/ Qwen3-8B モデルカード
・Google「Prompt design strategies」(Gemini のパラメータの注意)
・Huang ほか "On the Failure of Latent State Persistence in Large Language Models" arXiv:2505.10571
・Baldelli ほか "LLMs Can't Play Hangman: On the Necessity of a Private Working Memory for Language Agents" arXiv:2601.06973
・Hsieh ほか(NVIDIA)"RULER: What's the Real Context Size of Your Long-Context Language Models?" arXiv:2404.06654(COLM 2024)
・Liu ほか "Lost in the Middle: How Language Models Use Long Contexts" arXiv:2307.03172(TACL 2024)
・Holtzman ほか "The Curious Case of Neural Text Degeneration" arXiv:1904.09751(ICLR 2020)
・Thinking Machines "Defeating Nondeterminism in LLM Inference"(2025-09-10)
・KV キャッシュの大きさ:Llama 3.1 8B の設定値(32層・KVヘッド8・head_dim 128、Meta llama-models)から計算。式は NVIDIA Technical Blog "Mastering LLM Techniques: Inference Optimization"
・モデル本体の大きさ:Ollama ライブラリ llama3.1:8b(q4_K_M、4.9GB)
・Google「Gemma 4 model card」「Prompt formatting(Managing Thought Context Between Turns)」、Hugging Face google/gemma-4-31B-it の config.json
・Qwen「Qwen3.8-27B」「Qwen3.8-Flash-Next」のモデルカードと config.json(Preserved Thinking)
・DeepSeek-AI "DeepSeek-V4.1-Flash: Pushing the Limits of KV Cache Compression" arXiv:2609.19969 / DeepSeek API「Models & Pricing」
・llama.cpp tools/server/server-context.cpp(full prompt re-processing)と README(--ctx-checkpoints・--checkpoint-min-step)、GitHub #20288・#24176・#21468
・Hugging Face google/gemma-4-12B-it の config.json / ai-hardware-zukan「ローカルLLMのコンテキスト長とVRAM」(2026-06、Gemma 4 12B の実測)
・Qiita h-nabata「Qwen3.8 を Ollama で動かす」(2026-08、標準のコンテキスト長で考えると途中で止まる)
・おまけの付箋の重さ:各モデルの config.json から fp16 で計算(Gemma 4 31B は直近1024マスの分、Qwen3.8 は線形層の状態を含む。DeepSeek は論文の 890バイト/トークン)
※ 既定値や仕様は 2026年10月時点の各ドキュメントによります(版によって変わります)。くじの確率はイメージです。
▼クレジット
VOICEVOX:四国めたん VOICEVOX:ずんだもん
立ち絵:坂本アヒル 様
音楽:魔王魂
効果音:効果音ラボ