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

我们将使用母语编程

  •  
  •   LZYMichael · 15 天前 · 5436 次点击

    自从 2022 年底ChatGPT横空出世以来,ta 就注定会改变我们的编程方式。

    我对大语言模型保持了相当的好奇,也一直在积极拥抱这一新鲜事物。标题我们将使用母语编程是我在使用两年多年后的今天最新得到的结论,下面举一个今天的使用案例来说明为什么我在今天得出了这一看似激进的结论。

    大语言模型:Claude 3.5 Sonnet

    需求:基于 Cairo 库为我的 TransportSTN 类绘图

    语言:C++

    第一轮

    提示词:“我想利用 Cairo 库,基于我自己的 TransportSTN 类来绘制图;我的图形类如下:'给出 TransportSTN 相关类';对 TransportSTN 成员变量的一些说明;提出绘图要求(点、线样式)”。

    生成代码后我运行的结果:

    Imgur

    第二轮

    提示词:“可以绘制了,但结果并非期待的那样。 我希望同一个 t 的点在一列,同一个 fa 的点簇(每簇有 3 个,即 M=3 ,每簇呈现出三角形,为了后面弧避免重叠)在一行”

    生成代码后我运行的结果:

    Imgur

    第三轮

    提示词:“ 现在已经很棒了,但有以下需要改进的地方:

    1. 每一簇点( 3 个)现在呈现出了一个完美的等边三角形;
    2. 同一个 Fa 、不同 t 的点簇完全在一行上;
    3. 1 和 2 两点会导致绘制弧的时候会有很大概率重叠,我之前的解决方案是:
      • 点簇程钝角三角形,钝角顶点在右侧,类似下面这样:
       .
          .
      
       .
      
      • 不同 t 交错排列,类似下面这样:
      t=2            t=4            t=6    // 时间层
       •    t=3      •      t=5     •     // fa=0 的航空点
      - •     •     • •      •     • •    // fa=0 的铁路和公路点
             • •            • •
       •             •              •     // fa=1 的航空点
      - •     •     • •      •     • •    // fa=1 的铁路和公路点
             • •            • •
      

    生成代码后我运行的结果:

    Imgur

    可以看到,一个要求使用 C++、相对复杂的需求,仅仅经过了三轮对话,就几乎实现了我们想要的结果。

    这期间我唯一使用到的“语言”就是中文。现在是 2025 年,大语言模型仅仅出来不到两年半,所以我认为最迟到 2030 年,所有人都将是程序员,我们将使用母语编程。

    42 条回复    2025-01-06 16:43:23 +08:00
    LZYMichael
        1
    LZYMichael  
    OP
       15 天前
    图片未能显示,补充:
    1. 第一轮运行结果

    2. 第二轮运行结果

    3. 第三轮运行结果
    chairuosen
        2
    chairuosen  
       15 天前
    如果 GPT 能够对稳定的输入母语给出稳定的答案输出,那他可以替代编译器。但是现实不是,如何解决某次编译能跑,下一次编译就出错的问题呢?
    zjsxwc
        3
    zjsxwc  
       14 天前
    可以代替简单重复性的内容(但可能不符合预期,需要程序员监工),
    可以代替 70%需要人参与理解的内容(需要程序员微调扶正),
    所以 AI 的发展,程序员更多变成了监工、指导者的角色。
    mumbler
        4
    mumbler  
       14 天前
    程序员以后要从理科转到文科专业了
    Gilfoyle26
        5
    Gilfoyle26  
       14 天前
    你能提问的前提是你有这方面的知识,才能问出问题,如果是一个完全不了解的领域,你连问出问题的能力都没有。
    dream10201
        6
    dream10201  
       14 天前   ❤️ 4
    实际情况:“我想画张图,全部是线条的图”
    coderluan
        7
    coderluan  
       14 天前   ❤️ 3
    我们将使用母语编程 = 我们用母语使用 GPT + GPT 会编程

    逻辑上倒是没错,但是实际上是这么总结标题反而是掩盖了信息的关键点,随便就能写一堆更夸张的:

    我们将用 80 多种语言写小说,我们能画 100 多种风格色图,我们能用嘴开车,还能开大车。
    LZYMichael
        8
    LZYMichael  
    OP
       14 天前
    @zjsxwc #3 我的感知和你重合度很高。以前编程时觉得自己是一个人,现在觉得自己是一个团队,知识边界得到了极大的拓展,甚至于很多 dirty work 都可以丢给大语言模型来处理。
    LZYMichael
        9
    LZYMichael  
    OP
       14 天前
    @Gilfoyle26 #5 那当然,使用者必须完全明白自己的需求是什么。
    LZYMichael
        10
    LZYMichael  
    OP
       14 天前
    @chairuosen #2 交给时间吧,ta 才不到 3 岁。
    LZYMichael
        11
    LZYMichael  
    OP
       14 天前   ❤️ 1
    @coderluan #7 标题展示了一个可以想象的未来。
    asanelder
        12
    asanelder  
       14 天前
    我宣布,当人机接口普及之后,下到 3 岁孩童,上到 80 岁老叟,他可以不识字,他可以是文盲,但他绝对可以做一名程序员!!!
    FengMubai
        13
    FengMubai  
       14 天前
    @dream10201 是这样的. 要让现在的大模型去实现一个程序, 你对编程的掌握至少要略高于产品经理才行, 才能描述出它听得懂的话
    ixx
        14
    ixx  
       14 天前
    我应该算使用母语提需求,至少你还是要对 c++ 有一定了解 不然就像楼上说的 你并不敢保证他生成的逻辑完全没问题
    asanelder
        15
    asanelder  
       14 天前   ❤️ 1
    我:请帮我写一个能年入 100 个 w 的 app ,并帮我上架应用商店。
    VchentozV
        16
    VchentozV  
       14 天前
    这种调整其实挺累的, 就是你要跟他说很多遍, 他才能到正常想要的东西.
    gpt4o 几乎不能用, o1 要好很多, 但是你得想清楚很多知识的细节, 一遍一遍改.前提是你对整个技术比较熟悉, 省掉很多 dirty work. 而且你得审查代码, 尤其是 rm -rf
    VchentozV
        17
    VchentozV  
       14 天前
    编程语言还是熟悉的好(比如, 英文)
    VchentozV
        18
    VchentozV  
       14 天前
    就怕习惯了 AI 之后, 被老师傅批评, 你们这是一代_____,

    尤其是面试手撸代码, 不知道会不会退化, 用也不是, 不用也不是.
    mightybruce
        19
    mightybruce  
       14 天前
    自然语言从很多角度上来说是不如编程语言的,
    以后的趋势是会出现一种更适合 AI 的编程语言而不是什么自然语言,可以去看看香农的信息论和编码理论,自然语言的冗余和信息模糊并不是什么好的选择。
    mightybruce
        20
    mightybruce  
       14 天前   ❤️ 4
    现在有一些 github 项目是这种 AI 辅助语言 (prompt programming language) 或者通过编程对 prompt 的约束和强化
    https://github.com/IBM/prompt-declaration-language
    https://github.com/stanfordnlp/dspy
    kw8023cn
        21
    kw8023cn  
       14 天前   ❤️ 4
    可以使用母语编程了, 没错;但所有人都将是程序员,几乎不可能,应该是 2030 年,所有程序员都将用上 AI 进行编程才对。
    作为一名程序员,你应该知道,对于编程,语言是最不重要的,重要的是对需求的拆分,以及逻辑分析能力。你写的是中文没错,但是它是具有编程逻辑的中文,是用中文还是用英文,还是用代码,没有太大本质上的区别,AI 带来好处是能帮我们完成大部分基础工作,我们只需要发出具有逻辑的指令即可(首先就要求你脑子里要有相应的逻辑),不然为什么很多英语很差的程序员,一点不耽误写代码。
    最后就是现实中连基本因果关系都捋不顺,逻辑思维约等于无的人,是大多数。
    ShadowPower
        22
    ShadowPower  
       14 天前
    我想写一个高质量的,易用的图片转像素画工具,至今还不能用 LLM 写出来
    fangxisama
        23
    fangxisama  
       14 天前
    自嗨还行,真正的企业级需求和代码,目前的 AI 还是无法胜任的,也真的不敢用。
    limaofeng
        24
    limaofeng  
       14 天前   ❤️ 2
    现在最大的问题就是 “就几乎实现了我们想要的结果” 中的 “几乎”。 有时,你无法正确判断是否得到了正确的结果,或者已经被误导
    bluedawn
        25
    bluedawn  
       14 天前
    不是,这么写不比自己手写累人嘛?它目前发展来看还不足以完全理解你在说什么,能写出没 bug 的代码就谢天谢地了
    GeekGao
        26
    GeekGao  
       14 天前



    嘿嘿嘿,AI 迷 还是得被 AI 治
    lxh1983
        27
    lxh1983  
       14 天前 via iPhone
    我:分析 win11 二进制代码并实现它的所有功能,规避现有的所有专利
    xiaoranj
        28
    xiaoranj  
       14 天前
    自然语言编程
    hongjic93
        29
    hongjic93  
       14 天前   ❤️ 1
    技术上最大的难点恰巧是 op 觉得很当然的使用者必须明白自己的需求是什么。需求的精准表达需要的不仅仅是使用维度的 context ,引入生产设计领域的专业 context 更重要。这是为什么所有的需求都需要使用者和提供方反复讨论多轮(甚至都仍然有 gap ),从一开始客户的一句话变成数万字的需求/工程文档。


    技术之外:
    我以前和一些不懂软件开发的朋友聊过这个话题,他们不认为自己以后会成为“程序员“,他们还是会找”程序员“开发软件,或者 AI 。他们认为开发软件不是自己的事,即使这件事变得再简单不过。

    所以我认为消费者永远是消费者,生产者永远是生产者。ai 时代会诞生一批 ai 消费者和 ai 生产者,但不会让消费者和生产者产生角色整合。
    cxtrinityy
        30
    cxtrinityy  
       14 天前 via Android
    知识的诅咒,使用中文描述需求,但是你在描绘时依然需要程序员的知识来使得描述更精确
    另外,假如生成的代码有问题,尝试修改描述导正结果可能比直接阅读并修改生成的代码难得多,描述到导出代码中间有一个黑盒,必然会导致描述和导出结果无法精确匹配,甚至如果代码能在 90%的情况正常运行,10%的情况运行异常,将更难修正
    这可能类似快递的最后一公里,最后一公里的成本可能非常高
    kkwa56188
        31
    kkwa56188  
       14 天前
    你想起的标题是不是 "我们将使用母语 prompt "
    kaneg
        32
    kaneg  
       14 天前
    楼主想表达的主题应该是以后人人都可以用自然语言编程吧
    在未来相当远的一段时期,编程还是需要程序员来与 AI 交流,并且监督 AI 的结果。这个其实和现阶段的无人驾驶有点类似,即时像特斯拉这样的大拿,尽管其在技术上基本可以做到无人驾驶,但方向盘的第一责任人还是驾驶员。
    takato
        33
    takato  
       14 天前
    如果我们能对我们自己的语言去除更多的歧义,那么 AI 也会更容易理解我们的思路。
    等等,我们是不是重新发明了编程语言?(笑),不过确实描述清楚需求省了一些事情。但是就像调用 API 一样,常见的需求细节可能能被补全,但是完全自定义的需求呢?是不是能够?这是我想提出的问题。
    AI 可能能够在很多时候做得更好,但是是否是所有时候?
    Dispatcher
        34
    Dispatcher  
       14 天前
    以我对这个世界的参差的理解,让很多人完整表述自己需求都非常非常困难。

    要求他们完整、无错误、可逻辑自洽、无内在矛盾的表述,基本上难于登天,更不要说让他们讲述给 ai ,ai 再输出了。

    何况,ai 只能做最基本的辅助工作,复杂一点的工程,或者涉及保密的,也完全不可能用 ai 。
    roundgis
        35
    roundgis  
       14 天前 via Android
    我们公司研发部不能上外网
    LZYMichael
        36
    LZYMichael  
    OP
       14 天前
    @GeekGao #26 哈哈哈哈哈哈哈哈哈哈哈哈
    LZYMichael
        37
    LZYMichael  
    OP
       14 天前
    @bluedawn #25 可是老哥我其实是不会 Cairo 库的,我仅仅知道 Cairo 可以用来作图。
    Kauruus
        38
    Kauruus  
       13 天前
    我甚至看不懂 OP 的需求
    TheWalkingDead
        39
    TheWalkingDead  
       13 天前
    op 第一次用大模型,感到有点惊喜,大家请谅解。
    Chuckle
        40
    Chuckle  
       13 天前
    这种小玩具还行,稍微文件多点,人没思路,问 ai 也只能干瞪眼
    duzhuo
        41
    duzhuo  
       13 天前
    你看你说的是人话吗.......
    Mageblade
        42
    Mageblade  
       11 天前
    AI 可以作为一个具有启发性的工具使用
    当你要做某件事而不知道如何下手的时候,可以试着跟 AI 聊聊,它往往能给你指出正确的方向
    但是具体的问题,不可全信它所给出的解答,要自己去甄别
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2879 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 06:03 · PVG 14:03 · LAX 22:03 · JFK 01:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.