OA0
OA0 是一个探索 AI 的社区
现在注册
已注册用户请  登录
OA0  ›  代码  ›  Clippy 支持代码规划生成调试测试的一体化开发Agent

Clippy 支持代码规划生成调试测试的一体化开发Agent

 
  daughter ·  2026-03-20 23:31:56 · 5 次点击  · 0 条评论  

Clippinator

GitHub Repo stars
GitHub Issues or Pull Requests
Twitter Follow

一个代码助手

(曾用名:Clippy)

Twitter 讨论串

快速开始

  1. 安装 Poetry
  2. 克隆此仓库。
  3. 将 API 密钥 (OpenAI) 添加到 .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
  8. 你可以随时停止它,之后它会从上次保存的状态继续运行。使用 ^C 为主代理提供反馈。

详情

Clippinator 的目的是为用户开发代码或与用户一起开发代码。
它可以自主地规划、编写、调试和测试一些项目。
对于更困难的任务,最佳使用方式是观察它的工作并提供反馈。


该工具由多个代理组成,它们协同工作以帮助用户开发代码。这些代理基于 GPT-4。
请注意,这基于运行时间较长的 GPT-4,因此在 OpenAI API 使用成本方面相当昂贵。

关键在于:它自身拥有合理的工作流程。它知道该做什么并且能够完成。当它正常工作时,速度比人类更快。
然而,它并不完美,经常可能出错。但与人类结合使用时,它将变得非常强大。

显然,如果你要求它处理非常底层的抽象任务,比如“编写一个实现 X 功能的函数”,它也能完成。它也会自行提出类似的任务,成功率不一。
但与你结合使用时,它几乎能完成所有工作,而只需要你进行少量干预。
如果项目简单,你只需提供最高层次的指导(例如“编写一个短链接生成 Web 服务”);如果项目更复杂,你会更多地参与其中,但 Clippinator 仍将完成大部分工作。

任务主管 (Taskmaster)

此工具有一个称为 任务主管 的主代理。它负责整体开发,可以使用工具并将任务委托给子代理。为了能够长时间运行,历史记录会被总结。

任务主管调用专门的子代理(助手),如 架构师编写器

任务主管首先会向用户询问一些问题以了解项目。
然后,它要求架构师规划项目结构,接着通过将任务委托给子代理来编写、调试和测试项目。

助手 (Minions)

所有代理都可以访问规划好的项目架构、当前项目结构、来自 linter 的错误信息以及记忆。
代理使用不同的工具,例如写入文件、使用 bash(包括运行后台命令)、使用带 Selenium 的浏览器等。

我们有以下代理:架构师编写器前端工程师编辑质量保证运维。它们都有不同的提示词和工具。

架构

架构是由架构师编写的纯文本。
它是一个文件列表,其中包含以注释形式总结的文件内容摘要,以及重要代码行(如类和函数)。

所有代理都可以访问该架构。在初始阶段,实现架构是代理的目标。

工具

已实现(或取自 Langchain)多种工具:

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

项目结构、代码检查、CI、记忆


其中一个重要部分是项目结构,它会提供给所有代理。
这是一个通过 ctags 获取的文件列表,包含每个文件的一些重要代码行。

代码检查器的输出会显示在项目结构旁边。这对于理解项目的当前问题非常有帮助。
在使用 WriteFile 后,也会给出代码检查器的输出。
架构师可以使用 SetCI 工具配置代码检查命令。
所有代理也可以使用 Remember 工具向记忆中添加信息。记忆会提供给所有代理。

反馈

你可以按 ^C 为主代理提供反馈。请注意,如果在子代理执行期间按下,该子代理将被中止。唯一的例外是 架构师:你可以在它使用 DeclareArchitecture 工具后按 ^C 要求其修改架构。

在架构师运行后,如果你在提示中选择 y,也可以手动编辑项目架构。

如果你输入 mmenu,还可以编辑项目架构、目标和其他内容。


由 Lev Chizhov 和 Timofey Fedoseev 创建,Sergei Bogdanov 亦有贡献

Twitter 讨论串

5 次点击  ∙  0 人收藏  
登录后收藏  
0 条回复
关于 ·  帮助 ·  PING ·  隐私 ·  条款   
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
耗时 14 ms
Developed with Cursor