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

2023-11-01

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

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 会遭遇这么大的挫折。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • Nginx学习研究-Nginx配置详解

    一 Nginx简介 Nginx 是一款轻量级的 Web 服务器 反向代理服务器 及电子邮件 IMAP POP3 代理服务器 它主要有三个作用 分别是Web服务器 反向代理 配置SSL证书 http转发到https 和负载均衡 二 Nginx
  • Qt6 添加 QOpenGLWidget 报错

    添加 QOpenGLWidget 控件后编译报错 undefined reference to imp ZN13QOpenGLWidgetC1EP7QWidget6QFlagsIN2Qt10WindowTypeEE collect2 exe
  • Qt绘图控件QCustomPlot: (一)安装及使用

    一 目录 一 介绍 二 下载及配置环境 三 建立工程 四 基础画图 一 介绍 QCustomPlot是一个Qt c 小控件 用于绘图和数据可视化 它没有其它的依赖关系 并且有很好的帮助文档 这个绘图库专注于制作好看的 高质量的2D绘图 图形
  • vue(五)组件、自定义属性props

    一 组件化开发 组件化开发指的是 根据封装的思想 把页面上可重用的 UI 结构封装为组件 从而方便项目 的开发和维护 vue 是一个支持组件化开发的前端框架 vue 中规定 组件的后缀名是 vue App vue 文件 本质上就是一个 vu
  • 竞速榜实时离线对数方案演进介绍

    一 背景 竞速榜是大促期间各采销群提供的基于京东实时销售数据的排行榜 同样应对大促流量洪峰场景 通过榜单撬动品牌在京东增加资源投入 竞速榜基于用户配置规则进行实时数据计算 榜单排名在大促期间实时变化 相关排名数据在微博 朋友圈广泛传播 相关
  • android 日历开发附源码(附源码)

    这里主要记录一下在编写日历apk过程中一些主要的点 先看下效果图 一 主要功能 1 支持农历 节气 常用节假日 2 使用数据库 设置计划 二 基本结构 我们要实现的日历控件采用GestureDetector构造器 使用OnGestureLi
  • 《ImageNet Classification with Deep Convolutional Neural Networks》——AlexNet论文整理

    题目 ImageNet Classification with Deep Convolutional Neural Networks 简介 AlexNet属于一个更大更深的LeNet 改进有以下三点 增加了dropout层 丢弃层 激活函数
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 硬盘再生器和mhdd相比_让小白变高手,硬盘维修的三大工具简单、实用

    在我们平时使用电脑中经常会遇到 系统突然奔溃 然而自己确实是什么都没干系统就坏了这让很多人摸不着头脑到底是自己弄得还是系统哪里坏了 其实不然像这种情况大多数情况下都是硬盘不稳定而导致的系统文件丢失而不能启动系统 最多情况的就是注册表丢失 开
  • 启动hbase出现Java HotSpot(TM) 64-Bit Server VM warning

    分布式hbase启动异常提醒 分布式hbase启动过程出现Java HotSpot TM 64 Bit Server VM warning提醒异常 主要是因为使用的JAVA JDK版本问题 JDK8 以上的版本不需要如下图所示的红框内的两行
  • 讲述deployment、service、ingress资源的lables关系

    在实验之前 我们都知道 lable是k8s中内部找寻各个资源的依据 比如deployment需要跟那个pod资源进行绑定 通过lable service资源如何跟pod资源进行绑定 通过lable service资源如何跟service资源
  • Fabric区块大小的实验

    首先记录已在账本的大小 见下图 大小是319784字节 修改peer的源代码 将区块写入文件时 输出新区块的大小 编译peer并替代原来的peer 重新启动节点 在终端上记录区块高度 调用智能合约的链码函数 产生一个新区块 账本大小变为32
  • Java中堆和栈创建对象的区别

    栈与堆都是Java用来在Ram中存放数据的地方 与C 不同 Java自动管理栈和堆 程序员不能直接地设置栈或堆 Java的堆是一个运行时数据区 类的对象从中分配空间 这些对象通过new newarray anewarray和multiane
  • AI2019下载Adobe Illustrator CC2019安装教程

    Illustrator 简称 AI 是一款非常强大的矢量图制图软件 在平面设计 UI设计 广告设计等诸多行业都有广泛的应用 并且作为必备软件有它的不可替代性 但很多朋友在开始安装AI软件的时候却遇到种种困难 为此 我亲自录制了安装教程 也分
  • ios开发问题记录记录

    1 提示 usr include c v1 threading support 457 11 error build Use of undeclared identifier nanosleep 原因 header search paths
  • C++ deque的总结

    deque 1 deque是什么 deque 发音类似 deck 是双端队列不规则的首字母缩写 双端队列是动态大小的序列式容器 其可以像两端进行伸缩 特定的库可以以不同的方式实现deque 但通常都是一种动态数组 不论在何种情况下 它都允许
  • npm安装两个相同的库方法

    特殊情况下一个node项目中我们需要安装两个相同的库 package json devDependencies demoA vue auto routing npm vue auto routing 1 0 1 目录名 库名 指定npm库版
  • MTU的测量方法

    MTU的测量方法 MTU是Maximum Transmission Unit的缩写 意思是网络上传送的最大数据包 MTU的单位是字节 大部分网络设备的MTU都是1500 如果本机的MTU比网关的MTU大 大的数据包就会被拆开来传送 这样会产
  • 淋巴结病理数字玻片读取与处理代码

    更多数学原理小文请关注公众号 未名方略 Whole slide images are generally stored in a multi resolution pyramid structure 首先安装openslide模块
  • 如何用魔法提示词打破 Code Interpreter 修改代码的「鬼打墙」?

    注 本文为小报童精选文章 已订阅小报童或加入知识星球 玉树芝兰 用户请勿重复付费 需求 最近我喜欢上了用 Claude 2 而不是 GPT 4 来润色文章 最主要的原因是 Claude 2 100K 的 tokens 长度 实在是优势显著