如何利用ChatGPT重振API性能 - Kong Inc.

作者:API传播员 · 2025-11-14 · 阅读时间:4分钟

在这篇文章中,我们将探讨如何利用 ChatGPT,通过为已有文档的现有 API 创建 OpenAPI 规范,从而提升 API 的性能和维护效率。


简介

ChatGPT 是由 OpenAI 开发的一款以自然语言处理为核心的工具,其背后的技术基于生成预训练 Transformer(GPT)架构,这是大型语言模型(LLM)的一部分。近年来,ChatGPT 因其强大的语言生成能力而备受关注。

应用程序编程接口(API)是现代软件开发的重要组成部分,它们支持不同系统之间的通信。然而,传统的 API 通常缺乏标准化的文档和版本控制,这可能导致信息过时、维护困难以及使用效率低下等问题。

相比之下,较新的 API 通常采用 OpenAPI 规范等标准。OpenAPI 规范由 OpenAPI Initiative 定义,用于描述 API 的工作方式,并以机器可读的文档形式呈现。通过 OpenAPI 规范,可以实现以下优势:

  • 提供 API 的一致性描述;
  • 记录 API 的功能和使用方式;
  • 生成代码存根以便于消费和生成 API;
  • 实现 API 的版本控制。

这些特性不仅能加速 API 的开发和服务使用,还能显著减少维护成本。


使用 ChatGPT 生成 OpenAPI 规范

在本次实验中,我们使用 ChatGPT 3.5 版本,尝试为现有 API 生成 OpenAPI 规范。以下是我们提出的问题示例:

非确定性结果的挑战

ChatGPT 生成的结果具有非确定性,这意味着即使是相同的问题,在不同时间提交也可能得到不同的答案。在实验中,我们多次提出相同的问题,结果显示虽然答案存在相似性,但具体内容有所差异。

这种非确定性使得 ChatGPT 难以直接应用于自动化 CI/CD 管道中,因为生成的结果可能不一致。此外,某些 OpenAPI 规范的片段在一个结果中可能正确,而在另一个结果中可能存在问题。因此,手动比较和整合多个结果成为创建初始 OpenAPI 规范的一种可行方法。

使用 Insomnia 校验 OpenAPI 规范

Insomnia 是一个支持 OpenAPI 规范的工具,内置了 linter 功能,可以检查生成的规范是否符合标准。如果需要遵循特定风格,还可以自定义 linter 的规则集。

以下是 ChatGPT 生成的 OpenAPI 规范在 Insomnia 中的应用示例:

在初次生成的规范中,发现了 2 个错误和 11 个警告。主要问题包括:

  • 参数未正确识别,例如需要将 /actions/{lat, lon} 修改为 /actions/{lat}/{lon}

使用 ChatGPT 重新生成 OpenAPI 规范

为了改进初次生成的结果,我们对问题进行了重新设计,尝试生成更符合需求的 OpenAPI 规范:

改进后的结果

第二次生成的 OpenAPI 规范中,错误数量减少至 3 个,警告数量减少至 6 个。以下是主要改进点:

  1. 修复参数识别错误,将 /actions/{lat, lon} 修改为 /actions/{lat}/{lon}
  2. 调整联系人信息的缩进格式,消除相关错误和警告。
  3. 添加全局标记以修复丢失的内容,例如以下代码片段:
    tags:
     - name: Example
       description: 示例标签

最终,改进后的 OpenAPI 规范在 Kong Insomnia 中成功通过了验证:


多个 OpenAPI 规范版本的管理

OpenAPI 规范的一个重要优势是支持版本控制。在本次实验中,我们创建了多个版本的 OpenAPI 规范,并逐步改进。这些版本可以通过开发者门户进行管理,从而实现以下目标:

  • 加速 API 的开发;
  • 提高 API 服务的使用效率;
  • 减少 API 的维护成本。

以下是不同版本的 OpenAPI 规范在 Konnect 开发者门户中的展示示例:


总结

ChatGPT 能够生成接近完整且可用的 OpenAPI 规范,但在实际应用中仍需开发者手动修复一些次要问题,例如参数识别错误、缺失的全局标记等。此外,生成的规范还可以通过更新描述字段、添加参数默认值等方式进一步优化,以更好地服务开发者。

需要注意的是,本文的实验基于一个已有良好文档记录的 API。如果文档较少,ChatGPT 的生成结果可能会存在较大差异。因此,当需要快速创建 OpenAPI 规范的初始版本,并进行少量修改时,ChatGPT 是一个值得考虑的工具。

尽管目前 ChatGPT 的生成结果尚未达到完全可重复的水平,但随着技术的进步,未来几年内这一情况可能会显著改善。

原文链接: https://konghq.com/blog/engineering/using-chatgpt-to-reinvigorate-apis