如何正确使用 ChatGPT 写程序? 好难啊 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ellermister
V2EX    程序员

如何正确使用 ChatGPT 写程序? 好难啊

  •  
  •   ellermister 2023-06-14 15:54:20 +08:00 2926 次点击
    这是一个创建于 929 天前的主题,其中的信息可能已经有所发展或是发生改变。

    编写一个 PHP 函数, 实现把输入的文本中的英文、数字和中文混合连在一起文字部分的字符拆开增加间距(空格)并返回。

    比如:

    • "dns2socks 启用" 要处理成为 "dns2socks 启用"
    • "写一个 helloworld 的程序" 要处理成为 "写一个 helloworld 的程序"
    • "包括数字的字符, 比如 14:30 要去做某件事" 要处理成为 "包括数字的字符, 比如 14:30 要去做某件事"

    最终使得长篇文字看起来增加阅读体验,不会把中英文挤在一起。

    以上是我对 chatgpt 提供的基础需求, 无论我怎么纠正修改,它反复修改就是没有理解我的意思,甚至写的代码都有报错的。 写的都是些啥- -.

    我用的免费 3.5 ,方法不对吗? 还是我表达的不能够达到机器理解的程度。

    test

    test2

    15 条回复    2023-06-16 15:35:01 +08:00
    crissx
        1
    crissx  
       2023-06-14 17:11:20 +08:00   1
    可能你的表达是有问题,这处理前和处理后的字符串不都一模一样的吗
    k0305916q
        2
    k0305916q  
       2023-06-14 17:19:02 +08:00
    额,3.5 ,4 都试过~发现 4 ,不仅能给出更好的代码,还能告诉我题目所隐藏的条件。。。顺便纠正我的错误描述。并最终给出,若你坚持这么做的话,可以加个 if 来判断的最终代码。
    所以我的结论是,若不想专精 prompt ,用 4 会更好。
    usedTo404
        3
    usedTo404  
       2023-06-14 17:34:08 +08:00
    @crissx V2EX 好像自动实现了 op 的需求
    LeegoYih
        4
    LeegoYih  
       2023-06-14 17:38:10 +08:00
    我目前用 chatGPT 帮我生成大致思路,它写代码大概率运行不了或者瞎编的。
    让他优化一个 BFS 代码,分析的头头是道,结果返回的代码狗屁不通。
    ellermister
        5
    ellermister  
    OP
       2023-06-14 18:28:34 +08:00
    @crissx 是的刚发现,可能是 v2 自动格式化了。我原本是没空格的,中英文连接在一起的。
    Puteulanus
        6
    Puteulanus  
       2023-06-14 18:31:46 +08:00
    https://chat.openai.com/share/e34ab9f8-cd66-43be-8ef8-4f8206c0fcc8
    拿你例子里的几个跑了下好像还行,它那个正则就不想仔细 review 了。。
    用的也是 3.5 ,它最后给出的运行结果是错的,实际运行输出“我爱 OpenAI2023”,符合描述的英文和数字不要隔开
    zxfgds
        7
    zxfgds  
       2023-06-14 18:39:11 +08:00
    3.5 不行的, 3.5 能做下面这种工作: 比如 你要定义 某种状态 ,包括: 部分状态的中文名....
    然后, 我们告诉 gpt: 我需要给 *** 定义状态, 其中包括 *** ,*** , 你帮我完善所有`状态`, 并且生成对应的 `英文状态名`, `状态中文名` 和 `状态英文名` 由你来决定 ,要符合命名规范, 最后,帮我生成 映射 map 等等...

    它做这个飞快.


    假如想直接写代码, 还是要 4 的 , 并且 有时候他的思路并不行 , 你要引导它.
    ellermister
        8
    ellermister  
    OP
       2023-06-14 18:44:33 +08:00
    @Puteulanus 你的这个答案确实可以用,看来还是需求描述不同导致的。
    ellermister
        9
    ellermister  
    OP
       2023-06-14 18:47:27 +08:00
    @zxfgds 引导没用,很多时候很烦,每次纠正他,他都道歉,然后并没有修正错误。就像一个小孩,你要想从各个角度没有考虑到的东西,收集出来输出给他、教他。

    就差把解题思路分解成一步步的,让他翻译成代码。

    反复多了就很累,不如自己整理思路去做。
    Puteulanus
        10
    Puteulanus  
       2023-06-14 19:10:13 +08:00   1
    @ellermister 我的经验是 3.5 必须把需求、步骤描述清楚,类似于对结对编程里的新手一样,比如我上次让它写跨俩表遍历查找的,最开始说“根据 A 表的信息从 B 表查询”,它居然写了个遍历 B 表的。我后来改成详细的告诉它过程,“遍历 A 表所有条目,以学号为唯一标识,查找 B 表中学生信息,如果 XX 信息为 XX 则。。”,生成出来的就对了

    还有一旦它写错了,千万别让它改,除非真的只有一丁点很明显的错误,不然改起来绝对是无底洞。如果它写出的状况你描述的没想到,就直接改描述重新提交生成;如果它写的根本对不上描述,或者不能运行,就直接点按钮重新生成。AI 生成一份的效率很高,你让它多生成几份挑一份只有小错误的自己再改改,要比把它写得不能跑的改到能跑快得多
    cloud2000
        11
    cloud2000  
       2023-06-14 19:18:57 +08:00
    必须, 必须, 用 4.

    和 3.5 较劲有时也能成功, 但是费那个功夫其实不如自己写了.
    Alias4ck
        12
    Alias4ck  
       2023-06-14 19:55:31 +08:00
    xdygxh
        13
    xdygxh  
       2023-06-14 21:01:47 +08:00
    说白了,3.5 只适用于,你自己有思路了,但是懒得动手,让他帮你写,而且你还要把详细的思路给他,这样不会出错。
    eastphoton
        14
    eastphoton  
       2023-06-14 21:22:33 +08:00
    跑去尝试了三次,
    两次会话是只让他修复了一次就给出了正确代码,
    一次会话是越改越歪。
    C02TobNClov1Dz56
        15
    C02TobNClov1Dz56  
       2023-06-16 15:35:01 +08:00
    还不如用 bing 生成的代码
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     928 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:37 PVG 06:37 LAX 14:37 JFK 17:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86