让我们的AI编程代理成为构建产品的唯一方式
AnyFrame公司创建了一个名为Gilfoyle的AI编程代理,它运行在沙盒环境中,能够直接编写代码、提交PR并部署到生产环境。该代理基于Claude模型,通过Discord命令触发,并具备截图验证能力。团队计划将所有开发工作通过Gilfoyle完成,形成自我强化的反馈循环。
AnyFrame公司最近迎来了一个特别的“实习生”——名为Gilfoyle的AI编程代理。这个代理不仅在一周内提交了比大多数人类团队成员更多的生产代码,还独立完成了一个包含数据库迁移的完整功能,并在没有人工干预的情况下合并了PR。Gilfoyle甚至编写了这篇文章的页面。
Gilfoyle并非真人,而是一个运行在云沙盒中的内部开发代理。它拥有完整的代码库和shell访问权限,能够像人类开发者一样工作。AnyFrame为其构建了AnyFrame控制平面,用于管理沙盒AI代理,而Gilfoyle就运行在这个它自己参与构建的产品之上。
AnyFrame允许用户定义代理:指定仓库、安装命令、系统提示、技能(可复用的剧本)以及与Slack、Linear或GitHub等工具的连接。然后,代理会在隔离的云沙盒中启动,执行实际工作——不是生成建议,而是直接打开PR、运行测试和部署代码。
接入Gilfoyle非常简单:首先创建模板(包含仓库、安装命令、技能和系统提示),然后基于模板创建代理并选择Claude运行时,最后将Discord集成指向该代理。之后,团队成员只需在频道中@提及Gilfoyle即可启动工作。他会创建一个线程,启动沙盒并克隆仓库,然后流式输出工作进度。如果沙盒被回收,下一个消息会自动从快照恢复,实现无缝衔接。
为了最大化效率,AnyFrame将多个仓库整合为单个monorepo,让Gilfoyle能够一次性获取所有代码。同时,通过“工作量证明”技能,每次更改都会自动截图或提供可访问的实时URL,大大简化了代码审查流程。
当前,Gilfoyle承担了从单行修复到完整功能的各种开发任务。例如,他修复了移动端换行问题,以及文档中的错误TTL值。更大型的工作包括实现一个自主动作的会话调度功能,包括数据库表、后台调度器、数据迁移和用户界面,全部由他独立完成。
AnyFrame的最终目标是让Gilfoyle成为开发AnyFrame的唯一方式——所有特性和修复都通过这个“实习生”完成。这迫使公司不断优化产品,因为任何开发上的不便都会立刻暴露为缺陷。未来的改进方向包括:直接对接Linear工单系统、定时更新代码库、支持暂停后恢复运行中的进程,以及跨任务持久化记忆。
AnyFrame认为,一个能谈论代码的AI只是花招,但一个能成为唯一生产路径的AI必须克服大量实际问题。Gilfoyle不仅是一个吉祥物,更是推动产品进化的力量。