在過去的十年里,云基礎(chǔ)設(shè)施已經(jīng)具備了高度的可編程性。
幾乎所有的平臺都提供了API,使開發(fā)人員能夠創(chuàng)建應(yīng)用程序、配置數(shù)據(jù)庫、設(shè)置網(wǎng)絡(luò)連接以及獲取各種指標(biāo)數(shù)據(jù)。
這種變化使得通過“代碼即基礎(chǔ)設(shè)施”以及CI/CD流程實現(xiàn)自動化成為可能,從而使團(tuán)隊能夠通過腳本而非儀表板來管理系統(tǒng)。
現(xiàn)在,又有一種新的自動化方式正在出現(xiàn)。人工智能代理開始直接參與開發(fā)工作流程。這些代理可以閱讀代碼庫、生成實現(xiàn)方案、運(yùn)行終端命令,甚至幫助調(diào)試系統(tǒng)。下一步的發(fā)展方向是讓它們能夠與基礎(chǔ)設(shè)施本身進(jìn)行交互。
開發(fā)者不再需要手動查看儀表板或記憶復(fù)雜的命令行語法,而是可以讓人工智能代理來檢查系統(tǒng)狀態(tài)、部署服務(wù)或獲取指標(biāo)數(shù)據(jù)。這些代理會代表用戶與云API進(jìn)行交互,從而完成這些任務(wù)。
這種能力為一種全新的工作流程打開了大門——在這種工作流程中,基礎(chǔ)設(shè)施具備了對話式交互的能力,能夠被編程控制,并且能與開發(fā)環(huán)境深度集成。
在本文中,我們將探討人工智能代理如何通過API與云基礎(chǔ)設(shè)施進(jìn)行交互,分析將大型API提供給人工智能系統(tǒng)所面臨的挑戰(zhàn),以及諸如MCP這樣的架構(gòu)是如何幫助代理安全地發(fā)現(xiàn)并執(zhí)行基礎(chǔ)設(shè)施操作的。我們還將通過一個實際例子,來了解如何使用“搜索與執(zhí)行”模式將人工智能代理連接到像Sevalla這樣的云平臺上。
為了能夠有效地理解本文的內(nèi)容,建議讀者事先掌握一些關(guān)于云基礎(chǔ)設(shè)施的概念,比如API、“代碼即基礎(chǔ)設(shè)施”以及CI/CD工作流程。同時,你也應(yīng)該對人工智能代理或開發(fā)輔助工具如何與代碼和系統(tǒng)進(jìn)行交互有一個基本的了解,這樣才能完全領(lǐng)會本文中討論的各種架構(gòu)。
我們將涵蓋的內(nèi)容
人工智能代理正成為開發(fā)環(huán)境的一部分
現(xiàn)代的開發(fā)工具越來越多地將人工智能助手直接集成到編碼環(huán)境中。諸如Cursor、Windsurf和Claude Code這樣的編輯器允許開發(fā)者在不離開編輯器的情況下,就他們的項目提出問題、生成新代碼或執(zhí)行命令。
開發(fā)者無需手動查閱文檔或編寫重復(fù)性的代碼,只需描述他們的需求,人工智能就會理解這些請求并完成相應(yīng)的操作。
這種方法在編寫函數(shù)、重構(gòu)代碼或調(diào)試錯誤等任務(wù)中已經(jīng)非常普遍。然而,基礎(chǔ)設(shè)施的管理仍然主要通過控制面板、終端命令或外部工具來處理。
如果要讓人工智能助手真正有效地幫助開發(fā)者,它們就必須能夠訪問開發(fā)者每天都會使用的那些系統(tǒng)。也就是說,它們需要能夠調(diào)用用于管理應(yīng)用程序、數(shù)據(jù)庫、部署以及其他基礎(chǔ)設(shè)施資源的API。
挑戰(zhàn)在于如何以結(jié)構(gòu)化且可擴(kuò)展的方式實現(xiàn)這種訪問功能。
將人工智能助手連接到外部系統(tǒng)
人工智能助手本身并不懂得如何與外部服務(wù)進(jìn)行交互,因此它們需要一個框架來幫助它們安全地調(diào)用各種工具并獲取數(shù)據(jù)。
模型上下文協(xié)議正是這樣一個框架。該協(xié)議的設(shè)計目的是讓人工智能助手能夠以標(biāo)準(zhǔn)化的方式與外部工具進(jìn)行連接。
MCP服務(wù)器會提供一些工具,當(dāng)人工智能助手需要信息或想要執(zhí)行某些操作時,就可以通過這些工具來獲取所需的數(shù)據(jù)。這些工具可能包括從數(shù)據(jù)庫中檢索數(shù)據(jù)、查詢?nèi)罩尽⑴cAPI交互,或在遠(yuǎn)程系統(tǒng)上執(zhí)行命令等功能。
當(dāng)人工智能助手收到用戶的請求后,它會確定應(yīng)該調(diào)用哪個工具,并通過MCP服務(wù)器來執(zhí)行該工具。執(zhí)行結(jié)果會返回給助手,然后助手就可以繼續(xù)處理相關(guān)問題了。
這種架構(gòu)使得人工智能助手能夠在與復(fù)雜系統(tǒng)交互的同時,保持自身與外部環(huán)境之間的清晰界限。
大型云API帶來的挑戰(zhàn)
雖然MCP使人工智能助手能夠連接到基礎(chǔ)設(shè)施系統(tǒng),但云平臺又帶來了新的挑戰(zhàn)。
大多數(shù)云平臺都會提供包含大量端點的API。一個典型的云平臺可能會提供用于管理應(yīng)用程序、數(shù)據(jù)庫、存儲資源、網(wǎng)絡(luò)配置、域名設(shè)置、指標(biāo)監(jiān)控、日志記錄以及部署流程等的各種接口。
如果MCP服務(wù)器將每個接口都作為單獨的一個工具來提供,那么所需的工具數(shù)量很快就會達(dá)到數(shù)百個。
這會帶來幾個問題:首先,人工智能助手在決定使用哪個工具之前,必須了解每一個工具的用途和參數(shù),這樣才會提高其高效運(yùn)行的效率;其次,對于負(fù)責(zé)構(gòu)建和維護(hù)MCP服務(wù)器的開發(fā)人員來說,管理如此眾多的工具也會變得非常困難。
第三,這種系統(tǒng)會變得過于僵化。每當(dāng)添加一個新的API接口時,就必須創(chuàng)建新的工具并進(jìn)行相應(yīng)的文檔記錄。
對于規(guī)模較大的API來說,這種做法很快就會變得不切實際。
一種更簡單的API訪問方式
另一種架構(gòu)通過大幅減少AI系統(tǒng)需要使用的工具數(shù)量來解決這個問題。
它并不為每個API接口提供單獨的工具,而是讓MCP服務(wù)器僅提供兩項功能。
第一項功能允許智能體搜索API規(guī)范。這樣,智能體就能發(fā)現(xiàn)可用的接口、了解參數(shù)信息,并檢查請求或響應(yīng)的數(shù)據(jù)結(jié)構(gòu)。
第二項功能則允許智能體執(zhí)行調(diào)用API的代碼。
在這種模式下,AI智能體會動態(tài)生成調(diào)用API所需的代碼。由于智能體可以自行查詢規(guī)范并編寫API調(diào)用代碼,因此MCP服務(wù)器無需為每個接口單獨開發(fā)工具。
這種設(shè)計大大降低了系統(tǒng)集成的復(fù)雜性,同時仍能讓智能體完全訪問底層平臺的功能。
為什么沙箱化代碼執(zhí)行如此重要
允許AI智能體生成并執(zhí)行代碼會帶來重要的安全問題。
如果生成的代碼可以無限制地運(yùn)行,它就有可能訪問系統(tǒng)的敏感部分或執(zhí)行不必要的操作。因此,必須對執(zhí)行環(huán)境進(jìn)行嚴(yán)格的控制。
一種常見的解決方案是將生成的代碼放在沙箱環(huán)境中運(yùn)行。在這種設(shè)置下,代碼會在權(quán)限受限的隔離環(huán)境中運(yùn)行,且該環(huán)境只提供允許與平臺API交互的特定功能。
由于代碼無法直接訪問主機(jī)系統(tǒng),因此出現(xiàn)異常行為的風(fēng)險會大大降低。同時,AI智能體仍然可以根據(jù)需要靈活地生成自定義的API調(diào)用代碼。
動態(tài)代碼生成與沙箱化執(zhí)行相結(jié)合的方式,使得AI智能體能夠安全地與復(fù)雜的API進(jìn)行交互。
以Sevalla為例的實際應(yīng)用
這種架構(gòu)的實際應(yīng)用可以在Sevalla MCP服務(wù)器中看到。該服務(wù)器通過“搜索-執(zhí)行”模式,讓AI智能體能夠訪問云平臺的API。
Sevalla是一家專為開發(fā)者設(shè)計的PaaS平臺,它為開發(fā)人員提供了應(yīng)用托管、數(shù)據(jù)庫服務(wù)、對象存儲以及靜態(tài)網(wǎng)站托管等功能。當(dāng)然,還有AWS和Azure等其他選項,它們也各自配備了相應(yīng)的MCP工具。
該服務(wù)器并沒有為每個API接口注冊數(shù)百個工具,而是只提供了兩項功能,讓AI智能體能夠探索并使用整個平臺的功能。有關(guān)Sevalla MCP服務(wù)器的完整文檔,請點擊這里查看。
search這一工具使智能體能夠查詢平臺的OpenAPI規(guī)范。通過這一接口,智能體可以發(fā)現(xiàn)可用的接口端點、了解參數(shù)信息,并檢查響應(yīng)數(shù)據(jù)的結(jié)構(gòu)。

由于API規(guī)范是可以被搜索的,因此智能體無需事先了解平臺API的具體結(jié)構(gòu)。它可以根據(jù)自身需要執(zhí)行的任務(wù)動態(tài)地探索這些API。
例如,如果用戶要求智能體列出自己賬戶中運(yùn)行的所有應(yīng)用程序,智能體就可以通過查詢API規(guī)范來開始執(zhí)行這一操作。
const endpoints = await sevalla.search("list all applications")
查詢結(jié)果會返回相關(guān)的API定義信息,包括請求所需的正確路徑和參數(shù)。一旦智能體確定了應(yīng)該使用哪個接口端點,它就可以生成相應(yīng)的API調(diào)用語句。
execute這一工具會在一個隔離的V8環(huán)境中運(yùn)行JavaScript代碼。在這個環(huán)境中,智能體可以使用平臺提供的輔助函數(shù)來調(diào)用API。
const apps = await sevalla.request({
method: "GET",
path: "/applications"
})
因為代碼是在隔離的V8沙箱環(huán)境中運(yùn)行的,所以生成的腳本無法訪問主機(jī)系統(tǒng)。智能體只能通過API輔助函數(shù)與外部進(jìn)行交互。這種設(shè)計確保了AI智能體能夠在安全的前提下執(zhí)行基礎(chǔ)設(shè)施操作,同時仍具備生成動態(tài)API調(diào)用的靈活性。
這種機(jī)制使得智能體無需為平臺的各項功能預(yù)先準(zhǔn)備專門的工具,就能發(fā)現(xiàn)并使用這些功能。在通過API規(guī)范找到相應(yīng)的接口端點后,智能體就可以利用生成的API調(diào)用語句來檢索應(yīng)用程序數(shù)據(jù)、檢查部署情況、查詢指標(biāo)信息或管理基礎(chǔ)設(shè)施資源。
這種設(shè)計還大大減少了所需工具的數(shù)量。傳統(tǒng)的MCP集成方案可能需要數(shù)百種工具才能覆蓋大型API的所有接口端點,而采用搜索與執(zhí)行相結(jié)合的模式后,只需兩個工具就能訪問整個API接口體系。
對于那些需要將AI助手與基礎(chǔ)設(shè)施平臺進(jìn)行集成的開發(fā)者來說,這種架構(gòu)為暴露大型API提供了實用的方法,同時使集成過程變得簡單高效。
這對開發(fā)者意味著什么
允許AI智能體與基礎(chǔ)設(shè)施API進(jìn)行交互,改變了開發(fā)人員管理系統(tǒng)的方式。
開發(fā)者不再需要手動瀏覽控制面板或編寫冗長的命令序列,而是可以用自然語言來描述自己的需求。AI智能體會解讀這些請求,找到相應(yīng)的API接口端點,并執(zhí)行所需的操作。
這種方法還能提升系統(tǒng)的可觀測性及調(diào)試效率。當(dāng)出現(xiàn)問題時,智能代理可以查詢?nèi)罩尽z查各項指標(biāo),并獲取系統(tǒng)狀態(tài)信息,而無需開發(fā)人員手動收集這些數(shù)據(jù)。
隨著時間的推移,這種集成方式將顯著降低管理復(fù)雜云系統(tǒng)所帶來的種種麻煩。
基礎(chǔ)設(shè)施自動化的下一階段發(fā)展
基礎(chǔ)設(shè)施自動化已經(jīng)經(jīng)歷了多個發(fā)展階段。早期的云系統(tǒng)主要依賴網(wǎng)頁界面進(jìn)行手動配置;而“代碼即基礎(chǔ)設(shè)施”的理念使開發(fā)團(tuán)隊能夠通過腳本和配置文件來定義基礎(chǔ)設(shè)施結(jié)構(gòu)。
隨后,CI/CD流程自動化了系統(tǒng)的部署與更新過程。
人工智能代理代表了這一技術(shù)發(fā)展的下一個階段。通過結(jié)合API、MCP集成機(jī)制以及沙箱執(zhí)行環(huán)境,開發(fā)人員可以讓智能系統(tǒng)對基礎(chǔ)設(shè)施進(jìn)行邏輯分析,并安全地與之交互。
與傳統(tǒng)靜態(tài)集成方式不同,智能代理可以根據(jù)實際需求動態(tài)發(fā)現(xiàn)并調(diào)用相關(guān)API,這使得基礎(chǔ)設(shè)施管理變得更加靈活且易于使用,同時依然保證了可編程系統(tǒng)的可靠性。
隨著人工智能工具在開發(fā)環(huán)境中的應(yīng)用越來越廣泛,智能代理理解并控制基礎(chǔ)設(shè)施的能力很可能會成為現(xiàn)代平臺的一項基本功能。
希望您喜歡這篇文章。 歡迎訪問我的博客,那里有更多實用教程等著您。