- 亲手做过的实验
- —
- 已读配套课
- —
- 计入进度
- 39 / 40 个页面
进度只写本机浏览器,不上传。
目的筛选
你想先弄懂什么
-
Turn 流程与日志对应
一次 Turn 展开成 20 步、4 次模型请求、9 条日志事件。滑杆停在哪一步,都能对上这一步写进了日志哪一行。沙盒区五个旋钮连续可调:改消息长度、工具次数、失败位、被拒开关和中止红线,看轨迹当场分叉。
-
Session 日志重放
拖动重放位置,看状态怎么从日志逐条折叠出来。往下还有 SQLite 物理行面板:连续增量怎么折成一条打包行,多大的 data 才走压缩?
-
LLM 流式拼装
chunk 按到达顺序进 BlockAssembler;finish 之后才到的重复增量必须被丢掉,否则同一段话出现两遍。逐步推进序列,看着消息拼完。
-
提示词装配与缓存边界
系统提示词按 order 升序拼成一条;变化点之前的前缀照旧命中缓存,之后的字节全部重算。换 persona、改策略、动工具表,当场看账单怎么分。
-
包依赖图证据
横轴是一个包 src 的行数,纵轴是多少个包在 peerDependencies 里指向它。最被依赖的包往往最小:右下角和左上角各讲一个故事。
-
Web 工具管线
HTML 转 GFM 时 script/style 整体剔除,嵌套超 512 层就原文透传;provider 截断、源码切割、超帽任一为真即追加脚注。搜索侧:多查询轮转合并、URL 去重、封顶即停。
-
Profile 解析顺序
同一组 Bundle,把「严格上限」拖到前面,maxTurns 就从 4 变 12:决定结果的是最后一个写它的步骤。overlay 永远叠在最后。滑杆能逐步回放每一步写入后的中间配置。
-
插件订阅与日志
只观察 tools/result 的最小插件摆在三层时间线上:关掉订阅,执行照常广播、宿主照常写日志,少的只有它的预览。「中途订阅」场景反过来:登记前的广播照样错过。滑杆逐步推进时间线。
-
Session fork 与修复
三种崩溃形态 × fork 开关共八种组合:工具缺结果补 unknown,流式中断补 interrupted 消息,Turn 未开步补写 turn/end。子会话继承哪段前缀,滑杆逐步看。
-
审批流
一次 ask 只有四种结局:allowed-once、rejected、cancelled、unavailable。把应答者拿走会落到哪个词?策略 never 又由谁裁决?
-
Shell 解析缝隙
resolve(request) 把省略值补成可执行的 Spec:workdir、超时补默认、封顶,沙箱执行器给 policy 盖章而本地执行器惰性透传。run/start 只收这份 Spec。
-
Trajectory 投影
UI 不是另一份真相:拖动重放滑杆,看用户气泡、打字中的助手块和工具卡(generic / terminal / diff)怎样从事件流一张张折叠出来。grep 的等待态为什么保持 generic?
-
技能目录渐进加载
目录只含一行 name+description 摘要;digest 变了才追加完整替换信封。改描述、增删技能、切工具可见性,看 initial → replacement → retired 与 skill 工具的三种结局。
-
后台任务生命周期
kill 返回 requested 并认领 reported;结算先到先得,迟到的 resolved(completed) 被忽略;teardown 排空后零通知。三个剧本 × 三种结局逐步推。
-
定时与工作流编排
after/at/every 三种触发器:冷会话错过 3 个锚点也只投最新一次、然后一步推进。工作流侧:meta 先校验,agent 按 seq 配对,取消走有界宽限强结算。
-
工作流节点折叠
四条 log-only 记录折成一个聊天节点:相位只认启动过的成员、空串与省略分列;截断日志是合法前缀,按 interrupted 呈现且工具卡一字不改。
-
客户端三面镜
ui-tool 的卡片状态机、ui-conversation 的折叠引擎、ui-user-questions 的提问接管——三个组件族各配一个可推演面板,契约原文落在每个格子里。
-
Web 提供者矩阵
同一缝隙三种搜索实现:DeepSeek 整轮调用走严格模式、Exa 纯检索、Perplexity 答案+引用。选择表六种情形各有专属错误码;fetch 卫生规则逐条校验。
-
溢出转储
工具结果超过 maxInlineBytes 之后:完整文本进会话工件,模型拿到预算内的 head/tail 预览加定位符——read 豁免、无后端放行、未配置即 no-op。
-
终端会话
cd /tmp 之后再 pwd 读到哪里?持久会话跨发送延续 cwd 与环境变量;一次性模式每条命令都是新世界。并发第二次发送被拒,kill 等整棵进程树停稳。
-
MCP 客户端
外部服务器的工具以 mcp__server__tool 限定名进场;断线后指数退避重连、预算耗尽即放弃;卸载时注销全部工具并释放命名空间,同名热替换公开名不变。
-
自我修改
模型用 cordis_define/run/stop/undefine 给自己装插件:能力随 run 进入 schema、随 stop 消失;坏定义 fail loud 零挂载;动态工具照样过权限管线。
-
线协议
按行分隔的 JSON-RPC:request 带 id、response 认领同一 id、notification 单向不等待。服务端错误走 response 通道,initialize 必须是第一句。
-
研究 ↔ Debug 离线桥
课程网站和独立 Debug 工具之间只靠显式文件交接:这边生成 request 文件,那边回填结果文件,页面逐项核对结论。
-
Code 运行结果分类
程序失败时 run() 照常 resolve:error 是结果上的字段。六种失败类彼此正交——exception、timeout、abort、worker-exit、invalid-output、output-limit;binding 命名空间要过三道检查,$tools 这类 JS 拼写在任何后端都被拒。
-
宿主路由与接缝
webserver 是唯一的 HTTP 载体:请求先扫已注册路由,全部未命中才轮到 frontend-static 的回退座位。目录选择走 ctx.directoryPicker 接缝——native 与 browse 互换后端,消费方的契约一个字不改。
-
运行时不变量
每个包从自己的 ./invariant 伴生插件注册检查:包名第一步就被保留——关掉检查也占住名字;fail() 抛出的错误带完整包名归属;失败的子 fiber 被销毁、保留位释放。
-
存储后端契约
一个后端独占一种介质,kv 切面缺位就大声失败。单元名同时当文件名和 SQL 标识符,大写连字符直接被拒;版本戳对不上按 version-mismatch 拒开;写完即持久,删缺失键幂等,close 之后一切报 closed。
这一组暂时没有实验。换一个筛选条件看看。