ax-llm/ax

The pretty much "official" DSPy framework for Typescript

解决的问题

Ax 为构建 LLM 应用程序提供了一个统一的、与语言无关的编程模型。通过提供一个可编译为 TypeScript、Python、Java、C++、Go 和 Rust 原生库的单一语义核心,消除了在不同编程语言中进行手动提示工程和重复样板代码的需求。

工作原理

Ax 使用“Signatures”通过字符串 DSL 或流式构建器来定义类型化的结构化生成(输入和输出)。这些签名通过支持多种 AI 服务(OpenAI、Anthropic、Gemini 等)的提供者抽象来执行。

对于更复杂的逻辑,它提供了:

  • AxAgent:一个三阶段流水线(distiller、executor、responder),通过沙箱化的 JS 运行时、内存和技能,将签名转换为使用工具的角色。
  • AxFlow:一个类型化的工作流运行器,允许开发人员将节点链接成支持分支、循环和并行执行的程序图。
  • Optimizers:用于优化模型性能的工具,如 GEPA 和 few-shot bootstrapping。

适用对象

需要构建必须在多个语言生态系统中运行的健壮、类型安全型 LLM 应用程序的开发人员,或者希望寻找结构化、程序化方式替代手动提示工程的开发人员。

亮点

  • 多语言支持:为 TypeScript、Python、Java、C++、Go 和 Rust 提供编译后的原生库。
  • 类型化结构化生成:支持 Zod、Valibot 和 ArkType,用于严格的输出验证和自动重试。
  • 提供者无关:无需更改代码即可在 OpenAI、Anthropic 和 DeepSeek 等提供者之间无缝切换。
  • 高级智能体架构:包括用于管理长上下文的递归运行时 (RLM)、沙箱执行以及集成的记忆/技能。
  • 多模态与音频:内置对图像、音频和实时语音流的支持。
  • Flow-as-Code:能够通过类型化图或甚至 Mermaid 图表来定义复杂的工作流。