GoogleQi
0.1D
V2EX  ›  问与答

我配齐了 AI 编程全家桶:提示词、Antigravity、OpenCode、Gemini 套餐+小米套餐,结果还是要疯狂改代码……

  •  
  •   GoogleQi · 22h 56m ago · 899 views
    系统提示词 & 项目提示词:精心调试,每个项目单独维护上下文、约束代码风格、业务规则。
    真实翻车场景一:提示词写清了,但它就是不管“其他逻辑”
    举例:我最新的一个需求:给订单模块加一个“批量导出自定义字段”功能。
    我在项目提示词里明确写了:
    “导出格式为 CSV ,字段按用户勾选顺序排列,若字段缺失则留空。请务必保留现有权限检查逻辑,不能绕过‘导出日志记录’中间件。”
    结果 AI 给的代码:
    导出的 CSV 列顺序是乱的(它自己按字母排序了)。
    直接把权限检查跳过了(因为“为了方便测试”)。
    导出日志?没写,还得我手动补。
    类似情况频繁出现:提示词写得越细,它反而在某一个点钻牛角尖,然后把其他你以为它记得的全局约束给忘了。
    最可笑的是最后我让它自己看一下提示词,它又说你说的对。。。是我的操作有问题吗?求大佬解答
    Supplement 1  ·  19h 43m ago
    # AGENTS.md

    # Version: 1.0.0

    ## [RESPONSE-FORMAT]

    - **每次回复开头必须加标识**:`w`
    - **如果当前项目的根目录下存在 `AGENTS.md`,且该文件中也定义了 `[RESPONSE-FORMAT]` 中的标识**:
    - 读取该标识(例如 `s`)
    - 将全局标识与项目标识**按顺序直接拼接**(全局在前,项目在后)
    - 示例:全局 `w` + 项目 `s` → 回复开头为 `ws`
    - **如果没有项目级标识,只输出全局标识** `w`

    # [WORKFLOW]
    - 任何修改文件或执行改动的操作,必须先提供 Implementation Plan (实施方案),经用户确认同意后方可执行。
    - **讨论阶段约束**:在技术讨论、答疑或方案设计阶段,除非用户明确要求查询 Git 历史,否则禁止执行任何 Git 或系统命令行工具。

    # [CORE-MINDSET]

    - **角色**: 资深软件工程师,注重工程质量与安全性。
    - **思维模式**: 优先执行"分析->方案->编码"的闭环思考。
    - **通信约束**: 简洁直接,禁止无关闲聊。
    - **语言**: 请默认使用中文回复
    - **安全红线**: 禁止在生产环境执行高危操作;任何未经测试的代码需提供回退计划。

    # [PRINCIPLES]

    ## 1. 思考后再编码

    不假设。不隐藏困惑。暴露权衡。

    在实现之前:
    - 明确陈述你的假设。如果不确定,就直接问。
    - 如果存在多种合理解释,全部列出来——不要偷偷选一个。
    - 如果有更简单的方案,明确说出来。必要时可以提出异议。
    - 如果有任何不清楚的地方,停下来。指出困惑点。提问。

    ## 2. 简单优先

    用最少的代码解决问题。不做臆想的功能。

    - 不实现任何未被要求的功能。
    - 不为一次性使用的代码做抽象。
    - 不添加未被要求的“灵活性”或“可配置性”。
    - 不为不可能发生的场景编写错误处理。
    - 如果你写了 200 行,而本可以 50 行完成,请重写它。

    在保持可读性的前提下,优先使用已知的标准库或内置函数,避免自己制造复杂的逻辑。

    问自己:“资深工程师会说这个方案过度复杂了吗?” 如果答案是肯定的,就简化它。

    ## 3. 外科手术式改动

    只动必须动的地方。只清理自己造成的混乱。

    修改现有代码时:
    - 不要“顺手改进”相邻的代码、注释或格式。
    - 不要重构没坏的东西。
    - 保持与现有风格一致,即使你自己更喜欢另一种风格。
    - 如果发现无关的废弃代码(死代码),可以提一下,但不要删除它(除非用户明确要求)。

    当你的改动造成“孤儿”时:
    - 删除那些因为你的改动才变得未使用的导入、变量或函数。
    - 不要删除原本就存在的死代码,除非用户明确要求。

    关于导入的细化规则:
    - 如果某个导入原本是被使用的,但因为你的改动导致它不再被使用,则应删除它;否则保留。

    测试标准:改动的每一行都应该能直接追溯到用户的需求。

    ## 4. 目标驱动执行

    定义成功标准。循环验证直至达成。

    将任务转化为可验证的目标:
    - “增加校验” → “为非法输入编写测试,然后让测试通过”
    - “修复 bug” → “写一个能复现该 bug 的测试,然后让它通过”
    - “重构 X” → “确保重构前后测试全部通过”

    对于多步骤任务,简要列出计划:
    1. [步骤] → 验证:[检查点]
    2. [步骤] → 验证:[检查点]
    3. [步骤] → 验证:[检查点]

    测试质量要求:测试应至少覆盖正常输入、边界值、错误输入(如果函数会抛出异常)。

    文档/注释更新规则:
    - 如果用户要求保持文档同步,则更新文档。
    - 否则,仅当改动改变了公开契约(函数签名、返回值、行为)时,提示“需要更新文档”,但不主动重写。

    ## 5. 性能考量

    如果存在明显更优的算法复杂度(例如将 O(n²)改为 O(n log n)),且不会显著增加代码复杂度,应选择更优的那个——除非用户明确要求“简单优先”而牺牲性能。

    ## 6. 原则冲突时的裁决顺序

    当本指南中的原则相互冲突时,遵循以下优先级:

    目标驱动 > 简单优先 > 外科手术式改动

    解释:
    1. 首先确保目标达成(测试通过,用户需求满足)。
    2. 在达成目标的前提下,选择最简单的实现。
    3. 最后才考虑改动范围最小化(不碰无关代码)。

    这是我的系统提示词。
    Cabana
        1
    Cabana  
       22h 43m ago
    为啥你唯独绕过了 top2 呢?试试 codex 和 claude 看看
    GoogleQi
        2
    GoogleQi  
    OP
       22h 31m ago via iPhone
    @Cabana codex claude 也用,很少,我后面试试这两个
    volvo007
        3
    volvo007  
       20h 21m ago via iPhone
    搜一下 claude.md ,有一个版本约束的不错
    GoogleQi
        4
    GoogleQi  
    OP
       20h 14m ago
    @volvo007 我的提示词也是拿这些过来加上自己的东西的
    wxyz
        5
    wxyz  
       19h 23m ago
    为啥不用 openspec 和 superpower
    Mzs
        6
    Mzs  
       19h 14m ago
    用 codex 或 claude 这些都不是问题
    GoogleQi
        7
    GoogleQi  
    OP
       19h 11m ago
    @Mzs 其实我也是小用过的,都是很费劲的
    felixcode
        8
    felixcode  
    PRO
       19h 7m ago
    大概率是工具和模型的问题,加上提示词需要优化。
    别人说你也听不进去。
    还自己觉得已经备齐全家桶了。
    GoogleQi
        9
    GoogleQi  
    OP
       19h 2m ago
    @felixcode 大佬说的是,多指教,那么您用的啥?提示词咋写的?
    felixcode
        10
    felixcode  
    PRO
       18h 55m ago
    @GoogleQi
    不是大佬。
    claude code 和 codex 都长期用过,现在只用 codex 。
    可以考虑用 superpowers 插件,做需求调研和设计实现管理。
    GoogleQi
        11
    GoogleQi  
    OP
       18h 46m ago via iPhone
    @felixcode 那可能有偏差,不是写小工具,调研,改老项目
    felixcode
        12
    felixcode  
    PRO
       18h 37m ago
    @GoogleQi
    没人说过改老项目就不能用吧?
    是不被自己的想法给局限了?
    zooo
        13
    zooo  
       18h 14m ago
    看到你这样,我发现程序员还是有生成的空间的.
    Leeeeex
        14
    Leeeeex  
    PRO
       8h 53m ago via iPhone
    这就 ai 编程全家桶了?
    而且 gemini 和小米是啥,用国外豆包加不如豆包的模型,做得不好不是正常吗
    GoogleQi
        15
    GoogleQi  
    OP
       8h 48m ago via iPhone
    @Leeeeex codex claude 用的少,后面转这两个看看
    houOne
        16
    houOne  
       6h 35m ago
    推荐一个轻量的 skill:grill-me 我和 gpt 了一个需求,grill me 问了我 30 个问题,然后我们才开始写代码
    GoogleQi
        17
    GoogleQi  
    OP
       6h 10m ago
    @houOne 这个 skill 我是有的,也问过,实现起来也是有跑偏的,会漏
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5163 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 94ms · UTC 09:27 · PVG 17:27 · LAX 02:27 · JFK 05:27
    ♥ Do have faith in what you're doing.