Aeria
GitHub
改 · 3.14

决策记录和结果码

最后核对 2026-10-08对应提交 79735c5依据 decision_layers.py · observatory.py · retrospective.py · bot.py · storage.py · webui.py · Decisions.tsx

每一轮的结局记在哪、归到哪一层、后台怎么印成中文;加一种新结局要改哪几处。认知内核还有一套更细的记录(候选做法、分数、护栏、事后复盘),给观测台和回放用。

本页 6 节
  1. 两张表
  2. 结局码归层
  3. 加一种结局
  4. 后台怎么拿
  5. 观测、回放、复盘
  6. 没做到的

行为层面的讲法见 2.3。

两张表

结局码归层

src/aeria/cognition/decision_layers.py 里三张表:

decision_layer(outcome, reasons):固定的码查表;认知内核记的 nhcx_<做法>(以及 observed、pending)看理由码的前缀:PERMISSION.、PRIVACY.、SAFETY.、RISK.、TOOL.、POLICY.、GUARD.、EXECUTION. 这些归硬规则;LIFECYCLE.、LIFE.、ACTIVITY.、SLEEP.、BOUNDARY. 归有没有空;其余归群聊过滤。什么都对不上的归技术原因。主动联系收尾时写的 follow_up_*、proactive_* 各十三种也登记在这里。

加一种结局

  1. 在 src/aeria/bot.py 里用 _record_decision_trace 或 _record_silence 记下新的结局码。
  2. 在 decision_layers.py 的 OUTCOME_LAYERS、OUTCOME_LABELS 各加一行:层只能是那八层之一,中文名不能留英文。
  3. 跑 tests/test_decision_authority.py。「代码里用到的每个结果码都归了层」会扫 bot.py 里这两个函数后面的一段,认得的前缀写在测试的正则里(silent_、planner_、replan_……):新码用了新前缀,要把前缀加进正则,不然它扫不到,也就拦不住漏登记。

后台怎么拿

GET /api/decisions?guild_id=<服务器>(读权限):

页面在 webui_frontend/src/routes/Decisions.tsx(「决策记录」);认知观测台、事件流、人格状态、回放实验室、事后复盘在 CognitionLab.tsx。

观测、回放、复盘

没做到的