ax-llm/ax

The pretty much "official" DSPy framework for Typescript

解決的問題

Ax 提供一個統一的、語言無關的程式設計模型,用於建構 LLM 應用程式。它消除了手動提示工程的需求,並允許開發者使用單一語義核心,在多種語言(TypeScript、Python、Java、C++、Go 和 Rust)中定義類型化、結構化的生成。

工作原理

Ax 使用「簽名(Signatures)」來定義輸入和輸出為類型化的結構化資料。這些簽名可透過字串 DSL、流暢建構器或 Standard Schema v1 驗證器(如 Zod)定義。系統將這些定義編譯為多種語言的原生函式庫。它包含一個三階段的代理管道(Distiller → Executor → Responder)和一個遞迴執行時(RLM),透過在沙箱會話中執行 JS 並使用檢查點重播來管理長上下文,防止提示膨脹。

適用對象

需要在不同執行時堆疊上執行或整合至現有多元語言環境中的穩健、類型安全的 LLM 代理與工作流程的軟體工程師。

主要亮點

  • 多語言支援:單一核心可編譯為 TypeScript、Python、Java、C++、Go 和 Rust。
  • 類型化結構化生成:使用 Zod、Valibot 或自訂字串 DSL 實現端對端類型安全。
  • 高階代理架構:包含上下文預算、記憶體(向量/BM25)、技能(執行手冊)以及用於工具執行的沙箱 JS 執行時。
  • 供應商無關:透過部署設定輕鬆在 OpenAI、Anthropic、Gemini 等供應商之間切換,無需變更程式碼。
  • AxFlow:類型安全、可鏈式呼叫的工作流程執行器,可作為安全的 DAG 優化執行。
  • 多模態與音訊:原生支援影像、音訊和即時語音串流。

相關