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

讨论一下 Ai 辅助编程的痛点

  •  1
     
  •   IAmSimon · 32 天前 · 3667 次点击
    这是一个创建于 32 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前在使用的是:通义灵码、copilot

    最近在使用 ai 辅助编程发现遇到几个问题,各位是怎么解决?还是是我的提问方式不够好:

    1. 提问生成的代码会比起自己写的更容易出问题,调试的时间更长,可能最后我自己写完还更快
    2. 目前提效更多的是一些体力活,比如命名、预测相似的逻辑等
    3. 生成速度的我感觉很慢,深度思考更慢,几十秒到几分钟不等
    4. ai 幻觉,会下意识信任 ai 的代码,就容易回到 1
    32 条回复    2025-02-20 10:41:33 +08:00
    mumbler
        1
    mumbler  
       32 天前   ❤️ 3
    工具不行,换 cursor
    weixind
        2
    weixind  
       32 天前
    先生成单测,再生成代码
    ochatokori
        3
    ochatokori  
       32 天前
    下意识不信任 ai ,然后每次都要把 ai 代码再读一遍,更累了
    pike0002
        4
    pike0002  
       32 天前   ❤️ 1
    谨慎使用,有时很庆幸在 AI 这么强大之前学会的编程。可以参考之前总结的一些经验教训(不光适用 cursor ,所有 AI 辅助编程都适用)。https://www.pixelstech.net/article/1736068526-be-careful-when-using-cursor-to-help-build-application?lang=chinese
    kikoroc
        5
    kikoroc  
       32 天前 via iPhone   ❤️ 2
    1. AI 在处理一些重复性或者基础性工作方面可以做的很好,比如:下一步的意图判断(按 Tab 键就完事了)、类型提取、函数提取等等。
    2. AI 检查代码片段的基础逻辑问题,人经常犯的基础问题,有时代码不好直接调试,一眼看上没问题,AI 却可以一眼看出来并且给你纠正。
    3. 用过纯 Chat 的工具帮我写代码,也用过基于 IDE 的编程助手( Trae 、Copilot ),目前我体验的两者提供的体验都不错,都可以快速有效的帮我解决很多问题
    4. 虽然借助 AI 助手完成代码编写的开发方式高效,但并不总是轻松的,并不像网上很多人说的那样轻松,随随便便就可以写一个东西,比如:《我用半小时写了一个 XXX 》,当然如果你要实现的是一个非常通用的东西,它确实也可以达到这个效果。
    5. AI 帮我写代码不轻松的地方在于,你需要快速理解并且准确判断它写的东西是否准确、思路是否正确,一旦它的思路出现了问题而你又没有发现(尤其是涉及基础知识的的时候),这个时候它能把你累死,它可以一直写一点不累,左一个想法、又一个思路的,你需要一直理解它的思路,然后一直试,可是结果就是不对,你会非常累和焦虑😭😭😭。
    6. 从我的心路历程看出现上面一条问题的根源在于,我不太想理解 AI 的实现细节(还有一种是涉及基础的知识确实不懂),想快速的解决问题,于是期望通过效果验证、情况说明等泛反馈让 AI 帮我快速修正问题,从前面分享的案例也可以看出来,前面几次与 AI 沟通交流都没有解决问题,出现这个问题我觉得我肯定有责任,轻敌了,没有驾驭好这个问题,当然作为我的结对编程 Partner ,AI 助手多少也有些能力上的欠缺 😁😁😁。
    7. 前面说的可能就是 AI 幻觉的问题,掉入 AI 幻觉的陷阱(以往普通开发中可能也有类似的陷阱吧,比如不想深入了解细节,一直试,结果就是不对)这个问题非常严重,AI 并不知道自己错哪了,这在处理复杂问题时非常的常见,你需要对它进行精准的引导。
    8. AI 辅助开发并不是银弹,它现在更像一个有知识没想法的天才少年,你需要告诉它思路和方向,它才可以很好工作,假如完成的东西涉及一些理论知识你自己不了解,它又很难一次预判所有情况和场景,一次性写对,这就难办了,你就需要基于已有线索就理论知识进行深入沟通和学习,然后再给出判断和正确的反馈,这个过程其实也非常费脑子。
    9. 感觉和 AI 编程助手打交道也是要有耐心,也需要抱着学习的心态,复杂情况下它给出的代码也是需要一步一步的验证,给出合理精准的反馈,太着急反而不利于解决问题。
    10. 不过,得益于结合 IDE 的编程助手的出现,前面说的一步一步的验证过程,也可以让 IDE 助手帮实现,整体效率还是有很大提升的。
    xuanbg
        6
    xuanbg  
       32 天前
    我只让 AI 提示我怎么写,而不是让 AI 帮我写
    qingbaihe
        7
    qingbaihe  
       32 天前
    不用 AI 就没这些烦恼了
    crackidz
        8
    crackidz  
       32 天前
    你用的啥工具啊...工具之间差异挺大的。比如 cursor 自带问题自动修复功能,但你用 trae 明显功能差很多了。

    生成速度确实不算很快,从提问到结束是需要几十秒的,你几十秒能写的代码确实没必要用 AI ,但是换种思路,那种需要更长时间的用 AI 不就有意义了么...
    zamasu
        9
    zamasu  
       32 天前
    用 cursor 你就知道这两个有多烂了
    kikoroc
        10
    kikoroc  
       32 天前 via iPhone
    @xuanbg 我刚开始也是这样,但是用了 trae 和 copilot 这类和 ide 集成的 ai 后,发现世界观变了,ai 能做的更多。
    niboy
        11
    niboy  
       32 天前
    换 cursor
    IAmSimon
        12
    IAmSimon  
    OP
       32 天前
    @weixind

    不是一般先有代码,再有单测吗?这是什么高级操作吗?
    IAmSimon
        13
    IAmSimon  
    OP
       32 天前
    @ochatokori

    现在就是这样的困境,ai 现在更像一个““查得更快得搜索引擎””
    IAmSimon
        14
    IAmSimon  
    OP
       32 天前
    @pike0002 同感,所以我很难理解那些靠 ai 就能 0 基础就能编程的理论,除非生成的玩意都是““一次性代码””,看效果就完了,完全没有下一次迭代
    zhangeric
        15
    zhangeric  
       32 天前
    上单元测试
    ggzhyipeng
        16
    ggzhyipeng  
       32 天前
    @IAmSimon 测试驱动开发 TDD 可以了解下
    LowBi
        17
    LowBi  
       32 天前
    目前问题:自己写的代码有印象,出问题了解来龙去脉,AI 提供的代码复制黏贴,能跑,但是出问题或者要加需求就得从头到尾看下代码
    shaozelin030405
        18
    shaozelin030405  
       32 天前
    ai 写出来的东西,先从头到尾看一遍,花不了多少时间
    wryyyyyyyyyyyy
        19
    wryyyyyyyyyyyy  
       32 天前
    ai 写的东西看一遍,看到没用过的还可以当场学习,直接 copy/apply 非常不好。
    radishzz
        20
    radishzz  
       32 天前
    人工智能正在创造一代文盲程序员 https://nmn.gl/blog/ai-illiterate-programmers
    ciki
        21
    ciki  
       31 天前
    最强编程工具请认准 cursor
    IAmSimon
        22
    IAmSimon  
    OP
       31 天前
    @radishzz

    Every time we let AI solve a problem we could’ve solved ourselves, we’re trading long-term understanding for short-term productivity. We’re optimizing for today’s commit at the cost of tomorrow’s ability.

    每当我们让 AI 解决一个我们可以解决的问题时,我们都会为短期生产力提供长期理解。我们正在以明天的能力为代价为当今的承诺进行优化。

    有种被 ai 控制的感觉
    masterArcher
        23
    masterArcher  
       31 天前
    ai 辅助首先得自己会写代码有哪个逻辑

    然后把代码拆分 对小模块进行优化
    z3wood
        24
    z3wood  
       31 天前
    换 cursor+claude
    rogerer
        25
    rogerer  
       31 天前
    建议给 AI 写文档,你要什么功能,具体的定义,期望的表现都给 AI 写好。
    dishangyijiao
        26
    dishangyijiao  
       31 天前
    建议换 Cursor ,使用 Claude 3.5 Sonnet 模型。
    ForkNMB
        27
    ForkNMB  
       31 天前
    AI 读代码肯定是非常可以的 扔给你一个不熟悉的语言的庞大项目 要你分析技术实现 并且部分借鉴里面的实现 抄并且改一改新的出来 没 AI 我肯定够呛 有 AI 帮助快速摸清实现细节还是很方便的 最近在用 trae 里面也有 Claude 3.5 Sonnet 直接免费用 帮大忙了属于是
    msg7086
        28
    msg7086  
       31 天前
    昨天突发奇想要做一个识别视频里文字位置的项目,直接问 AI 怎么做,AI 告诉我 tesseract 能搞,花了一个晚上让他帮我用 Python 写了个脚本,ffmpeg 读视频转图片,喂给 tesserocr ,拿到数据处理完写入 json 。然后再让他帮我用 lua 写了个某软件的插件,读取 json 然后操作文件。

    今天这脚本已经进生产了。我是一点儿也没认真读代码,具体细节实现全是 AI 写的。Python 和 lua 我都不懂,全靠写注释和伪代码然后让 AI 自己转成代码,跑起来炸了就把错误信息扔回去让 AI 自己想。

    这不是说程序员的能力就不需要了。扎实的功底依然是玩转 AI 的前提要求。比如 AI 抓 ffmpeg 的 stdout ,然而 ffmpeg 的 log 都是写 stderr 的,然后就 blocking pipe 了,这种 AI 发现不了,得你自己发现了处理。剩下的那些没有技术含量但又非常花时间手写的地方才是 AI 发挥本事的地方。
    msg7086
        29
    msg7086  
       31 天前
    > 目前提效更多的是一些体力活,比如命名、预测相似的逻辑等
    > 生成速度的我感觉很慢,深度思考更慢,几十秒到几分钟不等
    我用的 cursor 的预测,性能非常好,很多时候只要改掉一个地方马上就会举一反三帮我改其他地方。
    深度思考的话我现在用的 gemini 2.0 flash exp ,主要是贪免费。
    sampeng
        30
    sampeng  
       31 天前 via iPhone
    纯粹是工具问题,正常人用 cursor ,最不济 copilot…用国产这两个…你的感慨就是浪费自己生命
    diroverflow
        31
    diroverflow  
       31 天前
    @z3wood 我不明白,Cursor+Claude 能比 VSCode copilot+Claude 强多少?
    InkStone
        32
    InkStone  
       31 天前
    @diroverflow cursor 的 tab 提示比 copilot 强很多(更快更积极且更准),我个人使用过来感觉体验至少强一个档次。

    如果是在 copilot 还没有 composer 功能之前,那至少能强两个档次。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2478 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:42 · PVG 13:42 · LAX 22:42 · JFK 01:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.