欢迎光临
我们一直在努力

我把“AI 编程八荣八耻”做成了一个可安装的 Skill

随着 Codex、Claude Code、Cursor、Cline、GitHub Copilot 等 AI 编程工具越来越普及,很多开发者已经开始让 AI 直接参与真实项目开发。

但在实际使用中,AI Coding Agent 经常会出现一些典型问题:

  • 没有阅读项目代码,就直接开始修改;

  • 根据函数名猜测接口;

  • 编造不存在的 API、文件或 Schema;

  • 需求不清楚时自行补全业务逻辑;

  • 为了修复一个小问题,顺手重构整个模块;

  • 代码生成完成后,没有运行测试就宣布任务完成;

  • 出现无法验证的内容时,依然给出非常确定的结论。

这些问题并不一定是模型不会写代码,而是因为 Coding Agent 缺少一套明确、稳定、可执行的工程协作规范

因此,我将网上很火的AI 编程八荣八耻进一步整理、扩展,制作成了一个可以直接安装和调用的 Coding Agent Skill:

Scientific Coding:科学 Coding 观

GitHub:https://github.com/visionlmlm/Scientific-Coding


一、这是什么项目

scientific-coding 是一个面向 AI 编程 Agent 的工程协作 Skill。

它不是一个普通 Prompt,也不是某个编程框架,而是一套用于约束 AI 编程行为的工程规范。

它希望让 AI Coding Agent 在真实项目中遵循以下基本原则:

先读上下文,再写代码。 先确认事实,再调用接口。 先验证结果,再宣布完成。

简单来说,它的目标不是让 AI 一次生成更多代码,而是让 AI 写得更谨慎、更可靠、更符合真实软件工程流程


二、为什么需要这个 Skill

很多时候,AI 生成的代码看起来很完整,但放到真实项目中却无法运行。

例如,我们让 AI 给订单页面增加一个状态筛选功能,AI 可能会直接写出:

client.orders.filterByStatus(status)

但项目里可能根本不存在 filterByStatus() 这个方法。

正确的做法应该是:

  • 搜索当前项目中的订单接口;

  • 查找已有的请求封装;

  • 确认状态字段和参数名称;

  • 找到相似页面的实现方式;

  • 在现有结构中做最小修改;

  • 运行测试、类型检查或构建命令。

  • Scientific Coding Skill 的作用,就是把这些工程习惯写成 Agent 可以读取和执行的规范。


    三、核心理念

    这个 Skill 的核心理念可以概括为一句话:

    少一点幻想,多一点查询;少一点猜测,多一点确认;少一点生成,多一点验证。

    它要求 Agent 在处理编程任务时做到:

    1. 先理解,再修改

    在修改代码之前,先阅读相关文件,理解:

    • 项目结构;

    • 模块职责;

    • 数据流;

    • 调用链;

    • 已有实现;

    • 项目约定。

    避免只看一个文件,就开始大范围修改。

    2. 不编造 API

    所有接口、参数、返回值、文件和 Schema,都应该来自:

    • 项目源代码;

    • 类型定义;

    • 官方文档;

    • API 文档;

    • 测试用例;

    • 用户确认。

    不能因为某个函数名“看起来合理”,就假设它真实存在。

    3. 不擅自决定业务规则

    当用户说:隐藏不可用商品

    Agent 不应该自行决定“不可用”是指:

    • 没有库存;

    • 未发布;

    • 已禁用;

    • 已过期;

    • 区域不可售。

    正确做法是先在项目中查找已有定义,仍然无法确认时,再向用户询问。

    4. 优先复用已有代码

    新增代码前,优先级应该是:

    已有代码

    已有组件

    已有工具

    扩展已有模块

    新增实现

    尽量避免重复封装、重复造轮子和创建功能相同的新接口。

    5. 小步修改

    只修改完成当前任务所必需的代码。

    不要在修复登录按钮时,顺手重写认证模块;也不要为了“代码更高级”,引入不必要的抽象层和依赖。

    6. 尊重项目架构

    Agent 应该遵循项目已有的:

    • 目录结构;

    • 命名规范;

    • 模块边界;

    • 代码风格;

    • 技术栈;

    • 设计模式。

    不能为了方便实现而绕过已有封装或跨层调用。

    7. 考虑异常、安全和边界

    除了正常流程,还要考虑:

    • 空数据;

    • 异常输入;

    • 网络失败;

    • 权限不足;

    • 资源不存在;

    • 密钥泄露;

    • SQL 注入;

    • 命令注入;

    • 越权访问。

    8. 完成后必须验证

    代码生成完成,不代表任务完成。

    Agent 应尽量运行:

    • 单元测试;

    • 集成测试;

    • 类型检查;

    • Lint;

    • 构建检查;

    • 手动冒烟测试。

    无法验证时,也必须明确说明原因和剩余风险。


    四、科学 Coding 十六荣十六耻

    在原有“AI 编程八荣八耻”的基础上,我将其扩展为了十六条:

    不猜接口,先查文档。
    不糊执行,先问边界。
    不想业务,先做人类确认。
    不造轮子,先复用已有。
    不跳验证,先写测试。
    不破架构,先守规范。
    不装理解,坦白未知。
    不乱修改,谨慎重构。

    不看局部,先懂全局。
    不求一步,先做迭代。
    不忘安全,先做防护。
    不堆复杂,保持简单。
    不漏异常,考虑边界。
    不改旧物,先懂原因。
    不留黑盒,补充文档。
    不卷代码,追求质量。

    这些规则覆盖了 Coding Agent 在真实项目中最常见的工程风险。


    五、项目结构

    当前仓库结构如下:

    Scientific-Coding/
    ├── README.md
    └── scientific-coding/
    ├── SKILL.md
    ├── README.md
    ├── RULES.md
    ├── CHECKLIST.md
    ├── PROMPTS.md
    ├── agents/
    │ └── openai.yaml
    ├── examples/
    │ ├── correct_workflow.md
    │ └── hallucination_cases.md
    └── templates/
    └── task_report.md

    各文件的作用分别是:

    • SKILL.md:Skill 入口文件和主要执行流程;

    • RULES.md:完整的科学 Coding 观规则;

    • CHECKLIST.md:修改前、修改中、修改后的检查清单;

    • PROMPTS.md:可直接复制给 Agent 的提示词;

    • examples/:正确工作流和错误案例;

    • templates/task_report.md:任务完成报告模板;

    • agents/openai.yaml:Skill 的界面和调用元数据。


    六、如何安装

    项目已经可以被 skills CLI 正确识别。

    先查看仓库中的 Skill:

    npx skills add visionlmlm/Scientific-Coding –list

    正常情况下会看到:

    Found 1 skill

    scientific-coding

    安装到 Claude Code

    npx skills add visionlmlm/Scientific-Coding –skill scientific-coding -a claude-code -g -y

    安装到 Codex

    npx skills add visionlmlm/Scientific-Coding –skill scientific-coding -a codex -g -y

    其中:

    • –skill scientific-coding:选择指定 Skill;

    • -a:指定目标 Coding Agent;

    • -g:全局安装;

    • -y:自动确认安装。

    查看全局安装结果:

    npx skills list -g


    七、如何使用

    安装完成后,可以在 Claude Code 中输入:

    /scientific-coding 请分析当前项目结构,不要修改任何文件。

    执行实际开发任务:

    /scientific-coding 请修复当前登录接口报错。先搜索现有接口和调用方式,不要编造 API,完成后运行相关测试。

    进行 Code Review:

    /scientific-coding 请审查当前分支的代码修改,重点检查接口编造、架构破坏、边界条件、安全问题和测试缺失。

    进行重构规划:

    /scientific-coding 请分析支付模块的重复代码,先给出重构原因、影响范围、风险和验证方案,不要直接修改核心逻辑。

    也可以使用自然语言调用:

    请按科学 Coding 观处理这个任务:先读上下文,不编造 API,小步修改,并完成验证。


    八、它能解决什么问题

    这个 Skill 不能让模型参数变大,也不会让模型突然掌握更多编程语言。

    它主要解决的是 Agent 的工程行为问题:

    • 降低编造接口的概率;

    • 减少无关代码修改;

    • 避免过度重构;

    • 提高现有代码复用率;

    • 强化测试和验证意识;

    • 提升任务结果的可解释性;

    • 明确区分已确认事实、推测和未知内容;

    • 让不同成员使用 AI 编程工具时遵循相对统一的流程。

    因此,它更像一套面向 AI Coding Agent 的工程制度,而不是单纯的提示词模板。


    九、适用场景

    Scientific Coding 比较适合以下任务:

    • Bug 修复;

    • 小功能开发;

    • 前后端接口联调;

    • Code Review;

    • 项目结构分析;

    • 重构方案设计;

    • 测试补充;

    • 安全审查;

    • 团队 AI 编程规范统一;

    • Codex、Claude Code、Cursor 等 Coding Agent 行为约束。

    对于核心模块重构、权限系统、支付系统、数据库迁移等高风险任务,这类行为规范尤其重要。


    十、总结

    AI Coding Agent 正在从“代码生成工具”逐渐变成“工程协作者”

    但一个可靠的工程协作者,不应该只是快速生成代码,还应该具备:

    • 查询事实的习惯;

    • 理解上下文的能力;

    • 尊重架构的意识;

    • 控制修改范围的原则;

    • 主动验证的流程;

    • 坦白未知的态度。

    Scientific Coding 希望解决的正是这个问题:

    让 AI 不再看起来很聪明地瞎写,而是更像一个靠谱、谨慎、可验证的工程协作者。

    项目地址:https://github.com/visionlmlm/Scientific-Coding

    欢迎 Star、Fork、提交 Issue,也欢迎根据不同 Coding Agent 的特点补充更多工程规则和实际案例。

    赞(0)
    未经允许不得转载:171主机测评 » 我把“AI 编程八荣八耻”做成了一个可安装的 Skill
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址