很多開發(fā)者可能都經(jīng)歷過:寫了幾個提示詞,很快就構(gòu)建出一個能運行的應(yīng)用程序,過程既有趣又充滿魔力。然而,當你真正想將它部署到生產(chǎn)環(huán)境中時,卻發(fā)現(xiàn)困難重重。模型在構(gòu)建過程中做出了哪些假設(shè)?在引導(dǎo)Agent時做了許多決策,但這些都沒有被記錄。需求模糊,無法判斷應(yīng)用是否符合預(yù)期。系統(tǒng)設(shè)計不透明,也很難評估它對環(huán)境與性能的影響。有時,退一步認真思考這些決策,反而能打造出更好、更易于維護的應(yīng)用程序。擅長Spec-Driven Development(以需求為導(dǎo)向的開發(fā))的Kiro正是這些問題的正解。

Kiro的Specs就像一張“開發(fā)說明書”,能夠幫助開發(fā)者在功能設(shè)計、系統(tǒng)重構(gòu)前進行規(guī)劃,也適用于深入理解系統(tǒng)行為。簡言之,大多數(shù)推進至生產(chǎn)階段所需的工作都離不開它。在實際開發(fā)過程中,需求往往存在不明確、不完整、無人維護等問題。Kiro會在用戶真正動手寫代碼之前,把一個簡單的想法(比如“加一個評論功能”)拆成多個具體的用戶需求;每個需求都自動補充了考慮周全的邊界條件(比如“不能重復(fù)評論”、“必須登錄后才能評論”);再把這些需求,變成后續(xù)開發(fā)中可以直接使用的“指導(dǎo)手冊”。

Kiro的Hooks就像一位經(jīng)驗豐富的開發(fā)者,默默處理那些容易被忽略或重復(fù)繁瑣的任務(wù)。作為一種基于事件驅(qū)動的自動化機制,Hooks可以在保存、創(chuàng)建、刪除文件或手動觸發(fā)操作時,自動激活A(yù)I Agent在后臺完成相關(guān)工作。例如,當你保存組件時,系統(tǒng)會自動更新對應(yīng)的測試文件;修改API時,自動刷新README;準備提交代碼前,還會自動掃描安全問題;在編寫React組件時,自動檢查是否符合SRP(單一職責原則)。只需通過一次性設(shè)置,整個團隊都能受益于統(tǒng)一的質(zhì)量標準,讓開發(fā)者將更多精力專注于核心創(chuàng)新,而非繁瑣流程。

通過Specs和Hooks構(gòu)建系統(tǒng):三步實現(xiàn)從構(gòu)想到交付

Kiro將Specs工作流與開發(fā)過程深度集成。以一個電商應(yīng)用中的銷售手工藝品場景為例,假設(shè)我們希望為該系統(tǒng)新增用戶評論功能, Kiro提供了一個簡潔的三步流程,幫助開發(fā)者高效完成從需求拆解到功能落地的全過程。

Step 1:Prompt → 自動生成需求

當輸入“為產(chǎn)品添加評論系統(tǒng)”,Kiro會自動生成完整的用戶故事,覆蓋查看、創(chuàng)建、篩選和評分等操作。每個用戶故事都包含采用EARS語法編寫的驗收標準,涵蓋邊界情況,確保你的意圖被正確理解。

Step 2:需求自動生成系統(tǒng)設(shè)計

Kiro會分析代碼庫和需求規(guī)格,自動生成設(shè)計文檔,包括數(shù)據(jù)流圖、TypeScript接口、數(shù)據(jù)庫結(jié)構(gòu)和API端點等。例如在評論系統(tǒng)中,Kiro會生成Review接口和數(shù)據(jù)庫設(shè)計。這減少了開發(fā)過程中關(guān)于需求澄清的反復(fù)溝通。

Step 3:設(shè)計自動生成任務(wù)列表與測試項

基于需求和設(shè)計,Kiro會自動生成任務(wù)和子任務(wù),依賴關(guān)系清晰,并與規(guī)格一一對應(yīng)。每項任務(wù)都包含單元測試、集成測試、加載狀態(tài)、移動端適配與無障礙支持等要素。用戶可以逐個觸發(fā)任務(wù),查看進度與執(zhí)行結(jié)果,還可以通過代碼差異和日志來審計整個過程。

Kiro會保持規(guī)格與代碼庫的同步。用戶可以用代碼反向更新規(guī)格,或者讓Kiro根據(jù)調(diào)整更新任務(wù),從而解決了“文檔總是過時”的常見問題,方便后續(xù)維護。

任務(wù)界面支持逐個觸發(fā)任務(wù),進度指示器會顯示執(zhí)行狀態(tài)。任務(wù)完成后可在界面內(nèi)直接查看完成情況,并通過查看代碼差異和Agent執(zhí)行歷史記錄,來審核工作成果。

使用Hooks預(yù)防上線問題

在提交代碼之前,大多數(shù)開發(fā)者都會在腦海中快速過一遍檢查清單:我是否破壞了已有功能?測試是否已更新?文檔是否保持同步?這些預(yù)防性檢查雖然必要,卻往往依賴大量手動操作,既耗時又容易遺漏。

Kiro的Hooks就像一個自動的代碼搭檔,當用戶保存、創(chuàng)建文件時觸發(fā)。例如:保存React組件時,自動更新對應(yīng)的測試文件;修改API接口時,自動刷新README;準備提交代碼時,自動掃描是否泄露憑證;針對特定規(guī)范(如React單一職責原則)自動做代碼校驗。這樣,整個團隊都能享受到一致的質(zhì)量保障、代碼規(guī)范和安全審查。

除了Specs和Hooks,Kiro還支持以下功能:MCP,支持連接其他AI工具;Steering Rules,定義AI智能體行為規(guī)則;Agentic Chat,結(jié)合上下文進行即時編程任務(wù);兼容VS Code插件與配置,基于Code OSS構(gòu)建,完美支持Open VSX插件生態(tài)。

亞馬遜云科技希望解決的遠不止“寫代碼”這一環(huán)節(jié),而是解決現(xiàn)代軟件開發(fā)中那些最棘手的問題:團隊之間如何統(tǒng)一設(shè)計語言、如何解決需求沖突、如何避免技術(shù)債、如何規(guī)范代碼評審、如何保留關(guān)鍵知識。當資深工程師離開團隊時,知識不會隨之流失。

雖然現(xiàn)在AI與人類協(xié)作構(gòu)建軟件的方式仍然復(fù)雜、分散,但我們正在嘗試改變這一點。而Specs是這個轉(zhuǎn)變的重要一步

分享到

zhupb

相關(guān)推薦