Agent SDK

JoyToken Agent SDK 是 Agent 工作流的高层 runtime。它位于客户端 SDK 之上,为 TypeScript 应用提供模型循环、工具调度、停止条件、用量聚合和 JoyToken 提供方 helper。

SDK 列表

语言包名适合场景
TypeScript@joytoken/agent-sdk-ts需要工具、停止条件和 JoyToken 治理模型调用的 Agent 循环

Agent SDK 仍然把业务状态留在你的应用里。JoyToken 负责治理每一次模型调用:API Key、策略、路由、钱包、用量和账单。

Agent Runtime / @joytoken/agent-sdk-ts
-> @joytoken/client-sdk-ts
-> JoyToken /openai/v1/chat/completions
-> 上游模型

什么时候使用 Agent SDK

当应用需要一个循环,而不是一次模型调用时,选择 Agent SDK。

需求Agent SDK 支持
多步执行Agent.run() 会在模型返回工具调用时继续运行
工具定义defineTool() 把 schema 和执行函数放在一起
停止条件stepCountIs()maxToolCalls()maxCost()
JoyToken 提供方createJoyTokenProvider() 底层使用 JoyToken 客户端 SDK
用量聚合聚合 prompt、completion、total tokens 和可用 cost
状态交接接收历史 messages,返回更新后的 messagesstepsusage

快速示例

agent.ts
1import {
2 Agent,
3 createJoyTokenProvider,
4 defineTool,
5 maxToolCalls,
6 stepCountIs,
7} from "@joytoken/agent-sdk-ts";
8
9const lookup = defineTool({
10 name: "lookup",
11 description: "Look up internal data",
12 parameters: {
13 type: "object",
14 properties: { id: { type: "string" } },
15 required: ["id"],
16 },
17 execute: async ({ id }) => `record:${id}`,
18});
19
20const agent = new Agent({
21 model: createJoyTokenProvider({
22 apiKey: process.env.JOY_TOKEN_API_KEY,
23 }),
24 modelName: "auto",
25 system: "You are concise.",
26 tier: "standard",
27 stopWhen: [stepCountIs(6), maxToolCalls(4)],
28 tools: [lookup],
29});
30
31const result = await agent.run({
32 input: "Summarize record 42",
33 metadata: { workflow: "support-agent" },
34});
35
36console.log(result.finalText);

Agent SDK 与客户端 SDK

Agent SDK客户端 SDK
关注点多步 Agent 工作流直接模型调用
适合工具、循环、停止条件、用量聚合应用自己编排
工具执行SDK 调用注册的工具函数应用自己处理工具调用
状态应用持久化 messages 和 checkpoints应用持久化所有状态
语言TypeScriptTypeScript、Go

下一步

页面内容
编码 Agent 使用编码助手应该如何使用 Agent SDK 上下文
TypeScript SDK安装、配置、创建 Agent、定义工具和处理状态
TypeScript API 参考导出的 classes、helpers、停止条件和核心类型