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 优化执行。
  • 多模态与音频:原生支持图像、音频和实时语音流。

相关