偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

分享一些“氛圍編程”的工程化技巧 原創(chuàng)

發(fā)布于 2025-9-23 09:12
瀏覽
0收藏

編者按: 在氛圍編程日益普及的今天,開發(fā)者是否真的能夠完全依賴 AI 編程助手來完成從設(shè)計(jì)到測(cè)試的全流程開發(fā)?我們今天為大家?guī)淼奈恼?,作者的觀點(diǎn)是:AI?輔助編程是一種強(qiáng)大的效率工具,但開發(fā)者必須始終保持主導(dǎo)權(quán),承擔(dān)起代碼質(zhì)量、架構(gòu)決策和測(cè)試驗(yàn)證的最終責(zé)任。

文章系統(tǒng)性地介紹了“氛圍編程”(Vibe Coding)的核心組成與工作流程,強(qiáng)調(diào)了明確需求與設(shè)計(jì)先行的重要性,并詳細(xì)闡述了如何通過提示詞工程、上下文管理、測(cè)試驗(yàn)證和文檔協(xié)作等方式,最大化 AI 編程助手的效能。同時(shí),作者也指出了當(dāng)前 AI 在單元測(cè)試生成、多工具協(xié)調(diào)和會(huì)話管理等方面的局限性,提醒開發(fā)者保持批判性思維,不可盲目信任 AI 輸出。

作者 | Amazon Web Services - Labs

編譯 | 岳揚(yáng)

01 “氛圍編程”

根據(jù) wikipedia 介紹[1],氛圍編程(vibe coding)是一種現(xiàn)代軟件開發(fā)方式,用戶通過使用自然語言撰寫提示詞來生成代碼。

氛圍編程包含以下幾個(gè)協(xié)同工作的核心組件:

  • Prompt(提示詞):用于指導(dǎo)編碼過程的初始指令與上下文信息
  • Client(客戶端):用戶與編碼系統(tǒng)交互的界面,例如 Amazon Q Developer[2]?或 Cline[3]
  • Additional context(附加上下文):可通過提供額外的上下文(如 AWS MCP 服務(wù)器)增強(qiáng)智能體的能力

需要重點(diǎn)強(qiáng)調(diào)的是:雖然編程 AI 想要提升開發(fā)效率,但其目標(biāo)并非取代開發(fā)者。開發(fā)者始終是產(chǎn)品架構(gòu)與產(chǎn)品愿景的主導(dǎo)者。 作為開發(fā)者,你需要理解、審查并驗(yàn)證每一個(gè)技術(shù)決策 —— AI 只是增強(qiáng)能力的一種工具,不能替代你的批判性思維與專業(yè)判斷。代碼質(zhì)量、架構(gòu)選擇和技術(shù)決策的責(zé)任始終由人類承擔(dān)。請(qǐng)參閱這份指南[4]了解如何負(fù)責(zé)任地使用 AI。

?? 警告:切忌盲目信任 AI 助手生成的代碼。請(qǐng)務(wù)必:

1)全面審查并理解生成的代碼

2)驗(yàn)證所有依賴項(xiàng)

3)執(zhí)行必要的安全檢查

4)在受控環(huán)境中測(cè)試代碼

02 AI 編程客戶端

  • 選擇標(biāo)準(zhǔn):選擇 AI 編程客戶端時(shí),需綜合考慮組織需求(如合規(guī)性、安全策略和供應(yīng)商白名單等),同時(shí)權(quán)衡定價(jià)機(jī)制與 IDE 集成度等技術(shù)因素。
  • 善用客戶端的功能特性:不同客戶端具備的獨(dú)特功能特性都可優(yōu)化工作流程。以 Cline 為例,可先啟用 Plan(規(guī)劃) 模式討論和細(xì)化完善實(shí)施方案,待全面評(píng)審后,再切換至 Act 模式生成符合預(yù)定方案的代碼。建議定期查閱文檔和版本說明,及時(shí)掌握所用客戶端的新功能與更新動(dòng)態(tài)。
  • 功能兼容性:各客戶端支持的 MCP 功能特性存在差異(如 Tools/Resources/Prompts - 詳見 MCP 客戶端說明[5])。例如若計(jì)劃使用 CDK MCP 服務(wù)器,需確認(rèn)所選客戶端同時(shí)支持 Tools 與 Resources 功能。
  • 多客戶端策略:無需局限于單一客戶端。不同客戶端擅長(zhǎng)的任務(wù)領(lǐng)域各異 —— 可搭配使用 Cline 進(jìn)行后端 / CDK 開發(fā),同時(shí)采用 Q CLI 處理 AWS 權(quán)限排查、網(wǎng)絡(luò)連通性檢查及安全組規(guī)則調(diào)試等運(yùn)維場(chǎng)景。
  • MCP 服務(wù)器選擇:面對(duì)日益豐富的 MCP 服務(wù)器生態(tài),只需關(guān)注符合實(shí)際需求的解決方案。建議通過文檔研讀和實(shí)測(cè)驗(yàn)證相結(jié)合的方式完成遴選。

03 項(xiàng)目需求與設(shè)計(jì)指南

在開始任何編碼任務(wù)前,請(qǐng)先遵循以下這些要求:

1)明確界定項(xiàng)目需求與項(xiàng)目范圍

2)建立全面的設(shè)計(jì)指南與編碼規(guī)范

3)記錄所有約束條件與限制因素

4)創(chuàng)建并維護(hù)包含已收集信息的 markdown 文件供客戶端調(diào)用

5)完成上述步驟后方可啟動(dòng)編碼流程

你可通過 AI 助手協(xié)助確定特定功能或特定項(xiàng)目的需求、架構(gòu)、設(shè)計(jì)及任務(wù)劃分。這一環(huán)節(jié)非常重要,在實(shí)施階段能為 AI 助手提供關(guān)鍵信息。但請(qǐng)謹(jǐn)記:AI 是協(xié)作工具而非決策主體。

清晰的需求與明確的任務(wù)定義有助于 AI 助手生成更精準(zhǔn)的代碼,從而減少手動(dòng)干預(yù)需求。但這絕不意味著你可以減少對(duì)生成代碼的審查與驗(yàn)證責(zé)任。

需特別注意:絕不能僅依賴 AI 助手創(chuàng)建這些文檔。作為項(xiàng)目負(fù)責(zé)人,你必須始終保持對(duì)每個(gè)技術(shù)細(xì)節(jié)的掌控與理解。你的領(lǐng)域?qū)I(yè)知識(shí)、實(shí)踐經(jīng)驗(yàn)與判斷力才是決策的核心依據(jù)。由于 AI 助手可能存在迎合用戶而非提出批判性反饋的傾向,建議以提問形式而非斷言的方式與 AI 交互。這種方式能引發(fā)更有價(jià)值的對(duì)話,并有助于發(fā)現(xiàn)潛在問題或替代方案。

04 提示詞工程

有效的提示詞設(shè)計(jì)對(duì) AI 輔助開發(fā)(AI-assisted development)非常重要:

  • 提供待完成工作的詳細(xì)規(guī)范
  • 必要時(shí)附上相關(guān)上下文和文件資料
  • 針對(duì)特定任務(wù)策略性地運(yùn)用提示詞,便于后續(xù)審查和測(cè)試
  • 將大型任務(wù)拆分為更為聚焦的子任務(wù),以便獲得更佳的輸出結(jié)果

你可通過以下方式構(gòu)建提示詞:

  • 使用 Amazon Bedrock Prompt Optimization[6]?等工具重寫提示詞,使其產(chǎn)生更符合應(yīng)用場(chǎng)景的推理結(jié)果
  • 采用元提示詞策略(metaprompting)(譯者注:可以把它理解為 “讓 AI 生成提示詞的提示詞” 或 “提示詞的生成框架”。),先與 AI 助手討論功能特性,再將討論內(nèi)容總結(jié)為供智能體開發(fā)該功能的提示詞

05 測(cè)試與驗(yàn)證

通過以下方式確保代碼的質(zhì)量與可靠性:

  • 對(duì)每項(xiàng)代碼變更進(jìn)行增量測(cè)試
  • 盡可能實(shí)現(xiàn)自動(dòng)化測(cè)試
  • 依據(jù)原始需求進(jìn)行驗(yàn)證
  • 維護(hù)完整的測(cè)試套件(CI/CD)
  • 定期執(zhí)行自動(dòng)化的安全掃描與質(zhì)量檢測(cè)

實(shí)踐中我們發(fā)現(xiàn),完全依賴 AI?代碼助手生成單元測(cè)試效果不佳。AI 助手只能創(chuàng)建淺層測(cè)試或無關(guān)斷言,這些測(cè)試僅能驗(yàn)證現(xiàn)有代碼,無法確保足夠的測(cè)試覆蓋率或有效的驗(yàn)證。

強(qiáng)烈建議自主創(chuàng)建測(cè)試用例并采用測(cè)試驅(qū)動(dòng)開發(fā)(TDD)方法。雖然可以借助 AI 助手基于你提供的測(cè)試用例來實(shí)現(xiàn)測(cè)試,但測(cè)試用例的定義必須由你親自完成。作為項(xiàng)目的負(fù)責(zé)人或監(jiān)督者,你最了解業(yè)務(wù)邏輯、邊界場(chǎng)景以及軟件的預(yù)期行為。你的領(lǐng)域知識(shí)和對(duì)需求的理解對(duì)于設(shè)計(jì)能真正驗(yàn)證應(yīng)用行為的測(cè)試場(chǎng)景至關(guān)重要。

開發(fā)人員必須親自審查并確認(rèn)每個(gè)測(cè)試用例能否:有效檢驗(yàn)?zāi)繕?biāo)功能、妥善處理邊界情況、保持測(cè)試套件的整體質(zhì)量。請(qǐng)謹(jǐn)記,有效的測(cè)試需要同時(shí)對(duì)業(yè)務(wù)需求和技術(shù)實(shí)現(xiàn)具有深度理解——這是當(dāng)前 AI 助手無法完全復(fù)制的能力。

06 文檔管理

可通過以下方式維護(hù)高質(zhì)量文檔:

  • 記錄所有變更內(nèi)容
  • 確??蛻舳松梢?guī)范的代碼文檔(如 Python 代碼中的 docstrings 和 README 中的書面文檔)
  • 保持文檔與代碼變更同步

6.1 使用 AI 輔助進(jìn)行文檔編寫

可與 AI 共同創(chuàng)建多種文檔,并在協(xié)同修改時(shí)實(shí)時(shí)更新。例如:規(guī)劃階段定義數(shù)據(jù)庫架構(gòu)后,可讓 AI 生成 ER 圖。審查時(shí)若需調(diào)整,同步更新文檔與代碼。這種協(xié)作模式可應(yīng)用于 API 設(shè)計(jì)、網(wǎng)絡(luò)架構(gòu)等多方面。關(guān)鍵在于采用有邏輯的文檔拆分方式,保持文檔的實(shí)時(shí)性與簡(jiǎn)潔度,幫助您和 AI 共同維持對(duì)上下文的清晰認(rèn)知(對(duì)項(xiàng)目背景、進(jìn)展和細(xì)節(jié)的掌握)和控制(對(duì)項(xiàng)目方向和內(nèi)容的管理能力)。

小提示:結(jié)構(gòu)良好的文檔有助于開發(fā)者和 AI 助手在整個(gè)項(xiàng)目周期中保持上下文連貫性。

07 局限與注意事項(xiàng)

7.1 MCP 服務(wù)器與工具數(shù)量

  • 過多的 MCP 服務(wù)器/工具可能對(duì)客戶端性能產(chǎn)生負(fù)面影響
  • 請(qǐng)閱讀客戶端文檔了解最佳實(shí)踐與限制規(guī)范

7.2 會(huì)話管理

  • 過長(zhǎng)的對(duì)話會(huì)因上下文容量持續(xù)增長(zhǎng)而降低客戶端性能
  • 建議為不同功能模塊維護(hù)獨(dú)立的對(duì)話線程
  • 定期審查并清理對(duì)話歷史記錄

08 上下文管理

8.1 規(guī)則規(guī)范(Rules)與工具設(shè)置(Configuration)

為實(shí)現(xiàn)最佳效果:

  • 明確定義代碼生成與修改的規(guī)則
  • 保持跨環(huán)境配置的一致性
  • 記錄特殊規(guī)則與例外情況
  • 定期審查并更新配置設(shè)置
  • 采用模塊化的設(shè)計(jì)原則

規(guī)則規(guī)范示例:

- 若文件超過 300 行代碼,應(yīng)拆分為多個(gè)文件
- 為每個(gè)新增代碼段添加文檔說明

09 工具鏈

為充分發(fā)揮 AI 編程智能體的效能,請(qǐng)遵循軟件開發(fā)最佳實(shí)踐(需求明確、將代碼模塊化、文檔完善等)并善用工具(靜態(tài)代碼分析工具、代碼覆蓋率計(jì)算工具、CI/CD 流水線、測(cè)試套件、格式化工具等)。

當(dāng)我們向編碼智能體分配任務(wù)時(shí),它可通過運(yùn)行測(cè)試用例和靜態(tài)分析工具進(jìn)行自主迭代,必要時(shí)進(jìn)行自我修正。這種方式能最大限度減少人工干預(yù),優(yōu)化開發(fā)流程。

10 版本控制

請(qǐng)遵循以下版本控制最佳實(shí)踐:

  • 規(guī)范化的 Commits:高頻率提交代碼變更并提供清晰的描述性信息??煽紤]使用 AI 輔助起草 Commit 說明,但務(wù)必人工審核確保其準(zhǔn)確反映代碼變更內(nèi)容,并為潛在的回滾提供有效參考點(diǎn)。
  • 分支策略:新功能開發(fā)使用?feature?分支(feature branches)。重大變更應(yīng)創(chuàng)建獨(dú)立分支以保持開發(fā)流程的靈活性。
  • 倉庫結(jié)構(gòu):維護(hù)清晰有序的代碼倉庫結(jié)構(gòu)。提前明確結(jié)構(gòu)規(guī)范要求(例如文件大小限制、單體倉庫設(shè)置、前端框架選型),并將這些要求納入給 AI 的提示詞中,以確保代碼組織方式的一致性。

END

本期互動(dòng)內(nèi)容 ??

?如果 AI 能完成 80% 的代碼,你認(rèn)為開發(fā)者最重要的核心能力是什么?是架構(gòu)設(shè)計(jì)、提示詞工程、測(cè)試驗(yàn)證,還是別的?

文中鏈接

[1]https://en.wikipedia.org/wiki/Vibe_coding

[2]https://aws.amazon.com/q/developer/

[3]https://cline.bot/

[4]https://d1.awsstatic.com/products/generative-ai/responsbile-ai/AWS-Responsible-Use-of-AI-Guide-Final.pdf

[5]https://modelcontextprotocol.io/clients

[6]https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-optimize.html

原文鏈接:

https://github.com/awslabs/mcp/blob/main/VIBE_CODING_TIPS_TRICKS.md

?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦