Redian新闻
>
如何构建结合 ChatGPT 的半自动化编程:以 ClickPrompt “步步惊心” 示例

如何构建结合 ChatGPT 的半自动化编程:以 ClickPrompt “步步惊心” 示例

科技

PS:虽然,我们应该以预训练的 Prompt 作为当前的目标,通过将大量的数据训练。但是,作为一个没有 AI 训练资源的普通人,这个价格太昂贵了。于是,我们探索能否基于工作流的方式,来构建半自动化编程。

LR; DR 版本,四要素:

引子:ClickPrompt 步步惊心

周末,我们在 ClickPrompt 上添加了一名为 “步步惊心” 的工作流式的 Prompt 交互功能,在这个功能里,你可以设计自己的日常工作流,将它与 AI 结合到一起。在过程中,ClickPrompt 会提供一个编辑器,让你修改上一步的输出,修改完只需要继续 one click 即可。

诸如于,你在开发一个新的功能,而在那之前,你需要先分析一下需求,包含它的边界条件等等。在我们构建了工作流的情况下,只需要

  1. 在第一步中,我输入新功能的名称和简要描述。

  2. 当我点击“下一步”按钮时,Prompt 自动提供一些可能的需求和边界条件。

  3. 如果我需要修改需求或条件,我可以使用编辑器对其进行修改,并点击“确认”按钮。

  4. 然后我可以继续进行下一步操作,比如编写代码或进行测试,同时 ChatGPT 可以帮助我更快地分析需求和边界条件,并提供有用的建议和反馈,提高我的工作效率和准确性。

随后,我们也可以继续要求 ChatGPT 帮我们编码。

一个示例:从需求到代码

PS:这是一个未 100% 完成的 demo 示例,只是为了更好的启发大家

接着,让我们来看 ClickPrompt 的示例《用户故事》(https://www.clickprompt.org/zh-CN/chatgpt-startling-by-each-step/user-story/)。

1. 定义用户故事的输出格式

首先,我们需要定义一个能继续让 ChatGPT 理解的需求,它需要尽可能的详细。于是,我们的 prompt 就相当的长,如下图所示:

Untitled

在这个 prompt 里:

  • 我们定义了处理的流程,并尽可能减少 ChatGPT 的返回结果,为了省钱……。

  • 定义了输出的格式,相当于验收条件。

  • 为了避免他说废话,直接让他回复 OK。

然后,点击 prompt 之后,我们就可以继续往下。

2. 添加或者修改我们的需求

随后,我们提供了一个简单的 Textarea(等哪天有空换成好一点的编辑器),用户就可以复制他的大致需求进来,然后让 AI 进行分析:

所以,我们只需要继续点击即可,等待 AI 给我们的答案,如下图所示:

由于,我们已经限制了 AI 给的输出格式,所以可以作为下一个需求的输出。

3. 基于用户故事编写测试用例

在第三步里,我们提供了三种输出方式:时序图、测试用例、代码模板,按自己的需要选择合适的点击即可。这里以测试用例为例:

继续无脑的 click 之后,我们得到了纯代码,由于我们限制了输出只有 Java 代码,所以到这部分就是:

如果我们集成了工作流,就可以直接扔到代码库的对应位置了。

工作流 Prompt 要素

结合上面的工作流之后,认为一个结合 AI 的自动化的工作流应该包含四个要素:

  • 场景模板化,即预设各种常见的工作场景,为用户提供快捷的开始工作的方式。

  • 交互式环境,包括但不限于输入框、按钮、编辑器、错误信息、帮助文档等,使用户能够与系统进行交互和反馈。

  • 格式化输出,为用户提供规范的输出结果,避免信息过载或无用信息。

  • 流程与工具集成,将不同的工具和流程集成到一个自动化的流程中,提高工作效率和准确性。同时,通过 AI 技术的支持,让系统能够智能化地处理数据和信息,进一步提高工作效率和准确性。

简单来说,就是我们依旧需要碳基生物作为检查官,来检查硅基生物输出是否合理?

PS:在流程与工具上,我们在本周我们看到了一个 ChatGPT-CodeReview 的工具,它将流程结合到了 GitHub 的工作流中。

正在编写的第二个示例:DSL 作为输出的多管道模式

考虑到使用用户故事作为案例太简单了,所以我们正在构建一个新的示例,第二步是,以分布式的方式利用 ChatGPT 输出,来进行编码。

于是,我们让 ChatGPT 帮我们设计了一个 DSL 来描述:帮我设计一个 DSL 来表示一个系统的处理流程。然后,得到了一个 DSL:

它可以分析某一个场景的业务,基于这个业务做分析。在这个 DSL,反复让 ChatGPT 设计之后,勉强可以详细拆开任务:

  • Operation。通过 Ops 的输入、输出、先验条件、后验条件,我们可以构建出更准确的函数。

  • Entitiies。是可独立从 DSL 拆解出来的,并且与数据库结构是绑定的,所以可以用来做数据库设计(ChatGPT 设计了一个诡异的 []? 语法 )。

  • API。API 其实对于编码的帮助是有限的,不过其最大的用处是用于自动化测试,用于确保 ChatGPT 的代码是正确的。

所以,我们只需要拆解任务,并发送到各个管道里,再 merge 一下,就可能能得到一份可工作的代码。至于,前端部分,我们可以用类似的方式来设计。

当然了,由于现在的 ClickPrompt 与 ChatGPT 的接口还在开发中,所以这个功能,还只是在 PoC 阶段。

小结

人们苦短,还是让 AI 帮我们做自动化,节省更多的时间用来搞创意。

欢迎来 ClickPrompt 探索:https://github.com/prompt-engineering/click-prompt

文中的示例见:https://www.clickprompt.org/en-US/chatgpt-startling-by-each-step/user-story/


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
集成ChatGPT后必应日活量首破亿!微软推出Azure OpenAI ChatGPT 服务,GPT-4下周发布实时的软件生成 —— Prompt 编程打通低代码的最后一公里?【Locker Room】春季了,你不运动一下吗?快来lockerroom 看看吧!ChatGPT版必应被华人小哥攻破,一句话「催眠」问出所有Prompt直播预告|一诺&武志红:如何构建强大的自我人类满级小孩在油管上学编程:8个YouTube免费学编程频道ChatGPT火爆,最全prompt工程指南登GitHub热榜,标星4.7k!ChatGPT 的 10 种集成模式:从开源 AI 体验平台 ClickPrompt 中受到的启发自动化的下一个数字金矿(不是GPT); 如何成为Zoom明星? | 四月热读【Locker Room】LOL联赛?篮球全明星?Lockerroom有什么新活?ClickPrompt:一站式 Prompt 学习、设计与运行工具(开源),支持 ChatGPT 等我自知我无知与我知你无知主播实测:不懂编程、8小时用ChatGPT做出游戏,证明会编程才能用好AIchatGPT. 一本正经胡说八道美国塔霍湖(Lake Tahoe),阳光湖水chatgpt 说顾城剽窃ChatGPT带火AI芯片,赚翻了的英伟达发布新核弹:ChatGPT专用GPU,让推理提速10倍!Prompt Engineer也保不住工作了!Midjourney发布图片生成Prompt功能“Describe”一文详解Prompt学习和微调(Prompt Learning & Prompt Tuning)可复现、自动化、低成本、高评估水平,首个自动化评估大模型的大模型PandaLM来了Prompt Engineering全面自动化:LeCun看了沉默,ChatGPT看了直呼内行Prompt 即代码:设计和管理 AI 编程的最佳实践王凯被谭松韵追爱狂撩「步步惊心」若兰秘婚 刘心悠砸290万筑爱巢!韩东君吻美女被拍 「无心法师」恋破局?专访礼达先导丨获中科院院士加盟,带动化学蛋白质组学技术落地本土,将通过自动化、智能化平台破解「难成药」靶点发现难题科早ChatGPT:如何应对ChatGPT?二级市场闭门研讨会精选 | S7E01 硅谷徐老师如何构造个人 AI 策略:从 AI 绘画的演进与 ChatGPT 现状出发?ChatGPT讲座:ChatGPT并不神秘,但ChatGPT很神奇PK chatgpt 的诗评FastTrack Universität 2023莱比锡大学公立语言项目招生简章能与人类谈判、游戏水平媲美真人,Meta 是如何构建新人工智能 CICERO 的?1234智能家居/智慧工业/流程自动化…分享几个ChatGPT 赋能物联网产业应用实例20万请《步步惊心》女明星带货,仅成交278元爱德华王子岛骑行——第一天 夏洛特镇到垦星敦厉害了我的 ChatGPT, 弱海上节能新技术吴恩达联手OpenAI上线免费课程:一个半小时学会ChatGPT Prompt工程ChatGPT宣布建国做女王!网友灵魂拷问:谁来给女王写prompt?Chatgpt 4 要release 了吴恩达联手 OpenAI 上线免费课程:一个半小时学会 ChatGPT Prompt 工程
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。