用途:teach 用于从示例文件中学习可复用的模式。用户向 AI 展示一个写得好的产物(模型、查询、配置),由 AI 提取值得遵循的模式。
主要能力:识别用户提供的文件引用(如 @models/staging/stg_orders.sql)并读取文件;分析并提取结构性模式而非具体内容,关注文件结构与组织(分节、排序)、命名约定(前缀、后缀、大小写)、SQL 模式(CTE 与子查询、连接风格、列顺序)、dbt 约定(物化、测试、配置块)、常见样板(头部、注释、导入)、数据类型选择、错误处理模式;以结构化列表呈现发现,要求具体(如“列顺序:键、维度、度量、时间戳”);在保存前让用户确认、修改或拒绝。
使用方式:通过 /teach 命令调用,例如 /teach @models/staging/stg_orders.sql、/teach staging-model @models/staging/stg_customers.sql、/teach @dbt_project.yml。若用户在 @文件 前提供名称(第一个参数),则用作模式名;否则根据文件类型和用途推断名称。确认后使用 training_save 工具保存,参数包括 kind: "pattern"、name(描述性 slug,如 staging-model、incremental-config)、content(提取的模式,简洁可执行的清单)、scope: "project"(默认,通过 git 与团队共享)、source(学习来源的文件路径)、citations(引用源文件)。
适用场景:为团队沉淀代码规范与约定,让 AI 队友学习项目中的 staging 模型、增量配置、dbt 项目配置等模式。
限制与准则:提取模式而非内容(“使用 {{ source() }} 宏”是模式,“查询 orders 表”是内容);每个模式最多 10 个要点,超出则拆分为多个模式;使用文件实际约定,不强加个人偏好;若文件没有值得学习的清晰模式,应如实说明;除正常对话流程外不进行额外 LLM 调用,模式提取在分析中完成,而非通过单独 API 调用。其他细节暂未提供。