如何用魔法提示词打破 Code Interpreter 修改代码的「鬼打墙」?

(注:本文为小报童精选文章,已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费

21c8617a23ca5cb6854c66fd17f2db67.jpeg

需求

最近我喜欢上了用 Claude 2,而不是 GPT-4 来润色文章。最主要的原因是 Claude 2 100K 的 tokens 长度,实在是优势显著。

你让 GPT-4 输出,一会儿是输入文本过长报错,一会儿是输出文本被截断。我这个懒人喜欢语音输入半天,然后一起转换,几乎就没有一回是开心从头输出到尾,总得出点儿岔头儿。ChatGPT 有时莫名奇妙喜欢「总结」和「提炼」,输入 2000 字,输出可能只有 400-500. 做摘要还算不错,但与我让他做的「润色」功能其实差别很大。

但是你看 Claude ,润色文本的效果就大不相同了。

5085198b97811a3c446eeaa026b10ee8.jpeg

至少,内容输出是完整的。

顺便说一下,我使用 Claude 的方式并不是官网,而是 Poe 。为什么呢?Poe 每天 30 条限制,官网不是免费用不限额度吗?

关键问题,在于官网回答输出有可能莫名其妙消失。

同样的提示词,处理同样的输入内容,官网给我显示的对话是这样。

de4d74adef8abfc06ee0295dfd366e08.jpeg

其实,我刚刚明明看见它输出了几千字的润色后全文文稿,但是现在仿佛一切都没有发生过一般。

我不知道问题出在哪里,猜测是因为 token 限制中途发生截断,但是不确定。不过既然现在 Poe 可以正常用,那咱们就不要为这些 bug 操心了。相信 Claude 官方后面会修复的。

可惜不管是 Poe 还是 Claude 官网,输出内容总是不让人满意。你看:

1496bc8078465faf98027335f4003bac.jpeg

从这张图里面,你可以清楚看出,几乎所有的逗号,全都弄错了。明明我使用的语言是中文,顿号、句号也都是中文标点,只可惜所有的逗号,却全都显示成了半角英文标点形式。

我当然需要处理一下。处理的方法自然不能是手动替换,那样低效又麻烦。所以咱们得让 ChatGPT 编程进行处理。

尝试

据江湖传闻,如今 GPT-4 的智商大幅下降;江湖小道消息还说,Code Interpreter 的表现相对好一些。于是,这个编程的活儿,咱们就交给 Code Interpreter 做好了。

这是我的提示词,注意我把 Claude 2 的润色结果也放了进去,好让 Code Interpreter 对要处理的内容有更清晰的认识。

d50d4893c5414764f1db4b7736269e40.jpeg

Code Interpreter 立即就给出了代码。

0283d088460ebb755bbb5b489aeb79c5.jpeg

所有的替换,都是半角符号到全角符号,挺好。

但是这个代码并不全。我并不只是要一个转换函数,更希望能有完整代码,帮我处理实际的输入。

所以我提出了要求。还对内容输入的不同方式分别做出要求。

95596ac21f53b438dc656f25bcf289d6.jpeg

Code Interpreter 非常迅速做出了应答。

54a4796ebbc675dc354080b5c5b84062.jpeg

不仅如此,Code Interpreter 还告诉我需要安装哪些依赖。

5fbb35727373a38a2140e0b9d25d69ed.jpeg

我把它贴到了 Visual Studio Code 里面运行,用 Claude 2 输出文本放到剪贴板测试,所有的半角逗号,都正确转换过来了。

看起来一切都很美好,是吧?

不,这里面其实有很大的问题。

因为不是所有文本中的半角符号,都应该转换成全角的。

Markdown 格式里面,有可能包含代码、链接或者 Markdown 图片链接。这些内容里面,可能有各种符号出现。例如代码里面可能出现 . 和 , ,链接里面出现 ":" ,图片更是可能有 !,[,. 等。

如果这些都不分青红皂白,转换成全角符号,那肯定要出问题的。

你可能会纳闷儿 —— 语音识别的内容里面,为什么会有这些东西呢?

原因是,有时我先做了幻灯,然后录制了视频,之后再把视频转换成为文字稿。为了避免润色之后,部分内容被合并,导致和图片无法一一对应,我先使用语音转录的初稿填充到图片对应的位置,然后再统一利用 GPT-4 或者 Claude 进行润色。这样一来,半角符号同时出现在链接和正文,就比较尴尬了。

所以,我进一步提出修改意见,希望 Code Interpreter 能编程,帮我一劳永逸解决 Markdown 输出文字半角符号转换问题。

f6dbf71f04628e9db10a850cff438fa4.jpeg

我这里特别强调「依此类推」,赋予 GPT-4 主动权,让它凭借见多识广积累的经验来处理该问题。

下面是 GPT-4 给我的回答。

edf3b37298e3055ba1eea5854d153a33.jpeg

实话实说,它说「你的观察非常到位」这句话,夸得我很受用。哈哈。

不仅会夸人,Code Interpreter 还给出了处理方案。紧接着,它自己就去实施方案了。真的是「全自动」啊,哈哈。

63d7631601904c4287638b77046b1c5d.jpeg

标红色方框的地方,使用了正则表达式,处理 Markdown 里面的链接、图片等特殊内容。

我不打算每一次修改,都拿到外面来自己运行测试。既然 Code Interpreter 本身就带了运行环境,还是让它自己测试好了再给我最终修改结果比较好。

我虽然已经一上来就给 Code Interpreter 上传了 Claude 2 输出的文本,不过那个文件里面都是文字和标点,并没有 Markdown 链接或者代码,所以不太适合测试。

但这不是问题,咱们可以让 Code Interpreter 自己生成合适的测试样例。

51fce0fe2c2ccb2b7159454f4ae7eafa.jpeg

Code Interpreter 毫不犹豫就写了一个 Markdown 样例出来。

ef5fcb0b01bf998ff24dae49666e6dba.jpeg

这里的显示,其实有点儿问题。主要问题在于 Code Interpreter 里面默认输出代码的格式是 Python 。而在这样的设定里,三个反引号所代表的,是代码段的开始和结束。所以下图中标红的部分,实际上显示格式是错乱的。

58bddb938203150d8857d775ce926be0.jpeg

不过样例显示不正确无所谓,只要它实际内容准确, Code Interpreter 认得这个 Markdown 样例就行。

我于是说:你先自己尝试运行一下,看看有没有问题。

然后 Code Interpreter 兢兢业业开始执行。

04b7540732375bc8c45f7e07132a8770.jpeg

一开始,Code Interpreter 还挺开心,认为一切正常。但是很快,它自己发现了问题。

665ef0270bc2a210eba6f82d5e9f955c.jpeg

现在图片链接里面,! 和 [ 以及文件名和扩展名之间的 . ,全都错误转换成了全角。

不过,既然 Code Interpreter 自己已经发现了错误,并且声称有应对方案,那咱们放手让它自己改吧。

da4bc1f216ec6aed0fc3c32974268116.jpeg

所以,我只是轻飘飘说了句,「请继续」。哪知道,自信满满的 Code Interpreter 会遭遇这么大的挫折。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值