SuperAPI AI 工具集

clippy

Clippinator(原 Clippy)是一个基于 GPT-4 的 AI 编程助手,由多个智能体协作,能规划、编写、调试和测试代码。它包含 Taskmaster 主智能体及 Architect、Writer、Frontender、Editor、QA、Devops 等子智能体,各自拥有不同提示和工具。支持文件读写、终端命令、后台进程、Selenium 浏览器自动化等能力。使用时需安装 Poetry、ctags、pylint 等依赖,配置 OpenAI API 密钥(可选 SerpAPI),通过命令行运行并指定项目路径。它可自主工作,也可在人工反馈下更高效,适合辅助开发中大型项目,但需注意 API 成本较高,且可能出错,建议结合人工监督。

访问官网

工具介绍

Clippinator(原名 Clippy)是一个 AI 编程助手,旨在与用户共同开发代码,能够自主地规划、编写、调试和测试项目。它由多个基于 GPT-4 的智能体组成,通过协作帮助用户完成开发任务。该工具由 Lev Chizhov 和 Timofey Fedoseev 创建,Sergei Bogdanov 也有贡献。

用途

Clippinator 的主要用途是辅助代码开发。它既可以自主完成一些项目,也可以在更复杂的任务中,由用户查看其工作并提供反馈,从而发挥更大作用。如果项目简单,用户只需提供高层指导,例如“写一个链接缩短 Web 服务”;如果项目复杂,用户参与度会更高,但 Clippinator 仍会承担大部分工作。

主要能力

Clippinator 的核心是一个称为 Taskmaster 的主智能体,负责整体开发。它可以调用工具,并将任务委派给子智能体。为了支持长时间运行,历史记录会被总结。

Taskmaster 会先向用户提问以了解项目,然后让 Architect 规划项目结构,接着通过委派子智能体来编写、调试和测试项目。所有智能体都能访问计划的项目架构、当前项目结构、linter 错误和记忆。智能体使用的工具包括写文件、使用 bash(包括运行后台命令)、使用 Selenium 进行浏览器自动化等。

具体的智能体包括:Architect、Writer、Frontender、Editor、QA、Devops。它们拥有不同的提示和工具。

架构是由 Architect 编写的文本,包含文件列表及其内容摘要(以注释形式)、重要行(如类和函数)。架构对所有智能体可用,实现架构是智能体在早期阶段的目标。

已实现或从 Langchain 引入多种工具:

  • 文件工具:WriteFile、ReadFile 等(部分当前未使用)。
  • 终端工具:RunBash、Python、BashBackground(允许启动和管理后台进程,如启动服务器)。
  • Selenium:用于测试的浏览器自动化,可查看页面、获取控制台日志、点击、输入、执行 Selenium 代码。
  • HttpGet、GetPage:更简单的获取页面的工具。
  • DeclareArchitecture、SetCI、Remember:允许智能体设置环境、编写架构、记忆信息。

项目结构、Linting、CI、记忆:项目结构会提供给所有智能体,它是由 ctags 获得的文件列表及其重要行。Linter 输出会紧邻项目结构提供,有助于理解当前问题。使用 WriteFile 后也会提供 Linter 输出。Architect 可以使用 SetCI 工具配置 linter 命令。所有智能体都可以使用 Remember 工具将信息添加到记忆,记忆对所有智能体可用。

使用方式

  1. 安装 Poetry。
  2. 克隆此仓库。
  3. 将 OpenAI API 密钥添加到 .env 文件:OPENAI_API_KEY=...。可选:添加 SerpAPI 密钥以允许模型使用搜索:SERPAPI_API_KEY=。
  4. 安装 ctags。
  5. 对于 pylint,安装它和 pylint-venv。
  6. 安装依赖:poetry install。
  7. 运行:poetry run clippinator --help。要在项目上运行,使用:poetry run clippinator PROJECT_PATH。

可以停止它,然后它会从上次保存的状态继续。使用 ^C 向主智能体提供反馈。

注意:如果在子智能体执行期间按 ^C,子智能体会被中止。唯一例外是 Architect:可以在它使用 DeclareArchitecture 工具后按 ^C,要求它更改。

Architect 运行后,如果在提示中选择 y,也可以手动编辑项目架构。如果输入 m 或 menu,还可以编辑项目架构、目标和其他内容。

适用场景和限制

Clippinator 适用于开发代码,既能自主工作,也能与用户协作。它基于 GPT-4,运行时间长,因此 OpenAI API 成本相当高。它并非完美,经常可能出错,但与人类结合时非常强大。对于简单项目,用户只需提供高层指导;复杂项目则需要更多参与,但 Clippinator 仍会完成大部分工作。