首頁 > 後端開發 > Python教學 > 每個開發人員都應該了解的程式碼產生提示技術

每個開發人員都應該了解的程式碼產生提示技術

Patricia Arquette
發布: 2025-01-20 14:13:10
原創
1024 人瀏覽過

Prompting Techniques Every Developer Should Know for Code Generation

簡介

有效的程式碼產生取決於掌握提示工程。 精心設計的提示指導大型語言模型 (LLM) 產生、改進和最佳化應用程式程式碼。本指南探討了 15 種經過驗證的提示技術,分為根源技術、基於細化的技術、基於分解的技術、基於推理的技術和啟動技術。 我們將使用一個簡單的 Flask Web 應用程式來說明每個應用程序,從基本的“Hello World”應用程式開始,並逐步增強它。

研究筆記:我們諮詢了 aixrv.org 以了解新興的提示技術。 在撰寫本文時,除了此處介紹的方法之外,尚未發現任何新方法。 然而,即時工程是一個快速發展的領域,因此建議持續監控。

1。根源技術

這些基本的提示方法為簡單的程式碼輸出提供了直接的路徑。

1.1。直接指令提示

  • 概述:簡潔的命令,沒有額外的細節。

  • 提示範例:「建立一個最小的 Python Flask 應用程序,顯示「Hello World! 」在根 URL 處。」

  • 產生的程式碼(概念):(與原始範例類似的程式碼片段將出現在此)

  • 為什麼有效:足以完成較小的任務。 為後續增強提供基礎。

1.2。基於查詢的提示

  • 概述:提出問題以引發解釋性回應和/或程式碼。

  • 提示範例:「如何建立一個返回「Hello World!」的基本 Flask 應用程式在主頁上?」

  • 產生的回應(概念):模型可能會提供程式碼每個步驟的解釋。

  • 為什麼有效:鼓勵法學碩士提供更多資訊。

1.3。基於範例的提示

  • 概述:提供所需樣式或格式的範例。

  • 提示範例:「這是一個簡單的 Node.js Express 'Hello World' 伺服器:[Node.js 程式碼]。建立一個類似的 Flask 'Hello World' 伺服器。」

  • 為什麼有效:模型反映了結構和風格,確保了一致性。 比直接指導更精確。

2。基於細化的技術

這些技術專注於迭代改進現有程式碼。

2.1。迭代細化提示

  • 概述:逐步改進初始解決方案。

  • 提示順序:

    1. 「產生一個最小的 Flask 應用程序,返回『Hello World!』」
    2. 「修改此應用程式以包含一個透過名稱向使用者致意的 /hello/<name> 端點。」
  • 精煉程式碼片段(概念):(顯示新增端點的程式碼片段將出現在此)

  • 為什麼有效:基於現有程式碼構建,允許漸進式改進。

2.2。擴充提示

  • 概述:為現有程式碼新增功能。

  • 提示範例:「將端點新增至 Flask 應用程序,該應用程式會傳回帶有範例使用者清單的 JSON 回應。」

  • 精煉的程式碼片段(概念):(新端點的程式碼片段將出現在此)

  • 為什麼有效: 針對特定功能,允許集中模型注意力。

2.3。樣式/格式轉換

  • 概述:修改程式碼樣式(例如,PEP 8 合規性)。

  • 提示範例:「重構 Flask 應用程式以遵守 PEP 8 命名約定並將行長度限制為 79 個字元。」

  • 為什麼有效:有系統地套用樣式偏好。

3。基於分解的技術

這些技術將大任務分解為更小、更易於管理的步驟。

3.1。逐函數分解

  • 概述:將任務分成子功能或模組。

  • 提示範例:

    1. 「建立一個函數 init_db() 來初始化 SQLite 資料庫。」
    2. 「建立 insert_user(name) 以將使用者新增至資料庫。」
    3. 「建立 get_all_users() 以檢索所有使用者。」
  • 結果(概念):(三個函數的程式碼片段會出現在此)

  • 它的工作原理:將大型任務組織成模組化、可維護的元件。

3.2。基於區塊的提示

  • 概述:提供部分程式碼並要求模型完成缺少的部分。

  • 提示範例:「透過新增新增和擷取使用者的路由來完成下面的 Flask 應用:[部分程式碼片段]」

  • 為什麼有效:將模型集中在特定的差距上,確保程式碼內聚性。

3.3。分步說明

  • 概述:枚舉子任務或邏輯步驟。

  • 提示範例:

    1. 「導入必要的庫。」
    2. 「設定資料庫初始化。」
    3. 「使用 insert_user() 建立一條新增使用者的路由。」
    4. 「使用 get_all_users() 建立一條列出使用者的路由。」
  • 為什麼有效:使程式碼產生過程透明並確保正確的操作順序。

4。基於推理的技術

這些提示鼓勵模型在提供程式碼之前闡明其推理過程。

4.1。思維鏈提示

  • 概述:請求推理過程的逐步解釋。

  • 提示範例:「解釋如何逐步在 Flask 套用新增驗證,然後提供程式碼。」

  • 為什麼有效:鼓勵提供清晰的解決方案,從而產生更連貫的程式碼。

4.2。零射擊思想鏈

  • 概述:要求模型在沒有範例的情況下推理問題。

  • 提示範例:「解釋您為 Flask 選擇的密碼雜湊庫,並顯示整合它以供使用者註冊的程式碼。」

  • 為什麼有效:促進徹底的函式庫選擇和使用方法。

4.3。少鏡頭思維鏈

  • 概述:在提出新問題之前提供推理範例。

  • 提示範例:「[登入系統的逐步推理範例]。使用此方法,新增安全儲存新使用者憑證的 /register 路由。」

  • 為什麼有效:為新問題提供一致的邏輯應用框架。

5。啟動技巧

這些技術使用添加的上下文來影響程式碼風格和領域知識。

5.1。基於角色的提示

  • 概述:指示模型採用特定角色(例如安全專家)。

  • 提示範例:「您是專注於安全的進階 Python 後端開發人員。產生安全的 Flask 使用者註冊路徑。」

  • 為什麼有效:根據角色的專業知識自訂解決方案,通常包括安全最佳實踐。

5.2。骨架(模板)底漆

  • 概述: 提供帶有佔位符的模板以供模型填充。

  • 提示範例:「完成此 Flask 應用程式範本以實作使用者登入表單:[帶有佔位符的 Flask 範本]」

  • 它的工作原理:將模型約束到特定框架。

5.3。參考-重啟動

  • 概述:提供模型使用的文件或資料模式。

  • 提示範例:「使用此 SQLAlchemy 文件 [連結],更新 Flask 應用程式路由以使用 SQLAlchemy 模型而不是原始 SQL。」

  • 為什麼有效:允許專業知識集成,確保準確和最新的程式碼。

結論

這 15 種技術系統地指導使用 LLM 進行程式碼開發和最佳化。 根源技術建立基礎,細化技術增強基礎,分解技術管理複雜性,推理技術提高清晰度,啟動技術添加上下文。 嘗試組合以獲得最佳結果。 請記住,即時工程是一個不斷發展的領域,因此持續學習和適應是關鍵。

以上是每個開發人員都應該了解的程式碼產生提示技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板