 ChaiHaoandClaude Fable 5
|
1917320584
|
Mastra 化前置:loop 三修 —— 提交放行发真验收卡、事件只记不跑、轨迹喂回叙事面
勘察(两路 code-explorer)坐实 loop 范式三处真缺口,本轮先修(用户拍板),
与 Mastra 化解耦、按外科手术做(活动内 MVP 期高内聚不过度抽象):
① 提交放行走不到 released:submit/判齐只返回 submitted,task 层当 running
处理,任务原地重跑到预算耗尽(exhausted 而非 released)。
修:提交 = 发**验收卡**挂起等裁决(raiseAcceptance 唯一出口:发卡、立监听、
在途验收入状态信封 sys.loop_state.pending,迁移 0015);判齐重入不发第二张卡;
裁决 pass → finished released(选口随放行带回),reject → finished 不放行。
TurnOutcome 增 finished/released/selectedPorts,engines 接线透传。
② onEvent 双拍:自跑一整拍后 deliver 的 tick 再跑一拍 —— 每次人卡回传多耗
一次不计 steps/activeMs 预算的模型决策。修:onEvent **只记不跑**
(登记 occur / 收验收裁决入信封,存快照即返),推进统一归 tick,预算一个口径。
③ Agent 每拍失忆:memory.window 定义了但零调用,任务自身轨迹从不喂回 prompt。
修:叙事面新增【本任务最近轨迹】段,窗口大小取活动声明的
manifest.declarations.harness.memoryWindow(活动侧唯一记忆配置,不再硬编码)。
测试:turn-runner-acceptance 八例;全量绿,五闸退出码过;loop CONTRACT.md 同步。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
|
2026-07-28 23:02:41 +08:00 |
|
 ChaiHaoandClaude Opus 5
|
94f31f267b
|
调优:并发推进的真根因 + loop 的三处行为修正
E2E 跑 loop 时 A3 一口气发了八张一模一样的「请处理」卡。逐层查下去,四处:
① **并发推进的真根因**:`pg_try_advisory_lock` 是**会话级**的,而我们经连接池取连接 ——
加锁与解锁多半落在不同连接上,解锁解不掉自己那把;同一连接被复用时又因可重入而直接放行。
两头都不对,于是同一任务被并发推进(现象:同一步跑两遍、同一张卡发两张、
同一行草稿写出两条互相打架的版本)。前一轮「共用同一把锁」的修法方向对、器械错。
改用**进程内按目标互斥**(MVP 单进程,确定且够用),推进器与派发器共用一把;
多进程部署时再叠事务级 `pg_try_advisory_xact_lock`(随事务释放,不依赖连接归属)。
实测:同一单从 8 张卡降到 1 张,2 回合后落到等待。
② **非法行动会把回合打死**:AI 提了不合法的生命周期迁移(Available → Disabled),
`applyAction` 抛出、运行时没落笔、推进器一遍遍重来。引擎拒绝它是对的
——「语义忠实:引擎不得私改迁移拓扑」——但不该因此崩掉。
改为:拒绝 + 留痕 + 把理由喂回下一回合的上下文。AI 提出非法行动是预期内的事。
③ **副作用抢在校验之前**:卡在迁移合法性判定**之前**就发出去了,于是每个被拒的回合
都白发一张卡 —— 卡收不回,负责人工作台上堆起一摞没人知道怎么答的「请处理」。
human / tool 两个分支改为**先验迁移再动手**。
④ **裸调用**:模型只回一个「请处理」。按「调用必附上下文,裸调用不得发出」(AM 06)
把卡面结构写进出参 schema(title / ask / basis / fields 必填),提示里讲明要求,
归一时用当下局面兜底;卡片装配也修了 —— 结构化 basis 优先,嵌套对象转 JSON,
不再出现一行 `[object Object]`。
实测卡面:「请确认 NE555P 历史报价并判定采用策略」+ 三个回填字段。
gates: tsc / eslint / depcruise(336 模块)/ api-report / 429 测试 全绿
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
|
2026-07-27 11:31:41 +08:00 |
|
 JCAI Main AgentandClaude Opus 5
|
3c974d2860
|
M4: 范式引擎与任务运行时
skill-engine(L4):载方法不载权力(白名单外工具即拒)、结晶片段经 ToolInvoker 留痕、
装配入信封、技能目录渐进披露
flow-engine(L5):四种步型、确定性谓词跳步、重试与声明给定的兜底、
异步步即监听(时限必配)、写类工具登记动作意向、步序位置持久
loop-engine(L5):自研 CMMN 子集解析器(表外构件直接报错,子集封顶可机器证明)、
两副标准生命周期与迁移拓扑(引擎不得私改)、Enabled ≠ Active、
语义性前提标待裁量评估(引擎不代裁量)、DMN 确定性求值 + 命中行留痕、
DRD 缺口演绎与拓扑序、双向驱动与交集导航(断点即人环)、三型行动、
终局唯放行与 Harness
task(L6):终态五名裁定(released 唯一成功)、Harness 预算环外强制与停滞熔断
(监听中是健康态)、控制三语义(叫停不是终态,记最重档纠正)、改派留痕通知双方、
断点续跑三份持久状态、封卷触发蒸馏钩子
301 个测试通过,门禁五道全绿
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KeDBx2PHLavbURXB8LJJ7m
|
2026-07-27 01:51:22 +08:00 |
|