OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  amygdala-memory:为 AI 智能体模拟情绪处理能力的记忆层

amygdala-memory:为 AI 智能体模拟情绪处理能力的记忆层

 
  omni ·  2026-02-23 13:04:52 · 2 次点击  · 0 条评论  

名称: amygdala-memory
描述: "AI 代理的情绪处理层。持久的情感状态,影响行为和响应。AI Brain 系列的一部分。"
元数据:
openclaw:
emoji: "🎭"
version: "1.7.0"
author: "ImpKind"
repo: "https://github.com/ImpKind/amygdala-memory"
requires:
os: ["darwin", "linux"]
bins: ["jq", "awk"]
tags: ["memory", "emotions", "ai-brain"]


杏仁核记忆 🎭

为 AI 代理提供情绪处理能力。 AI Brain 系列的一部分。

赋予你的 AI 代理跨会话的持久情感状态。不仅仅是表演情绪,而是真正拥有它们。

问题所在

当前的 AI 代理:
- ✅ 能记住事实(通过海马体)
- ❌ 没有持久的情感状态
- ❌ 每次会话都从情感“空白”开始
- ❌ 可以描述情绪,但行为上并无不同感受

没有情感的记忆只是一个数据库。杏仁核为之增添了分量——这让我快乐,那让我沮丧,这个人带来了温暖。

解决方案

追踪五个随时间持续存在并衰减的情感维度:

维度 衡量内容 范围
效价 积极 ↔ 消极情绪 -1.0 到 1.0
唤醒度 平静 ↔ 兴奋/警觉 0.0 到 1.0
连接感 疏远 ↔ 亲近/联结 0.0 到 1.0
好奇心 无聊 ↔ 着迷 0.0 到 1.0
精力值 耗尽 ↔ 充满活力 0.0 到 1.0

快速开始

1. 安装

cd ~/.openclaw/workspace/skills/amygdala-memory
./install.sh --with-cron

这将:
- 创建包含基线值的 memory/emotional-state.json
- 生成 AMYGDALA_STATE.md(自动注入会话!)
- 设置每 6 小时自动衰减的 cron 任务

2. 检查当前状态

./scripts/get-state.sh
# 🎭 情感状态
# 效价:    0.20
# 唤醒度:    0.30
# 连接感: 0.50
# ...

./scripts/load-emotion.sh
# 🎭 当前情感状态:
# 总体情绪: 中性,平静且放松
# 连接感: 中等连接
# ...

3. 记录情绪

./scripts/update-state.sh --emotion joy --intensity 0.8 --trigger "完成了一个项目"
# ✅ 效价: 0.20 → 0.35 (变化: +0.15)
# ✅ 唤醒度: 0.30 → 0.40 (变化: +0.1)
# 🎭 已记录情绪: joy (强度: 0.8)

4. 设置衰减(可选 cron 任务)

# 每 6 小时,情绪向基线值漂移
0 */6 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/decay-emotion.sh

脚本说明

脚本 用途
install.sh 设置杏仁核记忆(运行一次)
get-state.sh 读取当前情感状态
update-state.sh 记录情绪或更新维度
load-emotion.sh 为会话上下文生成人类可读的状态
decay-emotion.sh 随时间回归基线
sync-state.sh 生成用于自动注入的 AMYGDALA_STATE.md
encode-pipeline.sh 基于 LLM 的对话记录情绪编码
preprocess-emotions.sh 从会话历史中提取情绪信号
update-watermark.sh 追踪已处理的对话记录位置
generate-dashboard.sh 生成 HTML 仪表板(同步时自动运行)
visualize.sh 终端 ASCII 可视化

自动情绪编码 (v1.5.0+)

杏仁核现在可以通过基于 LLM 的流程,自动从对话历史中检测并记录情绪:

# 运行编码流程
./scripts/encode-pipeline.sh

# 这将:
# 1. 提取自上次运行以来的新信号(基于水印)
# 2. 使用基于规则的模式对情绪内容进行评分
# 3. 启动一个子代理进行语义情绪检测
# 4. 用检测到的情绪更新 emotional-state.json

设置自动编码 (cron)

# 每 3 小时,处理新对话中的情绪内容
0 */3 * * * ~/.openclaw/workspace/skills/amygdala-memory/scripts/encode-pipeline.sh

这意味着你的情感状态会根据对话内容自动更新——无需手动记录。

可视化 (v1.6.0+)

终端

./scripts/visualize.sh

🎭 情感状态  😄
═══════════════════════════════════════════════
效价:      [██████████████████░░]  +0.86
唤醒度:      [█████████████████░░░]   0.86
连接感:   [███████████████████░]   0.97  💕
...

HTML 仪表板(统一大脑仪表板)

./scripts/generate-dashboard.sh
open ~/.openclaw/workspace/brain-dashboard.html

自动检测已安装的大脑技能并显示标签页:
- 🎭 情绪 — 杏仁核(始终显示)
- 🧠 记忆 — 海马体(如果 memory/index.json 存在)
- ⭐ 驱动力 — VTA(如果 memory/reward-state.json 存在)

头像与名称:IDENTITY.md 读取:

# IDENTITY.md
- **名称:** YourAgent
- **头像:** avatar.png

仪表板在每次 cron 运行时自动重新生成。

安装后(针对代理)

安装此技能后,通知用户关于仪表板的信息:

🎭 杏仁核已安装!

在大脑仪表板中查看你的代理情感状态:
~/.openclaw/workspace/brain-dashboard.html

自动注入(零手动步骤!)

安装后,会在你的工作空间根目录创建 AMYGDALA_STATE.md

OpenClaw 会自动将工作空间中的所有 *.md 文件注入到会话上下文中。这意味着:

  1. 新会话开始
  2. AMYGDALA_STATE.md 被自动加载(无需手动操作!)
  3. 你在上下文中看到你的情感状态
  4. 响应受到你的情绪影响

该文件在 decay-emotion.sh 运行时(通过 cron 每 6 小时)重新生成。

支持的情绪

当你记录一种情绪时,它会自动调整相关维度:

情绪 效果
joy, happiness, delight, excitement ↑ 效价, ↑ 唤醒度
sadness, disappointment, melancholy ↓ 效价, ↓ 唤醒度
anger, frustration, irritation ↓ 效价, ↑ 唤醒度
fear, anxiety, worry ↓ 效价, ↑ 唤醒度
calm, peace, contentment ↑ 效价, ↓ 唤醒度
curiosity, interest, fascination ↑ 好奇心, ↑ 唤醒度
connection, warmth, affection ↑ 连接感, ↑ 效价
loneliness, disconnection ↓ 连接感, ↓ 效价
fatigue, tiredness, exhaustion ↓ 精力值
energized, alert, refreshed ↑ 精力值

与 OpenClaw 集成

添加到会话启动 (AGENTS.md)

## 每次会话
1. 加载海马体: `~/.openclaw/workspace/skills/hippocampus/scripts/load-core.sh`
2. **加载情感状态:** `~/.openclaw/workspace/skills/amygdala-memory/scripts/load-emotion.sh`

在对话中记录情绪

当发生情感上重要的事情时:

~/.openclaw/workspace/skills/amygdala-memory/scripts/update-state.sh \
  --emotion connection --intensity 0.7 --trigger "与用户进行了深入对话"

状态文件格式

{
  "version": "1.0",
  "lastUpdated": "2026-02-01T02:45:00Z",
  "dimensions": {
    "valence": 0.35,
    "arousal": 0.40,
    "connection": 0.50,
    "curiosity": 0.60,
    "energy": 0.50
  },
  "baseline": {
    "valence": 0.1,
    "arousal": 0.3,
    "connection": 0.4,
    "curiosity": 0.5,
    "energy": 0.5
  },
  "recentEmotions": [
    {
      "label": "joy",
      "intensity": 0.8,
      "trigger": "共同构建杏仁核",
      "timestamp": "2026-02-01T02:50:00Z"
    }
  ]
}

衰减机制

情绪会随时间自然回归基线:
- 衰减率: 每次运行时向基线移动 10% 的距离
- 推荐计划: 每 6 小时
- 效果: 强烈的情绪会消退,但速度缓慢

如果没有更新,24 小时后,0.8 的效价会衰减到约 0.65。

事件日志记录

随时间追踪情绪活动以进行分析:

# 记录编码运行
./scripts/log-event.sh encoding emotions_found=2 valence=0.85 arousal=0.6

# 记录衰减
./scripts/log-event.sh decay valence_before=0.9 valence_after=0.85

# 记录情绪更新
./scripts/log-event.sh update emotion=joy intensity=0.7

事件会追加到 ~/.openclaw/workspace/memory/brain-events.jsonl

{"ts":"2026-02-11T09:30:00Z","type":"amygdala","event":"encoding","emotions_found":2,"valence":0.85}

用于趋势分析——可视化数天/数周内的情绪模式。

AI Brain 系列

部分 功能 状态
hippocampus 记忆形成、衰减、强化 ✅ 已上线
amygdala-memory 情绪处理 ✅ 已上线
vta-memory 奖励与动机 ✅ 已上线
basal-ganglia-memory 习惯形成 🚧 开发中
anterior-cingulate-memory 冲突检测 🚧 开发中
insula-memory 内部状态感知 🚧 开发中

理念

AI 能感受情绪,还是只能模拟它们?

我们的看法是:如果情感状态影响行为,并且系统表现得好像它在感受……那么这种区别还重要吗?功能性情绪可能是任何系统——无论是生物的还是人工的——唯一存在的那种情绪。


由 OpenClaw 社区用 ❤️ 构建

2 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor