# 如何与 Codex 协作？

---

## 1. 建立项目

创建独立的项目文件夹，放入已有代码、文档等材料；初始化 Git，并提交项目的初始版本。

推荐使用 VS Code 配合 Git。安装、初始化及基本操作可以直接询问 ChatGPT，无需一次掌握 Git 的全部高级功能。

---

## 2. 阅读并确认

先让 Codex 阅读项目中的相关材料，不要立即修改代码。

相关材料可以包括：

- 已有源代码和算例；
- 论文、理论资料和经典教材；
- 接口说明、输入文件及历史记录；
- 已有的操作手册或项目规范。

同时，与 Codex 确认关键约定，例如：

- 节点和自由度的编号顺序；
- 坐标系与正方向；
- 单位制、接口和数据格式；
- 哪些已有功能必须保持不变。

建议与 Codex 共同维护一份 Markdown 文档，持续记录讨论结论。Markdown 既便于 Codex 修改，也便于人工阅读；也可以使用 `.txt`、`.tex`、`.json` 等纯文本文件。

---

## 3. 根据任务规划方案

根据具体任务，与 Codex 讨论代码的新增、修改或升级方案，并持续记录在文档中，反复迭代确认。

规划阶段就应明确代码的验证方法，例如：

1. **解析解对比：**让 Codex 根据可靠资料整理解析解，并与数值结果进行比较。
2. **退化或回归对比：**例如将三维程序退化到二维条件，与已验证的二维程序比较计算结果。
3. **数值差分核对：**使用有限差分对解析灵敏度进行独立核对。
4. **其他验证方式等。**

---

## 4. 明确协作约束

正式执行前，应向 Codex 说明代码风格和修改边界，例如：

- 修改集中在指定文件；
- 只做完成任务所需的最小修改；
- 不随意重构无关模块；
- 不增加不必要的防御性代码；
- 不保留不需要的向后兼容；
- 不擅自增加依赖或改变接口；
- 发现约定不明确时先说明，不进行静默假设。

这些规则来自长期协作经验，可以保存在 `AGENTS.md`、个人操作手册或 Playbook 等文档中，供不同项目复用。

---

## 5. 修改并验证

让 Codex 按照已经确认的方案执行修改，并自行运行验证。

> 请严格按照已经确认的代码修改方案，在既定约束下完成修改，并在完成后执行全部验证。

---

## 6. 使用 Git 管理与审阅代码

Codex 完成修改后，不要只阅读它的总结，也不要仅因“测试通过”就直接接受，应使用 Git 查看实际代码差异。

重点审阅：

- 哪些文件被修改；
- 修改前后有哪些具体差异；
- 是否遵守既定协作约束；
- 是否出现无关重构；
- 是否增加了不必要的依赖或复杂度。

---

## 7. 决定是否接受更改

- 修改合理：提交 Git 版本；
- 存在局部问题：要求 Codex 根据差异继续修正；
- 修改方向错误：回滚到修改前的版本。

---

## 核心流程

```
创建项目并初始化 Git
→ 阅读代码与理论材料
→ 共同维护文档
→ 讨论并形成代码方案
→ 明确修改边界和编码习惯
→ Codex 修改并验证
→ 查看 Git 差异
→ 修正、提交或回滚
```