你的用户已经选好了智能体。让你的产品能被它使用。
你的产品早就知道这件事该怎么做。Invokta 把这份知识打包成任意智能体都能调用的动作。
三个不同的调用方调用同一个 Action Engine,它持有该能力,并向所有调用方返回同一份经过校验的结果。 正在展示 clinic-engine 上的 appointments.schedule,由 Claude, ChatGPT, Hermes 调用。
无论患者用哪个助手,诊所的预约策略都只在动作内部执行一次。
01 / 06问题
自建还是被调用
自建一套 harness,还是让产品可被调用?
每个产品都正准备自建智能体,而那套堆栈里几乎没有一样是你的主业。另一条路:让客户已经在用的 harness,来调用只有你的产品才会做的那部分。
你的产品
只有这一格是你的
花几个月建不属于主业的基础设施,最后还要和 Claude、ChatGPT 争夺用户的注意力。
帮我给发错的运动鞋申请退款。
搞定:按换货政策批准,249 美元 3 天内退回。
02 / 06动作层
03 / 06最小可用的引擎
开发者优先
一个能力,通向每个入口
能力 ID 属于引擎的映射表。能力本身包含契约和实现,每个入口复用的都是它。
import { createEngine, defineCapability } from "@invokta/core";import { z } from "zod"; const createWelcomeMessage = defineCapability({ title: "Create a welcome message", description: "Creates a short welcome message for a new team member.", input: z.object({ name: z.string().trim().min(1) }), output: z.object({ message: z.string().min(1) }), access: "authenticated", async run({ input }) { return { message: `Welcome, ${input.name}!` }; },}); export const engine = createEngine({ name: "hello-engine", version: "0.1.0", capabilities: { "onboarding.create-welcome-message": createWelcomeMessage, },});{ "message": "Welcome, Ada!"}输出已按契约校验
04 / 06可复用的引擎
应用场景
领域动作,覆盖每个业务领域
这里的每个团队,都有一套要向每个新智能体重新教一遍的流程。发布成动作之后,它就是这个样子。
05 / 06调用管线
为边界而生
何时调用由智能体决定,如何执行由引擎决定
校验、授权、取消和错误映射都在引擎内部完成一次,任何调用方都在这之后才看到结果。
一条管线,四个适配器
每个适配器都调用 engine.invoke。 应用代码、CLI、MCP stdio 和无状态的 MCP Streamable HTTP 最终都落到同一条执行路径,行为不会因交付面而分叉。
查看契约
06 / 06边界
架构
智能体属于你的客户,能力属于你的产品
智能体和模型都会变。你的产品发布的领域动作,不该每次都跟着重建一遍。MCP、CLI 和 HTTP 只是交付路径。
- Claude
- ChatGPT
- Hermes
- CLI
- 应用
engine.invoke
- 服务商
- 脚本
- 模板
- 数据
- 规则
开始使用
别再造一个智能体,让你的产品可被调用。
定义一个能力,连同它的输入、输出和访问规则。任务只构建一次,再从代码、CLI 和 MCP 调用。