TensorFusion Docs

智能体管理

创建、配置和管理智能体 — 系统提示词、模型选择、工具配置、任务卡片和技能。

智能体管理

本文档面向使用 Tensor Agent 平台的开发人员,涵盖智能体从创建到配置的完整流程,包括系统提示词、模型选择、运行时模式、工具、任务卡片、技能、MCP Server、问候语、组织单元和权限管理。


智能体创建

通过 Dashboard 创建

在 Tensor Agent 管理面板中,点击 创建智能体 按钮,填写基本信息后即可创建。创建流程包括:

  1. 输入智能体 名称描述
  2. 选择 运行时模式(LangGraph 或 Sandbox)
  3. 选择 模型提供商 和具体模型
  4. 编写 系统提示词
  5. 可选:配置工具、技能、任务卡片等

通过 API 创建

curl -X POST https://agent.tos.run/api/agents \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "客服助手",
    "description": "处理客户常见问题",
    "runtimeType": "langgraph",
    "modelProvider": "openai",
    "modelId": "gpt-4o",
    "systemPrompt": "你是一个专业的客服助手...",
    "greeting": "你好!有什么可以帮助你的?",
    "tools": [],
    "taskCards": [],
    "skills": []
  }'

通过 YAML 模板导入

支持从 YAML 文件批量导入智能体配置,适用于跨环境迁移和版本管理:

curl -X POST https://agent.tos.run/api/agent-templates/import \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "variantId": "my-variant",
    "yaml": "name: 客服助手\nruntimeType: langgraph\n..."
  }'

系统提示词配置

系统提示词(System Prompt)定义了智能体的行为准则和人格特征。Tensor Agent 将提示词拆分为两个维度:

字段说明示例
systemPrompt核心指令,定义智能体的能力边界和行为规范"你是一个外贸业务助手,负责帮助用户查询订单、管理客户..."
personality人格描述,定义语气、风格和交互方式"语气友好专业,回答简洁明了,适当使用 emoji"
{
  "systemPrompt": "你是公司的智能客服助手。你的职责包括:\n1. 回答产品相关问题\n2. 帮助用户查询订单状态\n3. 处理退换货请求\n\n注意事项:\n- 不要泄露内部定价策略\n- 遇到无法处理的问题,引导用户联系人工客服",
  "personality": "语气友好、耐心,回答专业且易懂。"
}

组织单元(OrgUnit)可以设置 defaultSystemPrompt,该提示词会被继承到该单元下所有智能体。智能体自身的系统提示词会覆盖继承的默认值。


模型选择

支持的模型提供商

提供商modelProvider说明
OpenAIopenaiGPT-4o、GPT-4o-mini 等
AnthropicanthropicClaude Sonnet、Claude Haiku 等
Google GeminigeminiGemini 2.0 Flash、Gemini 2.5 Pro 等
Google Vertex AIvertex通过 Vertex AI 访问 Gemini 模型
DeepSeekdeepseekDeepSeek-V3、DeepSeek-R1 等
Kimi (月之暗面)kimiMoonshot 系列模型
DashScope (通义千问)dashscopeQwen 系列模型
豆包 (字节跳动)doubao豆包大模型
智谱 AIzhipuGLM 系列模型
OpenRouteropenrouter统一网关,访问多家模型

配置模型凭证

模型凭证通过 凭证管理 功能统一管理,避免在智能体配置中明文存储 API Key。

  1. 进入管理面板 → 系统设置凭证管理
  2. 点击 添加凭证,输入名称和 API Key 值
  3. 凭证存储后仅显示前缀(如 sk-a****),原始值不可再次查看
# 创建凭证
curl -X POST https://agent.tos.run/api/credentials \
  -H "Authorization: Bearer <token>" \
  -d '{
    "name": "OPENAI_API_KEY",
    "value": "sk-xxxxxxxxxxxxxxxx",
    "description": "生产环境 OpenAI Key"
  }'

凭证管理需要 owneradmin 角色权限。


两种运行时模式

Tensor Agent 支持两种运行时模式,通过 runtimeType 字段指定。

LangGraph 模式

{ "runtimeType": "langgraph" }

LangGraph 模式是内置的智能体运行时,基于 LangGraph 实现 reactive agent 模式:

  • 工具调用 — 智能体根据对话上下文自动决定是否调用工具,支持多轮工具调用
  • 流式输出 — 实时流式返回生成内容,支持 thinking、text、tool_call、chart 等多种消息类型
  • 工作流编排 — 支持数据驱动的图(graph)定义,包含 LLM 节点、结构化输出节点、模板节点和条件路由
  • 知识库集成 — 内置 RAG 检索,支持 vector、keyword、hybrid、graph 等多种检索模式
  • 记忆管理 — 支持多种记忆类型(core、fact、preference、summary、note)

适用于大多数智能体场景,如客服、问答、数据分析等。

Sandbox 模式

{
  "runtimeType": "sandbox",
  "sandboxConfig": {
    "sandboxTemplateId": "claude-code-template",
    "model": "claude-sonnet-4-20250514",
    "timeout": 300,
    "env": {
      "CUSTOM_VAR": "value"
    }
  }
}

Sandbox 模式使用 E2B 兼容的沙箱环境(支持 PPIO、E2B、mvisor 三种提供商),在隔离容器中执行代码:

  • 隔离执行 — 每个会话运行在独立沙箱中,互不干扰
  • CLI Agent — 支持 claude-code、codex 等 CLI 工具作为底层 agent
  • 文件注入 — 自动注入系统提示词、技能指令、记忆文件、MCP 配置到沙箱
  • 模板系统 — 通过 Sandbox Template 定义沙箱镜像、CLI 命令、注入路径等

沙箱模板定义了运行环境的核心参数:

参数说明
e2bTemplateId沙箱镜像 ID
e2bProvider沙箱提供商(ppioe2bmvisor
agentCli执行的 CLI 命令(如 claudecodex
agentArgsCLI 命令参数
injection.promptFile系统提示词注入路径
injection.skillsDir技能指令注入目录
injection.memoryFile记忆文件注入路径
injection.mcpConfigFileMCP 配置注入路径
defaultTimeout默认超时时间(秒)

工具配置

工具(Tool)让智能体能够与外部系统交互。Tensor Agent 支持三种工具类型:

工具类型

类型type说明
HTTP 工具http调用外部 HTTP API
内置工具builtin平台内置功能(当前时间、计算器、天气、通知)
数据库工具database直接查询数据库

内置工具

平台预置了以下内置工具,无需额外配置:

工具名说明
current_time获取当前日期和时间
calculator计算数学表达式
get_weather查询城市实时天气
send_notification向用户发送应用内通知

添加 HTTP 工具

HTTP 工具通过 JSON Schema 定义输入参数,并配置 HTTP 端点:

{
  "tools": [
    {
      "id": "tool_query_order",
      "name": "query_order",
      "description": "根据订单号查询订单详情",
      "type": "http",
      "inputSchema": {
        "type": "object",
        "properties": {
          "orderId": {
            "type": "string",
            "description": "订单编号"
          }
        },
        "required": ["orderId"]
      },
      "endpoint": {
        "url": "https://api.example.com/orders/{orderId}",
        "method": "GET",
        "headers": {
          "Authorization": "Bearer {{SERVICE_TOKEN}}"
        }
      }
    }
  ]
}

从 Integration 自动发现工具

当创建了 Integration 并配置了 OpenAPI Spec 后,平台可自动从 API 文档中发现并生成工具定义。工具的 integrationId 字段标识其来源:

{
  "id": "tool_create_customer",
  "name": "create_customer",
  "description": "创建新客户",
  "type": "http",
  "integrationId": "integration_erp",
  "openapiSource": {
    "specUrl": "https://api.example.com/openapi.json",
    "operationId": "createCustomer"
  }
}

端点配置

参数说明
url请求 URL,支持路径参数模板 {param}
methodHTTP 方法(GET、POST、PUT、PATCH、DELETE)
headers请求头,支持 {{VAR}} 变量替换
bodyTemplate请求体模板
responseMapping响应字段映射表达式
queryParamsURL 查询参数

任务卡片

任务卡片(Task Card)是预设的快捷操作入口,显示在聊天界面中,用户点击即可触发对应操作。

{
  "taskCards": [
    {
      "title": "查询今日订单",
      "description": "查询今天所有新建的订单",
      "prompt": "请帮我查询今天创建的所有订单,按金额从高到低排列",
      "icon": "ShoppingCart"
    },
    {
      "title": "生成周报",
      "description": "根据本周数据生成业务周报",
      "prompt": "请根据本周的业务数据生成一份周报,包括销售额、新客户数、订单完成率",
      "icon": "FileText"
    },
    {
      "title": "客户分析",
      "description": "分析指定客户的历史交易",
      "prompt": "请帮我分析当前客户的历史交易数据,给出趋势和建议",
      "icon": "BarChart3"
    }
  ]
}
字段类型必填说明
titlestring卡片标题
descriptionstring卡片描述
promptstring点击后发送给智能体的提示词
iconstring图标名称(Lucide icon)

任务卡片也支持触发工具调用模式,在 trigger 中指定工具 ID 和预设输入。


技能系统

技能(Skill)是可复用的指令模板,定义了一组专业能力。技能可以挂载到智能体或组织单元上,实现能力的模块化组合。

技能结构

{
  "id": "skill_frontend_dev",
  "name": "前端开发助手",
  "description": "React/TypeScript/CSS 专家",
  "icon": "Code",
  "category": "开发",
  "keywords": ["react", "typescript", "前端"],
  "instructions": "你是一名资深前端开发工程师,精通 React 18+...",
  "tools": []
}
字段说明
name技能名称
description技能描述
instructions技能指令内容,会被注入到系统提示词中
icon图标名称
category分类标签
keywords关键词列表,用于自动匹配
tools技能自带的工具列表

技能来源类型

来源说明
Inline YAML直接在平台内编写 instructions 内容
S3 上传将技能文件上传到 S3 存储,通过 s3Key 引用
NPX 包通过 npm 包分发技能,指定 npmPackagenpmSkillName

内置技能

平台预置了一组常用技能,可直接挂载使用:

  • 前端开发助手 — React/TypeScript/CSS 专家
  • 数据分析师 — Python/pandas/SQL 数据分析
  • API 集成专家 — REST/GraphQL API 设计与集成
  • 文档写作 — 技术文档和 API 文档撰写
  • 代码审查 — 代码质量、安全性和性能审查

挂载技能到智能体

技能可以通过 ID 引用(引用已注册的技能)或内联完整配置:

{
  "skills": [
    "skill_frontend_dev",
    "skill_data_analyst",
    {
      "id": "custom_skill",
      "name": "自定义业务技能",
      "description": "处理特定业务逻辑",
      "instructions": "你了解我们公司的业务流程..."
    }
  ]
}

技能 API

# 列出所有技能(组织内 + 公开市场)
GET /api/skills

# 获取技能详情
GET /api/skills/:id

# 创建技能
POST /api/skills

# 更新技能
PATCH /api/skills/:id

# 删除技能
DELETE /api/skills/:id

MCP Server 集成

通过 Model Context Protocol (MCP) 连接外部工具服务,让智能体调用 MCP Server 提供的工具。

配置 MCP Server

MCP Server 在组织级别注册,可分配给不同的智能体或组织单元使用:

{
  "id": "mcp_github",
  "orgId": "org-123",
  "name": "GitHub MCP",
  "serverKey": "github",
  "config": {
    "command": "npx",
    "args": ["-y", "@modelcontextprotocol/server-github"],
    "env": {
      "GITHUB_PERSONAL_ACCESS_TOKEN": "{{GITHUB_TOKEN}}"
    }
  },
  "enabled": true
}

在智能体上启用 MCP Server

通过 mcpServers 字段引用已注册的 MCP Server,可按需启用或禁用:

{
  "mcpServers": [
    {
      "serverKey": "github",
      "config": {},
      "enabled": true
    },
    {
      "serverKey": "slack",
      "config": {
        "env": { "SLACK_TOKEN": "{{SLACK_BOT_TOKEN}}" }
      },
      "enabled": true
    }
  ]
}

MCP Server API

# 列出组织内所有 MCP Server
GET /api/mcp-servers

# 创建 MCP Server
POST /api/mcp-servers

# 更新 MCP Server
PATCH /api/mcp-servers/:id

# 删除 MCP Server
DELETE /api/mcp-servers/:id

问候语

问候语(Greeting)是智能体在新会话开始时自动发送的初始消息,帮助用户了解智能体的能力和使用方式。

{
  "greeting": "你好!我是你的业务助手,可以帮你:\n\n- 📊 查询和分析订单数据\n- 👥 管理客户信息\n- 📝 生成业务报告\n\n请问有什么需要帮助的?"
}

如果未设置问候语,聊天界面会显示任务卡片作为初始引导。


组织单元

组织单元(OrgUnit)是树形组织结构,用于对智能体进行分组管理。支持默认提示词和技能的层级继承。

组织单元结构

根节点 (root)
├── 销售部
│   ├── 华东区
│   │   ├── 客服助手 (agent)
│   │   └── 销售分析 (agent)
│   └── 华南区
│       └── 客服助手 (agent)
└── 技术部
    ├── 代码审查助手 (agent)
    └── 文档助手 (agent)

默认提示词继承

组织单元可以设置 defaultSystemPrompt,该单元下的智能体会继承此提示词:

{
  "name": "销售部",
  "defaultSystemPrompt": "你是销售部门的 AI 助手,了解公司产品线和定价策略...",
  "skills": ["skill_sales_expert"]
}

技能继承

组织单元上配置的 skills 会被该单元下所有智能体继承,减少重复配置。

组织单元 API

# 获取组织树
GET /api/org-units/tree

# 创建组织单元
POST /api/org-units
{ "name": "华东区", "parentId": "unit-sales" }

# 更新组织单元
PATCH /api/org-units/:id
{ "defaultSystemPrompt": "...", "skills": ["skill_id_1"] }

# 删除组织单元
DELETE /api/org-units/:id

分享与权限

Tensor Agent 使用三级权限模型控制智能体的访问权限。

权限等级

角色relation权限说明
Ownerowner完全控制权:编辑配置、管理分享、删除智能体
Editoreditor编辑智能体配置(提示词、工具、技能等)
Viewerviewer查看智能体信息,使用智能体进行对话

分享智能体

只有 Owner 可以管理分享设置:

# 查看智能体的分享列表
GET /api/agents/:id/shares

# 添加分享(授予权限)
POST /api/agents/:id/shares
{
  "subjectId": "user-456",
  "relation": "editor"
}

# 移除分享(撤销权限)
DELETE /api/agents/:id/shares
{
  "subjectId": "user-456",
  "relation": "editor"
}

权限与操作对照

操作所需权限
查看智能体列表viewer
查看智能体详情viewer
使用智能体对话viewer
创建智能体组织成员
修改智能体配置editor
管理分享权限owner
删除智能体owner
管理凭证owneradmin

智能体完整配置参考

以下是 Agent 对象的完整字段列表:

字段类型必填说明
namestring智能体名称
descriptionstring智能体描述
runtimeTypelanggraph | sandbox运行时模式
modelProviderstring模型提供商
modelIdstring具体模型 ID
systemPromptstring系统提示词
personalitystring人格描述
greetingstring初始问候语
toolsAgentToolConfig[]工具列表
taskCardsAgentTaskCard[]任务卡片列表
skills(string | SkillConfig)[]技能列表(ID 或完整配置)
mcpServersMcpServerOverride[]MCP Server 配置
knowledgeBasesAgentKnowledgeBase[]知识库绑定
memoryEnabledboolean是否启用记忆功能
unitIdstring所属组织单元 ID
sandboxConfigAgentSandboxConfigSandbox 模式配置(仅 sandbox 模式)

CRUD API

# 列出智能体
GET /api/agents

# 获取智能体详情
GET /api/agents/:id

# 创建智能体
POST /api/agents

# 更新智能体
PATCH /api/agents/:id

# 删除智能体
DELETE /api/agents/:id

目录