AI 寫 Code 寫出一座垃圾山?2026 意圖驅動開發 (IBD) 實戰:拒絕技術債的 Prompt 工程學
☰ 目錄 table-of-contents.md
Prompt 的本質不是聊天,而是規格。AI 寫 Code 會堆出一座垃圾山,多半不是模型不夠聰明,而是我們把模糊的念頭丟過去,卻期待換回乾淨的架構。意圖驅動開發(IBD)要做的,就是把「我想要什麼」寫成可驗證的意圖——這篇用實戰範例示範拒絕技術債的 Prompt 工程學。
在 2026 年的今天,生成式 AI 已經強大到可以秒產整個 WordPress 外掛或 Laravel 模組。但是,我們發現了一個恐怖的現象:軟體開發的速度變快了,但「技術債」累積的速度卻是指數級暴增。
很多開發者(甚至是資深工程師)陷入了「Vibe Coding」的陷阱——感覺對了就 Commit,反正 Code 能跑。結果三個月後,當你要維護時,才發現那是一坨邏輯不通、變數命名混亂、甚至充滿資安漏洞的義大利麵程式碼。今天要聊的,就是如何用「意圖驅動開發」(Intent-Based Development, IBD) 來拯救你的專案,讓 AI 成為你的頂級架構師,而不是製造垃圾的實習生。
什麼是意圖驅動開發 (Intent-Based Development)?
在 2024 年以前,我們習慣叫它 Prompt Engineering,但在 2026 年,這個詞已經不夠精確了。IBD 的核心哲學是:不要告訴 AI 「寫這段程式碼」,而是告訴它「為什麼要寫」、「在什麼情境下寫」以及「有哪些不可跨越的邊界」。
AI 模型(無論是 GPT-6 還是 Claude 4.5)本質上是機率模型,它們傾向於給出「最常見」的答案,而不是「最適合你專案架構」的答案。如果你只給指令 (Command),AI 就只會吐出程式碼片段;如果你給的是意圖 (Intent),AI 才能生成符合系統思維的解決方案。
IBD 的黃金三角架構
要在 2026 年寫出高品質、無技術債的 AI 指令,你必須遵循這個架構:
- Context (脈絡):這段程式碼住在原本系統的哪裡?現有的架構模式是什麼?(例如:我們使用 Repository Pattern,不要把邏輯寫在 Controller 裡)。
- Intent (意圖):業務邏輯的目標是什麼?(例如:我要做一個防止超賣的機制,而不是單純的庫存扣除)。
- Constraints (邊界/約束):什麼是絕對不能做的?(例如:必須使用 WordPress 的
$wpdb->prepare防止注入,禁止使用原生 PHP$_POST)。
實戰演練:從「垃圾 Prompt」到「IBD Prompt」
讓我們直接看一個 WordPress 開發的例子。假設我們要寫一個「取得最新文章並顯示」的短代碼。
❌ 導致技術債的 Prompt (The Lazy Prompt)
幫我寫一個 WordPress Shortcode,顯示最近 5 篇文章的標題和連結。
AI 可能產出的結果 (災難現場):
// 這段程式碼在 2026 年簡直是犯罪
function recent_posts_shortcode() {
$posts = get_posts('numberposts=5');
$output = '';
foreach ($posts as $post) {
// 直接輸出,沒有 escape,沒有快取,沒有樣式類別
$output .= '- ID) . '">' . $post->post_title . '
';
}
$output .= '
';
return $output;
}
add_shortcode('recent_posts', 'recent_posts_shortcode');
這段程式碼有什麼問題?沒有快取 (效能殺手)、沒有 HTML 跳脫 (XSS 風險)、直接在函式內組字串 (難以維護)。這就是技術債的源頭。
✅ 意圖驅動開發 (IBD) 的 Prompt
身為資深工程師,你的 Prompt 應該長這樣:
Context: 我們正在開發一個高流量的企業級 WordPress 網站,嚴格遵守 WordPress Coding Standards (WPCS)。
Intent: 我需要一個 Shortcode `[roamer_latest_news]`,用於在首頁顯示最新消息。這是一個高頻讀取的區塊。
Constraints:
1. 必須使用 WordPress Transients API 進行快取 (快取時間 1 小時),避免每次都查詢資料庫。
2. HTML 輸出必須嚴格使用 `esc_html()` 和 `esc_url()` 進行跳脫。
3. 使用 `WP_Query` 而不是 `get_posts`,以便未來擴充。
4. 請將 HTML 結構與 PHP 邏輯盡量分離,或者使用 output buffer。
5. 如果沒有文章,不回傳任何 HTML。
AI 在 IBD 引導下產出的結果:
function roamer_latest_news_shortcode( $atts ) {
// 1. 設定預設屬性 (防呆)
$atts = shortcode_atts( array(
'limit' => 5,
), $atts, 'roamer_latest_news' );
// 2. 處理快取 Key,確保不同參數有不同快取
$cache_key = 'roamer_latest_news_' . intval( $atts['limit'] );
$query = get_transient( $cache_key );
if ( false === $query ) {
$args = array(
'post_type' => 'post',
'posts_per_page' => intval( $atts['limit'] ),
'post_status' => 'publish',
// 優化效能:只查詢需要的欄位
'no_found_rows' => true,
);
$query = new WP_Query( $args );
// 設定快取 1 小時
set_transient( $cache_key, $query, HOUR_IN_SECONDS );
}
// 3. Output Buffer 與安全處理
if ( $query->have_posts() ) {
ob_start();
?>
have_posts() ) : $query->the_post(); ?>
-
<a href="">
<?php
wp_reset_postdata();
return ob_get_clean();
}
return '';
}
add_shortcode( 'roamer_latest_news', 'roamer_latest_news_shortcode' );
看到了嗎?這兩段程式碼的差距,就是「業餘」與「專業」的距離。第二段程式碼考慮了效能、安全性和可維護性,這才是不會產生技術債的程式碼。
2026 年避免 AI 技術債的 3 個關鍵心法
在浪花科技,我們強制要求工程師在使用 Antigravity 或 Copilot 時遵守以下原則:
1. 不要讓 AI 決定架構 (Architecture First)
AI 擅長填空,但不擅長畫設計圖。在開始 Prompt 之前,你必須先決定好資料夾結構、命名規則和設計模式(Design Pattern)。如果你讓 AI 決定要把函式寫在 functions.php 還是獨立的 Class 檔案,它通常會選擇最簡單(也最髒)的方式。
2. 建立專案級的「系統提示詞」(System Instructions)
在 Cursor 或 Antigravity 中,你可以設定專案層級的 Rules。把你的 Coding Style、資安規範(例如:所有 API 都要有 Nonce 驗證)寫進去。這就像是給 AI 戴上緊箍咒,讓它產出的每一行代碼都符合你的團隊規範。
3. Code Review 的對象是「意圖」而非「語法」
以前我們 Review 是看有沒有分號漏掉,現在 AI 不會犯這種錯。2026 年的 Code Review 重點在於:「這段 AI 生成的代碼,是否真正理解了我的業務邏輯?」 檢查它是否處理了邊緣情況 (Edge Cases),是否在錯誤發生時有適當的 Log 機制。
結論:你是駕駛員,AI 只是引擎
意圖驅動開發 (IBD) 的本質,其實是回歸到工程師的價值核心——思考與設計。AI 可以幫我們省下打字的時間,但它不能幫我們省下思考架構的時間。如果你懶得思考,AI 就會用最懶的方式幫你寫 Code,最後留下一堆 2026 年也難以修復的 Bug。
別讓你的專案變成 AI 的實驗場。掌握 Prompt 的主導權,用精準的意圖去驅動開發,這才是資深工程師在 AI 時代的生存之道。
延伸閱讀
想更深入了解如何駕馭 2026 年的 AI 開發工具與架構嗎?推薦你閱讀以下幾篇深度文章:
- AI 寫 Code 只是基本功?資深工程師揭秘:AI Coding Agent 的真正價值是當你的『技術決策軍師』
- 拒絕義大利麵程式碼!Laravel 10 專案架構最佳實務:資深工程師的重構與設計心法
- Google Antigravity 賦予 AI 「上帝視角」?資深工程師教你配置 3 道防線,杜絕 Agent 誤刪專案的慘劇
你的專案也被 AI 生成的劣質程式碼塞滿了嗎?
浪花科技擁有最前沿的 AI 協作開發經驗,我們懂得如何利用工具加速,同時堅守企業級的程式碼品質。別讓技術債拖垮你的業務,現在就聯繫我們,進行一場深度的技術健檢。
立即聯繫浪花科技,拯救你的程式碼常見問題
什麼是意圖驅動開發(Intent-Based Development, IBD)?
撰寫高品質 AI 開發 Prompt 的黃金三角是什麼?
為什麼 AI 生成的程式碼容易累積技術債?
在 Cursor 這類 AI IDE 中,如何讓 AI 持續遵守團隊的編碼與資安規範?
在 AI 時代,Code Review 的重點應該放在哪裡?
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。