跳到正文

事件

三本喊话册

选对事件域,是大多数改动的第一个决定。日记、对讲机、规矩,不要写错本子。

session

会话事件 · 日记

写进本子、重启还在的事实。

何时:必须在重新加载后仍然存在

  • turn/start · turn/end

    一轮作业的开合

  • step/start · step/end

    一次想+做

  • user/message

    进入步骤的输入(surface)

  • assistant/chunk · assistant/message

    速记与誊清

  • tool/call · tool/result

    动手与成绩单

  • request/header

    冻住的请求信封

  • session/event

    对外广播每一条日志

agent

Agent 事件 · 对讲机

正在干活时喊的话,不写进日记正文。

何时:观察或拦截飞行中的工作

  • agent/inbox/*

    inserted / claimed / discarded / spliced

  • agent/status

    idle ⇄ running

  • agent/pre-step

    waterfall:拒绝或改写领取

  • agent/request

    waterfall:换模型,不换作文

  • agent/request-error

    waterfall:重试或放行失败

  • agent/turn-stopping

    serial:最后塞一张便利贴的机会

capability

能力事件 · 规矩

不必走进心跳房,也能给插座加锁。

何时:向 seam 附加策略和适配器

  • llm/stream

    waterfall:包住适配器流

  • tools/pre-execute

    allow / deny / ask

  • tools/execute

    包住工具函数(超时、指标)

  • tools/post-execute

    accept / replace / block

  • fs/write-intent · fs/edit-intent

    写前观察策略

  • system-prompt/assemble

    提示词最后组装

工具流水线

  1. 01createExecution:冻住参数
  2. 02tools/pre-execute waterfall:allow / deny / ask
  3. 03若 ask → ctx.approval
  4. 04ToolGuard[]:只能更严,不能放宽
  5. 05tools/execute waterfall:超时手表包住 tool.execute
  6. 06tools/post-execute:accept / replace / block
  7. 07finalizeContent:最后改模型可见文本,不许抛错
  8. 08tools/result emit:成绩单冻住

四种喊法再看一眼

emit

广播:谁爱听谁听,不能否决。

waterfall

必须喊 next() 把纸传下去,否则就是你做主。

parallel

全班同时做同一件事,比如把日记刷到磁盘。

serial

排队发言,没有 next()。turn-stopping 就是这种。