网站搜索

CodeGPT 是什么?它真的能写代码吗?


CodeGPT 肯定可以生成可运行的代码,但是它能可靠地生成良好的、高质量的代码吗?

要点

  • CodeGPT 是一款人工智能驱动的编码助手,可帮助程序员编写和修复代码,具有自动完成和代码解释等功能。
  • CodeGPT 是免费提供的,但某些功能的订阅计划从每月 9.99 美元到 49.99 美元不等。
  • 虽然 CodeGPT 可以编写代码,但其输出可能并不总是没有错误或遵循最佳实践,因此您应该根据需要理解和修改生成的代码。

如果您正在寻找人工智能助手来帮助您编写代码,那么您很可能遇到过 CodeGPT。它是您在编程时可以用来帮助您的众多人工智能工具之一。但CodeGPT真的能写代码吗?

什么是 CodeGPT?

CodeGPT 是一个专用扩展,它使用不同的人工智能 (AI) 模型来帮助程序员编写和修复代码。它包括旨在更快、更轻松编程的各种功能,包括自动完成、代码解释、重构、文档、单元测试、错误检查和错误修复。它还具有类似 ChatGPT 的界面,您可以从代码编辑器访问。

该扩展特别强大,因为它可以让您连接到来自 OpenAI 和 Google 等不同提供商的各种主流大语言模型 (LLM)。最重要的是,CodeGPT 允许您创建自己的 AI 代理,您可以在项目中使用它或与其他人共享。

虽然有多种适用于 Linux、macOS 和 Windows 的代码编辑器,但 CodeGPT 仅提供两种。现在,您可以在 VS Code 或 Cursor(VS Code 的一个分支)中安装和使用 CodeGPT。

CodeGPT 的费用是多少?

您可以免费下载并安装 CodeGPT,但使用该扩展需要付费。 CodeGPT 提供各种订阅套餐,如果您需要无限制访问,您可以付费购买。

CodeGPT Plus 共有三种订阅计划。基本计划的价格为 9.99 美元/月,其次是标准计划(19.99 美元/月)和黄金计划(49.99 美元/月)。有一个免费试用期,您可以使用该试用期来评估扩展。每个包都可以让您访问特定的 AI 代理并进行无限的交互。

请记住,您需要付费才能无限使用第三方 AI 模型,例如 OpenAI 的 GPT-4 模型。尽管您可以免费访问 Open AI 的 GPT-4 模型,但您无法在 VS Code 或 Cursor 中执行此操作。

CodeGPT真的能写代码吗?

为了评估这一点,我们将使用该扩展来帮助我们在 Python 中生成两个不同的代码示例。

首先,我们要求模型使用所有相关方法在 Python 中生成堆栈数据结构。我们使用了这个提示:

Python 中创建一个堆栈并包含所有必要的方法

该模型生成以下响应:

class Stack:
    def __init__(self):
        self.stack = []

    def push(self, item):
        self.stack.append(item)

    def pop(self):
        if self.is_empty():
            raise IndexError("Pop from empty stack")
        return self.stack.pop()

    def peek(self):
        if self.is_empty():
            raise IndexError("Peek from empty stack")
        return self.stack[-1]

    def is_empty(self):
        return len(self.stack) == 0

    def size(self):
        return len(self.stack)

此示例表明 CodeGPT 足够聪明,可以使用创建堆栈,并包含必要的检查来处理可能出现的特定错误。例如,如果您尝试查看弹出空堆栈,代码会引发信息错误。

在第二个挑战中,我们要求 CodeGPT 将 JSON 格式的响应从 JSONPlaceholder API 保存到 CSV 文件。对于上下文,JSONPlaceholder API 的响应如下所示:

{
 'userId': 1,
 'id': 1,
 'title': 'sunt aut facere repellat provident occaecati excepturi optio reprehenderit',
 'body': 'quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto'
}

我们向 CodeGPT 询问了以下问题:

我已向 https://jsonplaceholder.typicode.com/posts/1 上的外部 API 发出请求,并收到了响应。我已将响应格式化为 json,如何将其保存在 csv 文件中?

CodeGPT 响应的代码是:

import csv
import requests
# Make a GET request to the API
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')
# Convert the response to JSON format
data = response.json()
# Since we're receiving a dictionary, we need to turn it into a list of one dictionary
data = [data]
# Open (or create) a CSV file to write the data
with open('output.csv', 'w', newline='') as output_file:
   # Create a CSV writer object
   writer = csv.DictWriter(output_file, fieldnames=data[0].keys())
   # Write the CSV headers
   writer.writeheader()
   # Write the data to the CSV file
   writer.writerows(data)

一般来说,这种反应是好的;它不需要任何调整即可工作。 CodeGPT 还添加了注释,解释了各行代码的用途,如果您是第一次做某事,这会很有用。

这里唯一的问题是调用 open() 时响应未指定编码类型。虽然会自动包含默认值,但建议指定编码类型,并且在使用 Python 写入文件时将其视为最佳实践。这可能会帮助您避免错误的解释,从而导致文本混乱。

所以:CodeGPT 可以编写代码,但您应该小心,因为它并不总是为您提供最佳输出。您得到的结果可能容易出错,并且可能不遵循最佳实践。每当您使用 CodeGPT 或任何其他人工智能驱动的工具编写代码时,请首先努力理解代码的作用。不要只是复制和粘贴。