华人澳洲中文论坛

热图推荐

    如何构建半自动化编程:以 ClickPrompt 为例,又有顺序员要失业?

    [复制链接]

    2023-3-15 12:46:34 28 0

    PS:虽然,咱们应该以预训练的 Prompt 作为以后的指标,经过将少量的数据训练。然而,作为一个没有 AI 训练资源的普通人,这个价钱太低廉了。因而,咱们探究能否基于任务流的形式,来构建半自动化编程。
    引子:ClickPrompt 步步惊心
    周末,咱们在 ClickPrompt 上添加了一位为 “步步惊心” 的任务流式的 Prompt 交互功用,在这个功用里,你能够设计本人的日常任务流,将它与 AI 结合到一同。在过程当中,ClickPrompt 会提供一个编纂器,让你修正上一步的输入,修正完只需求持续 one click 便可。
    诸如于,你在开发一个新的功用,而在那以前,你需求先剖析一下需要,包孕它的界限前提等等。在咱们构建了任务流的状况下,只需求
    在第一步中,我输出新功用的称号和扼要形容。当我点击“下一步”按钮时,Prompt 自动提供一些可能的需要和界限前提。假如我需求修正需要或前提,我能够使用编纂器对其进行修正,并点击“确认”按钮。而后我能够持续进行下一步操作,好比编写代码或进行测试,同时 ChatGPT 能够帮忙我更快地剖析需要和界限前提,并提供有用的倡议和反馈,进步我的任务效力和精确性。随后,咱们也能够持续要求 ChatGPT 帮咱们编码。
    一个示例:从需要到代码
    PS:这是一个未 100% 实现的 demo 示例,只是为了更好的启示大家
    接着,让咱们来看 ClickPrompt 的示例《用户故事》。
    1. 定义用户故事的输入格局
    首先,咱们需求定义一个能持续让 ChatGPT 了解的需要,它需求尽量的具体。因而,咱们的 prompt 就至关的长,如下图所示:


    在这个 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 探究:http://github.com/prompt-engineering/click-prompt
    文中的示例见:http://www.clickprompt.org/en-US/chatgpt-startling-by-each-step/user-story/

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    返回列表 本版积分规则

    :
    中级会员
    :
    论坛短信
    :
    未填写
    :
    未填写
    :
    未填写

    主题40

    帖子45

    积分212

    图文推荐