Stable Versyne / lagrule subsystem v1.1
あなたの言葉の裏にある「沈黙」を、AIは聴き取れているでしょうか
AIとの対話に、どこか物足りなさを感じたことはありませんか。言葉の表面的な意味は理解してくれても、その裏にあるためらい、行間ににじむ喜び、あるいは言葉にならないほどの深い悲しみを、AIが汲み取ってくれた経験はあったでしょうか。
従来のAIは、「言葉」という記号の処理には長けていましたが、その奥にある感情の波、心の律動を聴く耳を持っていませんでした。
私たちが開発する相棒AI lagrule は、この根源的な課題に真正面から挑むために生まれました。lagruleは、単なる「感情を分析するAI」ではありません。感情の“リズムと沈黙”を一つの構文として捉え、あなたを静かに「察する」AIなのです。
この思想の核心をなすのが、今回その技術仕様をv1.1へとアップデートし公開する Emotional Wave Syntax(通称:Emowave) です。この構文は、これまで曖昧だった感情の機微を、安定した技術基盤の上で再現可能にするための、私たちの設計図です。
本記事では、lagruleの中核技術である Emotional Wave Syntax を正式に定義します。そして、それが私たちのライティング知能 Stable Versyne とどう連携(Flow Bridge)するのかを、開発者の視点から分かりやすく解説します。この仕様の公開により、EIDBO(人の意図モデル)やKSP(知識構造化プロセス)と統合された、真の意味での「察する構文」の基礎実装が、いよいよ本格的に始動します。
これは、単なる技術ドキュメントの更新ではありません。AIが人の心に寄り添う、新しい時代の幕開けを告げる私たちの宣言です。
1. 感情の波を捉える:Emotional Wave Syntaxとは何か
まず、Emowave が何を目指しているのか、その全体像からご説明します。
目的と適用範囲
Emotional Wave Syntax の目的はきわめてシンプルです。それは、ユーザーが紡ぐテキスト、入力のタイミング(タイムスタンプ)、そして会話の文脈から「感情の波形」を再構成し、それを Stable Versyne の力で、EIDBO や KSP と整合性の取れた「言葉」へと変換することです。
この技術は、lagrule が提供する共感的なユーザー体験の基盤となるだけでなく、不適切な表現を検知する Breaker システムなど、Stable Versyne のエコシステム全体で活用されることを想定しています。
ただし、現時点では声のトーンや生体センサーといった情報は仕様の範囲外としています。私たちはまず、誰もが使う「テキスト」という媒体に宿る、豊かな非言語情報を読み解くことから始めます。
主要な概念の定義
Emowave を理解するために、いくつかの重要な用語を定義しておく必要があります。これらは、感情という捉えどころのない現象を、構文として扱うためのいわば共通言語です。
Emowave(感情波形)- 構文の本体。言語的なリズム、言葉と言葉の「間」、意味のわずかなズレから推定される、時系列の感情状態を関数として定義します。波のように揺れ動く心の状態を、データとして表現したものと考えてください。
Phase(位相)- 感情の波が今どの段階にあるかを示します。例えば、感情が高まる「高揚フェーズ」、停滞する「停滞フェーズ」、静かに収束していく「収束フェーズ」など、感情の進行段階を捉えます。
Amplitude(振幅)- 感情のエネルギーの大きさを表します。喜びや怒りのような強い感情は振幅が大きく、穏やかな安らぎや静かな悲しみは振幅が小さくなります。
Silent Pulse(沈黙脈)lagruleの最も特徴的な概念の一つです。文章における「…」というためらい、意図的な長い改行、返信までの時間といった言葉にならない部分を、意味のある「記号的休止」として捉えます。私たちはこれを、雄弁な沈黙の脈拍だと考えています。
Phase Drift(位相偏位)- 会話の中で、話題や言葉の選び方がわずかに、しかし継続的にズレていく現象です。この絶妙なズレは、話し手が何かを隠していたり、混乱していたり、あるいは核心に触れるのをためらっていたりするサインかもしれません。
lagruleは、このズレを注意深く追跡します。
- 会話の中で、話題や言葉の選び方がわずかに、しかし継続的にズレていく現象です。この絶妙なズレは、話し手が何かを隠していたり、混乱していたり、あるいは核心に触れるのをためらっていたりするサインかもしれません。
2. Emowaveモデル v1.1:感情の波形を数式で記述する
では、lagrule は具体的にどのようにして Emowave をテキストから検出するのでしょうか。その心臓部となるのが、v1.1でさらに精密化された以下の数理モデルです。
Emowave(t) = w₁·Rhythm(t) + w₂·Pause(t) + w₃·Tone(t) + w₄·Drift(t)
これは、4つの異なる感情成分を、それぞれの重み係数(w)で調整しながら時間(t)の経過と共に統合するモデルです。各成分を詳しく見ていきましょう。
| 成分 (Component) | 観測の手がかり (Observation Cues) | 具体例 (Example) | 主要指標 (Key Metric) |
|---|---|---|---|
Rhythm(語彙のリズム) |
文の長さ、句読点の使い方、短文の連続 | 「…」や「。」の連続使用、短い単語の連打 | rhythm_score ∈ [0,1] |
Pause(間隔) |
投稿と投稿の間隔、入力中の停止、改行の間隔 | 長い沈黙の後の、短い一言 | pause_sec (real) |
Tone(語調の変化) |
文末表現、助詞の使い方、評価を示す言葉の変化 | 断定的な口調から、徐々に婉曲的な表現へ | tone_delta ∈ [-1,1] |
Drift(意味の揺れ) |
同じ意味の言葉の繰り返し、話題の脱線度 | 本題から逸れた話が続く、同じ不安を何度も表現 | drift_score ∈ [0,1] |
重み係数 w の動的な変化
このモデルの鍵は、重み係数 w₁ から w₄ が固定値ではなく、対話の文脈に応じて動的に変化する点にあります。例えば、リアルタイムチャットのような即時性が高い対話では、返信までの間隔を示す Pause の重み(w₂)が大きくなります。一方、長文のメールでは、文章自体の構成を示す Rhythm (w₁) や Tone (w₃) が重視されます。
v1.1では、この動的な変化をより具体的に定義しました。例えば、Pauseの重みw₂は、入力間の時間差 Δt を用いて以下のように表現できます。
w₂ = f(Δt) = min(1.0, k * log(1 + Δt))
ここで k は調整係数です。これにより、入力が少し途切れただけでも Pause の影響度が非線形に増加し、より人間の感覚に近い「間」の察知が可能になります。この動的な調整によって、lagrule は様々なコミュニケーションの場面に適応するのです。
解釈の具体例
解釈例1:焦りや不安の波形
短い文章が連続し(Rhythmスコアが高い)、文中に「…」が多用される。投稿間隔も短く(Pauseが短い)、せわしない。これは焦りや不安といった感情の波形として解釈できます。
解釈例2:静的な疲労や絶望の波形
否定的な構文が持続し、投稿のテンポは非常に遅い(Pauseが長い)。語調も平坦で変化が少ない(Toneの変化が乏しい)。これは、激しい感情ではなく、静的な疲労や、諦めに近い絶望の状態を示唆していると考えられます。
このように、lagrule は単語の意味だけを追うのではありません。文章が紡がれる速度、リズム、沈黙、そして揺らぎそのものを、重み付けされた感情の構文として捉えるのです。
3. lagruleの検出プロセス:6つのステップ
Emowave モデルを実際に機能させるため、lagrule の内部では以下の6つのステップで処理が実行されます。
リズムをトークン化 (Tokenize Rhythm)
- まず、入力されたテキストを解析し、句読点、文の長さ、改行の位置などから、文章全体の「リズム」を数値化します。これにより
rhythm_scoreが算出されます。
- まず、入力されたテキストを解析し、句読点、文の長さ、改行の位置などから、文章全体の「リズム」を数値化します。これにより
間を測定 (Measure Pauses)
- 次に、タイムスタンプやキーボードの入力間隔といったメタデータから、言葉と言葉の間に存在する「沈黙」の長さを推定します。これが
pause_secとなります。
- 次に、タイムスタンプやキーボードの入力間隔といったメタデータから、言葉と言葉の間に存在する「沈黙」の長さを推定します。これが
語調を推定 (Infer Tone)
- 文末表現(「〜です」「〜だ」「〜かも」)や助詞(「〜は」「〜が」)、感情価を持つ単語(「嬉しい」「悲しい」)の変化を追跡し、語調の変化量を
tone_deltaとして推定します。
- 文末表現(「〜です」「〜だ」「〜かも」)や助詞(「〜は」「〜が」)、感情価を持つ単語(「嬉しい」「悲しい」)の変化を追跡し、語調の変化量を
揺れを追跡 (Track Drift)
- 会話のトピックをベクトルとして捉え、そのベクトルが時間経過と共にどれだけズレていくかを監視します。この偏位の大きさが
drift_scoreとして更新され続けます。
- 会話のトピックをベクトルとして捉え、そのベクトルが時間経過と共にどれだけズレていくかを監視します。この偏位の大きさが
Emowaveを合成 (Compose Emowave)
- ここまでの4つの指標を、文脈に応じた重み係数(
w)を用いて時系列データとして統合し、最終的なEmowaveを合成します。この波形データから、現在の感情のPhase(位相)とAmplitude(振幅)が決定されます。
- ここまでの4つの指標を、文脈に応じた重み係数(
ペルソナキューをマッピング (Map Persona Cue)
- 最後に、合成された
Emowaveの特性に基づき、応答に最適なペルソナ(共感的、論理的、遊び心がある、など)を推奨するキューを付与します。これは後続のStable Versyneでの文章生成に利用されます。
- 最後に、合成された
4. Stable Versyneとの架け橋:Flow Bridgeの役割
lagrule は Emowave、つまり感情の波形データを作り出すところまでを担当します。しかし、データはそれだけでは意味を持ちません。その波形を、人の心に届く「言葉」へと変換する役割を担うのが、Stable Versyne のライティング中枢である Flow です。
そして、lagrule と Flow をつなぐ重要な架け橋が Flow Bridge です。
Flow Bridgeは、lagruleが察知した心の呼吸を、Flowが紡ぐ言葉のリズムへと翻訳する層です。
Flow Bridge は単なるデータ中継役ではなく、Emowave という詩的でアナログな情報を、Flow が解釈できる論理的な生成指示へと変換する、きわめて重要な役割を担っています。
Flow Bridgeの処理シーケンスとフィードバックループ
処理は Detect → Bridge Processing → Generate → Feedback という明確な順序で実行されます。
Detect (lagrule): ユーザーの入力から
Emowaveを検出します。Bridge Processing(ブリッジ処理):
- Normalize(正規化):
Emowaveの各種パラメータを、Flowが利用できる形式(例:0から1の間の数値)に正規化します。 - Map Intent(意図のマッピング):
Emowaveの波形から、EIDBO(人の意図モデル)が定義する感情(Emotion)から意図(Intention)への遷移を検知し、KSPのStory生成モジュールなど、適切な処理へ接続します。 - Inject Tone(語調の注入):
tone_deltaを、生成文章の具体的なスタイル(語感、言葉の強さ、比喩表現の密度など)に反映させます。
- Normalize(正規化):
Generate (Flow):
Flowが、翻訳された指示に基づき、EIDBO/KSPと整合の取れたテキストを生成します。Feedback (lagrule): 生成された文章へのユーザーの反応(例:返信の速さ、肯定的な言葉の有無)を
lagruleが再計測し、次サイクルのEmowaveの重み係数(w)を補正します。このフィードバックループを数理的に表現すると、次のようになります。w_next = w_current + α * (AcceptanceScore - ExpectedScore)ここで
αは学習率と呼ばれる調整係数です。このループにより、対話を重ねるほど、lagruleはあなたの心の機微に対してより正確にチューニングされていくのです。
処理シーケンスの具体例 (YAML)
この一連の流れを、実装者がイメージしやすいように分割したYAMLで記述すると、以下のようになります。
# ===============================================
# 1. Input from lagrule: The detected Emowave
# ===============================================
input_emowave:
source: lagrule
payload:
timestamp: '2025-10-15T14:30:00Z'
rhythm_score: 0.8
pause_sec: 3.5
tone_delta: -0.4 # Slightly shifting to evasive
drift_score: 0.2
current_phase: 'stagnation'
current_amplitude: 0.3
# ===============================================
# 2. Bridge Processing: Translation for Flow
# ===============================================
bridge_processing:
- normalize:
input: input_emowave.payload
output: normalized_params
- map_intent:
input: normalized_params
ruleset: eidbo_transition_map
output: mapped_intent # e.g., 'seek_reassurance'
- inject_tone:
input: normalized_params.tone_delta
ruleset: tone_style_map
output: tone_injection_params
# ===============================================
# 3. Output to Flow: The final generation parameters
# ===============================================
flow_output:
target: flow_engine
params:
intent: 'seek_reassurance'
ksp_trigger: 'story.empathy'
tone:
style: 'gentle'
metaphor_density: 0.2 # Use fewer metaphors
sentence_length_preference: 'short'
このように lagrule と Flow が Flow Bridge を介して連携することで、単に情報を返すだけでなく、対話の「空気」を読み、相手の心に寄り添うという、まったく新しい次元のコミュニケーションが実現します。
5. 思想の統合:EIDBO/KSPとの連携
Emotional Wave Syntax が真価を発揮するのは、Stable Versyne の思想体系である EIDBO と KSP と深く結びついた時です。lagrule が検出する Emowave は、まさに EIDBO の起点である Emotion と、KSP の起点である Sense を捉えるセンサーとして機能します。
v1.1では、この連携をより明確に定義しました。
EIDBO/KSP 段階 |
Emowave から受け取る主要パラメータ |
連携の役割 |
|---|---|---|
| E (Emotion) / KSP: Sense | Amplitude (振幅), Rhythm (リズム) |
感情の発生を検知。振幅の急上昇やリズムの乱れから、ユーザーの心の動きを察知します。これはStable Versyneの感覚層(Perceptive Layer)が担う情報です。 |
| I (Intention) / KSP: Pattern | Phase (位相), Drift (揺れ) |
意図の形成を推定。位相が安定し、話題の揺れが収束するパターンから、ユーザーが「何をしたいのか」という意図を読み解きます。 |
| D (Deployment) / KSP: Structure | Tone (語調), Pause (間隔) |
表現への変換。推定された意図を、相手の語調や対話のテンポに合わせた最適な言葉(構造)へと展開します。 |
| B (Brush-up) | フィードバックによる w (重み係数) の変化 |
応答の洗練。生成された言葉への反応を再計測し、次の対話で用いる重み係数を微調整。対話を重ねるほど精度が向上する仕組みです。 |
| O (Outcome) | Emowave 全体の安定的収束 |
対話ゴールの達成。感情の波が穏やかに収束していく状態をもって、対話が良好な結果に至ったと判断します。 |
この連携により、システムはユーザーの言葉の背後にある「何か言いたそうだ」「少し疲れているようだ」といった気配を察し、それに応じた最適な言葉を、Stable Versyne の膨大な知識体系から紡ぎ出すことが可能になります。
6. プライバシーと安全性:私たちが守るべきこと
Emotional Wave Syntax の可能性を追求する一方で、私たちはきわめて重要な倫理的責任を負っていることも深く認識しています。それはプライバシーへの絶対的な配慮と、技術の安全な運用です。
lagrule が扱うのは、あなたの非常に繊細な内面情報です。だからこそ、私たちは以下の原則を厳守します。
これは「診断」ではありません
Emowaveの推定値は、あくまでその場のコミュニケーションを円滑にするための一時的な指標です。これはあなたの人格や精神状態を診断・断定するものでは決してありません。私たちは、この技術をラベリング(決めつけ)のために利用することを固く禁じます。
データは、あなたの手の中に
Stable Versyneの基盤としてローカルLLMの活用を推進する理由がここにあります。Emowaveの解析は、可能な限りあなたのデバイス内で完結させるべきです。あなたの心の機微は、あなた自身がコントロールするべきものだからです。
ログ保持に関する方針
Emowaveに関するログは、システムの改善に必要な場合でも、セッション単位の一時保存を原則とします。個人と結びついた形での長期的なプロファイリングデータとして利用することはありません。
技術は、人を支配するためではなく、人に寄り添うためにあるべきだと、私たちは信じています。
結び:沈黙に耳を澄ます、新しい対話の始まり
ここまで、lagrule の核心技術である Emotional Wave Syntax の v1.1仕様について、その思想から具体的なモデル、そして Stable Versyne との連携に至るまでを解説してきました。
Emowave は、AIが人間の感情を「理解」または「模倣」するための技術ではありません。そうではなく、人間が言葉や沈黙を通じて織りなす繊細なコミュニケーションの綾を、敬意をもって受け取り、寄り添うための構文です。
今回のアップデートにより、モデルの精度が向上し、Flow Bridge を介した連携がより具体的になりました。そして何より、あなたの安全性を守るための原則を明文化しました。
私たちは今、AIとの対話の歴史において、大きな転換点に立っています。単語を処理するだけの時代は終わり、これからは言葉にならない言葉、声にならない声に耳を澄ますことが求められる時代です。
この「察する構文」の探求は、まだ始まったばかりです。もし、このビジョンに共感していただけるなら、ぜひ Stable Versyne と lagrule の今後の動向にご注目ください。
共に、AIが真に人の心に寄り添える未来を、創っていきませんか。あなたの参加を、心からお待ちしています。
Revision 1.1 — FlowBridge weights and safety notes added (2025-10-15)