去掉重构任务相关段落("当前进行中的重构"以及对 agent_instruction.md 的索引),保留并细化常驻规则。 主要调整: - 拆出"写作风格"与"LaTeX 操作约束"两块,原"通用规则"过散 - LaTeX 编译措辞从"绝对禁令"改为"默认不编译,阶段性收尾 时用 xelatex 验证",避免修改后才发现 undefined ref - preamble 边界澄清:补 \newacronym 词条不算改 preamble - archive/ 措辞改为"历史草稿仅供查阅",与保留追踪状态一致 - 新增"效率与 token 准则"一节,沉淀 Grep 优先、不重读、 不创建中间元文档、响应不写 trailing summary 等做法
4.7 KiB
4.7 KiB
项目说明
LaTeX 学习笔记:相控阵 DoA + Doppler 估计与 CRB 推导。作者 Josh Gao,单人项目。
结构
- 主文件:
doa_doppler_est.tex(preamble 与\input列表) - 章节源:
parts/*.tex - 文献:
ref.bib - 图片:
fig/ archive/:主线之外的历史草稿,仅供查阅,不参与\input。/archive/在 .gitignore 里只是阻止新草稿意外被追踪,已追踪的旧稿继续保留版本史。
写作风格
- 学习笔记优先:正文按"由简到繁"递进,每节开头一段过渡,说明上一节限制如何被解除、本节引入什么结构。
- 一节一维度:每节只沿一个维度推进,其他维度保持最简。
- 正文止于结论:信号模型、负对数似然、集中似然准则、EFIM/CRB 表达式都给出,矩阵代入与逐步化简推到附录。
- 符号跟随问题引入:每个符号在首次出现的那一节定义;完整索引在附录 A。
- 不创造元章节:"放置规则"、"阅读路线图"等元信息不进正文,归入前言或本文件。
- 语言:中文为主;公式、符号、文件路径、命令用英文。
- 推导卡壳留
% TODO:注释,不编造 placeholder 文字。具体推导待办放在 .tex 源文件里,不进 CLAUDE.md。
LaTeX 操作约束
- 默认不编译。阶段性收尾或涉及交叉引用/宏定义的改动后用
xelatex验证:至少跑两次让 ref 稳定,有 bib 引用时夹一次biber;检查 log 里的!、undefined references、label(s) may have changed,全部消除后再 commit。 - 编译产物在 .gitignore,不主动 add,也不主动 rm:用户在本地可能反复使用。
- 不读编译产物:
*.aux、*.log、*.bbl、*.bcf、*.synctex.gz、*.run.xml、*.toc、*.ist、*.glo、*.acn、根目录历史 PDF(doa_doppler_est_*.pdf)、*.zip。 - preamble 指主文件
\documentclass到\begin{document}之间的宏包/计数器/glossary 等设置。新增或修复\newacronym词条不算改 preamble,按fix(preamble)处理。\input列表可按重构需要调整。 - 不重排
ref.bib:除非明确要求。 - 删除/重命名文件用
git mv:保留 history,diff 更小。归档主线之外的旧稿先git mv到archive/。
Git 提交规范
格式
<type>(<scope>): <中文 subject,命令式,≤50 字>
<可选 body,每行 ≤72 字>
type(仅 4 类)
| type | 用途 |
|---|---|
struct |
文件移动/合并/拆分、\input 顺序调整 |
content |
实质性内容:新增/改写推导、过渡段、文献、图表 |
fix |
修错:typo、公式错、断引用、缺词条 |
meta |
元文件:CLAUDE.md、.gitignore、.gitattributes |
scope(细分维度)
- 章节定位:
sec1–sec7、app-A…app-G、preamble - 跨章节专题:
symbol、bib、fig
body 强制规则
type=struct必须有 body,说明拆/合的依据scope=symbol必须有 body,说明符号冲突或废弃原因- 其他自由,建议解释"为什么"而非"什么"
subject 规则
- 中英混合:type 用英文,scope/subject 用中文
- 命令式动词开头:"新增 / 删除 / 合并 / 重命名 / 修正"
- 不写"添加了 / 已完成"等完成时
- 不加句号
其他硬规则
- 结构改动与内容改动分开 commit——"重命名 A6 → E" (
struct) 与 "E.2 新增多用户推导" (content) 必须是两个 commit - 不写
Co-Authored-By尾注——个人学习笔记 - subject 与 body 风格不一致时,参考既往 commit 历史定调
效率与 token 准则
- 优先
Grep/Glob直接命中:parts/*.tex路径稳定、符号命名规律,三五次 Grep 即可定位绝大多数任务。仅当跨 10+ 文件做开放式分析时才用 Agent 子代理;子代理冷启动会重读上下文,单点查询用它得不偿失。 - 不为了"再确认"重读刚改过的文件:Edit/Write 失败会立即报错,harness 自带状态追踪。
- 独立的工具调用一次并行发出:多条 Grep/Glob/Read 没有依赖时合并到同一轮。
- 大文件局部读取:
ref.bib几千条 entry 用 Grep 查找特定 key,不要 Read 全文;长 .tex 用offset/limit跳到目标区域。 - 不创建中间元文档(
plan.md、todo.md、analysis.md、summary.md):所有内容应进parts/或 commit message,不另起辅助文件。 - 响应不写 trailing summary,commit 后不复述改动清单——用户看 diff 与 commit message 即可。
- 避免向用户罗列"我接下来会……"的长方案:直接执行小步操作,停在用户需要决策的节点。