name: zoom-out description: "请 Agent 提高一层抽象,使用项目领域语言梳理相关模块与调用者。" disable-model-invocation: true
历史对照:从代码细节回到系统关系
这份极短的历史技能要求提高一层抽象,画出相关模块及调用者,并使用领域语言。
本课使用下方注明的历史提交原文,帮助理解旧文章和旧提示词。请勿据此认定当前版本仍能直接调用该名称。
还不清楚 Skill、Agent、安装和调用?先读 从零开始的6节入门课。
先把必要的概念讲清楚
看不懂某段代码时,先退到更高一层理解相关模块与调用关系。这不是放弃细节,而是先建立能安放细节的整体结构。
下面是老师补充的入门说明;原作者的要求保留在中英对照正文中。所有例子均为帮助理解而构造的教学情境。
module|模块
承担一组相关职责的代码单元,可以是文件、包或服务,不必等于一个文件。学习进度模块可以公开“记录进度”和“查询进度”,把计算完成比例、保存数据等细节藏在内部。划分是否合理,要看职责和依赖,不能只数文件。
interface / API|接口
使用者与一项能力交互时遵循的约定,包括可调用什么、传入什么、得到什么、失败怎样表示。接口可以是程序函数,也可以是网络请求。创建收藏接口接收用户和课程信息、返回收藏结果;它不需要向调用者暴露数据库表结构。这里的接口通常不是指页面外观。 本教材涉及更广义的“接口”时,还包括错误、调用顺序和约束等使用约定;不能把接口一概等同于网络 API。
domain glossary|业务领域术语表
规定项目的重要概念叫什么、指什么。domain 在这里是业务领域,不是互联网域名。课程是一组课时,课时是一份学习内容;混用会把“收藏课程”实现成“收藏某一课时”。统一语言不仅统一拼写,还统一概念边界。
读原文,理解每一步为什么这样做
左右内容按小节对应;窄屏先中文、后英文。两种语言均完整展示,对应讲解紧接在小节之后。译文传达原文要求;老师讲解补充概念、原因、例子与适用边界。
name: zoom-out description: Ask the agent to zoom out a level and map the relevant modules and callers using the project's domain language. disable-model-invocation: true
我对这部分代码还不熟悉。请先把观察层次提高一级,暂时离开局部实现细节。用项目业务术语表中的名称,为我说明所有相关模块以及它们的调用方,让我先看清这些部分怎样配合。
I don't know this area of code well. Go up a layer of abstraction. Give me a map of all the relevant modules and callers, using the project's domain glossary vocabulary.
抽象层级是解释单位的大小
逐行代码层面,你可能看到许多变量和函数;模块层面,你看到“学习记录输入—进度计算—结果保存—页面展示”。后者更适合先理解系统承担的职责。
**例子:**你问收藏数据怎样流动,AI 应说明页面调用哪个公开入口、谁检查用户身份、谁保存、谁读取显示,而不是一开始贴 200 行代码。
地图需要包含相关调用者,才能看见改某一模块会影响谁。使用领域术语表,是让图里的“课时”“课程”与需求同义,不是给内部缩写画漂亮框。
讲清模块关系后,再选一个节点深入。这种先总后分的学习方式有助于减少无处安放的术语,但地图本身仍要依据真实代码,不能按常见架构想象。
先看整体关系,才能理解某个函数为什么存在
假设你正在看 saveFavorite,却不知道它从哪里被调用。逐行解释语法,可能仍然不能回答“为什么需要用户编号”。
提高一层后,应先说明:页面发起收藏请求,后端识别用户,收藏模块决定如何保存,数据存储保留结果。再指出当前函数负责哪一步。
调用方就是使用这个函数或模块的地方。找出调用方,可以判断一次修改影响哪些功能。“相关模块”不等于列出全仓库文件名;图或说明应围绕当前问题,让你明白职责、输入与结果的关系。
先作答,再看参考思路
用自己的话说明:它解决什么问题,完成后会留下什么?
请各用一句话回答。若它只做规划或解释,不要把“已开发”“已部署”写成产物。
一张漂亮架构图怎样才能成为可靠的学习材料?
我已思考,查看参考思路
每个节点和关系应能对应真实模块或流程,并说明范围与省略之处。图形整齐不能替代依据。
原文中哪条要求在你的环境下可能不成立?
说出具体一句及其前提,例如工具不可用、资料缺失、已有项目约定冲突,或它只是作者偏好。把你的答案带回课堂,我们据此继续讨论。
把方法放进一个具体情境
教学案例:与其先讲十个解析函数,可以先说明“资料读取—证据核验—讲义生成—页面显示”。随后追踪一份资料怎样成为一篇课文,读者才有定位细节的地图。
边界与容易误读的地方
抽象图必须来自真实代码,而不能只画理想架构。它不负责重构,也不自动找全仓库所有关系。
讨论后再实践:先判断上述情境是否适用,再选择真实任务。现在无需安装、运行命令或修改现有项目。