V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
metmit
V2EX  ›  程序员

各位 C++程序员, AI 工具使用的最佳实践是什么?提效如何?

  •  
  •   metmit · 1 天前 · 749 次点击
    不知是我姿势不太对,感觉 AI 带来的提升比较有限,尤其是一些深层逻辑、跨模块交互、并发等等问题上,不知大家的体验如何?

    自己平时主要使用 Gemini + 公司内网可用的 qwen:

    分析代码:
    1. AI 只能做到分析某个文件、某几个函数,同个会话再多给几个函数,就把前面的都忘了;
    2. 平时有个别逻辑复杂的函数,丢过去分析很好用;

    代码生成:
    1. vscode 内置的 qwen 很一般,基本没用过 tab 生成,还是通过会话方式让 AI 给出答案。
    2. 一些自己不熟悉的库、语法、多线程协作等,给 AI 明确提出需求,AI 给出的代码框架还不错,自己改改就能用,比如让一组异步任务多线程并行执行,等待所有线程返回结果再返回;
    3. 涉及多线程、指针等等容易出问题的地方,自己写都有可能出错,不敢让 AI 写自己 review (新人基本没 review 过别人代码没经验找出问题 + AI 不能背锅);
    4. 测例:AI 写 UT 应该很 6,不过我们平时不强制写 UT ,写 function test 、和业务结合的比较深,AI 不好用,除非是某些行业内标准业务流程+自己讲清楚逻辑,比如写 SQL ;

    分析问题:
    1. AI 最好用的地方是解答自己不熟悉的一些知识,编译报错、某些库等等;
    2. 一些深层的逻辑问题、并发问题、底层问题,很难讲清楚背景,AI 因为幻觉(我理解就是 AI 一定信誓旦旦给你答案,但可能完全胡编或抓小放大没侧重点)的存在,给出的排查思路很多时候是没用的。
    10 条回复    2025-10-19 21:50:11 +08:00
    liuguangxuan
        1
    liuguangxuan  
       1 天前
    1 、你的感觉是对的。
    2 、虽然 AI 带来的提升有限,但是 AI 之间的能力差距还是蛮大的。一个 AI 搞不定,可以换其他 AI 尝试一下。
    metmit
        2
    metmit  
    OP
       1 天前
    @liuguangxuan 是的,某些具体的小问题,有时换个 ai 能给出一些其他角度的解答。但是复杂逻辑 跨模块 并发 偏低层等等问题,对 ai 实在没信心…
    msg7086
        3
    msg7086  
       1 天前
    复杂项目可能需要先搞一个 memory bank 。
    多线程这块不好说,不过指针的话,我写代码的时候已经是能不用就不用了。
    不过我写 C++基本就只是写写开源项目,和公司项目差距还是非常大的,没有什么参考性。
    c0xt30a
        4
    c0xt30a  
       19 小时 18 分钟前   ❤️ 1
    我的感受( codex,qwen,...)是除非你能拆分需求到函数,不然基本无用。
    liyafe1997
        5
    liyafe1997  
       18 小时 10 分钟前
    Gemini 2.5 Pro 我试过不太行。
    现在我只用 Cluade sonnet 4.5 和 Codex ,效果感觉非常好。
    幻觉是因为你的 Prompt 不够准,如果你用 VSCode ,模型是没有联网能力的,Cursor 的那个 Browser 能力也很弱。涉及一些第三方库的,有方便的文档把文档直接喂进去,不方便的,我一般是用 ChatGPT 开联网搜索+Thinking ,让它生成示例代码,然后再把 ChatGPT 吐出来的代码喂到 Cursor/VSCode Copilot 里在自己的项目里落地,这么用我试了非常非常爽。

    以及 Cursor 有 Plan 模式,这个也很好用,防止一次 Prompt 之后越走越偏。

    总之我的经验是,如果 AI 有幻觉/乱来,在 Cluade sonnet 4.5 和 Codex 下,一定是你的 Prompt 不好,没有给 AI 足够的信息和清晰的指示。把 AI 想象成一个编程能力很强的人,但是他的电脑没有联网,你不告诉他你的业务,以及给足你的各种环境/第三方库的信息和需求,他也不知道该怎么写。
    metmit
        6
    metmit  
    OP
       15 小时 34 分钟前
    @c0xt30a 是的。
    就是不知道顶级的编码 ai 对于大型 c++项目有没有明显帮助 比如数据库这种,稳定性 性能 结果准确性都十分看重的。
    公司内部项目代码还有点屎,之前有个内存池模块,设计时能按内存大小管理内存,实际每次申请入参固定传 1 、内存池占用+1 ,qwen 非说是按申请内存大小管理…
    metmit
        7
    metmit  
    OP
       15 小时 28 分钟前
    @liyafe1997 学到了。
    我还想知道某个需求是跨多个模块的,可能新增几个文件、修改几十个文件,这种情况 ai 也能做好吗?
    这种需求自己写,就根据已知的架构、拆分需求、最后设计好方案,实际编码时还有很多很多意想不到的问题
    liyafe1997
        8
    liyafe1997  
       7 小时 37 分钟前 via Android
    @metmit 跟多个模块没关系,只要不是特别夸张( token 过长),你的指示要足够清晰,AI 才好去做。

    还是那句话,设想成你招了个编程能力很强的人,有各种平台和常见第三方库的开发经验,但是对于你的业务和很多非热门的第三方库一窍不通或压根没用过,你需要给他足够的信息和清晰的指示,他才能帮你做开发。

    复杂的可以开 Cursor 的 Plan 模式,讨论清楚 Plan 之后再 Execute 。
    swananan
        9
    swananan  
       4 小时 50 分钟前
    @metmit codex 和 cc 你都可以当做同事来看待了,给足了背景和需求,以及排查和获取信息的方式,他们就可以自己推进下去,哪怕复杂的功能,只要思路和排查方式靠谱,他们也会靠谱的搞定
    metmit
        10
    metmit  
    OP
       3 小时 35 分钟前
    @liyafe1997 听起来倒是懂了,但是实际怎么做效果如何需要我自己去实验了,改天我用开源项目试试
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1090 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:25 · PVG 01:25 · LAX 10:25 · JFK 13:25
    ♥ Do have faith in what you're doing.