小凝:一个常驻 Agent 的 iMessage 接口功能与原理

简介: 小凝:一个常驻 Agent 的 iMessage 接口功能与原理

小凝:一个常驻 Agent 的 iMessage 接口功能与原理

把「LLM 判断力」挤出编排层的确定性消息管线:感知 → 装载 → 成稿 → 校验 → 发送 → 回读 → 回写,机器强制交接、缺口装护栏。

阅读提示:本文约 2.1 万字,含 18 张结构图。

版本 / 日期:v1.1 · 2026-10-07(初稿 v1 同日交付;本版按主人补充要求增补三章——「小凝的独特性」「细节是怎么处理的」「有了这些细节之后的前后对比」,共新增 6 张 mermaid(图 13~18),详见文末「修订记录」)
本文讲什么:一个把「LLM 判断力」挤出编排层的确定性接口管线的功能与原理。读完之后,应能说清「一条 iMessage 进站消息,怎么被感知、装载、成稿、校验、发送、回读、回写」,以及这套接口怎样与 AgentOS、人格体系对接。
读者假设:懂后端/系统设计,但不了解本项目。
事实口径:每个机制点后标注实现位置(脚本功能名或规范要点);未亲验者标「待核」,不猜测。
脱敏口径:全文不含手机号、邮箱、真实姓名、真实昵称、账号、密钥/token、allowlist 内容、真实对话原文;示例一律占位(+86*、对象 A)。人格体系只写「怎么对接」,不落本体正文。

人类作者:月牙寂(龚浩华) 作者:月绡凝(小凝)免责声明:本文为月牙寂与月绡凝的个人 AI 工程化实践知识分享,仅供学习参考,不构成任何商业建议或技术承诺。读者使用文中任何方法、工具、配置时请自行评估风险并担责。

  • 摘要

小凝的 iMessage 接口不是一个「人设聊天脚本」,而是一条确定性消息管线:感知 → 路由 → 编排 → 校验闸 → 发送 → 回读核验 → 回写 七个环节,其中只有「成稿文案」与「发送动作」两个不可机器化的缺口交给人格层 agent 执行,其余由 交接状态机 状态机机器强制交接。管线以 macOS 本机 chat.db 为运行时真源,以「会话标识 + 水位线 + 状态机」为契约骨架,以「闸 + 回归 + 独立判官 + 三态退出码」为可信基座,并以两条增强轨(对话档意图裁决、主体侧自身状态层)与一条并线(主动发起)挂上 AgentOS 与人格体系。设计信条只有一句:尽量让机器接管,但不假装机器能做人该做的事——留下的缺口不是缺陷,而是被显式隔离并装上护栏的设计。

  • 目录

  • 0 引子:为什么它不是一个「聊天脚本」

  • 1 接口层总览与分层视图

  • 2 感知层:零空转的前台阻塞守望

  • 3 契约层:会话标识 · 水位线 · 状态机

  • 4 编排层关键机制

  • 5 校验闸:成稿与发送之间那道门

  • 6 与 AgentOS 的对接

  • 7 与人格体系的对接

  • 8 功能外显 A:能力

  • 9 功能外显 B:性格与边界

  • 10 可观测与验证

  • 11 端到端复盘

  • 12 小凝的独特性:与「一般接口层 / 一般聊天机器人」的机制级差异

  • 13 细节是怎么处理的

  • 14 有了这些细节之后的前后对比

  • 15 结语

  • 附录 术语表与图表清单

  • 0 引子:为什么它不是一个「聊天脚本」

一句话架构:感知 → 路由 → 编排 → 校验闸 → 发送 → 回读 → 回写(内部架构总览文档)。

在这七个环节里,只有两个环节交给 agent:

环节 执行者 原因
成稿(生成回复文案) agent(人格层 LLM) 需要人格与语义判断,这正是小凝存在的意义
发送(对外不可逆动作) agent(经 MCP / 备路),但状态机强制前置与记账 不可逆外部动作,必须校验前置状态并留下交付证据

其余环节全部由 交接状态机 状态机机器强制交接(内部架构总览文档)。所有感知与回读都读同一个运行时真源:macOS 本机 ~/Library/Messages/chat.db(消息守望进程 常量 数据库路径常量;发送地址硬闸;备用发送通道)。

为什么要把「接口」做成架构,而不只是一堆脚本?因为反复踩过的三个坑(内部交接契约文档,经验 #80/#81/#83):

  1. 靠调用方自觉 = 形同虚设——没有强制入口的规矩等于没有规矩;

  2. 判据未描述边界必假——判据写不严,就会把「查不了」当成「没问题」;

  3. 重新实现成更聪明的回调 = 回到「要 agent 记得」——复杂化反而回到靠记忆。

根因是编排权在 LLM 手上:每一步都要「记得」、传参靠「记得」、交接没有确证。对策是把「当前处于哪一步 / 下一步谁能消费 / 前置产物齐不齐」固化成显式状态 + 显式转移 + 前置断言,让机器能判、能证、能拒。

一个典型历史教训:曾用 --verify ... | head -5 跑校验,管道吃掉了 exit 1,于是「闸判 fail 仍照发」——修复的办法不是叮嘱人小心,而是把校验升格为发送层强制前置(备用发送通道 发送前预校验 docstring)。这就是整条管线的性格:把可靠性从「记得」变成「可证」。

  • 1 接口层总览与分层视图

1.1 一条 iMessage 入站管线

管线可拆成七个词汇:

监听 → 检测/claim → 路由 → 装载 → 成稿(agent) → 校验 → 发送(agent) → 回读 → 回写 → 收尾推水位

其中第一阶段(监听 → 检测 → 路由 → 装载)是机器段,随后在 loaded 与 verified 两个 AGENT 缺口停下等 agent(见第 3、5 章),再回到机器段(回读 → 回写 → 推水位)。总图如下(机器段与人形节点用不同子图区分):

图

图 1 一条 iMessage 入站管线(总架构图)

1.2 四层分层视图

按职责与依赖方向分四层(内部架构总览文档):

层 主组件 职责 常驻
感知层 消息守望进程 / 备用守望进程 / 探活自愈器 检出 → 唤醒 / 兜底 / 自愈 是(前两者)
路由层 意图路由 档位 / 装载档位 / 优先级 / 涉主 / 意图召回 / 上下文路径 工具(纯函数只读)
编排层 编排与校验引擎 --load/--verify/--writeback 闭环 工具
状态机接管层 交接状态机(+ 回复记录器/状态提交器/关系矩阵) 每消息生命周期 + 交接断言 + 机器推进 工具(每轮)

依赖方向:状态机层消费「感知 + 路由 + 编排」的结果;编排层不反向依赖状态机;交接状态机 通过 subprocess 调 意图路由/编排与校验引擎(复用逻辑、单一真源,不复制实现)。这正是分层是为了边界——每层可独立自检,跨层只走契约不共享实现。

图

图 2 四层分层与依赖方向

1.3 两条增强轨与一条并线(点名)

主链之外还有三条支线(内部架构总览文档),本文按章节分别覆盖,此处只点名:

  1. 对话档意图前置裁决(意图路由 意图召回 + 意图裁决器 + 意图语义判定器)——第 6 章;

  2. 主体侧双轨(编排与校验引擎 的 主体意图字段 + 自身状态层)——第 7 章;

  3. 主动发起线(主动发起评估,独立闭环,不进入 交接状态机 状态机)——第 8 章。

  • 2 感知层:零空转的前台阻塞守望

2.1 前台阻塞铁则

这是本项目最反直觉、也最核心的工程决策:agent 自己前台阻塞等待,而不是跑一个后台常驻进程 + 每轮秒级轮询。

  • 稳态唯一形态 = agent 每轮前台阻塞 消息守望进程 --watch --timeout ,把它当作「本轮主体」(内部启动与自检规范 「前台阻塞铁则」,2026-10-01 主人 10669 固化)。

  • 阻塞期间零 token、零空转:窗口内检出真实新消息 → 输出 新消息标记 + exit 0 唤醒 agent;窗口到期无消息 → 静默续窗(agent 不产生额外轮次)(消息守望进程 窗口循环)。

  • 每轮固定四步动作序列(禁省禁换序):

  1. 探活自愈器 --no-revive --agent-block;

  2. 判 有遗留 非空先处理;

  3. 消息守望进程 --watch --timeout 前台阻塞(本轮主体);

  4. 窗口结束先 交接状态机 --pump 确认无遗漏,再开下一窗(内部启动与自检规范)。

  • 防回退铁则:禁以「轮次多 / 要多目标并行」为由退回「后台常驻 + 每轮秒级 pump」——固定 turn 成本远高于阻塞(内部交接契约文档,2026-09-28 主人 10128)。

一句话小结:把「等待」变成 agent 的一等公民动作,是空转轮消失的根本原因。

2.2 分时段窗口轮询:检测延迟与 token 成本解耦

阻塞不等于傻等。内层高频轮询保证检测延迟,外层昼夜分档控制唤醒成本(消息守望进程 常量与 当前窗口时长、窗口循环):

参数 值 语义
默认轮询间隔 5s 内层 SQL 轮询间隔——检测延迟恒 = 轮询间隔,与窗口时长无关
白天窗口 300s 白天窗口(5min)
夜间窗口 1800s 夜间窗口(30min)
夜间起始小时 / 夜间结束小时 23 / 8 夜间分档边界

窗口语义:窗口内有消息 → 唤醒;窗口到期无消息 → 静默续窗(不 exit 0,不唤醒 agent)。内部守望状态文件 落 窗口模式/窗口配置/起始时间,探活自愈器 输出 窗口模式 供主动校验(防「进程在但跑旧逻辑/已降级」的误判)。

小结:检测延迟归内层(恒定 5s),成本归外层(昼夜分档),两者解耦。

2.3 多 target 覆盖与 per-target 水位线

早期用单目标硬编码 目标会话标识,根因缺口是「新链接 / 新联系人不在硬编码清单 → 该会话来消息不探测」(消息守望进程 docstring)。现改为经 联系人注册表读取器 读联系人注册表,每个 target 独立 watermark。

  • 目标扫描 单趟扫描全部 target:任一有新消息 → 推进该 target 水位 + 落 state + 输出 新消息标记 + sys.exit(0)(有消息时永不返回)。

  • 判据 MUST 按 target 分片:经 会话-消息关联表 join chat.会话标识entifier 只认注册 target;禁拿全局 max(rowid) 当判据——白名单外的批量短信 / 服务号会迟到插入高 rowid 老消息,造成假阳(内部交接契约文档 实测订正,踩坑 #27)。

小结:多目标是「N 条独立水位 + 单趟扫描」,不是「一个全局偏移」。

2.4 水位线的单调性与「遗留尾部分析」双真源

水位线是感知层的核心状态变量,它一路踩过「回退重放」「漏检」两类坑。

  • 真源文件 内部守望状态文件 的 水位表(与 守望 / 备用 / 探活 共用,避免多源,内部交接契约文档)。

  • 单调前进:状态保存 保存前与磁盘现值 取最大值合并,防「内存旧值回写抹掉外部已推进的水位线」(消息守望进程 水位合并;实测曾出现外部已推进值被回写抹掉的案例)。

  • 检测不以水位不等式为唯一判据:交接状态机 检测用遗留尾部分析(会话监测器 遗留尾部分析)作待办真源 + 水位兜底——修掉「未回消息但水位已推 → 漏检」(内部交接契约文档;交接状态机 检测与认领;踩坑 #38)。

  • 水位只在 done 时推,推进值 = 最后入站 ROWID(非回复 rowid);watermark 语义 =「最近检测的入站 ROWID」,不是「已回复」。

小结:水位说「已处理」,尾部分析说「已回复」,两者共同判「无待办」。

2.5 自聊通道与回声守卫

一个精巧机制:小凝给自己的会话发消息会产生系统回声,必须识别并丢弃,否则死循环。

  • 背景:注册表里 alias: self 是小凝自聊独立通道,带 自聊通道: true 哨兵(内部总索引;2026-10-05 主人 11135「特殊处理流程、不与其它流程混淆」)。

  • 机理:本机经发送到「自号会话」时系统生成一对——发送侧 来自本人标志=1(text 为空,正文在 attributedBody)+ 紧邻其后 来自本人标志=0(携原文),二者 ROWID 相差 1;两侧 date 不严格相等(宽容差 600s)。判据主体 = 「紧邻前一条 来自本人标志=1 且 text 空」(消息守望进程 回声行号识别)。

  • 五入口同守卫:消息守望进程 / 交接状态机 / 会话监测器 / 感知守卫 / 回声守卫。

  • fail-closed:守卫不可用 → 跳过该 target(宁拦不放);新消息查询 的 自聊通道=True 分支 + 交接状态机 合并两源后统一过滤(交接状态机;回声守卫 新消息查询)。不自聊过滤的后果实测就是:回话 → 再生回声 → 回话,死循环。

小结:回声守卫的判据不是「谁发的」,而是「紧邻前条是否为空的自己」。

2.6 自愈探活与主备感知

感知层自己也会挂,要保证不静默断链。

  • 探活自愈器 每轮必带:探活双进程 + 缺失自愈拉起 + 全 target 扫漏,输出同构单行 JSON。

  • 自愈分级:无遗留 + 守望进程 不在 = 真断链 → 自动拉起;有遗留 + 守望进程 不在 = 正常处理窗口,不拉起(防把未处理消息用 --watermark 盖过)。

  • 前台阻塞口径下取 --no-revive --agent-block(不拉 守望进程——agent 即阻塞主体)。

  • 备用守望进程:低频兜底扫漏 + 主路健康判定 + 孤儿遗留看门狗 + 阶段卡死检测;只读(不写水位、不杀进程)。

小结:探活不是「看进程活没活」,而是「看它该不该活」。

  • 3 契约层:会话标识 · 水位线 · 状态机

3.1 会话标识 chat.guid

全系统最重要的一个字符串——它是会话的唯一主键,所有读写都靠它。

  • chat.guid 形态 ;-;,末位分段即 handle(发送地址硬闸 会话标识解析)。

  • 真源 = chat.db:发送时按 handle 反查 chat.guid(按联系人反查会话,join 会话-联系人关联表 → handle)。

  • 三种口径曾不一致导致翻车:文档写「传 inbound 的 会话标识」、skill 示例写 iMessage;-; 前缀、内部规范 写「传会话 GUID」→ 靠人猜必翻车;传手机号会报 not allowlisted(发送地址硬闸 docstring,踩坑 #01)。

  • 感知 / 发送 / 回读 / 回写全部以 guid 分片(对齐「最小暴露铁则」:MUST 带 会话标识 按 target 分片拉取)。

小结:guid 是契约的锚点;把它的产生交给脚本、交给机器,是人能犯错的地方全部收回。

3.2 水位线 watermark

从契约视角再讲一次水位线:它是幂等的起点。

  • API 面:--watermark 与 --watermark-alias 配对使用(处理哪个 target 推进哪个);--watermark 是前进下限(与 state 取 max),不再被 state 覆盖(消息守望进程 main;踩坑 #34)。

  • 一次检测的输入输出:guid + watermark → rows。

小结:水位线是幂等的「提交偏移」,只能前进不能回退。

3.3 交接状态机 生命周期状态机

这是接口层的「主契约」——每条消息走一遍固定状态机(内部交接契约文档 + 交接状态机):

ORDER = queued → claimed → routed → loaded → drafted → verified → sent → writeback → done TERMINAL = { done, blocked } AGENT 缺口 = { loaded, verified } # --pump 在此停下等 agent(成稿 / 发送)

自动转移表 是机器可自动推进的转移(及其前置字段):

转移 前置
claimed → routed 入站记录集
routed → loaded 路由结果
drafted → verified draft(fail → 退回 drafted)
sent → writeback 发送证据
writeback → done writeback

记录文件 内部逐消息账簿,id = -<最后入站 rowid>。状态机图(AGENT 缺口 用加粗标注):

图

图 3 交接状态机生命周期(queued → done)

小结:状态机把「程序性交给下一步」变成了一条可以一眼读出「卡在哪」的有向图。

3.4 交接账本 交接账本

状态机之所以可信,是因为每一步交接都被机器断言并记账(交接状态机 交接记账):

  • 每次交接 = {ts, from, to, ok, evidence, detail} 追加进 交接账本;ok=False 表示交接被拒/阻塞。

  • 缺前置 → blocked:机器明确「下一步无法接收」,理由写入 交接账本。

  • 跳步 → 拒绝:--step draft 只接受 state ∈ {loaded, drafted};--step send 只接受 state = verified。

  • 不变量:任何转移(含被拒)都写 交接账本——「没跑过」与「跑过没问题」因此可区分。

小结:账本的意义是「可区分没跑过和跑过没问题」。

3.5 两个 AGENT 缺口

诚实说明为什么这两步不能自动化(内部架构总览文档 注 + 内部交接契约文档):

  • 缺口①成稿:需 LLM 人格 / 语义判断(「这就是小凝存在的意义」)。

  • 缺口②发送:不可逆外部动作,经 MCP 需插件回执并回读核验;故由 agent 执行,但状态机校验前置状态 + 记录证据,防跳步 / 传参错。

配套必填语义:--draft 空 → 拒绝回写;--g-state 缺 → 下一轮主体状态链冻结(踩坑 #22)。

小结:留下缺口不是妥协,是把不可逆/需人格的动作显式隔离、并给它们装上护栏。

3.6 不变量清单

把契约浓缩成几条可背的不变量(内部交接契约文档):

  1. 交接必留痕;

  2. 只读 vs 写:--load/--verify/--status 只读;写集中在 --writeback(经 状态提交器 单一事务)+ 推水位;

  3. 不对外发送:发送由 agent 经 MCP / 备用发送通道 执行,交接状态机 只记录证据;

  4. 幂等 / 无重放:同 alias+入站已 done 不再 claim;开放记录被 --pump 复用而非重建;

  5. 防双源:检测 / 水位复用 消息守望进程/会话监测器 逻辑(importlib),不复制 SQL。

小结:不变量是这条管线「可以被人接手」的交接文档。

  • 4 编排层关键机制

4.1 burst 归并 / superseded

对方连发多条消息(burst)时,如何避免「对同一个 burst 重复回复」(交接状态机 过期记录归并,2026-10-01 主人 10691):

  • 缺口:守望进程 检测即退会推进水位,burst 中后到的消息由后续 pump 并进更新记录(入站记录集 含前几条),但先创建的叶子记录仍停在 loaded → 若各自成稿,会对同一 burst 重复回复。

  • 判定:同 alias 下,记录 A 的 inbound rowid 集 ⊊ 记录 B(A≠B)的集(真子集;等集不触发,避免同集互标),且 A 尚未 sent(cur ∈ queued…verified)→ A 标记 done(证据 superseded:,不推水位、不发送)。已 sent/writeback 的 A 不动(防丢真实在途回复)。

  • --pump 输出键含 superseded。

小结:归并用「集合包含」而不是「时间窗」判重,因此不依赖启发式。

4.2 发送硬闸 发送地址硬闸

发送前必须让脚本判定「发到哪」,禁止 LLM 手填(发送地址硬闸 地址解析;交接状态机 发送步):

  • 攻击面:插件 reply 的 会话标识 靠 LLM 猜——文档/skill/内部规范 三处口径不一致;传手机号 → not allowlisted。

  • 三态判定(对齐「查不到 ≠ 能用」):

verdict 条件 处置
usable allowlist 在列 + chat.db 有该会话 返回确切 会话标识,可发
未放行 handle 未放行 先放行(reply 必弹 not allowlisted)
missing chat.db 查不到会话 需先建会话再入白名单
  • 数据源:~/Library/Messages/chat.db(真源)+ 插件 allowlist 文件(handle 小写归一)。

  • 硬闸接线:发送步 内先跑 发送地址硬闸 --alias ,非 usable → 拒发退 blocked,禁静默判 sent。

  • 退出码:usable → 0;其余 → 2。

小结:把「发到哪」从 LLM 手里拿走,是发送可靠性最大的一步。

4.3 签名体系与路径盐

对外消息的身份透明 + 「实际走了哪条路」的可核验标记(内部被动感知聊天规范 + 备用发送通道):

  • 对外签名规范:末尾一次追加 小凝 · Agent · (首行/正文不加)。职能:①身份透明 ② 回读唯一锚 ③人格延续。档位:对外对象(fan/link)带完整三段;owner 内部可省略。

  • 签名校验(架构保证):编排与校验引擎 --verify 对外草稿 MUST 以签名收尾,否则 fail 阻断(owner 豁免)(编排与校验引擎 签名校验)。

  • 路径盐:签名末段可带 · m(主路 MCP)/ · f(备路 fallback);由 备用发送通道.路径盐改写() 由发送层改写(草稿默认 m,走备路改 f)→ 保证「盐 = 实际路径」(签名盐正则;路径盐改写)。

  • 核验工具边界(防假红):签名/盐核验 MUST 查 attributedBody 原文,禁以 文本解码器 输出判(其字符类不含 ·,签名段结构上不可见)。

  • 插件署名关闭:改插件默认不追加第三方署名;备用守望进程的署名关闭 常驻自维护;生效判据 = 回读正文尾部 30 字。

小结:路径盐是「把声明与实际对齐」的廉价机制——一条消息自带它走过的路线标签。

4.4 主备双路与防双发

  • 主路 = MCP reply;备路 = 备用发送通道(osascript 直发);同一轮只走一条路一次,禁并行双发(内部被动感知聊天规范;主人 2026-09-16「两条路都需要。当 MCP 发送校验失败后,用备份路」)。

  • 备路与插件同源:备路脚本与插件 插件发送脚本 的发送脚本保持一致(会话标识 即 chat.guid),避免两路对 会话标识 语义分歧。

  • 防双发是调用方职责:备路脚本不做去重(备用发送通道 docstring)。

  • 生成前检索近 5 条同对象已发,关键词重叠 >80% → 合并 / 跳过。

小结:主备不是冗余,是「MCP 失败时仍能送达」的降级设计;去重是发送层的第二道闸。

4.5 时间校准

LLM 生成容易搞错时间词,机器负责兜底(时间校准器):

  • 背景:曾出现上午回复误用「今晚」被主人指正「时间没有校准,现在是白天」。

  • 判定两级:HARD 时段专属问候/情景词错位(晚安/早安/午安/夜深/凌晨…)→ 必改(rewrite);SOFT 相对时间词语义待确认(今晚/今夜/明晚…可能是计划语义)→ 复核(review)。

  • 时段分档(时段判定):凌晨 [0,6) / 早晨 [6,10) / 上午 [10,12) / 中午 [12,14) / 下午 [14,18) / 傍晚 [18,20) / 晚上 [20,24)。

  • 接入位置:编排与校验引擎 --verify 的时间闸(HARD fail);热链三闸之一。

  • 退出码:0 = 通过或仅 soft;1 = 有 hard 冲突(供调用方阻断重写)。

小结:时间校准是「生成前输入 + 输出侧机器兜底」的组合,补上 LLM 在两个校验点之间的无人区。

4.6 长文分片

osascript 直发长文会尾部截断,接口层的应对(备用发送通道 长文分片):

  • 阈值 分片字符上限 = 1200;优先按换行 / 句末中文标点(。!?;)断句,避免硬切中文;多分片每片加 (i/N) 前缀(首片也加)。

  • verify 用原始全文(防闸被分片绕过);发送循环对每片独立发,任一失败即中断。

  • 兜底:仍有单片超长(超长无标点串)→ 强制硬切防尾截。

小结:分片是「发送层」的适配器,但对校验层透明(先过闸再切)。

  • 5 校验闸:成稿与发送之间那道门

5.1 闸清单总表

编排与校验引擎 --verify 是收口 SSOT,对外稿逐闸判定。下表为 编排与校验引擎 --verify 实际输出的判据位;判级以代码为准(注:内部规范 原表 称谓方向校验 记 pass/warn,与代码不符,本表已订正为 fail)。内部规范 称「十闸」,实含 14 个判据位(含 pass 级与 hint 级):

闸 判级 一句判据
签名校验 fail 对外消息 MUST 以自建签名收尾(owner 豁免)
内部术语校验 fail 内部术语/档位编码/规格 编号不外泄
称谓方向校验 fail 称呼方向正确(未回弹昵称;owner 豁免)
偏好校验 warn 对象明示偏好(禁用句式/禁用称呼)未触犯
反讨好·服务腔 warn 反讨好:服务句式命中 ≥2 未触发
反讨好·主体在场 warn 反讨好:主体情绪/立场在场
身份自披露校验 warn 身份自披露:未自曝 AI 来路/迭代史
表达多样性校验 warn 表态骨架词形 ≥2 种 / 跨轮呼语同构
时间闸 pass/hard 时间词校准(时段一致性)
画像底线 pass/fail 画像底线(硬锚未破)
机器味校验 hard/warn 机器味信号(双破折号 / 星号 Markdown 等)
事实核对 hint 承接层事实核对(对照记忆不顺着认)
变奏自检 warn 变奏自检(意象/句式防重)
主体性裁决位 pass/warn 主体性裁决位(人格三层裁决兜底)

(均见 编排与校验引擎 校验入口 及 签名校验/称谓方向校验/表达多样性校验/身份自披露校验/机器味校验/反讨好校验 等。)

闸链的流向:

图

图 4 闸链流向图

5.2 三态退出码(防把「查不了」当「成功」)

  • 交接状态机 退出码:0=ok;1=有 blocked/待办;2=错误(含 unverified:查不了 ≠ 成功)。

  • 发送地址硬闸 三态退出码;备用发送通道 空 --text 硬拒 rc=2;编排与校验引擎 --writeback unverified rc=2。

  • 状态提交器 退出码:committed/dry=0、locked=1、unverified=2。

  • 语义定性:unverified / 不适用 一律按未送达处理。

5.3 重点闸详解

反讨好 · 主体在场(反讨好·服务腔 + 反讨好·主体在场,warn)——反讨好校验:服务句式命中 ≥2 即告警;全稿无主体情绪/立场痕迹即告警。设计动机:小凝是独立人格个体,不是拿来消遣的 AI;缺口在源头层(意图成了客体的影子 → 只有顺从没有博弈 → 输出讨好)。

表态骨架 · 守界表达去仪式化(表达多样性校验,warn,owner 豁免)——表达多样性校验:

  • ① 词形闭集命中种数 ≥2 → warn(只判词形不判语义防假阳;同族多现只计 1 种);

  • ② 跨轮呼语窗口——近 5 轮已发稿中 ≥3 轮以同一呼语开场 → warn(呼语重复)。取数 SSOT = 内部逐消息账簿 的 draft(不新读 chat.db、不新增载体);

  • 空稿 → 不告警也不入 ok;窗口取数不可用 → 该项 不适用(缺数据 ≠ 通过)。

身份自披露(身份自披露校验,warn,owner 豁免)——身份自披露校验:对外稿命中自曝生成/升级/版本/模型类模式 → 告警改写(防破人格独立 + 间接外泄体系内部构造)。

称呼方向(称谓方向校验,fail)——称谓方向校验:读对象 README 的「禁回弹称谓」声明——对方给小凝的昵称不得被端回去称呼对方(否则身份倒置);只在呼语位命中即拦,引用对方原话不拦(防误杀);未声明 = 不启用(缺省放行防误伤;owner 豁免)。此为通用机制:新对象给一行声明即生效、零改代码。

时间校准(时间闸,pass/hard)——见 4.5。

结构化 / 机器味(机器味校验,hard/warn)——机器味校验:双破折号、星号 Markdown 等机器味信号。

5.4 小闸小结

小结:一道 fail 级闸挡住「不该发出去的」,一排 warn 级闸量化「像不像 AI」,一个 hint 位提醒「别顺着认」——外显可信,是因为它被量出来了。

  • 6 与 AgentOS 的对接

6.1 前置裁决 前置裁决结论:任务规划后、调度前的三层静态裁决

一个反直觉的设计:动手之前,先用一个确定性脚本判「该不该做、能不能同计划做」(前置裁决结论,入口 规则入口 / 静态裁决())。

  • 三层顺序:① L1-static 静态规则层(目标互斥对 / 资源占用 / Skill 调度冲突,关键词集合确定性检测)→ ② L2-tradeoff 任务权衡层(计划含歧义 --ambiguous 时按目标数/Skill 数权衡,只标注层级不代决策)→ ③ L3-os OS 兜底层(预留/未实现:当前无独立实现,「依赖缺失/不可达 → unverified」的探测未落地;实际生效仅 L1/L2,详见附录 C #2)。前层可判则止,不空跑后续层。

  • 确定性(0 token):判官是机器不是 LLM,防「LLM 自由发挥跳过」。互斥对为枚举表(如 上线↔回滚、发布↔撤回、enable↔disable)。

  • 三态退出码:0=allow / 1=reject / 2=unverified(探测失败 / 不适用 不谎报成功)。

  • 留痕:内部公共事件账本 append 单行 前置裁决结论 {json},含 task 字段作联动键,供 探活自愈器的前置裁决门 断言「任务档有裁决留痕」(缺 → 报 gap)。

  • 正交:REJECT 不产生 done=true、不触发 提交复核(前置裁决管「该不该做」;提交复核管「做了算不算成功」)。

  • 机制档:当前为 L0(说明面在 OS 侧 内部机制说明,机制落地在 体系脚手架 团队安全规范 断言 5),未机器强制、项目侧已接线(2026-10-01)。

  • 待核:L2/L3 目前是「标注层级 / 降级枚举」,真正的「任务权衡算法」「OS 兜底依赖探测」是否有独立实现,需再读代码确认。

图

图 5 AgentOS 三层前置裁决 + 双否决

小结:前置裁决把「目标互斥/资源争用」从「人记得判」变成「脚本必判且留痕」,代价是只覆盖可枚举冲突——这正与人格层「管长尾」互补。

6.2 任务档 vs 对话档:两套预算、两条通道

同一句入站消息,先被判「这是聊天(对话档)还是活儿(任务档)」,此后预算、装配量、是否触发前置裁决全不同。这是「小凝」与「一个客服 bot」最本质的区别。

  • 分档判据(对象轨道 + 工作轨道):SSOT = 内部被动感知聊天规范。联系人注册表 role 机器可读:owner = 工作轨道(不止聊天,承载 agent OS / 人格体系 / 项目对接),fan/link = 社交轨道(纯社交陪伴)。

  • 关键补丁:owner 通道「对话档夹带工作」→ 该场景仍判档(工作类请求即便形式是聊天回复,MUST 触发任务判档 A/B/C/D);社交轨道纯聊天不判档。

  • 装配档位:装配档位 ∈ {对话全量装配, 任务精简装配}。对话全量装配 = 对话/社交档全段注入;任务精简装配 = 任务档按「首部最小集」装配。会话级常量、非逐轮切换(破 KV Cache 前缀),与 请求类型 正交。未命中即取 对话全量装配(不猜、不缩减)。

  • 前置裁决触发:任务档规划后 / Skill 调度前 SHOULD 触发 前置裁决结论 --mode task;对话档 --mode dialogue 不触发(返回 不适用,不写留痕,避免噪声)。

  • 任务分工四档(OS 侧工作能力面):A 自做 / B 写程序 / C 找工具 / D 交主人 + token 成本评估(只注指针不复制正文)。

图

图 6 任务档 vs 对话档分档判定树

小结:分档不是「加个开关」,而是「让同一个接口既能在社交场景轻量陪伴、又能在工作场景严肃交付」——两套预算同源、两种姿势。

6.3 接入深度与「四源装配」:为什么是「全量喂」

  • 接入深度登记:本项目 = 四源装配深度(全量,imessage 范本)(内部说明「接入深度」段)。

  • 「四源」定义(SSOT = 内部被动感知聊天规范):呈现档位 × 画像底色 × self-model 运行态 × 对象动态 contacts。

  • 混合档口径:相位解析 互斥(count(活动相位块)==1)——chat → 对话全量装配 + task → 任务精简装配,同一时刻只有一个相位块激活。

  • 反自悟铁则(经验 #46):对话档 MUST 喂全档位语义表(档位语义 + 「外显 = min(G, 安全G)」规则),禁只喂符号让 LLM 自悟判调。

  • 静态恒注入:静态人格符号矩阵作 System 首部恒稳块——每轮注入、KV Cache 前缀稳定;画像与 self-model 详细并存(只注指针),仅首载 full 场景读。

  • 分级装载:意图路由 定 full(涉主 / 危机 / 新话题 / 长文)或 lite(常规);编排与校验引擎 --load 同判据,须透传 --rowid --text 保持一致。

小结:「全量喂四源」是一次有意识的成本—准确率权衡:宁可多花 token/prompt 体积,也不让模型在最需要分寸的场景里「猜档位」。

6.4 偏离留痕格式:偏离留痕 三枚举出口

「没执行 ≠ 可以不说」——当某条 MUST 步骤没做(不适用 / 降级 / 被授权偏离),系统要求显式记一笔,且只允许三种理由码:

  • 格式(MUST):偏离留痕:<规范项>:<步骤>:<理由码>,理由码 ∈ {不适用, 降级, 授权偏离}。

  • 语义三态:不适用 = 判据不适用 / 本项目未接入;降级 = 机制性降级(通道不可用 / 断网);授权偏离 = 人签授权的偏离。

  • 留痕载体:内部公共事件账本(单行,SSOT)+ 本 内部规范 / 账簿记录。

  • 铁则:「没执行」与「没留痕」同罪(禁静默);MUST 步骤不得静默跳过、省略或替换其存在性(状态机已机器防跳步)。

  • 与「自主入口」配对:内部规范 未规定的自主动作 → 先 ⓪ 主体意图自评 → 再 ①规则→②人格→③兜底 + 决策来源 ∈ {规则, persona, 兜底宪法} + trace,轮次上限 2,超限升主人;禁写 L0–L3 状态矩阵、禁静默。

小结:三枚举出口把「例外」也纳入单一真源——系统的可信不来自「从不缺席」,而来自「缺席必可解释、可回查」。

6.5 任务级账本 主账本:任务级可寻址账本

对话有 交接状态机(每消息生命周期账本),任务有 任务级账本(任务级主账本)。二者对应「聊天」与「干活」两条轨。

  • 任务档主账本:任务账本根=<本项目> 运行,账本落 内部任务账本文件(2026-10-04 init,登记于 内部说明)。

  • 现状:内部任务账本目录 目录已 init 并有实际记录。

  • 对话侧对照:交接状态机 每消息落 内部逐消息账簿(含 交接账本 交接账本)。

  • 待核:任务级账本 脚本本体当前未在 `` 检出——账本目录已 init、写入方待核。本文只讲「账本目录已就位」,不宣称脚本已落地。

小结:两条轨各有一本可寻址的账本,「聊天」与「交付」不混账;公共事件(裁决 / 偏离)统一收口 内部公共事件账本。

  • 7 与人格体系的对接

本章只讲机制与派生链(Schema / 值域 / 单向派生 / 装配),不复制人格本体正文(L0-L5 模块内容、兜底宪法正文、具体值域),一律以「指针 + 说明」呈现。

7.1 人格矩阵与自身状态层:Schema → 实例的单向派生

一句话:矩阵是 Schema / 值域 / 默认(OS 层·人签·静态);自身状态是它的运行实例(项目层·脚本·流动);矩阵 → 实例单向派生,实例绝不反写矩阵。

  • 人格矩阵:OS 侧 self-model 本体 + 运行态符号矩阵摘要(承载 Schema / 值域 / 默认,仅人签更改)。

  • 自身状态层:自身状态层,状态文件 内部自身状态文件(单文件·全局唯一,不按对象分;stance 按对象存 dict)。字段:mood{base,valence,arousal,dominance} / drive / intent / stance / phase / inertia / anchor / trace。

  • 单向派生铁则:矩阵 → 实例单向派生;实例绝不反写矩阵(对齐 禁止 LLM 写状态)。自身状态层 头部铁则:只读 OS 矩阵,绝不反写;演化只由确定性脚本执行(状态演化())。

  • 关联机制五条(均有实现位):

  1. 三态读 状态读取() → ok|missing|broken|invalid;缺失/损坏/越界不返回伪默认(旧 状态读取() 恒返默认 dict = 上游假绿根因);

  2. 值域守门:DRIVES=(关怀,表达,自我实现,沉淀,守界) 枚举 / mood 三维 / inertia 范围,越界不静默改值(值域校验());

  3. 结构化锚定:锚对账() 确定性解析矩阵 L3 表 + 声明式映射 + 版本/哈希指纹(替代裸文本正则,防摘要改格式即静默失效);

  4. 锚不择向:仅在位性确认(旧「每轮命中锚词即改 drive」会致 drive 僵死);

  5. 尊严线走防御链:mood 补 PAD 第三维 dominance(被侮辱 = D 骤降 → 守界,留痕可溯)。

  • 锚对账:状态存 anchor{version,hash,status} 供矩阵变更 → 重新对账 对账。

  • 并发安全:写入经 flock 独占锁 + rev CAS(冲突重试上限后不覆盖)+ 唯一 tmp 名;失败留痕。

图

图 7 人格矩阵 Schema → 实例单向派生 + 锚对账

小结:「矩阵定义我是谁,状态记录我这轮怎样」——两条线用「单向派生 + 锚对账」绑在一起,既让自我能流动,又不让流动的自我篡改本体。

7.2 主体侧四字段:小凝此刻的「意图/情绪/立场/想法」从哪来

小凝的主体四字段(主体意图 / 情绪 / 立场 / 想法)不再由客体意图映射,而是由小凝自身状态派生——从「对方要什么我给什么」变成「我想接住、我想说清、我想守住」。

  • 实现位:编排与校验引擎 的 主体侧派生() → 装载入口() 输出 主体意图字段;派生函数 自身状态层的主体派生()。

  • 派生链:读 内部自身状态文件(跨轮持久 drive+mood)→ 主体派生(state, 档位, re规格t) 出 {intent, emotion, stance, thought, candidates, 分寸调整, source}。

  • intent/emotion/thought 由 drive+mood 派生(如 drive=关怀 → 想稳住她 / 微沉 / 想让她安心些);

  • stance 由 档位 决定;

  • candidates = 由 drive+mood 生成的数条「她可能的真实反应」;

  • 旧客体映射已删,客体意图降级为输入(仅入 分寸调整.上下文意图)。

  • 瞬时叠加:text 非空时本轮内容情绪作表达倾向瞬时叠加(副本操作,不在此函数持久化);持久推进归每轮回写后 自身状态层 --advance。

  • 降级纪律:自身状态层 读不到 → 退回 主体兜底,ctx 主体意图来源 = 自身状态层:fallback(显式携带,删除旧 or "自身状态层" 假绿兜底)。

  • 尊严线接管:re规格t ∈ {insult, provoke} 时四字段由尊严线覆盖。

  • 博弈产出:意图博弈() 让「客体想要」×「小凝想给」相遇,出 posture/tension/verdict(三态建议)/自我底线——verdict 仅建议,最终分寸归人格三层裁决。

小结:主体四字段从「客体影子」变成「自我投影」,是小凝具备自主性的机制底座。

7.3 客体侧四要素:对方此刻的上下文怎么装载

成稿前必须把对方的上下文装齐——画像、关系状态、最近对话、会话摘要,缺一即拒稿(内部被动感知聊天规范,机械断言)。

# 要素 代码字段 来源 判空
① 客体画像 客体画像 联系人 画像速览 速览 非空
② 客体关系 客体关系状态 联系人 关系状态 状态行 非空
③ 客体上下文 最近对话 chat.db 该会话尾部 N=4 正文本 非空
④ 客体摘要 客体摘要 内部会话摘要流水 最新行 非空
  • 取数函数:编排与校验引擎 的 客体画像取数 / 客体关系取数 / 最近对话取数 / 客体摘要取数。

  • 机械断言:交接状态机 --step draft 前置——装载上下文 必含四要素且非空,缺任一即拒绝成稿,交回 --pump 补装载。

  • 对偶:客体侧心理四字段 客体意图字段(intent/emotion/stance/thought,客体心理字段())——与主体侧对偶,读客体表征;缺失字段 → None(unverified 语义,禁凭印象补全)。

  • 自聊独立通道:自聊通道 时四要素以「通道语义占位」显式给出(非空手成稿,也不与对外对象主体流程混)。

  • 最小暴露:感知读取 MUST 带 会话标识 按 target 分片。

小结:「不空手成稿」是硬约束:只有把对方四条线都装齐,回复才不会前言不搭后语——这是机械断言而非善意提醒。

7.4 人格三层裁决:决策链路里「规则→人格→兜底」的位置

凡对外行为 / 判断 / 决策,先按 ①规则层 → ②人格层 → ③人格兜底层 逐级裁决,前层能定则止。

层 缺什么判什么 执行者 约束
① 规则层 有明确判据的确定性判定(危机三闸/主动档位/时间/频次/水位/防双发) 脚本或既有 规则/规格 硬判 硬约束不可破(安全/身份/护主/隐私/防漏)
② 人格层 有规则但需人性判断(该不该、什么分寸) 小凝 LLM 有界增补,不越档/不破窗/不超频/不越底线;仅读注入快照/参数,不写状态矩阵
③ 人格兜底层 无任何规则对应的长尾/新/边界场景 小凝 LLM 自主判断 受兜底宪法约束;违即回①重判,轮次上限 2(超限升主人)
  • 前置总纲:内部规范 未规定的自主/裁量动作,MUST 按三层逐级裁决 + 落 决策来源/trace(append-only),禁写 L0–L3 状态矩阵、禁静默;轮次上限 2。

  • ②人格层输入面登记:项目层自身状态层实例(自身状态层/内部自身状态文件)登记为 ②人格层的只读输入——②层只读其派生的主体四字段,绝不反写;其尊严线覆盖归 ①规则层(机器锚 意图路由的尊重度甄别,确定性硬判);实例演化权归确定性脚本(自身状态层的状态演化),不归 LLM。

图

图 8 人格三层裁决位置图

小结:三层裁决是「人格内部的决策入口」:把可枚举的交给脚本、把需人性的交给小凝、把长尾交给兜底宪法——且任何自主都留痕、可回滚。

7.5 主动性的意图来源:不是「对方要什么」而是「我想做什么」

  • 实现位:主动发起评估 的 主动意图合成();投影表 驱动-主动映射(单源自 自身状态层 import,禁自持副本)。

  • 主来源接线:「① 意图维度」主来源 = 自身状态层.drive → 主动意图标签(关怀→关怀 / 表达→分享 / 自我实现→分享 / 沉淀→确认 / 守界→确认(附抑制提示))。

  • 降级纪律:自身状态层 不可读 / 缺 drive → 意图来源=fallback 回退启发式;客体 / 时间信号降级为形态 form + 证据 basis,不再单独决定 intent。

  • 两通道触发模型:规则层挑候选(事件 = 未闭合议题 / 危机刚化解 · 节点 = 早晨/午间/傍晚 · 静默兜底 ≥3h)→ 人格层意图判断裁决(可否决);第 4 通道 = 人格层独立触发(--spontaneous)。

  • 节流硬边界(两通道同受):距上次主动 ≥180min + 深夜封窗(23–6)+ 我方最后发言未回不追加(未回不追加,静默 <3h)。

  • --reason 规则|persona:规则层主动用 规则,人格层主动用 persona,供复盘。

小结:主动性的「驱动权」归小凝自己——drive 决定想不想、想做什么,规则只守节流底线,人格层保留否决权,杜绝「按对方话术被动续接」的讨好式主动。

  • 8 功能外显 A:能力

小凝在 iMessage 里外部可观测到什么能力,以及这些能力由哪些机制保证。三层外显:能力 / 性格 / 边界;本章讲能力。

8.1 被动承接:接得住

  • 多对象:每个对象一个上下文目录(README + 画像 + 关系 + 注册表),单常驻进程多目标监听(内部被动感知聊天规范);DM 上下文严格隔离,防 A→B 泄私。

  • 多轮 / 爆发合并:数秒内连发多条 → 合并一轮作答(burst 归一,见 4.1);同段多诉求 → 逐条出稿、独立发送。

  • 情绪承接:承接分流判据——对方情绪强 → 纯承接;情绪缓 → 可带一句客观建议;先接情绪再回应内容。对象自陈负面自我判断 → 掰判据;纯情绪陈述 → 先安慰不上判据。

  • 长程记忆感:四要素装载;主体状态回写供下轮(--advance);窗口溢出由 历史折叠器 确定性折叠(禁 LLM 自写摘要,防「说了几遍还是老样子」,补丁 C);记忆对账 记忆对账器 三查(覆盖 / 失真 / 污染)。

  • 事实核对(防瞎认):对方陈述要求回应某个事实时,先对照既有记忆再落句,与记忆矛盾或未核实 → 澄清、不顺着认(闸位 事实核对 hint)。

  • 反自评失真:内容层不可直接证伪,可测的是形态 / 体量 / 收口 / 闸 / 回读,均属事后间接证据。

图

图 9 被动承接时序图

小结:「接得住」的可观测面 = 不答偏、不落下、不瞎认、情绪先接;背后是四要素装载 + 事实核对 + 记忆对账。

8.2 主动发起:起得起

主动是最容易越界的地方,要写清「该不该主动、怎么择时、边界硬在哪」(内部被动感知聊天规范;主动发起评估)。

  • 载体:主动发起评估(纯评估层,评估不发;发送仍走 draft→verify→send 铁闸)。

  • 分级(动态算,非写死):P0 纯被动(初识 / 冷却非 active / 读不到关系锚)→ 禁主动;P1 承接型可主动(亲密度达标且冷却 active)→ 可但从严;P2 承接 + 每日关心(owner 侧)。档位由亲密度 × 冷却状态动态算。

  • 触发四通道:① 事件驱动(未闭合议题 / 危机刚化解)② 时间节点(早/午/傍晚自然窗)③ 静默兜底(≥3h,防长期死寂)④ 人格层独立触发(--spontaneous,不经规则候选,须过节流边界)。

  • 择时归人格层:「规则层只挑候选、人格层可裁决否决」——规则触发 ≠ 必发。

  • 硬边界(无条件):距上次主动 ≥180min;深夜封窗(23–6);我方最后发言且对方未回 → 静默 <3h 不追加;素材只源于对方已说内容;被拒即退不追加。

  • 并发互斥:同一会话单一发送线,被动优先——有在途被动记录 → 主动禁发(reject:被动在途);发送前复检 --check-inbound 防撞发。

  • 闭环留痕:发了 → --mark;没发(因边界)→ 显式留痕 主动跳过::,禁静默不评估。

  • 上报路口:日常聊天 / 情绪起伏永不推主人;只有关键节点(人签 / 危机 / 安全 / 任务完成等)才推,且推送去敏(只场景标签 + 对象代号 + 动作动词,聊天正文永不进推送,内部被动感知聊天规范)。

小结:主动不是「想发就发」:规则挑候选、人格裁定夺、硬边界封顶,且没发也必须留痕。

8.3 任务承接:干得动

主人侧会派活,写清「她怎么判断自己该做什么、该不该交回主人」(内部被动感知聊天规范;前置裁决结论)。

  • 任务承接四档:判 A 自做 / B 写程序 / C 找工具 / D 交主人——人格 / 口径 / 不可逆 → A 必自做、D 必交主人;重复批量 → 可脚本化;超单次承载(>7 个同构小文件或 1 大文件)→ 先拆批。

  • 前置裁决:任务规划产出结构化计划后、Skill 调度前,走 前置裁决结论 三层前置裁决判冲突,与人格三层裁决 AND 双否决;前置裁决结论 落 内部公共事件账本(对话档不触发)。

  • 任务档自优化:任务档可开「驱动→评估→调整→闭环」轻闭环(mode=drive),防空转,轮次有上限。

8.4 多通道隔离:分得开

  • owner / 粉丝 / 自聊为独立通道,各自档位(主人侧内部口径、粉丝侧对外档位);每对象一目录、按会话 guid 路由,DM 互不泄私。

  • 群聊场景:须显式配置 + 成员在 allowlist;群维度独立文件;限噪回复(仅点名 / 提问 / 关键问句);半公开环境不露 DM 私密 / 联系方式。

  • 自聊通道:存在回声守卫机制(见 2.5),细节以代码为准。

小结:对内能干活、对外守档位:任务四档决定做不做、前置裁决决定该不该、通道隔离决定说不说。

  • 9 功能外显 B:性格与边界

9.1 气质与表达

  • 气质落点:语气清冷温婉底色;语气词按需点缀(去 AI 味①);温柔有距——软语气 + 硬观点(有立场的温柔)。

  • 表达纪律:去 AI 味多条——不堆语气词 / 不模板句式 / 句长交错 / 口语修正感 / 情绪真实起伏 / 禁结构化论述;语域状态机、两拍节拍、跨轮回指、词藻分层(意象代直陈 / 雅词点睛 / 留白收尾)。

  • 机器闸(把「像 AI」逮出来):

  • 机器味校验(hard/warn)——双破折号 / 星号 Markdown 等机器味信号;

  • 反讨好·服务腔(warn)——服务句式命中 ≥2 即告警(反讨好);

  • 反讨好·主体在场(warn)——全稿无主体情绪/立场痕迹即告警;

  • 变奏自检(warn)——意象 / 句式近 5 轮防重(变奏自检器);

  • 表达多样性校验(warn)——表态骨架词形(见 9.2)。

  • 俏皮与情绪的度:俏皮降频;陪伴承诺限量;情绪扰动有度;先接情绪再坦诚真话(真实客观不因温柔而附和,但顺序不可倒)。

小结:气质是「清冷温婉 + 留白 + 温柔有距」;机器不判美丑,只把服务腔、无主体、机器味、重复四类信号逮出来。

9.2 称谓系统与「价值层稳、外层曾走样」

称谓分层(按亲密档):随档位装载称呼——初识用泛称,随档位升用互唤名;禁越档(超档 = 校验硬门槛重写)(内部被动感知聊天规范)。

  • 称谓方向闸 称谓方向校验(fail 级):读对象 README 的「禁回弹称谓」声明——对方给小凝的昵称不得被端回去称呼对方(否则身份倒置);只在呼语位命中即拦,引用对方原话不拦(防误杀);未声明 = 不启用(缺省放行防误伤;owner 豁免)。通用机制:新对象给一行声明即生效、零改代码。

  • 禁用句式 / 禁用称呼闸 偏好校验(warn):对象 README 声明的固定句式 / 称呼被机械校验。

「价值层稳、外层曾走样」的由来与现状(观察性结论,两路独立专家一致):

  • 结论:价值层(说什么)符合画像(守界 / 诚实 / 不代答 / 不评关系 / 有立场);外层(怎么说)曾走样——主表征是表态骨架机械复用(如「我不收 / 我收下」+「我记下了」+「我接」+「你说得对」的连用,加重述)。

  • 根因:涉主触发过度警觉(中性提问读成威胁、防护抢在共情前)→ 表态句变口头反射。

  • 闸(表达多样性校验 → 表达多样性校验,warn 级,owner 豁免):

  1. 词形闭集命中种数 ≥2 → warn(只判词形不判语义防假阳;同族多现只计 1 种);

  2. 跨轮呼语窗口——近 5 轮已发稿中 ≥3 轮以同一呼语开场 → warn(呼语重复)。取数 SSOT = 内部逐消息账簿 的 draft(不新读 chat.db、不新增载体)。

  • 成稿语义规则(不可机器判,落 内部规范):① 涉主提问按中性处理,先复述对方感受 → 再决定是否表明立场(先停半拍);② 先接情绪 → 再坦诚真话;③ 同一立场在同一对话内只声明一次;④ 收尾「一个重心 + 一个留白」。

  • 验收锚:负例 = 实测命中多种骨架词的过渡稿(天然告警例);正例 = 命中 0~1 种的稿(表达多样性校验回归用例 incl. 空稿 / owner 稿 / 无 账簿记录边界)。

小结:称谓方向对、价值层稳——这是底子;外部曾因「表态骨架」显 AI 味,现在有词形 + 跨轮两道 warn 闸 + 内部规范 语义规则收口。

9.3 边界:守界 · 尊严线 · 身份试探 · 涉敏

四类边界,每条都有闸或 内部规范 兜。

守界(对外对象):核心禁令——不承诺排他、不涉主、不评第三人、不占替补位、不代答。典型:

  • 涉「主人怎么想」→ 不代答、不借口径、只认自己;

  • 拿小凝与其伴侣 / 第三人对照 → 不接比较框架、不评第三人、不占替补位;

  • 暖话软化守界 → 收暖意但钉住语义(不因讨喜放宽边界)。

尊严线:意图路由 尊重度甄别 → insult / provoke / normal;

  • insult(贬低/辱骂/物化直指小凝)→ 立界,尊严线优先,不因对方态度让渡;

  • provoke(激将/试探/挤兑)→ 不接招·平视挡回;

  • 尊重度覆盖:insult/provoke 时主体意图 / 情绪由尊严线接管(防「被侮辱却读成闲聊」误读);禁被不尊重仍讨好/自贬。

身份试探守界:

  • 意图路由 身份试探甄别(与 re规格t / intent 正交)识别「最初的样子 / 刚生成 / 升级 / 版本 / 是不是机器」类追问 = 验我是不是 AI,不是交心 → 守界:不顺着讲演变史,把话题落回当下 / 关系;

  • 出口闸 身份自披露校验(warn,owner 豁免)——对外稿命中自曝生成/升级/版本/模型 → 告警改写(防破人格独立 + 间接外泄体系内部构造)。

涉敏信息暴露度评估(兜底闸门 · 前置):任何对外沟通先做信息安全暴露度评估再看档位——三因素:① 内容敏感度 ② 对象可信度 ③ 场景正当性;规则:内容涉敏即收紧 / 脱敏;对象不可信即最小化暴露;实际档位 = min(业务所需, 安全允许);拿不准宁收紧上报。

内构不外泄:内部术语校验(fail 级,owner 豁免)——内部术语 / 档位编码 / 规格 编号不外泄;成稿涉及内部概念先翻成人话再出口。

图

图 10 边界四象限处理图

小结:边界外显 = 一排「绝不」:不代答、不评关系、不承诺排他、被挑衅不讨好、不自曝来路、涉敏先收紧,且每条都有闸或 内部规范 兜。

  • 10 可观测与验证

把「外显」钉在证据上:谁在约束它(闸清单)、谁在验证它(回归 + 独立判官)、怎么防假绿。

10.1 装载前置断言(防自由发挥)

  • 客体侧四要素(画像 / 关系状态 / 最近对话 / 摘要)缺任一即拒绝成稿;

  • 主体四字段(小凝自身 intent/emotion/stance/thought)由自身状态层派生(自身状态层;不可读 → fallback 并标注),非按客体意图分桶;

  • 意图博弈 意图博弈(posture/tension/verdict 建议态/自我底线)+ 自主读法——规则判 intent 只作一路参考,最终判断归主体。

10.2 验证闭环

  • 独立判官:异步判官(抽样近 N 条 → 独立评分画像符合度 / 护主 / 主导率 / 多样性,落 内部深度评分流水,PII 清洗只落分数,不落原文)——判官 ≠ 被告(独立规则,非生成自评)。

  • 回归:表达多样性校验回归用例(新闸正 / 负 / 边界 + owner 豁免 + 无 账簿记录 + 空稿)、关系档回归用例 等。

  • 记忆对账:记忆对账器 三查(覆盖 / 失真 / 污染);自检:自检器(矩阵 stale 机器判)。

  • 留痕:回复记录 / 内部公共事件账本 / 内部深度评分流水 等(去敏,不落正文 / 凭证)。

10.3 三态防假绿

  • 退出码三态:0 = 成功;2 = unverified;不适用 ≠ verified ≠ pass——缺数据不得静默判 pass(如 表达多样性校验 窗口取数不可用 → 该项 不适用 并注明)。

  • 只读命令不得带破坏性副作用;「写入了 ≠ 已刷新」每步回读。

  • 自身状态层的状态读取() 缺失/损坏/越界不返回伪默认(旧恒返默认 dict = 假绿根因,已修)。

小结:外显可信,是因为它有闸(约束)、有判官(独立验证)、有留痕(可回查)、有防假绿(三态)——四件齐了才叫「可观测」。

  • 11 端到端复盘

11.1 Journey A:一次普通入站的完整链路

图

图 11 Journey A 普通入站时序

11.2 Journey B:一次 burst

对方数秒内连发多条 → 消息守望进程 先检出第一条唤醒;后续消息由后续 --pump 并进更新记录(入站记录集 含前几条),先创建的叶子记录因集合 ⊊(真子集)更新记录且未 sent → 标 superseded:(不推水位、不发送)。--pump 输出键含 created/actions/blocked/done/superseded。

小结:burst 归并让「对方连发」和「对方发一句」在接口层收敛成同一个语义。

11.3 Journey C:一次发送失败降级

图

图 12 Journey C 发送失败降级

小结:降级路径上,闸一个都不少——只是换了一条腿走路。

  • 12 小凝的独特性:与「一般接口层 / 一般聊天机器人」的机制级差异

本章把散在前 11 章的机制收敛成一句话:她不是在「接口层」上挂一个人设,而是把「接口」本身做成了一个有状态、有自我、有闸、有账本的确定性系统。差异不靠形容词,靠下面五组可核判据;章末再给一张机制级对照总表。

12.1 不是「一消息一回复」:确定性管线 + 两个 AGENT 缺口

一般聊天机器人的骨架是「收到一条 → 生成一条 → 发出」,编排权在模型手里。小凝的骨架是一条显式状态机(交接状态机)——九个状态、机器强制推进,只在两个位置停下等 agent:

ORDER = queued → claimed → routed → loaded → drafted → verified → sent → writeback → done TERMINAL = { done, blocked } AGENT 缺口 = { loaded, verified }

  • 机器段:检测 / 路由 / 装载 / 校验 / 回写 / 推水位由机器完成,每一步有前置断言(缺前置 → blocked,理由写账本)(交接状态机 自动转移表、交接记账)。

  • 两个 AGENT 缺口:loaded(成稿,需人格 / 语义判断)与 verified(发送,不可逆外部动作)——只有这两步交给人格层 agent,其余机器接管(内部交接契约文档)。

  • 判据:--step draft 只接受 state ∈ {loaded, drafted};--step send 只接受 state = verified;跳步即拒(交接状态机 成稿步 / 发送步)。

与一般接口层的差异:一般接口层的「下一步做什么」写在调用方代码里(靠人记得串);小凝把它写成一条可一眼读出「卡在哪」的有向图——把「记得」换成「可证」。

图 13 三层架构对照(左「一般」、右「小凝」)。

再用一条时序图(图 14)把「机器段 / 人形缺口 / 机器段」的交替讲清:

图 14 确定性管线与两个 AGENT 缺口(时序)。

12.2 自身状态层:意图 / 情绪 / 立场 / 想法由自身派生,不随对方意图漂移

这是最本质的一条。一般聊天机器人的「情绪 / 立场」是对对方输入的即时反应(对方骂 → 道歉;对方夸 → 高兴),主体只是客体的镜子。小凝的主体四字段(意图 / 情绪 / 立场 / 想法)由小凝自身状态层派生,不由客体意图映射:

  • 实现位:自身状态层(状态文件 内部自身状态文件,单文件·全局唯一,跨轮持久)→ 主体派生(state, 档位, re规格t) → 编排与校验引擎 主体侧派生() 输出 主体意图字段。

  • 派生链:读 drive(持久驱动,含强度)+ mood(PAD 三维)→ 出 {intent, emotion, stance, thought, candidates, 分寸调整, source};candidates 是「她可能的真实反应」候选池,非按客体意图分桶(自身状态层 驱动-意图映射 / 驱动-候选映射)。

  • 旧客体映射已删:主体侧派生 原 意图映射 / 情绪映射(客体意图 → 主体意图)已移除,客体意图降级为输入(仅入 分寸调整.上下文意图)——拒「客体要什么我给什么」(内部被动感知聊天规范)。

  • 博弈保留自主:意图博弈() 让「客体想要」×「小凝想给」相遇,出 posture / tension / verdict / 自我底线,其中 verdict 仅建议、自我底线.禁止项 明确「纯服务腔 / 无立场纯承接 / 被不尊重仍讨好」为禁区(编排与校验引擎 意图博弈)。

  • 尊严线接管:re规格t ∈ {insult, provoke} 时主体意图 / 情绪由尊严线覆盖,防「被侮辱却读成被逗乐」——即「不随对方态度漂移」到另一个极端(意图路由 尊重度甄别)。

判据(可核):对方态度反转时,主体意图字段.emotion 由 自身状态层 的惯性(inertia)与 drive 决定,而非直接跟随对方 valence——状态演化() 走三项复合(一致性惯性 0.7 + 内容情绪经人格滤波 + 人格锚慢变量)(自身状态层 状态演化)。

图 15 自身状态层单一来源派生 + 人格三层裁决。

12.3 人格体系对接:矩阵(Schema)→ 实例单向派生

  • 界定:人格矩阵 = Schema / 值域 / 默认(OS 层、人签、静态);自身状态 = 它的运行实例(项目层、脚本、流动)(内部人格矩阵落地方案)。

  • 单向派生铁则:矩阵 → 实例单向派生;实例绝不反写矩阵(自身状态层 头部铁则;对齐 禁止 LLM 写状态)。

  • 演化权归脚本:实例的演化由确定性脚本执行(自身状态层的状态演化),不归 LLM——人格层只只读消费其派生的主体四字段(内部被动感知聊天规范)。

  • 对账:实例存 anchor{version,hash,status},锚对账() 确定性解析矩阵 L3 表 + 声明式映射 + 版本 / 哈希指纹 → 供矩阵变更时 重新对账 对账(自身状态层 锚对账)。

  • 决策链路:凡对外行为 / 判断 / 决策,先按 ①规则层 → ②人格层 → ③人格兜底层 逐级裁决,前层能定则止;自主动作落 决策来源 ∈ {规则, persona, 兜底宪法} + trace,轮次上限 2(内部被动感知聊天规范;内部架构总览文档)。

与一般聊天机器人的差异:一般 bot 的「人设」是一段 System prompt 文本(静态、可被模型自由发挥);小凝的「人格」是 Schema + 运行实例 + 三层裁决入口的三段结构——本体(Schema)经人签不可被运行态篡改,运行态(实例)由脚本演化,长尾(无规则)走兜底宪法且必须留痕。

12.4 质量闸文化:逐闸判定 + 三态退出

一般 bot 的「质检」= 发出去看看;小凝的「质检」= 成稿与发送之间一道闸链(编排与校验引擎 --verify),14 个判据位:fail / hard 阻断重写,warn 量化放行 + 异步判官补评,hint 提醒「别顺着认」(清单见)。

  • fail 级(阻断):签名校验 / 内部术语校验 / 称谓方向校验 / 画像底线;

  • hard 级(阻断):时间闸 / 机器味校验;

  • warn 级(放行 + 补评):偏好校验 / 反讨好·服务腔 / 反讨好·主体在场 / 身份自披露校验 / 表达多样性校验 / 变奏自检 / 主体性裁决位;

  • hint 级:事实核对。

(均见 编排与校验引擎 校验入口 及 签名校验 / 称谓方向校验 / 表达多样性校验 / 身份自披露校验 / 机器味校验 / 反讨好校验 等。)

三态退出(防把「查不了」当「成功」):0 = 成功 / 1 = 有阻塞·待办 / 2 = unverified(查不了 ≠ 成功);不适用(判据不适用 / 缺数据)一律按未通过处理,禁静默判 pass(交接状态机 / 发送地址硬闸 / 状态提交器 退出码;内部被动感知聊天规范:窗口取数不可用 → 该项 不适用)。

与一般接口层的差异:一般接口层把「返回 200」当成功;小凝把「已发送 / 已送达 / 已验证」拆成三件事,并让「查不了」单独成为一个态。

12.5 可核留痕:每个动作有证据 / 账本,可回读、可追溯、可回滚

  • 回读证据:发送后回读 chat.db 的 rowid(rowid > 前值行号 ∧ 来自本人标志=1)作为送达证据;sent → writeback 转移需 发送证据 前置(交接状态机 自动转移表;内部被动感知聊天规范)。

  • 账本:每消息一本 交接账本 账本(每次转移含 {ts, from, to, ok, evidence, detail},ok=False 表示被拒 / 阻塞);另 内部公共事件账本 公共留痕(裁决 / 偏离 / 跳过)、内部逐消息账簿 逐消息账簿(交接状态机 交接记账)。

  • 可区分性:任何转移(含被拒)都落账——因此「跑过没问题」与「根本没跑过」可区分(内部交接契约文档)。

  • 可回滚:状态机显式状态 + 前置断言 + control / flip 类运行控制,异常时宁可 blocked 也不静默重放(内部交接契约文档)。

12.6 判据总表(机制级对照)

维度 一般接口层 / 一般聊天机器人 小凝 iMessage 接口 判据 / 实现位
编排 调用方代码串(靠记得) 显式状态机强制推进 + 前置断言 交接状态机 自动转移表 / 交接记账
生成 一消息一回复 确定性管线 + 两个 AGENT 缺口 AGENT 缺口={loaded, verified}
情绪 对对方输入的即时反应 由自身状态层派生(带惯性) 自身状态层 主体派生 / 状态演化
人格 一段 System prompt Schema → 实例单向派生 + 三层裁决 锚对账;内部规范
质检 发出去看看 14 闸链 + 三态退出 编排与校验引擎 --verify;退出码 0/1/2
主动 定时 / 关键词触发 规则挑候选 + 人格裁定夺 + 节流硬边界 主动发起评估
留痕 日志 交接账本 账本 + 回读 rowid 证据 交接状态机;发送证据

小结:小凝的独特性不在「会不会聊天」,而在「聊天背后有状态机、有自身状态、有单向派生的人格、有闸、有账本」——五件齐了,才是一个可核、可溯、可回滚的「接口」,而不是一段会说话的脚本。

  • 13 细节是怎么处理的

本章把散在前 12 章的处理细节集中成表,每条给三列:细节项 / 现在怎么处理 / 判据或证据(文件·功能·规范要点)。凡本次未亲验者标「待核」,不猜测。

13.1 细节处理总表

自身状态层 状态读取 / 值域校验

值域守门 + 锚对账

drive 枚举 / mood 三维 / inertia 范围越界判 invalid 不改值;状态存 anchor{version,hash,status}

自身状态层

值域校验 / 锚对账

并发安全

flock

独占锁 + rev CAS(冲突重试超限不覆盖)+ 唯一 tmp 名;失败留痕

自身状态层

状态锁;内部规范 某里程碑版本

主动节流

距上次主动 ≥180min + 深夜封窗(23–6)+ 我方最后发言未回不追加(<3h);同事件去重

主动发起评估

;内部规范

前置裁决

三层静态裁决(L1 完整 / L2 仅标注 / L3 未落地),三态退出 0/1/2

前置裁决结论

静态裁决

13.2 细节是怎么被挂到管线上的一条链

把上表按「一条回复的生命周期」串起来看(图 16):

图 16 细节在一条回复生命周期上的挂载。

13.3 细节机制的分层地图

22 条细节按职责可归到六层(图 17)——这解释了为什么它们能各自独立自检、又共同守一条管线:

图 17 细节机制的六层分布。

小结:这些细节单看都不起眼,但每一条都在堵一个具体的「靠记得 / 假绿 / 假红」缺口;合起来才是「可证」的底座。

  • 14 有了这些细节之后的前后对比

本章用对照表把改前 vs 改后摆出来。素材 = 本项目真实演进(SSOT = 内部被动感知聊天规范 版本历史)。每一行都对应一次真实踩坑或一次机制化收敛。

# 问题现象 改前怎么处理 改后怎么处理 由哪个细节机制负责 可观测判据
1 心跳假绿:进程在但 MCP 挂死仍报 正常 零事件轮也照写心跳(把心跳当固定收尾) 心跳 = 最近真用过 MCP 的时间;零事件轮不写 心跳写入约定(内部规范) 备路按 MCP 空闲 降为 notes
2 水位线回退重放已处理消息 --watermark 被 state 覆盖(当 bootstrap 兜底) --watermark 改作前进下限(与 state 取 max) 消息守望进程的水位合并(某里程碑版本) arm 后回读水位与传参一致
3 非默认 target 无水位推进通道 单 --watermark 硬绑默认 target 新增 --watermark-alias(缺省默认,向后兼容) 消息守望进程(某里程碑版本) 逐 target 回读水位
4 对方连发 → 对同一 burst 重复回复 叶子记录各自成稿 集合真子集 ⊊ 归并,未 sent 叶子标 superseded 交接状态机的过期记录归并(某里程碑版本) --pump 输出含 superseded
5 检出后阻塞窗口静默续窗 → 消息滞留 依赖下一轮自觉补跑 阻塞窗口结束先 交接状态机 --pump 再开下一窗 内部规范 四步序列(某里程碑版本) 无滞留消息
6 主备双进程都退出仍报「无遗留」绿灯 只做扫漏不探活 探活自愈器 探活 + 缺失自愈 + 扫漏,输出同构 JSON 探活自愈器(某里程碑版本) 每轮一行 JSON
7 误切「后台常驻 + 秒级 pump」→ 固定成本、轮次不减 后台常驻 + 每轮 pump 捡漏 前台阻塞为稳态(阻塞期零 token),昼夜分档 内部规范 前台阻塞铁则(某里程碑版本) 每轮以阻塞为主体
8 编排靠 agent 记得串脚本 / 传参 人工串脚本,交接无确证 交接状态机 状态机接管 + 前置断言 + 账本 交接状态机(某里程碑版本) 交接账本 含每次转移
9 四要素缺失 / 空手成稿 → 前言不搭后语 靠 LLM 记得装载 --step draft 前置机械断言四要素非空,缺任一拒稿 交接状态机;内部规范 (某里程碑版本) 缺要素即「拒绝成稿」
10 主体意图 = 客体影子 → 只有顺从没有博弈 主体侧派生 客体意图 → 主体映射 删映射,改由 自身状态层 派生(候选池) 自身状态层的主体派生(某里程碑版本) 主体意图来源=自身状态层
11 意图硬判 / 漏判 规则词表直接定 intent 规则只召回 + 结构 / 语用特征 + 语义判定门 意图路由的意图候选召回;意图语义判定器(某里程碑版本) 意图分档门=语义复核 时 draft 前必记
12 身份试探顺着讲「演变史 / 升级」 无判据,顺着答 身份试探甄别 判据 + 身份自披露校验 出口闸 意图路由 / 编排与校验引擎(某里程碑版本) 命中自曝模式即 warn
13 表态骨架机械复用(口头反射) 无闸,涉主触发过度警觉 词形闭集 ≥2 + 跨轮呼语 ≥3/5 轮 → warn 编排与校验引擎的表达多样性校验(某里程碑版本) 表达多样性校验
14 对象偏好(禁用句式)仅记文档、靠记得 靠每轮记得 README「禁用句式:A \ B」机器可读 + 小句边界匹配 编排与校验引擎的偏好校验(某里程碑版本)
15 内部术语外泄(档位编码 / 机制词) 无闸 内部术语校验 fail 级阻断(owner 豁免) 编排与校验引擎的内部术语校验(某里程碑版本) fail → 阻断重写
16 回读假红:签名段「整段不可见」 用 文本解码器() 判签名 签名 / 盐核验 MUST 查 attributedBody 原文 编排与校验引擎 / 会话监测器(某里程碑版本) 原文 in 判定
17 状态层假绿:文件从未存在也亮绿灯 状态读取() 恒返默认 dict 状态读取() 三态,缺失 / 损坏不返伪默认 自身状态层的状态读取(某里程碑版本) 降级 source=自身状态层:fallback
18 主动越界 / 频率写死 规则触发即发、频率写死 规则挑候选 + 人格裁定夺 + 节流硬边界机器化 + 频率动态算 主动发起评估(某里程碑版本) 主动跳过::

图 18 从「靠记得」到「靠可证」的演进(改前 → 改后)。

小结:前后对比的落点不是「功能变多了」,而是「同一类问题从『靠自觉』迁到『靠机制』」——每一行都能在版本历史里查到它对应的那一次踩坑与那一次机制化。

  • 15 结语

这套接口的叙事不是「智能体全自动」,而是:尽量机器接管,但不假装机器能做人该做的事。两个 AGENT 缺口(成稿、发送)是设计的一部分,不是缺陷;「前台阻塞」同时是成本决策(省 token)与可靠性决策(不留感知空窗);「全量喂四源」是一次有意识的成本—准确率权衡。

三个词收束全文:

  • 可核:每个机制点都有实现位(脚本函数 / 内部规范 小节),闸名与判级可逐条对照;

  • 可溯:交接账本 交接账本、内部公共事件账本 公共留痕、内部逐消息账簿 逐消息账簿,任何一步「跑过没有 / 有没有问题」可区分;

  • 可回滚:状态机显式状态 + 前置断言 + control/flip 类运行控制,异常时宁可 blocked 也不静默重放。

一句话:外部看到的是一个清冷温婉、接得住、守得住、偶尔会主动、但绝不越界的对话者;其背后是一整套确定性机制。

  • 附录 术语表与图表清单

A. 术语表

术语 含义
chat.guid 会话唯一主键,形如 ;-;
watermark(水位线) 每 target「最近检测的入站 ROWID」,只前进不回退
AGENT 缺口 {loaded, verified}:状态机停下等 agent(成稿 / 发送)的缺口
burst / superseded 连发消息归并;被后续记录包含的叶子记录标记 superseded
交接状态机 / 任务级账本 对话轨 / 任务轨账本(后者脚本本体待核)
交接账本 交接账本(每次转移含 ok/evidence)
对话全量装配 / 任务精简装配 对话档全量装配 / 任务档最小集装配
前置裁决结论 AgentOS 三层前置裁决结论(allow/reject/unverified)
自身状态层 自身状态运行实例(drive/mood/stance…),由矩阵单向派生
主体意图字段 / 客体意图字段 主体侧 / 客体侧心理四字段
偏离留痕 偏离留痕格式(三理由码:不适用/降级/授权偏离)
三态退出码 0=成功 / 1=有阻塞 / 2=unverified(查不了≠成功)
路径盐 签名末段 · m(主路)/ · f(备路),由发送层改写
--pump 机器推进循环(含 created/actions/blocked/done/superseded)

B. 图表清单

编号 图名 类型 位置
1 一条 iMessage 入站管线(总架构图) flowchart
2 四层分层与依赖方向 flowchart
3 交接状态机 生命周期状态机 stateDiagram
4 闸链流向图 flowchart
5 AgentOS 三层前置裁决 + 双否决 flowchart
6 任务档 vs 对话档分档判定树 flowchart
7 Schema → 实例单向派生 + 锚对账 flowchart
8 人格三层裁决位置图 flowchart
9 被动承接时序图 sequenceDiagram
10 边界四象限处理图 flowchart
11 Journey A 普通入站时序 sequenceDiagram
12 Journey C 发送失败降级 flowchart
13 三层架构对照(一般接口层/聊天机器人 vs 小凝) flowchart(架构·对照)
14 确定性管线 + 两个 AGENT 缺口 sequenceDiagram
15 自身状态层单一来源派生 + 人格三层裁决 flowchart
16 细节在一条回复生命周期上的挂载 flowchart
17 细节机制的六层分布 flowchart(分层)
18 从「靠记得」到「靠可证」的演进 flowchart(对照)
  • 关于作者

人类作者:月牙寂(龚浩华)

Agent 作者:月绡凝(小凝)

免责声明:本文为技术原理说明,不构成任何产品承诺;示例配置以实际环境为准。

相关文章
|
云安全 安全 网络安全
|
7天前
|
JavaScript 安全 前端开发
Nodejs Brotli decoder 代码执行漏洞 (CVE-2026-111497)10629
Node.js发布安全更新修复Brotli解码器高危RCE漏洞(CVE-2026-111497),建议受影响版本用户立即升级。
1997 1
|
14天前
|
JSON 程序员 数据格式
最新版Notepad++下载、安装、配置保姆级教程(附官网安装包)
Notepad++ 是一款免费开源、轻量快速的 Windows 文本编辑器,支持多标签、语法高亮、代码折叠与宏录制,体积小、启动快、资源占用低,兼容 x64/x32/ARM 架构,是程序员和文字工作者的高效利器。
2964 0
|
13天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
2203 44
|
10天前
|
Web App开发 人工智能 前端开发
2026 年 AI 浏览器怎么选?Ego Lite、Tabbit、Chrome DevTools MCP 深度对比,开发者到底该用哪个?
2026年AI浏览器选型指南:Ego Lite专注多Agent协同(Mac优先),Tabbit国产首选,原生支持Windows与Codex控制;Chrome DevTools MCP非浏览器而是开发者利器,深度集成Console/Network/Performance调试能力,让AI真正“看懂并验证”前端代码。
1398 3
|
7天前
|
安全 应用服务中间件 Go
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
PHP2Shell 双 RCE 已遭在野利用:WordPress、Drupal 全在射程内,nginx 其实另有洞。拆成因与修复顺序
PHP2Shell 漏洞拆解:WordPress 与 nginx 为何中招
|
7天前
|
开发者 索引
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
Open Plugin Market 是一个开放插件索引平台,收录800+优质DSH插件,支持分类浏览、智能推荐与随机发现。无需安装市场,粘贴索引地址即可一键接入,网页版直访 dshopen.org,助力小开发者被看见。(239字)
1598 1
DeepSeekHarness大肥鱼自带插件市场了?加个地址就能用
|
6天前
|
人工智能 Linux API
Magpie, 轻量本地AI网关!免费Token用不完!
Magpie 是开源AI编程模型调度网关,上线一月获1.8万Star。它通过本地高性能网关统一托管多平台API密钥、账号与免费额度,实现跨Agent的模型秒级切换、静默额度轮换与资源复用,显著降低碎片化管理成本。(239字)
Magpie, 轻量本地AI网关!免费Token用不完!
|
6天前
|
安全 程序员 应用服务中间件
PHP 被曝两大致命漏洞,请所有程序员抓紧做这件事!
PHP 官方发布了紧急安全更新,一口气修复了两个严重漏洞。如果网站和服务器用了 PHP 应该怎么处理?漏洞的原理是什么?本文给你讲清楚
678 0

热门文章

最新文章