使用这款 AI 工具,我的编码效率提高了 10 倍:真希望早点知道它🤯
我通常同时处理多个项目,管理所有这些项目会变得非常忙碌和不堪重负。所以,我需要一个解决方案来减轻我的工作量。
考虑到过去几年人工智能的重大进步,我特别寻找一种能够
- 访问我的 GitHub 存储库。
- 自主解决任何给定的问题。
- 测试代码并将修复推送到存储库。
于是,我开始研究,并偶然发现了不少解决方案。以下是我使用这些解决方案的经验。
但在此之前,让我们先了解一下什么是 AI 和 SWE(软件工程)代理。
什么是 AI 代理?
人工智能代理是由人工智能模型驱动的系统,可以自主执行任务、与环境交互并根据其编程和处理的数据做出决策。
AI代理的组成部分
人工智能代理有三个关键组成部分。
- 推理引擎:推理引擎是负责规划和决策的人工智能模型。
- 内存:内存组件允许代理管理短期和长期信息以跟踪工作流程。
- 工具:工具使代理能够与外部环境交互。例如,GitHub 工具允许代理从存储库中提取信息并进行必要的更改。
SWE 代理的特征
那么,是什么让 AI 代理成为 SWE 代理呢?
SWE 代理是一种模仿人类软件开发人员的品质和特征的 AI 代理,例如
- 长期规划和推理
- 使用标准开发工具。
- 通过测试和反馈提高代码质量。
- 自主调试并解决问题。
- 在需要时与人类同行合作。
与任何 AI 代理类似,SWE 代理具有
- 强大的推理引擎。最好是最先进的代码模型。
- 用于跟踪事件的记忆组件。
- 编写、调试和运行代码的专用工具(隔离代码环境、互联网、GitHub、文件工具等)
Devin - 人工智能软件开发人员
当讨论能够编程的AI代理时,你首先会想到Devin。它是Cognition Labs的一款软件工程(SWE)代理,也是这一切的开端。它吸引了众多开发者、创始人和投资者的关注,并迅速成为热议话题。
然而,有几件事让我放弃了它。
- 闭源:它是闭源的。因此,没有定制的余地。
- 仅限 OpenAI:考虑到 Llama 3 400b 的发布,它只使用 OpenAI 模型。我想要更灵活的方案。
- 不公开:它仍在等候名单上,很少有人可以访问它。
虽然企业可能更喜欢它,但我需要更透明、更灵活的东西。
开源替代方案
对于 Devin 来说,下一个显而易见的选择是所有开源替代方案。虽然它们在 LLM 提供商方面更加透明和灵活,但我还是不太喜欢它们。
大多数开源解决方案都是
- 臃肿:他们附带了很多我可能永远不会用到的东西。
- 复杂:运行这些工具感觉就像一份工作。
- 不可扩展:我无法使用外部工具和集成来扩展其功能。
话虽如此,它们确实都有自己的优点。
SweKit - 简单可扩展的软件工程代理框架
经过广泛的搜索和研究,我倾向于自己构建它,直到我偶然发现了这个框架。
SweKit是Composio的一个开源框架,可帮助您创建简单且可扩展的 SWE 代理。
它满足了我所寻找的所有标准。
- 可定制:简单易用,高度可定制。您可以选择自己喜欢的 LLM 课程提供商,并根据自身需求更改课程提示。
- 与框架无关:它适用于所有流行的代理框架,例如 LangChain 和 LlamaIndex。
- 可扩展:添加更多工具(例如浏览和抓取功能)可以轻松扩展代理的功能。您可以从 Composio 生态系统中添加工具。
- 开源:不用说,代码是开源的,因此您可以分叉并添加自定义更改。
- 多语言支持:SweKit 原生支持 Python 和 Typescript。您可以根据自己的喜好选择合适的语言。
SweKit 可以访问任何公共或私有存储库,处理提供的问题,并将更改推送到存储库。
出于安全和隔离的考虑,SWE 代理默认在 Docker 中运行。这会对代理的操作进行沙盒保护,防止任意代码执行导致意外后果。您也可以在本地运行它,但请谨慎操作,因为它没有 Docker 的保护层。
最后的话
我已经开始在我的项目中使用它,我无法强调它为我节省了多少时间和精力。
我与 Composio 建设团队进行了交谈,我可以自信地说,这将改变游戏规则。
我无法给它们足够的星标,所以请帮我个忙,访问存储库,使用产品并给它们一颗星。
文章来源:https://dev.to/github20k/i-10xd-my-coding-productivity-using-this-ai-tool-i-wish-i-had-known-it-earlier-2eoo