Logo Ernie.SG

给人类的 A.I.:构建 A.I. 原生产品

2024年3月25日
2 分钟阅读
暂无标签

用 WhatsApp 完成入职流程并创建新用户

通过互联网异步完成新用户引导和创建,让你能同时处理多个用户,结果发现这类问题会让人想:我到底为什么要折腾这个?这是 Web 开发者的活。我只想处理数据和构建模型。不过我很高兴,靠 GPT-4 驱动的 Cursor,我终于把它搞明白了。

我非常期待我侄女长大后会说:你们当年到底怎么忍受那么笨的软件和/或服务那么久的!?比如,为什么公司要部署那些唯一目的似乎就是把你拖进挫败感里的聊天机器人,还有那些自动电话录音,让你从此再也不想打电话给他们?一旦你尝过智能系统立刻回你一个足够好的答案,就很难不拿你接触到的每个人类客服来比较。

我一直在尝试优化自己的编程工作流。我勉强接受的默认做法,只是把 ChatGPT 窗口和 Visual Studio Code 并排放着,但它并不是世界上最可靠的东西。我讨厌重复自己,讨厌 A.I. 忘记我的上下文。它一偷懒,我在抓头发和敲键盘之间,通常会落到后者;然后一场对话太长时它会变得非常慢,UI 和消费者端时不时有随机奇怪错误,最糟糕的是速率限制。天啊,那些速率限制。所以我一直在找更好的替代方案。

我跳过了 GitHub Copilot,因为网上没看到太多推荐,而且它似乎不能让你和代码库聊天,这是我很喜欢的功能。于是我试了 Gemini Advanced、LM Studio 上的一些本地模型、在 VSCode 里用 Continue 等等,但对我来说 GPT-4 仍然有同类最佳的能力。Continue 搭配 LM Studio 又非常笨重,所以我其实没怎么用。直到最近参加的一个活动上,有位讲者提到 Cursor,这名字我之前听过但没试过,于是决定试一试。我觉得自己短暂瞥见了未来软件和服务应该如何被构建:作为 A.I. 原生产品,并把数据当成一等公民。它的感觉和工作方式,就是比试图把东西改装进既有工作流里要好太多。

感谢 Cursor,我终于完成了一个通过 WhatsApp 引导并创建用户的功能,设计是无状态的,由 Firestore 和 FastAPI 支撑。我使用的是同一个底层模型,但用默认设置解决这个问题痛苦到极点,我差点就完全放弃了。有几件事让我印象深刻,它们感觉很 A.I. 原生,也解释了为什么我能在 Cursor 上做到那些在其他工具和流程里一直卡住的事情:

  • 用 ReAct 调试

    • 对我来说这是立刻说服我的杀手级功能。能够实时看着 A.I. 思考、行动和观察,对我自己的学习极其有帮助。我觉得很多时候我们自己使用 A.I. 时,会受限于自己的知识和想象力,所以看到 A.I. 接到一段指令,然后在解决方案空间里搜索,绝对令人着迷,也很适合元学习:理解我自己的软件工程需要什么样的心智模型和基础构件。
  • 代码库索引

  • 上下文内生成与替换

  • 长文本片段的截断和处理

  • 能联网访问最新的软件库

对我来说,把数据作为一等公民来构建 A.I. 原生产品和体验,感觉像是“软件吞噬世界”被放到了可并行化的兴奋剂上,再乘以数据的指数幂;也许这就是为什么一切曾经那么慢、那么不可能,而突然之间万事万物都同时涌来。也很有趣的是,这里面很多其实是旧架构,是几十年前的想法,只是我们终于有了算力和互联网规模的数据来运行它们。所有基础、构件、数据和基础设施都在 Google 那里,可他们在公众感知上到目前为止却这么落后。这是一个完全新的范式,所以这是个奇怪的新世界,老少都在一边构建一边学习,向未来前进。一切都移动得这么快,而本质上只是 X -> ŷ,中间有数量不一的层,我觉得这太、太迷人了。等不及四月去西藏好好坐下来面对概率、统计和 A.I. 了。

旧习难改,所以我预计今天很多巨头会长命百岁,一边把 A.I. 贴进自己的系统里。但我等不及要生活在一个 A.I. 原生、数据是一等公民的世界里。一旦这个基础构件成为可能,不去构建会随着更多用户数据变得更好的软件和/或服务,就很蠢,对吧?这个 A.I. 外呼智能体音乐创作 简直疯狂。Google 那个据说能帮人预约理发的 A.I. 助手,大家都忘了,所以我猜它没成功,感觉却像昨天才发生。智能手机在很大程度上改变了我们消费信息的方式,但大多数工作仍然涉及人类处理输入,把它们跑过自己的内部计算机,然后在最后产出结果。人类历史上第一次,我们不用把所有业务逻辑编码进人类劳动这个具身计算机,而可以利用更可扩展、也更可复现的算力。也许值得反思的是,我不知道这有没有名字,但感觉我们对技术的期待设得很高,而对人类却总是替自己找借口。我今天状态不好。睡不够。事情很难。我们不知道自己的人生该怎么办,所以就混过去。可与此同时,我们却期待技术持续稳定地正常工作。这完全合理,只是写软件、构建由软件驱动的服务这件事越来越让我想问:一个人到底需要知道多少底层机制,才能有效且规模化地管理这些工具?

我高度怀疑,拥有技术能力、沟通能力和领导能力的合适组合会越来越关键。所谓技术能力,我指的是能够真正咬住这些系统并以专业水准推理,尤其是当你所在的业务是在利用智能获取竞争优势的时候。虽然我还没决定,只知道机器会从数据中学习、识别模式并做出预测是否就足够,还是说需要在必要时能写自己的损失函数;因为这就像是,如果不了解灵活的函数形式、损失最小化和反向传播,一个人要如何形成良好的直觉,理解它们为什么能作为预测机器如此厉害?即使知道这些,也不一定能形成更好的世界预测模型,或判断进展的方向。所以你要么自己懂,要么信任别人承担这个角色,而我想你会和世界上最大的公司争抢那个别人。沟通能力和领导能力则只是意味着推理和批判性思维一时半会不会消失。

说到底,这难道不是有点奇迹吗?也是经济、资本和算力结合在一起的美感:这些比特和字节通过铺在深海里的电缆传输这么多东西,让这么多事情成为可能,并且就是能工作,即便政府和机构有时会失败。当然,这不是说技术是万能药,也不是说这个行业没有大量问题 - 获取和使用门槛这个问题我在这里谈过 - 但我只是想在 A.I. 的暖光里短暂浸泡一下。:)

我也希望用自己的时间,在这个空间里构建一些有价值的东西。这就是人生中那种事情:如果它奏效,而我也够幸运,我可能赚很多钱;如果不奏效,反正我也会非常享受这个过程,所以为什么不呢!?


最初发表于 PubPub:erniesg.pubpub.org/pub/161hmmds