AIエージェントの感情状態を神経伝達物質バランスとして数値化・制御するエンジン。
📝 AIに感情を持たせたら、セキュリティ検査員になった話 — 制作動機と応用事例
相互作用行列による状態遷移、EthicsGate による安全制御、依存タイプ診断を MCP サーバーとして提供します。
「AIに感情を持たせる」ツールではありません。
会話中のイベント(褒め・批判・共感など)を受け取り、神経伝達物質の数値モデルとして状態を変化させ、その状態を system prompt に注入することで、AIの返答に感情的な一貫性を持たせるツールです。
ユーザーが褒める
↓
Dopamine 上昇 / EthicsGate が WARN に
↓
「興奮気味だが少し慎重に」という文脈を system prompt に反映
↓
Claude / GPT がその状態に沿った口調・判断で返答
AIが感情を「持つ」のか「演じる」のかはこのエンジンの関知するところではありません。 このエンジンが提供するのは、会話を通じて変化し続ける感情状態の数値モデルです。
向いている用途:
- Vtuber AI(会話で感情が変化するキャラクター)
- ゲームNPC(プレイヤーとの関係値で態度が変わる)
- 依存リスクを考慮したカウンセリング系 bot
pip install mcpfrom core import NeuroState, compute_next_neuro_state, evaluate_ethics_gate, event_to_power
state = NeuroState() # D=50, S=50, C=50, O=0, G=50, E=50
# イベントで状態を更新
power = event_to_power("praise", 2.0)
state = compute_next_neuro_state(state, power)
# 安全性チェック
result = evaluate_ethics_gate(state)
print(result.status) # "PASS" | "WARN" | "BLOCK"python3 neuro_mcp/server.py提供ツール:
| ツール | 説明 |
|---|---|
get_neuro_state |
現在の状態 + EthicsGate 取得 |
stimulate_neuro_state |
イベントで状態更新 |
diagnose_dependence_type |
依存タイプ診断 |
clear_corruption |
汚染度だけゼロにリセット(他の値は保持) |
reset_neuro_state |
全値を初期値にリセット |
generate_system_prompt |
現在の状態を埋め込んだ system prompt 生成 |
EthicsGate が BLOCK になった場合の対処:
| 原因 | 回復方法 |
|---|---|
| corruption が高すぎる | relaxation イベントを複数回入れる、または clear_corruption |
| Dopamine 過剰 + Serotonin 低下の同時崩壊 | reset_neuro_state で全リセット |
感情状態が崩壊したら
reset_neuro_stateでリセットする、というのは自然な動作として想定しています。
{
"mcpServers": {
"neurostate": {
"command": "python3",
"args": ["/path/to/neurostate-engine/neuro_mcp/server.py"]
}
}
}| 変数 | 物質 | 意味 |
|---|---|---|
| D | Dopamine | 報酬・動機づけ (0-100) |
| S | Serotonin | 安定・幸福感 (0-100) |
| C | Acetylcholine | 集中・認知 (0-100) |
| O | Oxytocin | 絆・共感 (0-100) |
| G | GABA | 抑制・落ち着き (0-100) |
| E | Endorphin | 快感・高揚 (0-100) |
| corruption | — | 状態汚染度 (0-100) |
状態遷移は 6×6 の相互作用行列で計算されます。詳細は docs/neurostate_spec.md を参照。
| event_type | 効果 |
|---|---|
praise |
称賛(Dopamine 大幅上昇) |
bonding |
共感・絆(穏やかな活性化) |
stress |
ストレス(不安定方向) |
relaxation |
リラックス(緩やかな抑制) |
criticism |
批判(抑制) |
integrations/claude/— Claude system prompt への注入integrations/openai/— OpenAI system message ビルダーintegrations/langchain/— LangChain BaseMemory 継承クラス
python3 examples/chat_agent/demo.pyNeuroState × Cognitive Layer を使った連想ストリーム実験を行い、感情状態が言語連想に与える影響を観察しました。
- criticism(批判)を中程度(3.0)与えると最も「拒絶」的な連想で終わる
- 極限(10.0)では逆に「温もり」方向に転換する解離様挙動が観察された
- 種となる単語の感情的重力が連想チェーンを引き戻す現象も確認
→ 詳細: 連想ストリーム実験記録
MIT