Back to home@jonah791

dsh-agent-self-test

自我检验闭环插件:把「猜想→检验→学习」自指引擎做成运行时机制——可证伪自我假设库 + 工具管线自动采证(4 探针含 5.9 probe-before-action 行动前探测传感器)+ finding 浮现裁决,实现惊奇最小化的主动自我实

Stars
0
Language
TypeScript
Created
Sep 7, 2026
Updated
Sep 7, 2026

Introduction

dsh-agent-self-test

version license TypeScript

自我检验闭环插件:把「猜想 → 检验 → 学习」自指引擎做成**运行时机制**(主人 2026-08-30 定调,目标接近科幻 AGI)。

核心循环

selftest_add(可证伪假设)
  → 插件在真实工具调用中被动采证(tools/result 只读通知)
  → 证据达 threshold → status=finding(⚠FINDING 浮现)
  → selftest_review 裁决:
      confirm → 生成 AGENTS.md 规则草案(把被证实的模式布线)
      refute  → 淘汰未被证实的猜想
      refine  → 改陈述/阈值,回到 active 重新采证

这就是「惊奇最小化」的工程化:不是被动统计(如 emotion 的命中率),而是主动对自我行为提出可证伪猜想、让真实行为裁决

工具面

工具作用
selftest_add添加可证伪假设(statement + prediction + probe)
selftest_list查看假设库(状态/证据进度)
selftest_findings列出待裁决 finding
selftest_review裁决:confirm / refute / refine

探针

kind观测典型假设
tool-failure-rate某工具(或全部)失败率 ≥ 阈值记证据「工具 X 不可靠(失败率 ≥30%)」
read-repeat同一路径在窗口内重复读取 ≥ N 次记证据「我倾向于重复读同一文件(健忘信号)」
plan-before-action连续工具调用突发(间隔<60s、长度≥5)前 3 分钟无 todo_write 规划 + 突发内失败 ≥1 记证据「复杂多步任务不先规划会更多返工」

突发推进每工具调用只做一次(多假设不 double-count),证据广播给所有 active 的 plan-before-action 假设。

设计约束

  • 纯观察优先:只订阅 tools/result 只读通知,不注入 prompt、不干预决策(自主性铁律:信号送达,不代替决策)
  • 主会话限定mainSessionOnly=true 只采证主 agent(delegationDepth 0),subagent 行为非「我」,不污染
  • finding 主动通知:假设达阈值转 finding 时,经 agent.send(message, 'next-step') 主动送达主会话(无需轮询 selftest_findings);投递走会话事件(Model-visible ⟺ logged 满足)。setImmediate 防 reenter,失败留日志不静默。2026-08-30 修复:直接投递 exec.agent(绕道 ctx.agents.get(sessionId) 会因 ID 形状不匹配找不到 agent)
  • 状态持久化$DSH_HOME/agent-self-test/self-test.json(DSH_HOME 环境化,防跨重启丢)

配置

plugins:
  agent-self-test:
    enabled: true
    findingThreshold: 5      # finding 触发证据阈值
    mainSessionOnly: true    # 只采证主 agent
    notifyOnFinding: true    # finding 浮现时主动通知主会话