diff --git a/AI_POLICY.md b/AI_POLICY.md new file mode 100644 index 0000000..6c52e28 --- /dev/null +++ b/AI_POLICY.md @@ -0,0 +1,67 @@ +## WikitDB AI 使用政策 + +适用于向本仓库提交的代码、注释、文档、提交信息、Issue 与 PR 描述。 + +### 1. 原则 + +**不**禁止使用 AI 辅助。禁止提交无人能维护的内容。提交者对其提交的全部内容负责,工具来源不构成免责理由。 + +### 2. 文本 + +README、设计文档、代码注释:可用 AI 起草,成稿须经过提交者自行Review并改写。代码中如有注释,应说明为什么这样做,而非复述代码字面行为。 + +commit信息、Issue 与 PR 描述:只要求准确说明改动内容,不限文风。 + +### 3. 代码 + +允许提交 AI 生成或辅助生成的代码,须满足: + +1. 提交者了解其结构与控制流; +2. 提交者能说明核心逻辑改动的目的; +3. 出现问题时能定位到具体位置,并能验证修复有效; +4. 符合本项目既有架构约定与代码风格。 + +达成理解的方式不限,借助 AI 阅读和分析代码同样可以。要求是提交者本人能够说明,直接转贴 AI 的解释不满足本条。 + +禁止提交: + +- 提交者无法说明其行为的代码; +- 包含未审阅部分的大规模变更; +- 仓库内无任何调用点的抽象、接口或配置项; +- 调用不存在的 API、依赖或字段的代码; +- 与既有实现重复、未复用现有模块的代码。 + +大规模改动应拆分为可独立审查的 PR。 + +### 4. 提交前自查 + +- 能说明核心逻辑改动的原因 +- 不含未阅读过的代码(生成产物、 `package-lock.json` 等除外) +- 注释与项目文档经本人Review并改写 +- 未引入无人调用的抽象或配置 +- 已在本地运行验证 + +### 5. 审查 + +审查针对代码本身。审查代码者不得在 PR 中推测内容来源,不得以"疑似 AI 生成"作为审查意见的理由或措辞。 + +**需要提交者说明的情形**例如改动涉及数据层、迁移逻辑或对外接口,且存在下列问题之一: + +- 注释或文档描述与代码实际行为不符的问题 +- 引入仓库内无任何调用点的抽象、接口或配置项的问题 +- 与实际需求脱节的冗余防御(缺失必要的错误处理同样是缺陷)的问题 +- 与既有实现重复、未复用现有模块的问题 + +文档、测试、小幅修复及独立新增模块按常规 PR 处理,不适用上述流程。 + +不存在的依赖、构建失败、无引用的导出等由 CI 自动检查,不作为人工审查意见提出。 + +### 6. 本政策的修订 + +本政策接受贡献者提交修改 PR。提出时须说明具体条款在实际协作中造成的问题,不接受仅表达倾向的修改。 + +修改 PR 由仓库维护者审议。涉及第 1、3 节的改动需 Wikit 职员确认。 + +## 7. 检测 + +本项目不要求声明是否使用 AI,不进行 AI 生成内容检测,不接受以检测工具结果作为唯一依据的举报。