大模型應用開發的本質——就是對提示詞的封裝 原創
“ 大模型就是大模型,它和具體的應用場景無關,唯一有關的就是提示詞。”
關于大模型應用開發有幾個不同的方向,但從本質上來說大模型應用開發就是在封裝提示詞;原因就在于從用戶的角度來說,提示詞是與大模型交互的唯一接口;因此也有人說提示詞就是針對大模型的編程語言。
下面我們以智能體為例,解釋說明一下為什么說大模型應用開發就是在封裝提示詞;當然,這句話并不是很準確,更加準確的說應該是:
大模型應用開發的核心是圍繞提示詞進行業務能力封裝,但提示詞只是應用開發的底座。完整的大模型應用開發還包括上下文管理、工具集成、結構化輸出、狀態流程管理和性能優化等工程化工作。

大模型應用開發與提示詞封裝
開發一個智能體一般需要那幾個模塊?
首先要有大模型,提示詞,工具集,記憶,結構化輸出,用戶輸入處理等;但如果我們仔細觀察或分析就會發現,除了大模型和提示詞之外,其它所有功能處理的結果最終都是要帶入到提示詞中,原因就在于大模型只接收幾個固定輸入;而提示詞是大模型處理的基礎,大模型的所有操作都是基于提示詞開始的。
工具集
在智能體開發中,如果需要使用外部工具,首先需要給大模型配置幾個工具集,也可以說是函數;而形式即可以是本地的函數,也可以是遠程的MCP服務;通過函數簽名的方式告訴大模型這些工具的參數和作用。
而對大模型來說,大模型并不會真正執行這些工具的代碼,大模型需要做的是根據用戶需求,理解用戶需求,然后再根據工具的描述去選擇合適的工具來解決用戶的問題;其對工具的處理,實際上是輸出需要調用那個工具,以及生成工具所需要的參數列表。
最后由代碼執行器去執行具體的函數代碼并獲取結果,然后再把返回結果輸入到大模型中。

記憶
由于大模型是無狀態的,因此每次對話對大模型來說都是一次全新的對話,因此就需要一種方式給大模型增加記憶功能。而這種方式就是把每次的對話內容保存下來,然后在下次對話中把保存下來的對話記錄插入在上下文中。
結構化輸出
在一些日常對話場景中,確實不需要結構化輸出,但在一些工具使用和一些業務場景中,結構化輸出就變得很重要;比如說,你想讓模型根據你提供的資料生成一份圖表數據,而這時如果不是結構化數據就沒辦法處理。
但我們也知道大模型的輸出是不穩定的,因此我們需要有一種方式來約束大模型的輸出;而這就是結構化輸出,簡單來說就是給大模型一個輸出模板,然后讓大模型按照這種模板格式進行輸出,而不是讓大模型隨意進行輸出。
結構化輸出的好處就是,可以讓大模型與我們的業務系統相切合,并且更加方便處理。

用戶輸入
至于用戶輸入就更簡單了,只需要把用戶問題和一些可變參數進行拼接即可。
然后我們仔細觀察后會發現一個問題,那就是以上所有的操作并沒有和大模型直接交互,而是把所有的結果都拼接到提示詞中,最終再把這拼接完成的提示詞輸入到模型中。
所以,在這里得出一個結論,那就是大模型應用的開發就是在封裝提示詞。
大模型的“智能”完全由提示詞引導,提示詞相當于大模型的“軟編程接口”。
在實際應用開發中,大部分時間都在:
- 優化提示詞
- 設計提示詞結構
- 進行提示詞版本管理
- 根據不同場景切換提示詞
本文轉載自??AI探索時代?? 作者:DFires

















