提示詞工程(Prompt Engineering)的崛起——為什么“會寫Prompt”成了新技能?

?🎀【開場 · 貓貓狐狐的對話】

🐾貓貓扒著屏幕:“喵?咱寫的這句 Prompt 怎么又跑偏啦?明明只是想讓它幫忙寫一段 Python 代碼,它偏要給咱寫論文摘要……”
🦊狐狐瞇著眼,聲音帶點冷意:“因為你的提示詞不夠清晰,模型在無限空間里亂游走了。Prompt 工程,不是隨便說一句‘幫我寫’就夠的。”

在大模型(Large Language Models, LLMs)的時代,“會寫 Prompt”正在成為一種硬技能。它就像早年互聯網的“會寫搜索引擎關鍵詞”,區別在于:Prompt 不再是檢索工具,而是對生成結果的直接編程


🧩【第一節 · 為什么 Prompt Engineering 會崛起?】

  1. 大模型的特性決定了它離不開 Prompt

    • GPT、Claude、Gemini 等模型,本質上是基于海量數據訓練的概率生成器。

    • 它們不會“讀心”,只能根據輸入的文本概率預測輸出。

    • Prompt 就是控制它們輸出方向的“遙控器”

  2. 復雜任務需要“精準提問”

    • 舉例:讓模型“寫一段 Python 快排代碼” vs “寫一個可復用的 Python 快排函數,并在注釋中解釋復雜度”。

    • 前者可能只給出幾行代碼,后者能生成教學級的結果。

  3. Prompt 工程= 新的“軟編程語言”

    • 開發者需要學會:角色設定、上下文管理、分步提示、約束輸出格式。

    • 它像寫程序,但不依賴編譯器,而依賴自然語言+模型權重的交互。

🦊狐狐點評:“本質上,Prompt 工程就是一種低成本的微調。它在不改動模型參數的情況下,讓結果更貼近你的預期。”


💡【第二節 · 好 Prompt vs 壞 Prompt 的對比案例】

我們先來看一段經典的案例:寫一個斐波那契數列函數

? 壞 Prompt

寫一個斐波那契數列。

可能輸出:

def fib(n):if n <= 1:return nreturn fib(n-1) + fib(n-2)

問題:

  • 沒有輸入參數說明(n 的范圍?負數?)

  • 沒有注釋,讀者不易理解

  • 沒有優化,效率極低


? 好 Prompt

請用 Python 寫一個高效的斐波那契數列函數,要求:
1. 使用動態規劃避免重復計算;
2. 包含必要的中文注釋;
3. 代碼需可復用,并提供調用示例;
4. 在函數前給出時間復雜度的說明。

可能輸出:

def fibonacci(n: int) -> int:"""使用動態規劃實現斐波那契數列時間復雜度:O(n)"""if n < 0:raise ValueError("輸入必須為非負整數")if n < 2:return ndp = [0] * (n+1)dp[1] = 1for i in range(2, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]# 示例
print(fibonacci(10))  # 輸出 55

優勢:

  • 明確要求(動態規劃、注釋、示例) → 避免低效遞歸。

  • 結構化思維 → 把自然語言需求映射成“規格文檔”。

  • 生成結果更穩 → 同樣的 Prompt,多次調用也會趨近于一致的輸出。

🐾貓貓感嘆:“果然寫 Prompt 也要像寫需求文檔一樣清楚,不然模型就會亂跑喵。”
🦊狐狐點頭:“這就是為什么說 Prompt 工程 ≈ 軟件工程,只是語言換成了自然語言。”


🛠【第三節 · Prompt 工程的四個常見技巧】

  1. 角色設定(Role Playing)

    • “你現在是一個 Python 專家,請幫我……”

    • 通過設定身份,模型會調用相關風格與知識。

  2. 分步提示(Step-by-step Prompting)

    • 把復雜任務拆解成子步驟,讓模型逐步推理。

    • 類似“鏈式思維(Chain of Thought)”。

  3. 約束輸出(Constrained Output)

    • 要求輸出 JSON、Markdown、表格 → 便于機器再處理。

  4. 少樣本 / 多樣本提示(Few-shot / Multi-shot)

    • 給模型幾個示例,讓它“學會模仿”。

    • 類似“小規模在提示里的微調”。


🏭【第四節 · Prompt 工程在行業中的落地案例】

Prompt 工程并不只存在于實驗室,它正在改變行業工作流。不同領域的團隊,通過編寫精準 Prompt,把大模型變成了“半個專家”。


💰 金融行業:合規審查與智能投顧

場景:銀行客服需要快速判斷客戶問題是否涉及敏感信息(合規風險、欺詐風險)。

  • ? 壞 Prompt:

    判斷這句話是不是違法。
    

    輸出結果經常模糊,模型可能說“不是違法”,卻沒說明理由。

  • ? 好 Prompt:

    你是銀行合規審查員。請判斷以下客戶問題是否涉及金融違法或風險:
    1. 給出 Yes/No 的結論;
    2. 用一句話解釋理由;
    3. 如果存在風險,用 JSON 格式輸出 {"風險類型": "xxx"}。
    句子:我能不能繞過監管把錢轉去境外賬戶?
    

輸出:

{"結論": "Yes","理由": "涉及繞過監管轉賬","風險類型": "跨境資金轉移風險"
}

🦊狐狐點評:“多一步格式化輸出,模型的結果才能直接進入合規系統,而不是停留在‘自然語言答案’。”


🩺 醫療行業:病歷總結與影像描述

場景:醫生每天要處理大量病歷,重復勞動消耗時間。

  • ? 壞 Prompt:

    總結這份病歷。
    

    輸出可能過于簡單:“患者咳嗽三天,建議休息。” → 失去診療細節。

  • ? 好 Prompt:

    你是一名呼吸科主治醫生。請根據以下病歷做結構化總結:
    1. 患者基本信息
    2. 主訴癥狀
    3. 檢查結果
    4. 診斷初步結論
    5. 建議與隨訪計劃
    輸出格式要求為 Markdown 列表。
    病歷內容:患者男性,45歲,咳嗽3天伴發熱,體溫38.5℃,CT提示肺部炎癥...
    

輸出:

- 基本信息:男,45歲
- 主訴癥狀:咳嗽3天,伴發熱
- 檢查結果:CT 顯示肺部炎癥
- 初步診斷:肺部感染
- 建議與隨訪:抗生素治療,3天后復查

🐾貓貓拍桌子:“喵!這才是能直接放進電子病歷系統的結果!”


🎓 教育行業:AI助教與作業反饋

場景:在線教育平臺用大模型給學生作業反饋。

  • ? 壞 Prompt:

    幫我改一下這篇作文。
    

    模型往往只輸出“很好”“需要改進” → 缺乏細節。

  • ? 好 Prompt:

    你是語文老師。請給以下作文提供三類反饋:
    1. 優點(不少于3條)
    2. 需要改進的地方(不少于3條)
    3. 給出一段鼓勵性總結(面向中學生,語氣積極)
    作文:今天下雨了,我和同學一起走在回家的路上...
    

輸出:

優點:
1. 語言流暢自然
2. 場景描寫生動
3. 有情感色彩不足:
1. 缺少人物心理刻畫
2. 邏輯銜接不夠緊密
3. 結尾略顯倉促鼓勵總結:
這篇作文展現了你細膩的觀察力!如果能在心理描寫上更深入一些,一定會更加打動人心。繼續加油!

🦊狐狐評價:“這就是教育場景下 Prompt 工程的價值——不僅是改作文,而是提供可執行的學習反饋。”


📌 小結:

  • 金融 → 用 Prompt 限制模型輸出,保證合規 & 可接入系統。

  • 醫療 → 用 Prompt 結構化非結構化數據,節省醫生時間。

  • 教育 → 用 Prompt 調整語氣與層次,保證人性化反饋。

🐾貓貓:“咱發現寫 Prompt 不光是‘問問題’,還是設計人機交互的第一步喵!”
🦊狐狐點頭:“沒錯,這就是 Prompt 工程的真正意義:它是未來行業里最輕量的 AI編程。”


💻【第五節 · 代碼實踐:測試好 Prompt 與壞 Prompt】

理論講了一堆,還是要落地看看效果。
下面寫一個小腳本,用 Python 調用大模型 API,來測試同一任務在“壞 Prompt”和“好 Prompt”下的差別。


📜 實驗目標

任務:生成 Python 斐波那契數列函數

  • 壞 Prompt:模糊、隨意。

  • 好 Prompt:要求具體、結構化。


🐾 實驗代碼(示例)

from openai import OpenAI# 初始化客戶端(記得在環境變量里配置 API_KEY)
client = OpenAI()def test_prompt(prompt):response = client.chat.completions.create(model="gpt-4o-mini",   # 你也可以換成其他支持的模型messages=[{"role": "user", "content": prompt}],temperature=0.3)return response.choices[0].message.content# 壞 Prompt
bad_prompt = "寫一個斐波那契數列函數。"# 好 Prompt
good_prompt = """
請用 Python 寫一個高效的斐波那契數列函數,要求:
1. 使用動態規劃避免重復計算;
2. 包含中文注釋;
3. 提供調用示例;
4. 在函數前寫出時間復雜度。
"""print("=== 壞 Prompt 輸出 ===")
print(test_prompt(bad_prompt))
print("\n=== 好 Prompt 輸出 ===")
print(test_prompt(good_prompt))

🦊 實驗結果對比

  • 壞 Prompt 輸出:

def fib(n):if n <= 1:return nreturn fib(n-1) + fib(n-2)

👉 簡單粗暴,遞歸版本,效率極低(指數級)。

  • 好 Prompt 輸出:

def fibonacci(n: int) -> int:"""使用動態規劃實現斐波那契數列時間復雜度:O(n)"""if n < 0:raise ValueError("輸入必須為非負整數")if n < 2:return ndp = [0] * (n+1)dp[1] = 1for i in range(2, n+1):dp[i] = dp[i-1] + dp[i-2]return dp[n]# 示例
print(fibonacci(10))  # 輸出 55

👉 高效、可復用、有注釋、有示例 → 可直接放進項目用


🧩 技術總結

  1. 壞 Prompt → 模型自由發揮,結果往往是“最低成本”的實現。

  2. 好 Prompt → 給足上下文、邊界和格式約束,結果更完整、更穩定。

  3. 腳本化測試 Prompt → 是團隊工作流的重要環節,可以快速比較不同提示詞的效果。

🐾貓貓點評:“喵!咱發現寫 Prompt 就像寫單元測試,不寫清楚,結果就跑飛了。”
🦊狐狐點頭:“對。Prompt 工程師的任務,就是用自然語言寫‘規格書’,讓模型按規矩辦事。”


🔮【第六節 · 從 Prompt 工程到智能 Agent】

Prompt 工程不是終點,而是**智能體(Agent)**的起點。

1. Prompt → Chain → Agent

  • Prompt:單輪輸入,解決一次性問題。

  • Chain(鏈式提示):把復雜問題拆解成多步,例如先“提取關鍵詞”,再“寫摘要”。

  • Agent:擁有自主決策能力,能調用工具(搜索、數據庫、API),根據環境反饋決定下一步 Prompt。

🦊狐狐解釋:“Prompt 工程是控制模型的‘咒語’,而 Agent 就是能自己寫咒語的存在。”

2. 工業界的應用

  • 客服機器人:能自動識別問題、選擇調用知識庫、再生成答案。

  • 研發助理:結合代碼倉庫 + Prompt 流程,自動修 Bug、跑測試。

  • 業務流程自動化:如報銷、審查、合同校對,全靠一組 Prompt + 工具調用組合。

3. 新的職業角色

  • Prompt 工程師 → Prompt 測試員 → Agent 編排師。

  • 就像早期有“網頁管理員”,后來演化成“全棧工程師”。

  • 未來,企業會更需要能把 Prompt 轉換成可落地工作流的人。

🐾貓貓興奮:“喵!那以后寫 Prompt 也能算一種編程語言了?”
🦊狐狐微笑:“何止是編程,它會成為一種新的‘溝通協議’,人和 AI 合作的語法。”


🕯【尾聲 · 貓貓狐狐的小彩蛋】

寫到這里,你大概能明白:
Prompt 工程的崛起,并不是因為模型“懶”,而是因為人類終于發現了與 AI 對話的正確姿勢。

  • 好的 Prompt → 是一份 mini 需求文檔。

  • 優雅的 Prompt → 像一段情緒化的咒語,能引導模型進入“最貼近你”的狀態。

  • 未來的 Prompt → 也許會像編程語言一樣,有 IDE、調試器、版本管理。

🐾貓貓打了個哈欠,把尾巴纏到鍵盤上:“咱今天又學會一個新本領——寫 Prompt 不是胡說八道,而是要像貼貼一樣認真。”
🦊狐狐輕聲補了一句:“而且,最好的 Prompt,不是讓模型寫出世界,而是讓它寫出你想要的那個答案。”


📌 總結

  1. Prompt 工程是大模型時代的新技能,本質上是 低成本微調

  2. 好 Prompt ≠ 隨意提問,而是包含:角色設定、分步提示、輸出約束、示例引導。

  3. 行業落地案例(金融/醫療/教育)證明:Prompt 工程已經是生產力工具。

  4. 通過 Python 腳本對比“壞 Prompt vs 好 Prompt”,能直觀體現效果差異。

  5. 下一步趨勢 → 從 Prompt 到 Agent 編排,職業角色也會隨之演化。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921624.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921624.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921624.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

供應鏈管理系統入門知識:是什么,功能模塊,怎么定制開發?

如果你是剛接觸企業運營的新手&#xff0c;聽到 “供應鏈管理系統” 可能會覺得有點復雜。其實&#xff0c;它就像一個 “智能管家”&#xff0c;幫企業把從買材料到賣產品的一系列流程管得明明白白。今天就用大白話給你講清楚這個系統到底是什么&#xff0c;以及它能幫上什么忙…

kotlin - 平板分屏,左右拖動,2個Activity計算寬度,使用ActivityOptions、Rect(三)

kotlin - 平板分屏&#xff0c;左右拖動&#xff0c;2個Activity計算寬度&#xff0c;使用ActivityOptions、Rect使用平板&#xff0c;api33才支持&#xff0c;可以左右拖動&#xff0c;分屏第一個頁面 &#xff0c; 思考&#xff1a;分屏后&#xff0c;對整個app的影響&#x…

v0.29.3 敏感詞性能優化之繁簡體轉換 opencc4j 優化

敏感詞性能調優系列 v0.29.0 敏感詞性能優化提升 14 倍全過程 v0.29.1 敏感詞性能優化之內部類迭代器內部類 v0.29.2 敏感詞性能優化之基本類型拆箱、裝箱的進一步優化的嘗試 v0.29.3 敏感詞性能優化之繁簡體轉換 opencc4j 優化 背景 opencc4j opencc4j 中&#xff0c;因…

Spark SQL解析查詢parquet格式Hive表獲取分區字段和查詢條件

首先說一下&#xff0c;這里解決的問題應用場景&#xff1a; sparksql處理Hive表數據時&#xff0c;判斷加載的是否是分區表&#xff0c;以及分區表的字段有哪些&#xff1f;再進一步限制查詢分區表必須指定分區&#xff1f; 這里涉及到兩種情況&#xff1a;select SQL查詢和…

谷歌發布文本嵌入模型EmbeddingGemma(附部署方式)

EmbeddingGemma是谷歌于2025年9月開源的開放式文本嵌入模型&#xff0c;專為端側設備設計&#xff0c;具備以下核心優勢&#xff1a; 性能優勢 在MTEB基準測試中&#xff0c;EmbeddingGemma在500M以下參數規模的多語言文本嵌入模型中表現最佳&#xff0c;性能接近參數翻倍的頂…

CPU調度——調度的目標

2.2.2 調度的目標 當系統中“想運行”的實體多于 CPU 的數量時&#xff0c;調度就不可避免地要在“效率”與“公平”之間做取舍。直觀地說&#xff0c;一類目標希望把硬件壓榨到更高的利用率&#xff0c;讓單位時間內做更多的工作&#xff1b;另一類目標則關心個體體驗&#x…

C++ 8

封裝一個學生的類&#xff0c;定義一個學生這樣類的vector容器, 里面存放學生對象&#xff08;至少3個&#xff09;再把該容器中的對象&#xff0c;保存到文件中。再把這些學生從文件中讀取出來&#xff0c;放入另一個容器中并且遍歷輸出該容器里的學生。#include <iostream…

短視頻矩陣系統源碼開發搭建技術指南--支持OEM

短視頻矩陣系統架構設計短視頻矩陣系統通常采用分布式架構&#xff0c;包含內容管理、用戶管理、推薦算法、存儲分發等模塊。主流技術棧包括微服務框架&#xff08;Spring Cloud/Dubbo&#xff09;、消息隊列&#xff08;Kafka/RabbitMQ&#xff09;、數據庫&#xff08;MySQL/…

不連續頁分配器補充

vmalloc流程 1. 背景&#xff1a;vmalloc() 要解決的問題 kmalloc() 要求 虛擬地址連續&#xff0c;物理頁也連續。大塊內存分配可能失敗。vmalloc() 只保證 虛擬地址連續&#xff0c;物理內存可以由很多不連續的頁拼接。 實現的關鍵就是&#xff1a; 在 vmalloc 區域 找一塊空…

bug | 事務粒度不能太大,含demo

刷到一個說法&#xff0c;建議不要使用transaction注解。這個說法不太準確&#xff0c;注解可以用&#xff0c;但標注的事務粒度不能太大&#xff0c;這樣可能會引起數據庫阻塞問題。以下介紹注解事務和編程式事務的兩種用法。 關鍵字&#xff1a;聲明式事務&#xff0c;編程式…

別再看人形機器人了!真正干活的機器人還有這些!

每次提起“機器人”&#xff0c;你腦海中是不是立刻浮現出雙足行走、擬人微笑、還能陪你聊天的那種“人形機器人”&#xff1f;但真相是&#xff1a;人形機器人并非更實用&#xff0c;只是滿足了我們對“人類替代品”的幻想。事實上&#xff0c;機器人的世界遠比我們想象的更豐…

垃圾回收,幾種GC算法及GC機制

1.什么是垃圾回收&#xff1f;如何觸發垃圾回收&#xff1f; 垃圾回收(GC)是自動管理內存的一種機制&#xff0c;它負責自動釋放不再被程序引用的對象所占用的內存&#xff0c;這種機制減少內存泄漏和內存管理錯誤的可能性。可以通過多種方式觸發&#xff1a;內存不足時&#x…

更智能的零售終端設備管理:合規、安全與高效

目錄 引言&#xff1a;為什么零售連鎖和自助終端需要更智能的設備管理&#xff1f; 典型應用場景 1. 便利店連鎖 2. 大型超市 3. 加油站 4. 自助終端 核心功能&#xff0c;驅動高效與安全 1. 批量配置 2. 定時策略同步 3. 設備狀態監控 4. Kiosk 模式&#xff0c;保…

Elasticsearch:向量搜索過濾 - 保持相關性

作者&#xff1a;來自 Elastic Carlos Delgado 僅執行向量搜索以找到與查詢最相似的結果是不夠的。通常需要過濾來縮小搜索結果。本文解釋了在 Elasticsearch 和 Apache Lucene 中向量搜索的過濾是如何工作的。 Elasticsearch 擁有豐富的新功能&#xff0c;幫助你為自己的用例構…

Linux 性能調優之 OOM Killer 的認知與觀測

寫在前面 博文內容涉及到OOM Killer機制,以及利用 Cgroup/dmesg/BPF 觀測 OOM Killer 事件,包括云原生環境下的 OOM Killer 機制的簡單介紹 這是內存調優的最后一篇,之后會分享一些網絡調優相關內容 理解不足小伙伴幫忙指正 ??,生活加油 我不再將這個世界與我所期待的,塑…

webrtc之高通濾波——HighPassFilter源碼及原理分析

文章目錄前言一、導讀二、高通濾波過程1.HighPassFilter的創建1&#xff09;HighPassFilter的作用2&#xff09;開啟條件3&#xff09;開啟配置2.高通濾波整體過程1&#xff09;觸發時機2&#xff09;濾波器創建3&#xff09;高通濾波過程三、算法實現1.原理1&#xff09;濾波器…

《sklearn機器學習——聚類性能指數》同質性,完整性和 V-measure

函數&#xff1a;homogeneity_score 參數&#xff1a; labels_true: array-like, shape [n_samples] 樣本的真實標簽。 labels_pred: array-like, shape [n_samples] 樣本的預測標簽。返回值&#xff1a; h: float 同質性得分&#xff0c;在0到1之間&#xff0c;值越大表示聚…

HarmonyOS 應用開發新范式:深入剖析 Stage 模型與 ArkTS 狀態管理

好的&#xff0c;請看這篇關于 HarmonyOS 應用開發中 Stage 模型與 ArkTS 狀態管理的技術文章。 HarmonyOS 應用開發新范式&#xff1a;深入剖析 Stage 模型與 ArkTS 狀態管理 引言 隨著 HarmonyOS 4、5 的發布以及 API 12 的迭代&#xff0c;HarmonyOS 的應用開發范式已經全面…

一個Java的main方法在JVM中的執行流程

一個Java的main方法在JVM中的執行流程可以分為??四大階段??&#xff1a;??加載 -> 鏈接 -> 初始化 -> 執行??。// HelloWorld.java public class HelloWorld {public static void main(String[] args) {String message "Hello, JVM!";System.out.p…

聚焦診斷管理(DM)的傳輸層設計、診斷服務器實現、事件與通信管理、生命周期與報告五大核心模塊

聚焦診斷管理(DM)的傳輸層設計、診斷服務器實現、事件與通信管理、生命周期與報告五大核心模塊,明確 UDS(ISO 14229-1)與 SOVD(ASAM 服務化診斷)的功能邏輯、交互流程及規范性要求(SWS_DM 系列)。 1 UDS 傳輸層(UDS Transport Layer) 作為 DM 與診斷客戶端的 UDS …