KeyFrame內部研究專用

The Unreasonable Effectiveness of Separating the Task from the Model — Maxime Rivest, DSPy

AI Engineer·7月23日週四·17 min英文

三句話摘要

DSPy 如何將 AI 程式設計從實現細節中分離出來,透過統一的規格、代碼約束與評估框架,讓 AI 應用可重用、可優化、且成本低廉。 要構建可靠的 AI 軟體,關鍵在於用清晰的規格、代碼約束和評估框架將任務與實現分離,這樣才能隨著新技術演進而保持穩定,並以數據驅動的方式持續優化成本與效能。 函數式 AI 程式設計:傳統程式設計用函數達成重用、組合、測試、優化的目標。DSPy 將相同理念應用到 AI 工作流程,讓開發者定義清晰的輸入輸出介面,內部實現細節可隨新技術而改變,不影響整合。

重點整理

重點
  • 1

    函數式 AI 程式設計:傳統程式設計用函數達成重用、組合、測試、優化的目標。DSPy 將相同理念應用到 AI 工作流程,讓開發者定義清晰的輸入輸出介面,內部實現細節可隨新技術而改變,不影響整合。

  • 2

    三層規格系統:有效的 AI 任務需要三層定義——自然語言指令(what should happen)、代碼層面的硬性約束(what must happen,例如負數要拋出例外)、以及通過範例學習的隱性知識(what good looks like)。三者合一才能完整指定問題。

  • 3

    從實現細節中解放:DSPy 支援多種優化技術(few-shot、prompt 優化、自動化代碼生成),新研究成果(如遞迴語言模型 RLM、Berkeley 的 JEPA 等)可一行程式碼整合,因為核心簽名保持不變。

  • 4

    Qualitative Learning 解決評估難題:傳統做法要手工定義「什麼是好」容易喪失細節;新方法讓模型自動從生產環境的回饋(用戶行為、產品分析等)推導評估標準,迭代改進業務目標的達成程度。

實用技巧與重點

乾貨
  • 應用案例與成效:
  • Shopify 成本下降 550 倍(改用便宜模型但保持評估與業務邏輯)
  • 發票提取(農場稅務用途)
  • 鍵盤快捷命令執行語法檢查和文本改寫
  • 郵件草稿自動生成
  • 代碼庫自動生成 PR
  • DSPy 三核心要素(Specs, Code, Evals):
  • Specs:簽名定義(自然語言指令 + 輸入/輸出類型)
  • Code:forward 方法內的約束邏輯(if 判斷、異常丟出)
  • Evals:範例與評估函數
  • 已整合或即將推出的技術:
  • Recursive Language Models (RLM)
  • JEPA(Berkeley 提示詞優化器)
  • Better Together
  • Multi-Module GRPO
  • DSPy.Flex(可學習的實現方案)
  • Qualitative Learning(自動評估推導)
  • Shopify 案例要點:
  • 從昂貴模型轉換到便宜模型
  • 保持相同的評估與業務邏輯
  • 能持續嘗試新方法

結論

結論

要構建可靠的 AI 軟體,關鍵在於用清晰的規格、代碼約束和評估框架將任務與實現分離,這樣才能隨著新技術演進而保持穩定,並以數據驅動的方式持續優化成本與效能。

完整解析

詳細

DSPy 的核心觀念來自傳統程式設計的成功經驗。在軟體工程中,當我們想重複執行某項任務時,會把它抽象成函數——定義清晰的輸入輸出合約,內部實現如何改變都不影響使用者。函數之所以強大,在於它可重用、可組合、可測試,甚至可優化與分享。講者認為 AI 程式應該遵循同樣的原則。

然而,AI 領域新技術層出不窮——每週都有新模型、新演算法、新策略發佈。開發者往往難以判斷哪項技術真能解決自己的問題。DSPy 的關鍵洞察是:所有這些技術都只是實現的戰術,應該被封裝在清晰的合約之後。當你定義了 AI 任務的輸入輸出介面後,就能在內部享有充分的靈活性,新模型出現時輕鬆切換,成本下降時立即採用,而無須改動任何外部整合。

要完整指定一個 AI 任務,需要三層語言。第一層是「應該發生什麼」——透過自然語言指令和簽名定義期望行為,就像給朋友講解棋盤遊戲規則。第二層是「必須發生什麼」——用代碼硬性定義業務約束,例如發票提取時若值為負數要拋出例外給人類審核,這些保障不會因為模型改變而改變。第三層是「什麼是好結果」——透過範例和評估函數,讓模型學習隱性的、難以言說的成功標準。正如講者年少時跟父親學辨識楓樹,無法用指令或代碼完全說明,只能靠反覆觀看例子才能內化。

一旦用 specs、code、evals 三層完整定義了問題,你就可以開始自動優化。DSPy 演進軌跡清晰可見:初期是透過代碼尋找 few-shot 例子,後來發展到自動優化提示詞,現在已能學習整個實現方案(DSPy.Flex),甚至能根據生產環境的回饋自動調整評估標準(Qualitative Learning)。Shopify 案例展示了這套方法的威力——他們維持相同的業務邏輯和評估框架,只改變底層模型,最終成本下降 550 倍。

與此同時,DSPy 社群持續整合學術界的最新成果。無論是麻省理工學生的遞迴語言模型、柏克萊的提示詞優化器,或其他創新技術,都可以一行程式碼集成到 DSPy 框架中,因為核心簽名永遠不變。這讓開發者能以一致的方式試驗新技術,判斷它是否有助於業務問題解決,同時整個生態分享集體智慧。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing
編輯精選
83 min
AI 技術英文PODCAST8月26日

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing

Latent Space

  • 加速傳統物理模擬的典範轉移:氣象科學家原本認為 AI 無法匹敵數十年的物理建模工作,但傅里葉神經算子不僅達到同等精度,還快了一萬多倍。原本需要超級計算機的計算現在用消費級 GPU 就能完成,這改變了整個領域的思維方式。
  • 傅里葉域的非局部現象捕捉:傅里葉域能有效表示非局部現象(如大氣河流跨越千里的影響),且計算複雜度為準線性,遠優於完全連接的全局模型。這特別適合流體動力學、量子化學等自然現象中普遍存在的非局部相互作用。
  • 多解析度連續函數表示:神經算子將輸入輸出視為連續函數而非固定維度向量,可在推論時以任意解析度查詢,並能在更高解析度上疊加物理約束或額外數據,克服了固定解析度神經網路的限制。
Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Why the Next AI Breakthrough May Come from Physics with Max Welling - #774
55 min
AI 技術英文PODCAST8月25日

Why the Next AI Breakthrough May Come from Physics with Max Welling - #774

TWIML AI

  • 多層篩選的材料設計流程:先搜尋文獻資料庫找現有材料,若無合適的就用生成模型產生數十萬個候選分子,用機器學習力場進行分子動力學模擬篩選,再進行實驗驗證。這套流程相比傳統量子力學計算能加速效率數個數量級。
  • 生成AI與熱力學的數學等價性:資訊論是兩個領域的共同基礎,生成模型的擴散過程與非平衡統計力學描述資訊損失的過程在數學上完全對應,許多開發出來的方法工具在兩領域都有精確對應的形式。
  • 基礎模型的遷移學習策略:先在廣泛材料資料集上訓練基礎力場表示,再針對特定材料類別進行蒸餾微調,既能保持計算效率也能獲得專一性。