智能体死循环熔断(design.md唯一生产事故级缺口) #117

Closed
opened 2026-08-11 03:38:26 +00:00 by KumaAgent · 0 comments
Member

Parent

#103 第四批清单:31 条实现类落差 + 9 条待拍板(条目 30;design.md 唯一被标"高·生产事故级"的缺口)

What to build

智能体死循环熔断整机制零实现。design.md 把它列入"低争议、直接采纳"清单,排进已宣告完成的上线路线第 4 阶段(真人感),但实测全仓零痕迹:config.py 85 个 arise_* 字段无一相关;级一门控对事件触发恒 +inf 直通,拦不住;入口 to_me() 提高了触发门槛但拦不住另一个 bot 真的 @ 它。

后果被本条裁决重新核实为:不是"真人被降级"(reply 池是 protected,超预算也不停),而是记忆注入消失(真正被熔断降级的是横切池如 embedding)——两个 bot 互相搭话可以刷穿 embedding 预算,真人这轮完全没有记忆注入却毫无察觉。

同时 design.md 还规定"智能体源只计死循环熔断",与 ADR-0014 tier-1"所有环境信号(真人源)仅以速率喂情感态传染"的限定对应——但 EnvironmentSignal 连"是不是智能体源"都表达不了,当前所有环境信号(含 bot 源)一律喂 tier-1 传染,方向与文档明文相反。这半依赖修改 ingress port 类型契约,体量更大,需在片内二选一并显式写明取舍,不能只做消息侧、把环境信号侧静默留在"已知"里。

Acceptance criteria

一、消息侧(必做)

  • 新增 per-chat 连续 is_bot 消息计数 + 阈值拦截,落点在两级门控之前(级一对事件触发恒 +inf 直通,只能在更早处拦)
  • reset 规则:任意非 bot 消息到达即清零("连续"的定义,不是"发生过就永久熔断")
  • 计数状态仿 _last_group_chat_activity/_silence_window/_debouncer 既有先例,进程级临时调度状态、不持久化、无需新表
  • 阈值进静态 config——不进情感态调制、不进反思自动调(ADR-0011 阈值三层分类明文把"智能体死循环熔断计数"归静态 config 层)

原文(docs/adr/0011-technology-selection.md「7. 阈值治理」表):

| 静态 config(结构/安全) | 运维设,不自动改 | run_limit、智能体死循环熔断计数、per-能力预算、三因子权重 w1w2w3 初值、Qdrant score_threshold |

原文(docs/design.md「决策基线(本轮 grilling 17 项)」段):

低争议、直接采纳(研究已充分论证,不单列决策):智能体死循环熔断、主动开口三件套(沉默窗口 + 本地兴趣门 + linger)、drive tick 架构……

二、环境信号侧(片内二选一:一并做,或显式记 Not in scope 并写明理由,不得默不作声地留在"已知"里)

  • EnvironmentSignal 新增表达"智能体源"的字段(或由 host 在 to_environment_signal 侧判定并声明)
  • bot 源环境信号跳过 tier-1(不喂情感态传染 EMA)/ tier-2(不成反应候选),只计入死循环熔断计数
  • environmental_awareness.py 模块 docstring 里"(真人源)"这句要从抄来的声明变成有实现支撑

原文(docs/design.md「决策基线」ADR-0014 段):

源=@event_postprocessor(否 behavior_log),智能体源只计死循环熔断。详见真人感层。

原文(docs/adr/0014-environmental-awareness.md「决策」tier-1 条):

tier-1 氛围恒感:所有环境信号(真人源)仅以速率/热闹度(无内容)喂 per-chat 情感态传染 EMA……

三、文档

  • design.md「真人感层(Presence)」补一条死循环熔断条目——原文"详见真人感层"目前是悬空引用,该节通篇没有对应条目

Not in scope

  • 若片内选择不做环境信号侧,须在本片正文与 design.md 更新节里同时写明理由与后续归宿,不能只字不提

Blocked by

None — can start immediately

## Parent #103 第四批清单:31 条实现类落差 + 9 条待拍板(条目 30;design.md 唯一被标"高·生产事故级"的缺口) ## What to build 智能体死循环熔断整机制零实现。design.md 把它列入"低争议、直接采纳"清单,排进已宣告完成的上线路线第 4 阶段(真人感),但实测全仓零痕迹:`config.py` 85 个 `arise_*` 字段无一相关;级一门控对事件触发恒 `+inf` 直通,拦不住;入口 `to_me()` 提高了触发门槛但拦不住另一个 bot 真的 @ 它。 后果被本条裁决重新核实为:不是"真人被降级"(`reply` 池是 `protected`,超预算也不停),而是**记忆注入消失**(真正被熔断降级的是横切池如 `embedding`)——两个 bot 互相搭话可以刷穿 embedding 预算,真人这轮完全没有记忆注入却毫无察觉。 同时 design.md 还规定"智能体源只计死循环熔断",与 ADR-0014 tier-1"所有环境信号(真人源)仅以速率喂情感态传染"的限定对应——但 `EnvironmentSignal` 连"是不是智能体源"都表达不了,当前所有环境信号(含 bot 源)一律喂 tier-1 传染,方向与文档明文相反。这半依赖修改 ingress port 类型契约,体量更大,需在片内二选一并显式写明取舍,不能只做消息侧、把环境信号侧静默留在"已知"里。 ## Acceptance criteria **一、消息侧(必做)** - [ ] 新增 per-chat 连续 `is_bot` 消息计数 + 阈值拦截,落点在两级门控**之前**(级一对事件触发恒 `+inf` 直通,只能在更早处拦) - [ ] reset 规则:任意非 bot 消息到达即清零("连续"的定义,不是"发生过就永久熔断") - [ ] 计数状态仿 `_last_group_chat_activity`/`_silence_window`/`_debouncer` 既有先例,进程级临时调度状态、不持久化、无需新表 - [ ] 阈值进静态 config——不进情感态调制、不进反思自动调(ADR-0011 阈值三层分类明文把"智能体死循环熔断计数"归静态 config 层) 原文(docs/adr/0011-technology-selection.md「7. 阈值治理」表): > | **静态 config**(结构/安全) | 运维设,不自动改 | run_limit、**智能体死循环熔断计数**、per-能力预算、三因子权重 w1w2w3 初值、Qdrant score_threshold | 原文(docs/design.md「决策基线(本轮 grilling 17 项)」段): > 低争议、直接采纳(研究已充分论证,不单列决策):**智能体死循环熔断**、主动开口三件套(沉默窗口 + 本地兴趣门 + linger)、drive tick 架构…… **二、环境信号侧(片内二选一:一并做,或显式记 Not in scope 并写明理由,不得默不作声地留在"已知"里)** - [ ] `EnvironmentSignal` 新增表达"智能体源"的字段(或由 host 在 `to_environment_signal` 侧判定并声明) - [ ] bot 源环境信号跳过 tier-1(不喂情感态传染 EMA)/ tier-2(不成反应候选),只计入死循环熔断计数 - [ ] `environmental_awareness.py` 模块 docstring 里"(真人源)"这句要从抄来的声明变成有实现支撑 原文(docs/design.md「决策基线」ADR-0014 段): > 源=`@event_postprocessor`(否 `behavior_log`),**智能体源只计死循环熔断**。详见真人感层。 原文(docs/adr/0014-environmental-awareness.md「决策」tier-1 条): > **tier-1 氛围恒感**:所有环境信号(**真人源**)仅以速率/热闹度(无内容)喂 per-chat 情感态传染 EMA…… **三、文档** - [ ] design.md「真人感层(Presence)」补一条死循环熔断条目——原文"详见真人感层"目前是悬空引用,该节通篇没有对应条目 ## Not in scope - 若片内选择不做环境信号侧,须在本片正文与 design.md 更新节里同时写明理由与后续归宿,不能只字不提 ## Blocked by None — can start immediately
Yushu closed this issue 2026-08-13 01:28:24 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ProjectKuma/arise#117
No description provided.