V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sunzhuo
V2EX  ›  程序员

给编程初学者出什么题让他不能直接从 GPT 获得答案?

  •  
  •   sunzhuo · 2023-08-28 10:48:58 +08:00 · 8622 次点击
    这是一个创建于 454 天前的主题,其中的信息可能已经有所发展或是发生改变。

    题目最好简单一些,但是还不能从 GPT 直接询问得到答案,头疼。

    第 1 条附言  ·  2023-08-28 11:57:49 +08:00
    不是面试也不是考试,是培训。在培训过程中我也会演示如何用 GPT 来辅助编程。但是我需要给学员出一些更有挑战性的问题让他们不能直接在 GPT 中找到答案复制粘贴。
    73 条回复    2023-08-30 09:29:34 +08:00
    yakumo520
        1
    yakumo520  
       2023-08-28 10:52:34 +08:00   ❤️ 1
    这边建议直接聘请 GPT
    c3de3f21
        2
    c3de3f21  
       2023-08-28 10:54:51 +08:00
    可以找一些 GPT 会给出误导答案的那种不用很难题
    murmur
        3
    murmur  
       2023-08-28 11:00:24 +08:00
    建议线上编程,那种双机位的,如果是正式编程,如果能自己搭科学链路并且有稳定的 gpt 服务本身就是能力的一种体现
    Building
        4
    Building  
       2023-08-28 11:02:19 +08:00 via iPhone   ❤️ 44
    如果人家懂得用 GPT 拿到答案,还懂得验证答案是正确的,那请问你要担心什么?
    PiersSoCool
        5
    PiersSoCool  
       2023-08-28 11:12:25 +08:00
    是这样的,简单一些的 gpt 都能答,这是他的特性
    shaozelin030405
        6
    shaozelin030405  
       2023-08-28 11:12:52 +08:00
    需要使用专业词汇来进行搜索的问题
    janus77
        7
    janus77  
       2023-08-28 11:13:45 +08:00
    看你的目的是什么
    你是要面试吗?我觉得面试可以随便出题,技术手段阻止作弊只是一方面,还有录取以后看表现。阻止 GPT 不是核心
    你是要教一个人学编程吗?主要靠他自觉,阻止 GPT 也不是核心
    你是要给学生出题?按考试标准来就行了,作弊的严格处理。
    这是一个社会性问题,不是纯技术问题
    brust
        8
    brust  
       2023-08-28 11:14:12 +08:00
    能够使用 gpt 已经超越 50%的人了
    lzgshsj
        9
    lzgshsj  
       2023-08-28 11:14:46 +08:00
    2022 年以后的知识?但是如果用的是能联网的也不好整。
    dko
        10
    dko  
       2023-08-28 11:21:35 +08:00   ❤️ 3
    一个人跑 100 米需要 20 秒,那么 3 个人同时跑,多长时间可以跑完 100 米?
    bigha
        11
    bigha  
       2023-08-28 11:22:10 +08:00   ❤️ 1
    这种担心纯属无稽之谈啊,
    没有 GPT 之前大家用的是谷歌,
    简单的问题不一样能搜出来
    libook
        12
    libook  
       2023-08-28 11:23:49 +08:00
    现场问答,开放性题目,考察解决思路。

    或者出一些有坑的题,只要不是网上已经有的原题,AI 现阶段应该都没法注意到那么细致的问题,会和人一样容易疏忽。
    luzemin
        13
    luzemin  
       2023-08-28 11:29:16 +08:00
    你的前提是“初学者”“编程”“题”,那使用 GPT 必然能获得答案。

    所以,面对面聊。
    crazyTanuki
        14
    crazyTanuki  
       2023-08-28 11:46:54 +08:00
    懂得使用 gpt,懂得甄别 gpt 回复是否符合业务需求,这种能力不能胜任你们的工作吗?
    MoYi123
        15
    MoYi123  
       2023-08-28 11:55:13 +08:00
    如果是你是指算法题的话, 一般新的题 ChatGPT 就不太会, 可以在最新的 leetcode 周赛(一般是建议第 2,3 题)和 atcoder 的 ABC(建议第 D, E 题)里找一些难度合适的题
    chenPiMeiHaoChi
        16
    chenPiMeiHaoChi  
       2023-08-28 11:56:36 +08:00
    让他复现 C919 起飞时发动机部分的控制代码怎么样,毕竟看你的需求你们大概要造火箭。
    LitterGopher
        17
    LitterGopher  
       2023-08-28 11:57:14 +08:00   ❤️ 1
    按照我对 GPT 的使用体验来说,你只需要把一个问题稍微描述得复杂一点,GPT 给出的答案就很可能跑飞。或者你把场景具体一点(是具体一点,而不是模糊一点),他给出的解也很可能不够“简洁”。

    我之前问如何编写一个 shell 函数,该函数可以在 tmux 没有任何 session 的时候创建一个 session ,有 session 的时候进入最后退出的 session 。结果他洋洋洒洒写了 8 行(还是错的)。实际是只需要一行命令就可以搞定 tmux attach || tmux 。

    所以你也可以尝试问一些 GPT 可以给出正确答案,却不够优秀的答案的问题。
    iOCZ
        18
    iOCZ  
       2023-08-28 11:59:23 +08:00
    @dko 你的题目不错,GPT 跪了
    jones2000
        19
    jones2000  
       2023-08-28 12:43:33 +08:00
    编程初学者,不适合用 GPT, 你都不知道 GPT 回答的问题对不对, 你怎么用。GPT 就只能干点体力活, 比如这个东西我会搞,我就是嫌麻烦自己写, 可以让 GPT 生成下代码,自己在调试下。
    itskingname
        20
    itskingname  
       2023-08-28 12:46:35 +08:00
    编写一个正则表达式,能够从任意文本中按照如下要求提取数据:

    1. 如果文本中包含方括号,提取出方括号中的内容。例如:aa[世界]bb ,提取世界
    2. 如果方括号在单双引号里面,忽略他,例如 aa'[世界]'bb ,不提取
    3. 如果方括号中套方括号,内部方括号当做普通字符,例如:aa[这是[正文]的一部分]bb ,提取"这是[正文]的一部分"
    4. 如果有多个方括号,都要提取,以列表形式返回:aa[世界]bb[world]cc ,提取['世界', 'world']
    5. 方括号中可能有半个右方括号,需要能够识别并跳过,例如:数值范围[左开右闭区间的符号]方括号]特殊值。这种情况应该提取『左开右闭区间的符号]方括号』

    经过测试,目前市面上任何一个大语言模型都无法生成正确的正则表达式。
    chinaguaiu
        21
    chinaguaiu  
       2023-08-28 13:10:59 +08:00
    但凡是抽象的题目,gpt 都不理解;需要合理联想的题目,gpt 都答复得一团糟。最直接的方法就是不要问那种几个祈使句就能回答的题目,多用点反问句、疑问句,并且描述一定要足够抽象。
    geelaw
        22
    geelaw  
       2023-08-28 13:16:16 +08:00
    “给编程初学者出什么题让他不能直接从 GPT 获得答案?”

    这个问题是 GPT 无法正确回答的(对角线论证)。

    @itskingname #20 问题:a[b[c]d[e] 的提取结果是什么?
    daliusu
        23
    daliusu  
       2023-08-28 13:23:10 +08:00
    我建议抛开应试情节,只要他能解决问题,你管他是自己解决还是找 gpt 解决?有些人天赋在解决问题上,有些人天赋在分拆问题上,他分拆了问题再找 gpt 解决然后自己组合起来,有什么不可以的呢?如果真的硬要不用,你直接让他们录屏+直播摄像头就可以了,压根不需要从题目入手
    xhldtc
        24
    xhldtc  
       2023-08-28 13:23:38 +08:00
    @dko 我帮你问了下 GPT ,它说还是 20 秒啊
    c3de3f21
        25
    c3de3f21  
       2023-08-28 13:39:21 +08:00
    @dko 6.66 秒,天王老子来了也是 6.66
    Dlin
        26
    Dlin  
       2023-08-28 13:46:40 +08:00
    哎,gpt 进一步降低了编程门槛。
    msg7086
        27
    msg7086  
       2023-08-28 14:25:35 +08:00
    @daliusu 这里有一个问题,就是 GPT 并不是稳定的。
    如果一个人能通过拆分问题用 GPT 解决,然后验证结果,最后交差,那这个人就算没有 GPT 也基本能够做完这些事,只不过多费点时间而已。
    要着重刷掉的,是自己没有能力验证结果,只是无脑丢给 GPT 出来复制粘贴就交差的人。这种人遇到简单问题还能干活,稍微复杂点的 GPT 做不了的活就只能干瞪眼了。这种人你要是招进来了,以后发现了总不能辞退了吧。

    国内用工有保护机制,你招到了滥竽充数的员工就很难处理掉,结果就是一些公司一小部分员工干着大部分的活,大部分员工天天摸鱼充数,最后 1 个人干着 5 个人活的员工纷纷辞职,留下一滩烂泥。
    KisekiRemi
        28
    KisekiRemi  
       2023-08-28 14:42:29 +08:00
    人性问题,你问 GPT 永远没有正确/标准答案 (doge
    Planarians
        29
    Planarians  
       2023-08-28 15:22:59 +08:00 via iPhone
    把你帖子的标题出给他们
    OceanSea
        30
    OceanSea  
       2023-08-28 15:23:10 +08:00   ❤️ 1
    应该教他们:( 1 )如何把大任务分解小任务;( 2 )如何向 GPT 提问来获得小任务的代码;( 3 )如何验证代码的有效性。
    itskingname
        31
    itskingname  
       2023-08-28 16:08:26 +08:00
    @geelaw 多层嵌套,内层全部当做普通字符处理。你这个例子应该是『 b[c]d[e 』
    itskingname
        32
    itskingname  
       2023-08-28 16:09:46 +08:00
    @itskingname 说错了,应该是 『[b[c 』和『 e 』

    @geelaw
    itskingname
        33
    itskingname  
       2023-08-28 16:10:24 +08:00
    说错了,应该是 『 b[c 』和『 e 』
    learningman
        34
    learningman  
       2023-08-28 16:14:40 +08:00 via Android
    写一个小故事就完事了,别把题面写的太简洁。
    比如就我自己测试来说,leetcode easy gpt 基本没压力,但是 codeforces div3 a 题 gpt 都不一定能写出来,就是因为 CF 的题一般包含背景
    yankebupt
        35
    yankebupt  
       2023-08-28 16:27:27 +08:00   ❤️ 1
    @sunzhuo 你问他一个最低代码量超过 GPT token 限制 3 倍以上的大一点的系统,让他对代码中的随机一个小函数给出实现细节。
    就比如 esp32 lora 蓝牙点对点非网关 DTU ,我要 LORA 和蓝牙收发纠错,主从机周期性休眠前接收 ACK 确认,要电源管理,好了,现在让他随便实现任何一个小部分,小部分要兼顾所有的特性,给出实例代码(主机-从机对应的部分都要给出)
    GPT 的话会一直车轱辘话,笼统概括,拒绝给出任何细节,因为 token 周转不过来

    别问我怎么知道的。我问过 GPT ,问不出来……
    zhanlanhuizhang
        36
    zhanlanhuizhang  
       2023-08-28 16:30:41 +08:00
    首先你出的题目要网上搜不到答案。不然 GPT ,一般情况下对于初学者的题目都能够给出正确答案。
    yankebupt
        37
    yankebupt  
       2023-08-28 16:31:53 +08:00
    @sunzhuo 或者你问他.net 的东西,因为代码臃肿很容易超出 token 限制。
    比如你问怎么把一个 vlc rtsp 转发的树莓派的网络麦克风桥接到 windows 的语音识别上,涉及音频 codec 转码,代码量秒超……GPT 会拒绝回答
    但是真人初学者查文档和 stackoverflow 东拼西凑是能凑出来的,也不难
    weilongs
        38
    weilongs  
       2023-08-28 16:41:09 +08:00
    我觉得你不用解决 GPT 问题,让答题者讲清楚他的思路和实现就行啦。为什么要防止 GPT 回答呢?
    asdgsdg98
        39
    asdgsdg98  
       2023-08-28 16:45:07 +08:00
    问他和数学相关的,gpt 数学不行会乱编,这个方向可以试试
    8355
        40
    8355  
       2023-08-28 16:49:50 +08:00   ❤️ 1
    不不不,我的思路完全不同。
    如果你问他一个基础的问题让允许他通过 gpt 获取正确答案,如果给出的答案错误说明这个人不能要。
    能够通过 ai 获取正确答案(辨别正确答案)才是未来最重要的能力之一。
    nulIptr
        41
    nulIptr  
       2023-08-28 19:06:43 +08:00 via iPhone
    真正的新手提问都不知道关键词,我自学 css 的时候就有这种感觉
    lawler
        42
    lawler  
       2023-08-28 21:59:16 +08:00
    培训哪方面的?

    jdk LTS 版本号是多少?
    nodejs LTS 版本是多少?
    JS ES2022 新特性?

    思路打开了吗?
    snBDX1b0jJM4ogKd
        43
    snBDX1b0jJM4ogKd  
       2023-08-28 22:36:05 +08:00 via Android
    @LitterGopher 你的这一行也不能算完全正确呀
    snBDX1b0jJM4ogKd
        44
    snBDX1b0jJM4ogKd  
       2023-08-28 22:53:58 +08:00 via Android
    @LitterGopher 无聊试了一下,GPT 的答案比你的更严谨靠谱呀🐶
    你可以使用以下的 shell 函数来实现你的需求:

    ```shell
    function tmux_auto_session() {
    # 检查是否存在 session
    if ! tmux list-sessions >/dev/null 2>&1; then
    # 如果没有 session ,则创建一个新的 session
    tmux new-session
    else
    # 获取最后一个退出的 session 的名称
    last_session=$(tmux display-message -p '#S' 2>/dev/null)

    # 进入最后一个退出的 session
    tmux attach-session -t "$last_session"
    fi
    }
    ```

    这个函数首先检查是否存在 tmux session ,可以通过`tmux list-sessions`命令来实现。如果没有 session ,它将使用`tmux new-session`命令创建一个新的 session 。

    如果已经存在 session ,它将使用`tmux display-message -p '#S'`命令获取最后一个退出的 session 的名称。然后,它使用`tmux attach-session -t`命令进入该 session 。

    你可以将以上函数添加到你的 shell 脚本中,然后在需要的地方调用`tmux_auto_session`函数即可。
    anzu
        45
    anzu  
       2023-08-29 02:51:52 +08:00
    先搞懂教育的理念。你可以领着牛到河边,但是无法按着它的头让它喝水。
    高中的时候,有时老师下发作业的同时也另外附带答案,说:如果你想好好学就先别看答案,学不学是你们自己的事,如果你不先对自己负责,我也无法对你负责。
    另外,练习是学习中重要的一部分,「会用 ChatGPT 就好」不适用于初学者。计算器可以算出一元二次方程解,并且学生可以轻易代入验证答案,那么学生可以不学解方程了吗?
    echaos
        46
    echaos  
       2023-08-29 03:54:33 +08:00 via Android
    做 unity 的,给出的答案都很烂
    levelworm
        47
    levelworm  
       2023-08-29 04:39:12 +08:00 via Android
    写一个简单的模拟器吧。你们自己搞一个虚拟的 8 位游戏机,自己搞一套机器码,这就算是粘贴复制进去都需要很久。其实这个思路对了可以允许 ai 辅助编写每个部分,但是怎么切割成几个部分就还得看他自己。
    james122333
        48
    james122333  
       2023-08-29 07:10:00 +08:00 via Android
    @cs010

    这不严谨阿 不仅用途单一也不够简洁无法尽力保证不出错 改错就得爆炸了 这是初学者才会写的状态 我一开始写都是这样
    james122333
        49
    james122333  
       2023-08-29 07:16:36 +08:00 via Android
    @cs010

    还有其它糙点我就不说了 拿其它语言标准在写 shell 就是悲剧
    jackOff
        50
    jackOff  
       2023-08-29 07:49:48 +08:00 via Android
    写一些游戏项目,因为版权问题它百分百不会提供游戏算法
    yougg
        51
    yougg  
       2023-08-29 08:04:28 +08:00 via Android
    @dko #10
    是在同一起跑线还是均分三段的三个起跑线还是相对的两个尽头的起跑线还是背对背的起跑线?
    ChatGPTPRO
        52
    ChatGPTPRO  
       2023-08-29 08:32:22 +08:00
    nb
    LitterGopher
        53
    LitterGopher  
       2023-08-29 08:45:26 +08:00
    @cs010 这个我确实没有注意到什么时候会出现问题,海望指正。
    MEIerer
        54
    MEIerer  
       2023-08-29 09:17:40 +08:00
    没必要。鉴别答案就是你和他的工作。
    snBDX1b0jJM4ogKd
        55
    snBDX1b0jJM4ogKd  
       2023-08-29 10:57:52 +08:00 via Android
    @LitterGopher tmux 意外退出,你这个|| 就会重新再打开一个
    liuchuanfff
        56
    liuchuanfff  
       2023-08-29 10:59:30 +08:00
    @Building #4 担心他教的都可以自学了
    snBDX1b0jJM4ogKd
        57
    snBDX1b0jJM4ogKd  
       2023-08-29 10:59:40 +08:00 via Android
    @james122333 不简洁和不严谨是两回事呀。你可以说它啰嗦,但是这个函数本身没啥问题啊。另外你也可以叫它不写函数,写一个命令
    ovtfkw
        58
    ovtfkw  
       2023-08-29 11:15:42 +08:00 via iPhone
    禁止翻墙即可
    x86
        59
    x86  
       2023-08-29 11:21:57 +08:00
    我觉得是可以用,但不能过渡依赖。
    mmdsun
        60
    mmdsun  
       2023-08-29 12:44:08 +08:00 via iPhone
    @dko
    Bing GPT-4 回答:
    这是一个有趣的脑筋急转弯。有不同的答案,
    可能的答案是:

    - 如果 3 个人是在同一条跑道上跑,那么最快的人跑完 100 米的时间就是答案。假设最快的人跑 100 米需要 10 秒,那么答案就是 10 秒。
    - 如果 3 个人是在不同的跑道上跑,那么最慢的人跑完 100 米的时间就是答案。假设最慢的人跑 100 米需要 30 秒,那么答案就是 30 秒。
    - 如果 3 个人是在同一条跑道上,但是从不同的位置开始跑,那么最远的人跑完 100 米的时间就是答案。假设最远的人距离终点有 50 米,那么他需要跑 150 米,如果他跑 100 米需要 20 秒,那么他跑完 150 米需要 30 秒,那么答案就是 30 秒。
    laobanzaiheaven
        61
    laobanzaiheaven  
       2023-08-29 12:53:00 +08:00
    @xhldtc 我的咋说是 6.67s
    capgrey
        62
    capgrey  
       2023-08-29 13:53:48 +08:00
    问它政治问题
    manasheep
        63
    manasheep  
       2023-08-29 14:07:48 +08:00
    条件里较多坑(误导、无效)的。
    较多算数相关的。
    manasheep
        64
    manasheep  
       2023-08-29 14:09:13 +08:00
    对了,还有对人类有明显恶意的应用问题,AI 一般拒绝回答,用户需要转换成其它非恶意说法才能问到。
    LitterGopher
        65
    LitterGopher  
       2023-08-29 17:56:23 +08:00
    @cs010 请问意外退出是指?因为在使用过程中确实没有遇到过,如果是属于比较容易触发的话,我还是得考虑一个更严谨的写法。
    lightjiao
        66
    lightjiao  
       2023-08-29 18:31:57 +08:00
    Q:C# 中为什么需要 async 关键字?

    这个问题问 gpt 目前的回答是错误的,只是把 async 的特性说了一遍,没有说出设计它的原因,真实答案有一篇微软的官方博客,google 一下就能搜索到,对于帮助理解 async 非常重要
    wenzhuo
        67
    wenzhuo  
       2023-08-29 18:51:33 +08:00
    考核效果达不到确实是个问题,gpt 对于基础题目几乎秒杀,只能靠自觉了
    snBDX1b0jJM4ogKd
        68
    snBDX1b0jJM4ogKd  
       2023-08-29 18:53:35 +08:00 via Android
    @LitterGopher 不容易出现。只是论严谨罢了🐶
    除了你手动 kill ,tmux 还是很稳的
    ZhiyuanLin
        69
    ZhiyuanLin  
       2023-08-29 20:27:47 +08:00
    在题目中与知识无关的部分大量插入政治敏感词,这样墙内大部分 GPT Bot/App/带问服务都会拒绝回答。
    james122333
        70
    james122333  
       2023-08-30 04:54:59 +08:00 via Android
    @cs010

    shell 需要简洁来保持严谨 很多人对于 shell 有偏见是这原因
    以它提供的写法来讲是不好 但能跑就是 如果你没有要改
    wizardoz
        71
    wizardoz  
       2023-08-30 09:25:44 +08:00
    @Dlin 错了,反而是提高了编程的门槛。因为它可以取代很多低端程序员的编码工作,同时大大增加了资深程序员的编码效率。
    wizardoz
        72
    wizardoz  
       2023-08-30 09:28:09 +08:00
    @wizardoz 更正:不是提高了编程的门槛,只是提高了程序员职业的门槛。
    touchmii
        73
    touchmii  
       2023-08-30 09:29:34 +08:00 via Android
    应该出那些 GPT 会答错的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3094 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:12 · PVG 08:12 · LAX 16:12 · JFK 19:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.