用途:Docent 把“理解某段代码逻辑”从线性问答升级为一份可视化、可交互、可离线打开的理解制品,目标是让没跟上进度的人在约 10 分钟内建立对目标代码逻辑的正确心智模型。仅当用户显式调用 /docent <参数> 时使用,普通问答不自动触发。
入口与参数:/docent <自然语言问题 | 路径>。若参数是仓库内存在的文件或目录路径,理解范围即该路径并跳过定位;其他文本当作主题,由子代理先定位相关代码;无参数时先询问用户想理解什么,不凭空猜测。
执行模型:主 agent 只解析参数、派遣一个专职子代理、交付结果。定位、通读、合成、生成均在子代理内部完成。采用单个而非多个子代理,因为理解是不可分割的认知过程,并行碎片化阅读会切断跨文件因果链;子代理的价值在隔离上下文消耗。派遣时需传递用户原始问题或路径、当前工作目录、skill 目录绝对路径、当次对话语言。若运行时不支持派遣子代理,可在主对话内完成,但需提醒上下文已被大量代码阅读占用。
子代理工作流:先定位,从文件名、符号名、字符串字面量、git 历史等多角度搜索,汇成核心文件与外围文件清单,范围过大时缩小核心清单并在阅读足迹中可见;再按逻辑流通读核心文件,沿调用链和数据流走,对照 git 历史理解演化;然后合成必答九条:为什么存在、入口与主流程、代码地图、数据流转、坑与特例、相邻契约、历史演化、如何验证理解、阅读足迹;最后生成 HTML 报告。
报告要求:不固定模板,每次针对问题定制。最终 HTML 由 assemble.sh 拼装,资产由脚本注入,只生成正文片段、图的 JSON 数据和定制版式 CSS。可视化手段可选时序图、流程图、状态图、对照表、可折叠下钻、带锚点代码片段。硬性约束包括第一屏架构总览、至少一张标准软件工程图、所有代码结论附 文件:行号 锚点、单文件离线零网络请求、阅读足迹不可省略、正文跟随对话语言、写入 /tmp 不落进项目仓库。
交付与纠偏:子代理返回后自动用浏览器打开报告,并在主对话给出文件路径和文字摘要。用户指出定位偏差后,在同一会话内重新派遣子代理修订,不引入跨会话持久化状态。
限制:不得并行派遣多个子代理分头阅读;不得把报告或中间产物写进项目仓库;不得复用固定 HTML 模板;不得写没有锚点支撑的代码结论;不得静默裁剪范围。