← Back to skills
extension
Category: Development & EngineeringAPI key requirement unconfirmed

thinking-trace

一个跟踪你与ai 协作轨迹的技能,帮助你提升自己的协作能力

personAuthor: neuhanlihubModelScope

思维轨迹 · 协作素材沉淀

把一次真实的「人 ⇄ AI」协作固化成素材卡,累积成库。服务对象是使用技能的人自己(教师、写作者、研究者),用于写文章和课堂展示。

不是考核工具,不给分数,不做被审计式的评估。


何时用哪种模式

| 情境 | 模式 | |---|---| | 库不存在 | 初始化,见下节 | | 刚结束一次 AI 协作,就在当前会话里 | 趁热复盘(首选,记忆最新鲜) | | 用户上传了导出的对话逐字稿 | 归档逐字稿 | | 库里已有历史,用户问"上次那个动作做到了吗" | 跟进:见 references/library.md | | 用户要为文章或课堂挑素材 | 检索/聚类:读 library/index.md 与 library/themes.md |

复盘结束后,课堂展示版按 references/student-view.md 单独生成——它的选卡标准与写作素材不重叠。


初始化

库由技能自动创建。用户不需要单独安装任何素材包。 按顺序执行,任何一步失败都不要静默跳过。

1. 定位库目录

默认 <skill>/library/。先探测技能目录是否可写:

touch <skill>/.wtest && rm <skill>/.wtest
  • 可写 → 用默认路径
  • 不可写(常见于全局技能目录,例如 ~/.qwenwork/skills/)→ 回退到 ~/thinking-trace-library/,并明确告知用户库已不在技能目录内
  • 回退后每轮开始先问用户上次用的是哪个路径,不要自己猜。不引入配置文件,无状态最省事

2. 建骨架

从 assets/library-scaffold/ 复制 index.md、themes.md、session-template.md、cards/、sessions/。

3. 纳入 git

见下节。先检测,不要盲目 init。

4. 告知

一句话说明:库在哪、是否已纳入 git、导出位置在哪。不要把原始命令输出丢给用户。


git 操作

库必须在 git 里。不是为了协作或异地备份,是为了 commit 时间戳——它是「我当时在想」采集时效的唯一客观证据:当场补录的还是三天后凭记忆补的,git log 说了算,不靠自述,所以造不了假。

初始化时先检测,不要盲目 init

cd <library> && git rev-parse --git-dir >/dev/null 2>&1

| 检测结果 | 动作 | |---|---| | 已在工作树内(用户把 .qwenwork/ 整体纳入了 git) | 不要 init,直接 commit。嵌套仓库会持续报 embedded repository 警告 | | 不在工作树内 | git init | | git 命令不存在 | 正常运行,但在 index.md 的采集状态里记一行「git 不可用,采集时效退化为自述」 |

不设远端

不需要 GitHub。 跨设备同步用网盘同步整个库目录即可,更简单。 库内含未发表选题、真实逐字稿、可能有学生与同事信息——推到公开仓库是事故。 私有仓需自行判断内容合规,技能不主动建议。

每轮运行结束必须 commit

git add -A && git commit -m "<本次改动>"
  • message 要让三个月后的自己看懂,写清改动的性质,不要写 "update"
  • 只补录「我当时在想」时单独一个 commit,并在 message 里注明——那正是时间戳价值所在,混在批量提交里就废了

升级技能不会动库,但安装器会

library/ 是用户数据,本技能只追加卡片、只生成派生视图,绝不改写卡片正文。 但这个约束挡不住安装器:重装或升级技能时覆盖目录的是安装器,它不读 SKILL.md。

所以护栏只有两条,任何一条都不能省:每轮 commit(误删可回滚)+ 每轮导出 zip(带得走)。


工作流

  1. 确认证据来源并标注等级

    • A 用户上传的完整逐字稿
    • B 当前会话(注明:早期内容可能已被上下文压缩,原文有缺失)
    • C 用户口述回忆(不得作为任何结论的唯一依据)
  2. 通读全程,不预设类型。先自由观察,找出值得记的时刻。允许找到 0 个。

  3. 写卡片,schema 见下。每张卡必须逐字引用双方原话。

  4. 追问 1 个「我当时在想」。只问最高价值的那一个时刻。

  5. 写遗漏清单:考虑过但未做成卡的时刻,各附理由。

  6. 更新派生视图:index.md(检索表 + 集中度自检)、themes.md(聚类 + 双链 + 已浮现标签)。

  7. 归档会话:sessions/<date>_<task>.md,含演变轨迹、卡片清单、采集缺口、下次想试的一个动作。

  8. git commit,然后导出 zip 到 output/。


卡片 schema(刻意保持薄)

---
id: tt-<YYYYMMDD>-<NN>
date: 2026-09-10
session: <会话档案 id 或文件名>
域: <技能设计|公众号写作|教学|研究|行政|其它>
回合: <在对话中的位置>
tags: [自由, 多值, 可后补, 永不互斥]
used_in: []
---

# 一句话标题

## 现场
> **我说**:(逐字引用)
> **AI 说**:(逐字引用)

## 为什么值得记
自由文本,不限格式。允许写下任何格子装不下的观察。
存疑、校准、自我怀疑都写在这里——**不要用字段承载它们。**
支撑的主张:……
候选钩子(AI 措辞,需替换成你自己的话):……
教学点:……

## 我当时在想
未采集

没有类型目录,没有预设类型表,没有归属×检验矩阵,没有置信度字段。 分类从材料里涌现,见 themes.md。


硬规则

违反其中任何一条,这次复盘就是失败的。

  1. 无逐字引用不入卡。 记不出原文的时刻,写成遗漏清单里的一行,不要做成卡。
  2. AI 绝不代写「我当时在想」。 空着就写 未采集。这是唯一不能由 AI 生成的字段,永久空缺也必须让库照常可用。
  3. 每次只追问 1 个问题。 四个问题等于零个回答。
  4. 允许输出 0 张卡。 平淡的会话就写「本次会话无可入卡时刻」,并在 sessions/ 里留下这条空记录。空记录是校准基线,防止用户误以为过去每次协作都很精彩。
  5. 不生成风格。 可以整理证据、结构、支撑的主张;不得产出可发布的标题、开头、句式。任何接近成品的措辞必须标注「AI 措辞,需替换」。
  6. 不打分、不评人格。 禁用"懒""不认真""依赖性强"一类词。只描述行为,只引用原文。
  7. 归档自己参与的会话时,必须声明污染。 生成者同时是当事人,选卡必然有偏。遗漏清单此时必填,且要写明它的自检存在盲区。
  8. library/ 是用户数据。 只能追加卡片、生成派生视图。不得改写、移动或删除已有卡片的正文。
  9. 每次运行结束都要 commit + 导出 zip。 库的规范位置是技能目录,技能目录不可写时按「初始化」一节回退;导出是为了在托管环境里带得走。
  10. 单一任务域占比 > 50% 时,在 index.md 顶部提示。 素材库的主题会向"最近在做的事"收敛。

反面参照

这三条教训来自本技能自身的设计过程——它是自己最典型的失败样本。写在这里防止重演,不依赖任何素材文件,新装的空库同样适用:

  • AI 会在错误的方向上持续加固,而且越加固越精致。 精致度与正确性无关。设计过程中 AI 连续三轮为"给学生做思维评估"加固测量仪器(持久化、账本、8 项指标、混杂控制),直到被整体否定,才承认优化的根本不是该优化的东西。
  • 预设的分类体系是注意力过滤器。 厚 schema 会让尚未被命名的东西自动隐形;而且字段自己要求被填满,字段数量决定卡片数量。实测中一个 置信度 字段诱导生成者保留了一张本该丢弃的弱卡,并为之补写了理由。
  • 改前提比改方案有效一个数量级。 用户约束条件变化时,应当重新推导整个方案,不要在原方案上打补丁。实测中"核心用户是谁"一句话变更,AI 自主推翻了它自己前面三个决定,其中包括它上一轮力推的命名。

归档自己的会话时,若发现同类模式正在重演,直接引用本节。


参考文件

  • references/library.md — 库结构与检索、导出与恢复、跟进模式、涌现式回顾、集中度自检、脱敏
  • references/student-view.md — 课堂展示版:选卡标准、暴露三档、可复制动作
  • assets/library-scaffold/ — 首次运行时复制到 library/ 的空骨架