门户首页
MDE 高级讲义 · 实战专题(第四模块)· 第五篇

动手与思考:跑起来、投轨迹、做习题

前四讲看的是「我们的」轨迹;这一讲换你自己的。三条实训路径(浏览样例 → 上传轨迹 → 命令行探查)+ 五道思考题(含「kimi 为什么被拒解」),把 04–07 讲的概念全部过手一遍。

生成时间:2026-10-08 · 版本 v0.2.2 · 3 条实训路径 + 5 道思考题 · 生成 Agent:ZCode (LLM: GLM-5.3) · 载体:agentsoft-research-platform teaching-web-platform · 环境:本机 TMR 服务(bash scripts/start_tmr.sh,端口 8767 起)

概览

3
条实训路径
5
道思考题
18
源样例可浏览
1
条命令起服务
本讲所有操作都在本机进行(教学云端不含此服务):在教学仓库根目录跑 bash scripts/start_tmr.sh,服务就绪后自动打开浏览器(8767 起自动探空口)。教学站导航栏的「轨迹模型」入口在本机也会探测到它。

第一篇 · 实训路径

第一篇 · 从浏览到命令行
三条路径按投入递增:先看别人的,再投自己的,最后脱开界面用 API。
路径 A · 浏览样例(10 分钟)

把 07 讲那张 18 源表亲手复现一遍

课堂实训
  • 起服务后进入首页,样例下拉应能看到 18 源全量(每源一件代表性文件)
  • 选一件 → 「开始分析」→ 认源结果出来后切「实例 M0」看容纳链图
  • 对照 07 讲第三篇的表:你手里的实例分布数字和表里一致吗?(分布以 _class 计数;同一文件分析结果确定可复现)
  • 滚轮语义与通用工具一致:裸滚轮滚页面、Ctrl/⌘+滚轮以光标为锚缩放画布、触控板捏合平滑缩放
路径 B · 上传自己的轨迹(20 分钟)

你在课程里用过的 agent,落盘都能投

课堂实训
  • 找到你所用 agent 的会话落盘(Claude Code 的 ~/.claude/projects/*.jsonl、aider 的 .aider.chat.history.md 等)
  • 首页拖放区上传(≤64MB)→ 分析 → 观察三件事:认源判对了没有、落在四态哪一态、实例里哪些元类空着
  • 提示:上传你自己的真实轨迹前先想一层隐私——落盘里通常有绝对路径与你敲过的每一条命令(demo-corpus 入库前经过专门脱敏流程)
路径 C · 命令行探查(30 分钟)

脱开界面,直接对话服务 API

课堂实训
# 列样例(18 源各一件)
curl -s http://127.0.0.1:8767/api/samples | python3 -m json.tool | head -30

# 提交分析(认源 → 还原 → 回译全链)
curl -s -X POST http://127.0.0.1:8767/api/inspect \
  -H "Content-Type: application/json" \
  -d '{"path":"demo-corpus/claude/8ee257b6-b37e-4cb2-9a51-66e596cb14e5.jsonl"}'

# 取实例 JSON,数一数每个 _class 出现几次(07 讲表格的生成口径)
curl -s http://127.0.0.1:8767/api/jobs/<job_id>/instance | \
  python3 -c "import json,sys; print(json.load(sys.stdin)['instance'])" | head -40
  • CLI 同源入口:cd ref-work-modules/agent-trajectory-modeling && PYTHONPATH=. python -m trajectory_model_reflection inspect <轨迹文件>
  • 试着用路径 C 的口径算出 openclaw 的 Step 数(07 讲表:200)——这是最直接的「实例 conforms-to 元模型」体感

第二篇 · 五道思考题

第二篇 · 把概念过手
每题都指向 04–07 讲的一个核心概念;多数题在本机 30 分钟内可动手验证。
思考与讨论 · 5 题

从拒解边界到设计空间

  • Q1 拒解的边界(06/07 讲):本仓 kimi / mimo / opencode 等 5-brand 实验轨迹流投进去全部 rejected。它们是平台自产的事件表格式,不在已登记源之列。你认为该为它立一个源模型定义、还是坚持拒解?两条路线各自的代价是什么?(提示:立源 = 多一个 definition + canonical map 的维护成本;拒解 = 实验数据永远进不了这个元模型)
  • Q2 给方言设计映射(06 讲):任选 continue 或 crush 的样例文件,打开原始 JSON,为其中 5 个字段各写出「源字段 → 13 类哪个属性」的映射,并指出哪个字段没有落点(映射不满就是 partial 的来源)。
  • Q3 同一现象的两种表达(04/05/06 讲):「上下文压缩」在 19 系是 AssemblyOp 的 COMPACT 操作动词(+ lossy/evidence),在 13 系是完整的 CompactionRecord 类(+ trigger/semantics/covers/produces)。各画一张这个现象的实例草图;讨论:什么研究问题用哪个表达更顺手?
  • Q4 不变量的现场验证(05/07 讲):拿 07 讲 swe-agent 实例(Step 5 / Message 7 / Part 7)验证 19 系不变量 I1(每个 ToolResult 必有 ToolCall 来源)在 13 系实例上的对应表述。两个元模型的不变量能互相翻译吗?哪里译不过去?
  • Q5 元模型演化治理(05 讲):假设要给 13 系新增一个 EClass「CostLedger」(token 成本台账),按 19 系的工程纪律写出完整流程:改哪个文件、跑什么命令、哪三样必须同一提交、哪道闸会拦住手改投影的行为。
Q1/Q3 开放讨论,无标准答案;Q2/Q4/Q5 有可验证的参考路径

第三篇 · 去向与延伸

本篇 · 读完本专题之后

三条延伸线

  • 工具链细节:认源打分的信号体系、四态判档口径、隐私即架构——专题 05 工具链讲义(含在线三态演示)
  • 过程分析:模型建好之后做什么?trajectory-0~4 系列讲拿轨迹做评估(读取 / PRA / 分类 / lint)
  • 理论回炉:回到 02 讲把 Ecore 构造块再看一遍——现在你应该能「看见」每一块在两套 .ecore 里的实例了