為什么在人工智能時(shí)代基礎(chǔ)設(shè)施必須是無(wú)服務(wù)器的
開(kāi)發(fā)者們正從創(chuàng)建單個(gè)應(yīng)用程序轉(zhuǎn)向編排由 AI 構(gòu)建的應(yīng)用程序集群。
譯自Why Infrastructure Must Be Serverless in the AI Age,作者 Nikita Shamgunov。
Replit 的新 AI 代理將編寫(xiě)您的代碼,然后配置、調(diào)配、構(gòu)建和部署該代碼,只需幾秒鐘。您可以在 VS Code 加載所有擴(kuò)展程序之前,從自然語(yǔ)言描述到已實(shí)現(xiàn)的、可運(yùn)行的應(yīng)用程序。
如果一個(gè) AI 代理可以在幾秒鐘內(nèi)構(gòu)建和部署一個(gè)應(yīng)用程序,那么幾分鐘的時(shí)間來(lái)啟動(dòng)資源就太長(zhǎng)了。如果一個(gè) AI 代理每小時(shí)可以啟動(dòng)和關(guān)閉數(shù)千個(gè)這樣的應(yīng)用程序,那么每個(gè)數(shù)據(jù)庫(kù) 10 美元的成本就變成了極高的開(kāi)銷(xiāo)。突然之間,我們從一個(gè)開(kāi)發(fā)人員團(tuán)隊(duì)部署單個(gè)應(yīng)用程序變成了單個(gè)開(kāi)發(fā)人員部署一組應(yīng)用程序,所有應(yīng)用程序都在 AI 代理的指導(dǎo)下工作。
這種方法改變了對(duì)開(kāi)發(fā)的看法,并要求對(duì)基礎(chǔ)設(shè)施有新的認(rèn)識(shí)。傳統(tǒng)的基礎(chǔ)設(shè)施對(duì)于代理工作流程來(lái)說(shuō)太慢、太永久且太復(fù)雜。基礎(chǔ)設(shè)施的未來(lái)需要即時(shí)的、無(wú)服務(wù)器的和簡(jiǎn)化的工具——這就是必須構(gòu)建的內(nèi)容。
AI 代理基礎(chǔ)設(shè)施的核心需求
AI 代理的運(yùn)行規(guī)模和速度使得傳統(tǒng)的基礎(chǔ)設(shè)施管理在技術(shù)上和經(jīng)濟(jì)上都不切實(shí)際。良好的“代理體驗(yàn)”將強(qiáng)調(diào)三個(gè)核心特性:
1. 簡(jiǎn)易性
任何代碼和集成都需要簡(jiǎn)單。這個(gè)世界將建立在簡(jiǎn)單的 API 調(diào)用而不是 IAM 策略和多步驟配置之上。考慮啟動(dòng)一個(gè)新的 RDS 實(shí)例:VPC、安全組、規(guī)則、子網(wǎng)組和 IAM 角色。每個(gè)步驟都需要多個(gè) API 調(diào)用、選項(xiàng)的考慮和故障排除。
DevOps 工程師了解這些依賴關(guān)系,并且可以在出現(xiàn)問(wèn)題時(shí)進(jìn)行調(diào)試。AI 代理需要一切第一次和每次都能完美運(yùn)行。這種復(fù)雜性不僅僅是進(jìn)入的障礙;它是自動(dòng)化的障礙。這就是在 Neon 上啟動(dòng)數(shù)據(jù)庫(kù)所需的:
來(lái)自@neondatabase/toolkitSDK 的代碼示例
三行代碼即可配置數(shù)據(jù)庫(kù),一次 API 調(diào)用,即可立即使用。這不僅僅是更好的開(kāi)發(fā)者體驗(yàn)——這是使 AI 代理能夠訪問(wèn)基礎(chǔ)設(shè)施的唯一方法。這種簡(jiǎn)易性還有助于兩個(gè)因素:
- 成本:更多步驟 = 更多成本。代理進(jìn)行的每個(gè) API 調(diào)用都會(huì)消耗令牌,而復(fù)雜的基礎(chǔ)設(shè)施操作可能需要數(shù)十次調(diào)用。簡(jiǎn)單的 API 不僅僅是更易于使用;它們從根本上來(lái)說(shuō)在大規(guī)模情況下更經(jīng)濟(jì)。
- 安全性:盡管 AWS RDS 設(shè)置非常安全,但您不能將您的根密鑰交給機(jī)器。現(xiàn)代基礎(chǔ)設(shè)施需要進(jìn)行沙盒化和自包含,并具有清晰的邊界,讓代理可以自由地進(jìn)行實(shí)驗(yàn),而不會(huì)危及生產(chǎn)系統(tǒng)。
2. 即時(shí)性
上面的代碼可以在一秒鐘內(nèi)啟動(dòng)一個(gè)新的數(shù)據(jù)庫(kù),供代理使用。
在代理驅(qū)動(dòng)的世界中,傳統(tǒng)的基建時(shí)間線需要修改。代碼創(chuàng)建速度曾經(jīng)是開(kāi)發(fā)中的速率限制因素,但是當(dāng) AWS RDS 實(shí)例需要 10 分鐘來(lái)配置時(shí),該基礎(chǔ)設(shè)施就變成了速率限制因素。
轉(zhuǎn)向即時(shí)性模型與人工智能一樣,開(kāi)啟了無(wú)限可能。代理驅(qū)動(dòng)開(kāi)發(fā)的核心原則是可處置性。代理可能會(huì)創(chuàng)建一個(gè)應(yīng)用程序,對(duì)其進(jìn)行測(cè)試,并在幾分鐘內(nèi)將其丟棄。基礎(chǔ)設(shè)施需要匹配此生命周期——在需要時(shí)立即啟動(dòng),并在不需要時(shí)同樣快速地消失。代理應(yīng)該能夠在傳統(tǒng)數(shù)據(jù)庫(kù)啟動(dòng)所需的時(shí)間內(nèi)構(gòu)建和銷(xiāo)毀一個(gè)一次性應(yīng)用程序。
短暫性
這也引出了可處置應(yīng)用程序的關(guān)鍵組成部分——短暫性。傳統(tǒng)方法假設(shè)應(yīng)用程序是永久的,因此它需要永久的基礎(chǔ)設(shè)施。
并非如此。看看開(kāi)發(fā)人員如何使用 Vercel 的v0,這是一個(gè)用于從文本提示生成應(yīng)用程序的開(kāi)發(fā)工具。您無(wú)需在線搜索“抵押貸款計(jì)算器”,而是可以要求v0為您創(chuàng)建一個(gè):
圖片
這有效。它不需要基礎(chǔ)設(shè)施,但這可能是下一步。最重要的是,用戶可以在單個(gè)會(huì)話中使用 AI 構(gòu)建大量?jī)?nèi)容。絕大多數(shù)內(nèi)容會(huì)被丟棄且不再使用,但有些內(nèi)容可能會(huì)被共享并轉(zhuǎn)化為長(zhǎng)期存在的應(yīng)用程序。這是工具的未來(lái)——你使用 AI 和 AI 代理精確構(gòu)建你想要的東西,并留下一串廢棄的替代方案。
這需要一個(gè)可以縮放到零的基礎(chǔ)設(shè)施。當(dāng)資源未被使用時(shí),其成本應(yīng)降至零。有了這種能力,一次性應(yīng)用程序的經(jīng)濟(jì)效益將會(huì)實(shí)現(xiàn)。想象一下,一家公司在使用 AI 構(gòu)建的過(guò)程中每小時(shí)啟動(dòng)數(shù)十個(gè)數(shù)據(jù)庫(kù)。誰(shuí)來(lái)刪除未使用的數(shù)據(jù)庫(kù)?誰(shuí)來(lái)決定哪些數(shù)據(jù)庫(kù)未使用?
當(dāng)基礎(chǔ)設(shè)施能夠真正縮放到零時(shí),它將啟用新的開(kāi)發(fā)模式。代理可以自由地嘗試不同的方法,并行測(cè)試多個(gè)解決方案,而無(wú)需擔(dān)心清理或持續(xù)成本。這消除了開(kāi)發(fā)過(guò)程中的經(jīng)濟(jì)限制——你不再需要仔細(xì)考慮每個(gè)新數(shù)據(jù)庫(kù)或服務(wù)的成本影響。
結(jié)果是一個(gè)資源真正可丟棄的開(kāi)發(fā)環(huán)境。創(chuàng)建你需要的內(nèi)容,根據(jù)需要使用它,并在完成后讓它消失。這不僅僅是更高效——這是使代理驅(qū)動(dòng)的開(kāi)發(fā)在大規(guī)模上經(jīng)濟(jì)可行的唯一方法。
更簡(jiǎn)單、更快、更便宜——選擇三個(gè)
在六個(gè)月內(nèi),我們已經(jīng)從Cognition AI 的 Devin AI 程序員的演示發(fā)展到 Replit 的 AI 開(kāi)發(fā)人員/DevOps 代理在實(shí)際工作中運(yùn)行。明年這個(gè)時(shí)候的 SOTA 會(huì)是什么樣子?
沒(méi)有人知道,但很清楚什么樣的基礎(chǔ)設(shè)施會(huì)讓我們到達(dá)那里。該基礎(chǔ)設(shè)施必須從人類(lèi)開(kāi)發(fā)人員轉(zhuǎn)移到作為構(gòu)建者的 AI 代理。但創(chuàng)建良好的 AgentEx 也將使我們構(gòu)建良好的 DevEx,因?yàn)楦?jiǎn)單、更快和更便宜也適用于循環(huán)中的人類(lèi)。這種良性循環(huán)——AI 代理的改進(jìn)為人類(lèi)創(chuàng)造了更好的工具,反之亦然——將加速開(kāi)發(fā)人員構(gòu)建和部署軟件的方式的轉(zhuǎn)變。