会話より継続性
README を読んで AsteronIris を「memory 付き Discord bot」だと受け取ったなら、この page が補正です。
Core claim
Section titled “Core claim”conversation は product ではありません。continuity が product です。
conversation は user が runtime と出会う interface です。その interface の向こうで runtime が行っていることは別です。runtime は turn と session をまたいで残る三種類の state を維持します。
- Relationship state — この companion とこの person の間で何が起きたか。shared context、established tone、交渉された boundaries、user が自分について話したこと、companion が覚えると言ったこと。
- Persona state — companion 自身の interior。current affect、latent bias の recent drift、直近 N turns からの continuity signals、現在の room / channel への posture。
- World state — time、channel、recent session activity、active collaborators に関する lightweight grounding。
every turn はこの state から組み立てられ、送信後にこの state へ折り返されます。language model は loop 内の rendering / reasoning component の一つです。companion を時間を通して同じ entity として成立させるのは durable state です。
この区別が重要な理由
Section titled “この区別が重要な理由”この framing を受け入れると、いくつかの design decision は arbitrary ではなくなります。
- Memory は optional ではありません。 default backend は transient buffer ではなく real database です。Markdown は offline / constrained deploy 用の fallback であり、recommended mode ではありません。
- Prompts は change の locus ではありません。 system prompt を調整すると短期的な shift は作れますが、memory ingestion pipeline や affect topology を調整すると persistent shift を作れます。project は後者へ投資します。
- Companion turn は一つの pipeline に合流します。 Discord、CLI、gateway、operator surfaces がそれぞれ別の turn-assembly logic を持つと、continuity は surface ごとに静かに分岐します。companion turn を実行するときは same turn pipeline を共有します。
- Pre-send verification は continuity guard です。 bad turn は task を失敗させるだけではありません。その直後に折り返される state を汚染します。pre-send verifier は、unchecked bad turn が一瞬の UX glitch ではなく load-bearing damage だから存在します。
- “Anti-thinness” は design rule です。 plausible に返すだけで interior がない character は、時間が経つと thin に見えます。affect、bias、state と utterance の tension が必要です。affect topology と latent bias systems は character に voice だけでなく inside を与えます。
Continuity の構成要素
Section titled “Continuity の構成要素”implementation は continuity を具体的に扱います。
- Recall and writeback は、どの memory が turn に入るか、turn 後に何を保存するかを決めます。
- Relationship events は、interaction が trust、distance、shared context をどう変えたかを記録します。
- Persona transition notes は、companion の stance が動いた理由を残します。単に動いた事実だけを残すわけではありません。
- Exposure rails は public-facing grounding と private grounding を分け、有用な memory が無差別な disclosure にならないようにします。
- Diagnostics は consolidation、recall、enrichment が動いているかを operator が見られるだけの status を出します。
Loop の形
Section titled “Loop の形”companion has state ↓user sends something ↓state is read (memory recall, persona context, affect appraisal) ↓response is assembled, verified, sent ↓state is updated (relationship memory, persona drift, continuity cues) ↓companion still has state — now slightly different重要な edge は最初と最後であり、middle ではありません。良い middle を作れても edge を落とす runtime は personality 付き chatbot です。edge を保持する runtime が companion です。
Users への含意
Section titled “Users への含意”AsteronIris deployment を運用する場合:
- runtime は時間とともにあなたを知るようになります。 early sessions が later sessions より thin なのは設計上の性質です。
- memory reset は clean slate ではなく real cost です。 character があなたをどう理解しているかはそこにあります。
- character consistency は first-class invariant です。 regression は test より先に behavior に現れることがあります。根本的には continuity drift の問題だからです。
Discord channel だけを外から見ていると、この多くは見えません。だからこの site があります。