让GPT替我写vue3代码,看的我血压升高

事情是这样子的,最近在写Vue3相关的代码,就想着能不能让GPT辅助我写代码,于是,我就先写了一个中文的prompt

Prompt1: 使用vue3写一个用户登录的页面

分割线内部是GPT的回答:


使用 Vue 3 来创建一个用户登录页面需要涉及到多个方面,比如 Vue 组件、数据绑定、事件处理等。下面我会给出一个简单的例子来展示如何实现这个功能。

首先,你需要确保你已经安装了 Vue CLI,如果没有,请参照 Vue 官方文档 进行安装。

  1. 创建一个新的 Vue 项目:
vue create login-project

选择默认设置或按需配置,然后进入项目目录:

cd login-project
  1. 创建登录组件 (Login.vue):
    src/components 目录下创建一个新的文件,命名为 Login.vue





  1. 在主组件中使用登录组件:
    打开 src/App.vue 并引入刚刚创建的登录组件。



  1. 运行项目:
    在命令行中输入以下命令运行项目:
npm run serve

现在你应该可以在浏览器中看到登录页面,并尝试输入用户名和密码。

请注意,这只是一个基础的登录页面实现,实际应用中,你可能还需要添加错误处理、表单验证、与后端服务器的交互等功能。


这个回答最大的问题是它的script部分与我预期不同,我希望是如下的风格形式,






因此,我就问GPT上述代码是什么风格。

GPT的的回答如下:


你给出的代码使用的是 Vue 3 的 Composition API

这里有几点需要注意:

  1. 使用了

    我很难受,就去群里去吐槽,然后群里的朋友给了提高输出质量的3个技巧

    1:定义角色,比如指定它是高级前端开发人员;
    2:明确你的要求,越详细越好,可以正向描述,也可以反向要求,比如让他不要输出什么;
    3:提供1-2两个示例输出。

    按照这个技巧,我写了新的Prompt,如下

    Create a Vue 3 Single File Component (SFC) for "user login". 
    
    The first section  is  ,  followed by the   section , and finally, the   section.  for example
    
    ```vue
    
    
    
    
    
    \```
    

    新的Prompt,我先说明我要求的顺序,然后给了一个案例,在4.0中测试良好,几乎没出错。但是在3.5中,就没对过。

    感想:我终于明白了什么叫做“语言模型,每次都是输出他认为概率最大的一个”。因为template的顺序是vue2时代的主流,显然互联网上占据主导的代码都是template的风格,因此GPT3.5的偏见太深了,几乎不可能被纠正。

    当然,如果使用的是API,还是有可能纠正的,

    import os
    import openai
    openai.api_key = "API KEY"
    
    completion = openai.ChatCompletion.create(
      model="gpt-3.5-turbo",
      messages=[
        {"role": "system", "content": """You are a professional front-end developer, please help uesrto create a Vue 3 Single File Component (SFC) Component 
    The first section  is  ,  followed by the   section , and finally, the   section.
    """},
        {"role": "user", "content": "help me create counter component!"},
        {"role": "assistant", "content":"""```vue
    
    
    
    
    
    ```"""},
        {"role": "user", "content": "help me write a user login component"},
        {"role": "assistant", "content": "```vue\n