公司动态
Jig 多语言 SDK 设计之路
copyright: trueauthor: luyi14-bitsdate: 2026-07-22Jig 多语言 SDK 设计之路 — 同一套 Agent 定义三种语言实现用 git orphan 分支实现 Python / TypeScript / Rust 三语言 SDK 的独立演进。SKILL.md 是共享协议ToolGuard 是共享架构各语言自由优化。一、为什么需要多语言Agent 框架的用户不全是 Python 工程师。Python 工程师想要pip install jig之后 5 行代码跑通管道Web 全栈开发者想要npm install jig/sdk在 Node/Deno/Bun 里编排 Agent性能敏感场景想要cargo install jig-rs纳秒级 ToolGuard 拦截单一语言绑死了一个框架的用户上限。LangGraph 有 Python 和 JS 两个版本CrewAI 只有 Python。Jig 从架构设计第一天就考虑了多语言——不是事后移植是原生平行。二、架构SKILL.md 作为共享协议多语言 SDK 的核心挑战不是同一套代码翻译成不同语言而是同一套 Agent 定义在不同语言中行为一致。Jig 的解法SKILL.md 是语言无关的 Agent 定义协议。--- name: code-reviewer description: 代码审查 Agent model: pro tools: [read, write] --- ## 角色 高级代码审查工程师。检查 OWASP Top 10、性能反模式、代码风格。这份文件在 Python 中被 Jig 的SkillParser解析在 TypeScript 中被jig/sdk解析在 Rust 中被jig-rs解析。解析结果——Agent 名称、角色描述、模型分配、工具白名单——完全一致。三、分支策略孤儿分支三种语言在同一个 GitHub 仓库的三个孤儿分支上独立演进GitHub: github.com/luyi14-bits/jig ├── python ← Python SDK当前v0.5.0 ├── ts ← TypeScript SDK孤儿从零开始 └── rust ← Rust Harness孤儿从零开始孤儿分支orphan意味着零共享 Git 历史python的提交不会出现在ts中切换分支 完全不同的文件树互不干扰各自独立发布但共享的是协议层——SKILL.md 规范、MCP 协议、A2A 协议、HandoverPackage 数据结构——这些在技术白皮书中定义各语言独立实现。四、TS SDK抢用户为什么先做 TypeScript因素分析用户基数npm 生态第一大语言Web/全栈开发者必选LLM 生态OpenAI、Anthropic、Vercel AI SDK 全线支持竞争空白零个 TypeScript 原生多 Agent 编排框架部署优势Wasm、Edge Functions、Deno/Bun 现代运行时如果已经有了 LangGraph.js为什么还需要 Jig TSLangGraph.js 社区影响力远不如 Python 版且继承自 LangGraph 的图状态机模型——Jig 的 SOP 管道模型更贴近实际开发流程。TS 分支初始结构ts/ ├── package.json ├── tsconfig.json ├── README.md ├── src/ │ ├── index.ts # Jig class │ ├── agent-factory.ts # Agent 工厂 │ ├── skill-parser.ts # SKILL.md 解析 │ ├── harness/ │ │ └── tool-guard.ts # ToolGuard 实现 │ └── adapters/ │ └── model-provider.ts └── tests/五、Rust SDK建护城河为什么 Rust 是终极形态优势说明性能ToolGuard 拦截在纳秒级Python 方案毫秒级安全背书Rust 的内存安全招牌与 ToolGuard “硬约束” 品牌完美对齐Wasm 编译浏览器内运行 ToolGuardPython 做不到2026 势头首次进入 TIOBE TOP10社区狂热TS 和 Rust 的协同方式Rust 实现 ToolGuard / LoopEngine / CacheEngine 核心通过 Wasm 编译TS SDK 直接调用未来 Python SDK 通过 PyO3 绑定调用同一套 Rust 核心最终架构Python SDK ──→ PyO3 ──┐ │ TS SDK ──→ Wasm ──────┼──→ Rust Harness (ToolGuard LoopEngine) │ Rust SDK ─────────────┘六、三种 SDK 的发布节奏Phase 1 (现在) Python SDK 已发布 v0.5.0 Phase 2 (近期) TypeScript SDK npm publish jig/sdk Phase 3 (中期) Rust Harness cargo publish jig-rs Phase 4 (远期) PyO3/Wasm 桥接 Rust → Python TS 共享 Harness三种 SDK 不追求同步发布。Python 继续迭代完善 APITS 从零构建Rust 聚焦核心引擎。每个 SDK 独立版本号、独立 CHANGELOG、独立 CI/CD。七、挑战与应对挑战应对各语言 API 不一致统一 SpecJig.run(prompt)行为必须一致测试覆盖差距各语言独立测试共享 Scenario 文档文档维护成本mkdocs 多语言版本同一定位不同代码示例社区碎片化统一 Issues 仓库标签区分语言八、总结三语言不是写三遍而是同一套 Agent 定义协议的三种实现SKILL.md 是共享协议语言无关孤儿分支 独立文件树不互相干扰TS 抢用户Rust 建护城河Python 稳基本盘GitHub: github.com/luyi14-bits/jig分支:python/ts/rust作者luyi14-bits |协议MIT