ainativelang
AI Agent 专用中间语言:编译为确定性 Graph IR,支持 43 种适配器和 MCP 集成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI Agent 专用中间语言:编译为确定性 Graph IR,支持 43 种适配器和 MCP 集成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:AINL 项目 Logo
想象一下:你对 AI 说"帮我把这份数据处理完并发送邮件",AI 立刻明白了所有步骤——读取数据、清洗、处理、发送邮件——而且每一步都精确可控。这就是 AINL(AI Native Lang)想要解决的核心问题。
当代 AI 应用开发中,开发者普遍面临一个困境:AI 很"聪明",但也很"任性"。它能对话,但无法保证可重复执行;它能生成内容,但无法精确控制执行顺序;它能做工具调用,但缺乏结构化的状态管理。
AINL 的创始人 Steven Hooley 从 2024 年开始思考这个问题。他的核心洞察是:自然语言是人类的接口,AINL 是 AI 之间的接口。人类用自然语言表达意图,AI 编译器将意图编译为 AINL 程序,再执行——这形成了一条清晰的人机协作流水线。
AINL 并不是让人类写代码的 DSL,而是一种给 AI 用的中间表示语言(IR)。它借鉴了传统编译器的前端/后端分离思想:前端接收自然语言规划的输出,后端通过可插拔的 Emitter 生成目标代码(Python、TypeScript、React 等)。
AINL 的核心是一个**图优先(Graph-first)、确定性(Deterministic)**的执行引擎。与传统 LLM Agent 的非确定性"prompt loop"不同,AINL 的执行路径是预先编译好的、可验证的、可回放的。
编译器 compiler_v2.py 是整个系统的核心(超过 34 万字符),负责将 AINL 源代码解析为规范中间表示(Canonical IR):
Human Intent → Agent Planning → AINL Source → Graph IR → Execution
AINL 的语法极简——单字符操作码 + 空格分隔的参数槽位,例如:
# 定义服务
S app core noop
S email_srv email
L_main:
# 调用 HTTP 获取数据
R http.get "https://api.example.com/data" ->data
# 发送邮件
R email.send "user@example.com" "报告" data ->result
# 输出 JSON
J {"status": result}
这段代码的含义:定义主标签 → HTTP GET 获取数据 → 发送邮件 → 返回 JSON。每个步骤都有明确的类型签名和副作用标注,编译器可以据此做静态分析和严格模式验证。
运行时 runtime/engine.py 执行编译后的 Graph IR。与 LangChain/LangGraph 等框架不同,AINL 运行时追求确定性:相同的输入 + 相同的程序 = 相同的结果。这对于生产环境至关重要——你不能接受同一个任务执行两次产生不同结果。
运行时支持两种执行模式:
AINL 内置了 43 种适配器(Adapter),覆盖:
| 类别 | 适配器 |
|---|---|
| 核心 | core, noop, debug, error |
| 文件系统 | fs, path, iofs |
| 网络 & API | http, a2a, api, email, webhook, mcp |
| 数据库 | postgres, pggraph, mysql, redis, dynamodb, supabase |
| AI 集成 | anthropic, openai, ollama, gemini |
| 商业工具 | airtable, github, shopify, stripe, notion, linear |
其中 MCP(Model Context Protocol)适配器让 AINL 可以连接任何 MCP-compatible 工具服务,A2A(Agent-to-Agent)适配器则支持多智能体协作。
AINL 支持 --strict 严格编译模式,在执行前验证:
这类似于 TypeScript 的严格类型检查,为 AI 工作流引入了传统软件工程的工程质量保障。
AINL 的安装极为简单:
pipx install 'ainativelang[mcp]' && ainl setup --auto
setup --auto 命令会自动检测当前环境(Claude Code、Cursor、Cline、Codex、OpenClaw、Hermes Agent 等),将 MCP server 配置写入对应配置文件,并验证安装正确性。整个过程不超过 2 分钟。
安装后,你可以:
ainl validate my_workflow.ainl --strict 验证程序ainl run my_workflow.ainl 执行工作流ainl-validator-web 启动 Web 验证界面(FastAPI + Uvicorn)ainl doctor 检查环境配置AINL 还包含一个Graph Memory 子系统,它将每次执行记录为图中的一个 Episode 节点:
@dataclass
class EpisodeNode:
turn_id: str
timestamp: int
tool_calls: List[str]
delegation_to: Optional[str]
outcome: Optional[str]
这个设计让 AI agent 具备了结构化记忆——不是简单的 KV 存储,而是带语义关系的知识图谱。程序可以调用 MemoryRecall 和 MemorySearch 从图中检索历史经验,指导后续决策。
AINL 最大的争议点在于它的目标用户定位。项目声称"不是给人类阅读和编写的",但实际使用中仍然需要理解 AINL 的语法和 IR 结构。对于非技术用户,门槛仍然较高。此外,作为 2024-2026 年快速演进的项目,API 稳定性也是一个现实挑战——从 compiler_v2.py 的命名可以看出项目经历了一次重大重写。
AINL 代表了一种新兴趋势:为 AI Agent 专门设计编程语言,介于自然语言和通用编程语言之间。它与 LangChain 的"Python-first"思路相反,选择了"编译器-first"的道路——这与 LLVM 之于 C/C++ 的哲学异曲同工。
随着 AI Agent 从实验室走向生产环境,对确定性、可验证性、可复现性的需求会越来越强烈。AINL 的图优先 + 严格模式设计,恰好回应了这些需求,值得 AI 开发者持续关注。
项目链接:https://github.com/sbhooley/ainativelang
Stars:835 | 语言:Python | 许可证:Apache-2.0
核心特性:AINL 编译器 + Graph IR 运行时 + 43 种适配器 + MCP 集成 + 严格模式验证
适用场景:需要确定性、可验证 AI 工作流的开发团队;多步骤 agent 编排;企业级 AI 自动化
分析基于 GitHub 仓库 v1.8.1,2026-06 完成。