本期雷達
###技術部分
7. GraphRAG
試驗
在上次關于 檢索增強生成(RAG)的更新中,我們已經介紹了GraphRAG。它最初在微軟的文章中被描述為一個兩步的流程:
(1)對文檔進行分塊,并使用基于大語言模型的分析構建知識圖譜;
(2)通過嵌入檢索的方式
在查詢時檢索相關塊,沿著知識圖譜的邊緣發現更多相關的分塊,這些分塊后續會被添加到增強提示中。在許多情況下,這種方法提高了大語言模型生成的響應數據的質量。我們在使用生成式AI理解遺留代碼庫的過程中也觀察到了類似的好處――通過像抽象語法樹和代碼依賴這樣的結構化信息去構建知識圖譜。GraphRAG 模式正在獲得更多的關注,像 Neo4j 的 GraphRAG Python 庫這樣的工具與架構正在不斷出現以支持該模式。同
時,我們認為 Graphiti 也符合廣義上的 GraphRAG 模式。
9. 模型蒸餾
試驗
Scaling laws 是推動 AI 快速發展的關鍵原則之一,即更大的模型、更大的數據集和更多的計算資源能夠帶來更強大的AI系統。然而,消費級硬件和邊緣設備往往缺乏運行大尺寸模型的能力,因此產生了對模型蒸餾的需求。
模型蒸餾 將知識從一個更大、更強的模型(教師模型)轉移到一個更小、更高效的模型(學生模型)。這一過程通常包括從教師模型生成一個樣本數據集,并對學生模型進行微調,以捕獲其統計特性。與通過移除參數來壓縮模型的剪枝技術或量化不同,蒸餾旨在保留領域特定的知識,同時將精度損失降到最低。此外,蒸餾還可以與量化結合使用,以進一步優化模型。
這種技術最早由 Geoffrey Hinton 等人提出,現已被廣泛應用。一個顯著的例子是 Qwen/Llama 的 DeepSeek R1 蒸餾版本, 它們在小模型中保留了強大的推理能力。隨著蒸餾技術的日益成熟,它已不再局限于研究實驗室,而是被廣泛應用于從工業項目到個人項目的各類場景中。像 OpenAI 和 Amazon Bedrock 這樣的供應商也提供了詳細的指南, 幫助開發者蒸餾自己的小語言模型(SLMs)。我們認為,采用模型蒸餾技術能夠幫助組織更好地管理 LLM 部署成本,同時釋放 本地設備上 LLM 推理 的潛力。
10. 提示工程(Prompt Engineering)
試驗
提示工程(Prompt Engineering)是指為生成式 AI 模型設計與優化提示詞(Prompt)的過程, 其目標是生成高質量、上下文相關(Context-aware)的響應。這一過程通常包括針對特定任務或應用場景,精心構建清晰、具體且上下文相關的提示,以實現模型輸出效果的最優化。隨著大語言模型能力的不斷提升,尤其是推理模型的出現,提示工程的實踐也必須隨之調整。根據我們在 AI 代碼生成方面的經驗,少樣本提示(few-shot prompting)在與推理模型協作時,可能不如簡單的零樣本提示(zero-shot prompting)表現出色。此外,被廣泛使用的 思維鏈(Chain-of-Thought,CoT)提示 技術也可能 降低 推理模型的表現――原因可能在于當前
推理模型通過強化學習已內置了 微調過的 CoT 機制 。
我們的實際經驗也得到了學術研究的印證,即“高級模型可能消除軟件工程領域對提示工程的依賴”。但在實際場景中,傳統提示工程技術仍然是減少模型幻覺(Hallucinations)并提升輸出質量的重要手段,特別是在考慮推理模型與普通 LLM 在響應時間和 Token 成本等因素存在顯著差異的前提下。在構建 自主代理應用(Agentic Applications)時, 我們建議根據實際需求策略性地選擇模型, 并持續迭代與優化提示模板及相應的工程方法。如何在性能、響應速度與Token成本之間找到最佳平衡,依然是充分發揮 LLM 效能的關鍵所在。
16. 從LLMs獲取結構化輸出
評估
從 LLMs 獲取結構化輸出 是指通過定義的結構模式來約束語言模型的響應。這可以通過指示通用模型以特定格式響應,或者通過微調模型使其“原生”輸出例如 JSON 的結構化數據來實現。OpenAI 現在支持結構化輸出,允許開發人員提供 JSON Schema、pydantic 或Zod對象來約束模型響應。 這種能力在函數調用、API交互和外部集成中尤其有價值,因為這些場景中格式的準確性和一致性至關重要。結構化輸出不僅提升了 LLMs 與代碼交互的方式,還支持更廣泛的使用場景,例如生成用于呈現圖表的標記語言。此外,結構化輸出已被證明可以減少模型輸出中的幻覺現象。
平臺
(未完待續)
工具
語言和框架
原文連接:
https://www.thoughtworks.com/content/dam/thoughtworks/documents/radar/2025/04/tr_technology_radar_vol_32_cn.pdf