这篇文章讲述了迄今为止我的自举创业之旅。您将了解很多有关网络人工智能代理的知识、尽早接触用户的重要性,并了解我如何以及为何转向做无法扩展的事情。
大约 12 个月前,我有了一个创业想法。那是在 2023 年 8 月之间的某个时间。我在 Google.org 资助的非营利组织 Learning Equality 担任合同全栈工程师。
我在 Sandeep Maheshwari 的人工智能视频之一中听说过 AutoGPT。我好奇地查看了 AutoGPT 的 GitHub。我使用 OpenAI API 密钥在本地克隆并运行它。
当时的 AutoGPT 是一个人工智能代理,它会接受自然语言指令并逐步执行该指令。
例如,如果您说 AutoGPT “搜索从 孟买 到 SF 的航班”,那么 AutoGPT 会打开浏览器,然后导航到 Google.com,通过填写表格搜索航班,解析网页结果,最后返回到命令行。
AutoGPT 通过提示 GPT-4 来工作。它首先制定一个分步计划,然后通过向 GPT-4 提供它可以执行以完成该步骤的可用命令列表来执行每个步骤。
在 Learning Equality,我们使用 Gherkin 故事对我们的网络应用程序进行手动 QA 测试。小黄瓜故事是对功能应如何工作的自然语言描述。
我心想,人工智能代理应该能够阅读这个小黄瓜故事并智能地执行这些步骤。
我的创业想法诞生了。
可以自动执行手动 QA 测试的 AI 代理。
我对人工智能一无所知。我对 QA 测试知之甚少。
所以,我做的第一件事就是深入进行质量保证测试。我了解到,Gherkin 故事已经可以使用 Playwright、Cypress 或 Selenium 等端到端 (E2E) 测试库实现自动化。
端到端测试模拟真实用户如何执行应用程序中的功能。如今,QA 自动化工程师通常在 Playwright 中编写端到端测试用例。
例如,在 Doordash 中,为了确保将食物添加到购物车有效,将进行端到端测试,该测试将像用户一样执行将食物添加到购物车的所有步骤。
我和我的几个开发伙伴交谈后了解到,端到端测试有两个主要挑战:
- E2E 测试很不稳定,当应用程序的代码发生更改时,它们就会中断。
- 对于软件团队来说,编写和维护端到端测试并不有趣。
我的脑子飞快地运转着。
我认为,即使应用程序的代码发生变化,AI 代理也应该能够找出要单击的正确元素,因为 AI 代理不会依赖 DOM 选择器来定位元素。人工智能代理将像人类一样看着屏幕,并找出与之交互的正确元素。
所以,现在是我开发人工智能代理的时候了!
我认为我需要某种强化学习来训练代理执行浏览器任务。我对强化学习一无所知。因此,我参加了 Arvind Nagaraj 和 Balaji Vishwanathan 教授的人工智能课程。
通过这门课程,我和我的两个人工智能爱好者朋友一起从头开始学习神经网络。我为著名的 MNIST 数据集开发了一个卷积神经网络模型,可以识别手写数字。
我了解了法学硕士的培训方式以及他们在幕后工作的基础知识。我了解了向量数据库、嵌入和多模态。
那门课程让我意识到强化学习并不是正确的前进道路。我们已经有了可以利用的智能模型(GPT-3.5 和 4)。
我做了第一个概念验证——一个由 GPT-3.5 支持的 AI 代理,它只能执行非常简单的步骤,例如单击主按钮或在表单字段中键入。升级到 GPT-4 也没有产生令人满意的结果。
GPT-4 驱动的代理非常昂贵并且在大多数步骤上都失败了。我感到失去动力。但我内心知道一定有办法让它发挥作用。
我一直在研究网络代理。在我的研究过程中,我了解了 Adept 。一家构建人工智能代理的公司,可以自动执行浏览器任务。
我注册了他们的 Adept Experiments 计划,基本上,这是通过 Chrome 扩展对其 AI 代理的测试版访问。
我被邀请尝试他们的 Chrome 扩展程序。这是迄今为止我见过的最准确的人工智能网络代理。我的心被震撼了。我看到了网络人工智能代理的巨大潜力!
我想,如果我可以通过 API 使用他们的内部模型怎么办?
我给他们的创始人和一些高级员工发了冷邮件。他们的一名员工回复说,他们并不专注于向第三方提供对其内部模型的访问权限。
现在,我想,我需要在内部构建一些东西。我开始阅读有关自主 Web UI 代理的研究论文。我发现了一篇很有前途的论文“你只看屏幕:多模式行动链代理”。
作者(ZhuoshengZhang、AstonZhang)开发了一种名为 Auto-UI 的模型,该模型使用视觉编码器像人眼一样直接查看网页。
当我学习神经网络和法学硕士内部结构时,我意识到我们越接近人类思维的思维方式,我们就越接近类人的人工智能。
Auto-UI 模型的工作方式就像我们人类与网页交互的方式一样——通过查看屏幕并尝试找出要单击的正确元素。
我想:“是的。我找到了!是时候运行模型了”。
在接下来的 20-25 天左右,我和我的朋友 Akash 尝试在本地理解和运行该模型。但我们没能做到。
我再次被一种不知道下一步该做什么的感觉所包围。
那是 2024 年 1 月,CES 2024 的时间。每个对 AI 领域感兴趣的人的 推特 上都充斥着 Rabbit R1 及其大型动作模型的视频和推文。
我对 R1 设备不感兴趣。但大型行动模型的想法给我留下了深刻的印象。
我打电话给我的朋友阿卡什,告诉他有关大型行动模型的信息。我告诉他,要么我们需要构建自己的大型操作模型,要么我们需要以某种方式对其进行 API 访问。
我给我的老师 Arvind Nagaraj 发了消息,询问他对于构建类似于兔子大型动作模型的东西是否有任何建议。
我们在接下来的一周左右的时间里在 Discord 上进行了交谈,他告诉我有关 Multi-On 和 Open Interpreter 的信息。他们有自己的 API 可供使用。
我尝试了 Multi-On 的 chrome 扩展,当时它未能执行我期望它通过的步骤。
几天后,我们在 Google Meet 上见面,我告诉了 Arvind 先生一切——关于我的想法、Adept 模型的潜力、失败的 PoC 和失败的 Auto-UI 模型尝试。
在通话的最后 10-15 分钟,他建议我尝试使用 GPT-4 Vision 等视觉模型。他建议我用网页截图来提示模型,并尝试找出利用的方法
GPT-4 Vision 能够在网页上执行操作。
这个想法持续了好几天。几天后,我在 推特 上看到了 Arvind 先生转发的 SeeAct 论文。我读了报纸。
那篇论文让我看到了一些希望,即可以构建一个足够好的人工智能代理,通过遵循自然语言指令(例如“单击输入框侧面的‘搜索’按钮”)来在浏览器上执行步骤。
我一直想全职做自己的事情。我已经找到了。
我遇到了一家软件咨询公司的创始人。他为客户构建并维护了多种软件产品。我与他分享了我正在构建一个人工智能代理来自动化网络应用程序的 QA 测试。
我问他是否有兴趣使用我的人工智能代理来测试他构建的网络应用程序。他看上去很感兴趣,并告诉我,如果产品运作良好,他可能会投资。
在过去的几个月里,我一直在努力平衡我在学习平等方面的兼职工作和慢慢地实现我的想法。
我认为最坏的情况是我在建立这家初创公司时失败了。我已经做好了应对这种最坏情况的准备。但我无法阻止自己追随自己的内心,因为我爱上了帮助软件公司的想法。
因此,我决定辞去兼职工作,完全专注于我的创业。
我给自己设定了一个最后期限。 30天。通过使用 GPT-4 Vision 构建 AI 代理来为 MVP 做好准备。
我在 30 天内完成了挑战并获得了 MVP。它的工作原理是用数字标记网页上的交互元素。然后,它要求 GPT-4 Vision 在给定元素的自然语言描述的情况下选择最准确的元素编号来单击。
它在很多情况下都运作良好。但我可以看到它在更多情况下失败。
我决定找到一个用户,并根据用户的反馈迭代我的 MVP。
我第一次见到 Ujjwal 是在一家咖啡馆,他是 GimBooks (YC W21) 的联合创始人兼首席技术官。我们讨论了我的想法,他让我展示 MVP。我们计划了一次见面。
我向他展示了 MVP,他用它打球。他看到了这个想法的潜力。他帮我联系了他的 QA 工程师。
我通过 Google Meet 认识了 QA 工程师。我询问他们如何对其网络应用程序进行质量检查。我仔细地听了他的回答,还查看了他过去某个时候尝试编写的端到端测试代码。
然后,我亲自见到了 QA 工程师,让他和 MVP 一起玩,并与他更深入地讨论了 GimBooks 在 QA 方面遇到的问题。
我意识到 QA 工程师一开始就没有足够的带宽来编写端到端测试。他已经非常忙于对他们的移动应用程序进行探索性测试。
因此,我决定自己编写 GimBooks 的端到端测试。
在决定自己为他们编写端到端测试之后。我有两个选择。首先,使用我的人工智能产品来编写测试。其次,使用 Playwright 手动编写测试代码。
我的 AI 代理不够可靠,无法覆盖测试用例,因此我决定使用 Playwright 手动编写。我还想,使用 Playwright 编写 E2E 测试会让我体验到 QA 自动化工程师的痛苦。
我读过保罗·格雷厄姆先生最受关注的文章《做无法扩展的事情》。我可以看到它发生。我实际上正在做一件无法规模化的事情。
我大部分时间都花在了解经验丰富的 QA 自动化工程师如何为应用程序编写 E2E 测试。然后,我编写了大约 20-25 个 E2E 测试,并为 GimBooks 团队开发了一个新的 MVP。新的 MVP 是为 CTO 及其开发人员构建的,用于查看测试用例的步骤并实时运行。
到目前为止,我脑子里只有保罗·格雷厄姆先生的话。但现在我明白了为什么初创公司最初需要做一些无法规模化的事情。
为了像创始人一样快速地向初始用户提供尽可能高的价值,它需要做一些无法扩展的事情。
创始人如何才能达到一个可以做那些无法规模化的事情的地位?
首先,尽快联系用户并尽一切努力真正帮助他们。如果你想从这个故事中得到什么。得到这个。尽早接触用户。
其次,花大量时间与用户相处。不要只听他们在说什么。询问他们过去做了什么来解决这个问题。看看他们过去的举动。尝试找出为什么他们现在还无法解决它。他们过去和现在的行为比他们所说的话更重要。
就我而言,用户没有带宽来编写 E2E 测试。所以,我做到了。
GimBooks 没有转化为付费客户。 Ujjwal(联合创始人)告诉我,他们更专注于移动应用程序,而网络应用程序的 QA 自动化测试并不是他们当时的首要任务。
一次失败,一次成功。
我未能获得付费客户,但成功地体验到了无法扩展的事情。
那么,如果无法扩大规模,下一步的发展方向是什么?
最近,我读了 Sahil Lavingia 的书《极简主义企业家》的一些部分,它建议最初为第一批客户做自由职业可能是学习和获得正现金流的好方法,这将为未来的步骤提供一些喘息空间。我对此有感触。
因此,目前,我的全部重点是通过为最初的客户提供端到端测试即服务来服务他们。然后,我会让我的客户为我的旅程指明方向。我会倾听并观察他们。他们会带我去正确的地方。就像 GimBooks 带我去做一件无法扩展的事情一样。
我真的很想听听你们在旅程中所做的那些没有规模化的事情。请在 推特 上与我分享(私信对所有人开放)。您也应该关注我,因为我将分享我的旅程中的经验和故事。
版权声明
本文为本站原创内容,转载需注明文章来源(https://www.eiefun.com),另:文中部分素材可能会引用自其他平台,如有侵权或其它,请联系 admin@eiefun.com,我们会第一时间配合删除