Pipe:让 AI 操作成为语言原语的运行时
Pipe(SPR v0.7.0)是一个约 10 MB 的语义管道运行时,将 summarize、translate、classify 等 AI 操作作为语言级原语。它提供内置的 LLM 沙箱、无需 async 样板代码的并行执行、一行切换 AI 提供商、字节码 VM 以及零依赖部署,面向 AI 原生基础设施。
Pipe 是一个面向 AI 原生基础设施的语义管道运行时(Semantic Pipeline Runtime),最新版本为 SPR v0.7.0。它把 summarize、translate、classify 等 23 种 AI 操作设计为语言内置原语,而不是需要 import 的库调用。整个运行时被打包成约 10 MB 的静态链接二进制文件,没有 Python、依赖或 Docker 要求,可在 Linux、macOS、Windows、树莓派乃至浏览器(通过 WebAssembly)中运行。
Pipe 旨在从语言层面解决生产环境中运行 LLM 的三个核心痛点。安全方面,LLM 一旦获得文件、网络和 exec 能力就会成为风险,因此 Pipe 提供声明式的 sandbox_profile,可限制 exec、write_file 和 http_get,并通过 set_sandbox 或 with_sandbox 激活,让 ai_with_tools 驱动的智能体默认处于受控状态。性能方面,顺序 API 调用会把 1 秒的管道拖成 10 秒瓶颈,Pipe 的 >> 运算符可以让任何管道阶段在后台运行,Future 自动解析,ai_batch 则能并发处理数百段文本并内置速率限制。厂商锁定方面,从 OpenAI 切换到 DeepSeek 不再需要重写 SDK 代码,只需一行 ai_provider。
Pipe 用少量代码就能完成典型任务。日志分析只需 5 行:read_file 读取服务器日志,classify 判定严重程度,filter 过滤关键条目,summarize 汇总,translate 翻译成德语,最后 save 保存结果,全程无需中间文件或 Python 脚本。RAG 管道也无需向量数据库:embed_batch 为文档生成向量,embed 嵌入问题,nearest 找出语义最近的片段,再交给 ask 基于上下文回答。AI 智能体方面,开发者可以定义 get_weather 这样的普通函数,通过 ai_tool 注册给 LLM,再使用 ai_with_tools 让模型自主调用工具,同时受沙箱配置约束。
与 Python + LangChain 的对比中,Pipe 强调更少代码和内置安全:同一套 RAG 管道约 10 行而非 80 行;沙箱不是自定义中间件,而是一个 sandbox_profile 块;切换 AI 提供商只需 ai_provider "deepseek";部署只需复制 pipe 二进制,而非 Docker + venv + pip;二进制体积约 10 MB,而非约 500 MB。Pipe 还提供了 91 个标准内置函数,覆盖理解、并行、嵌入搜索、工具调用、沙箱和测试等类别。
高级特性方面,Pipe 的 try_ai 能在运行时捕获错误并让 AI 自动修复表达式,例如把 "42" * 3 修复为 (to_num "42") * 3,修复失败则落入 catch。管道默认并行,3 个 LLM 调用可在约 1.5 秒内完成,而不是约 4 秒,无需 async/await 或 Promise.all。语言还包括 C 风格 for 循环、多模式 match 和 not 关键字,并编译为 40 条操作码的字节码 VM,配合自动缓存达到约 7 倍速度提升。开发体验上有 LSP 驱动的 IntelliSense(补全、悬停文档、跳转定义、诊断)、内置 test 块和断言函数,以及可在 GitHub Actions 中直接运行的官方 Action。目前项目已有 230+ 测试、约 15k 行 Go 代码、42 个示例程序、4 个 AI 提供商、9 个模块,并保持零第三方依赖。