小程序开放平台

文档中心
Agent 框架
AgentRuntime
Agent
开发

Agent(智能体Agent)

应用开发
>
框架
>
Agent 框架
>
Agent
>
更新时间:2025-12-03 12:25:16

Agent / IAgent 接口

Agent
(或
IAgent
)是小红书开放平台智能体在后端侧的核心接口定义。只要你实现一个满足
IAgent
的类,并配合运行时和路由分发(如
AgentRuntime
+
AgentRuntime
),即可对外暴露统一的智能体 HTTP 服务。

接口定义位于

@vectorx/ai-sdk
中的
IAgent
,其方法与 HTTP 路由的对应关系如下。

HTTP 服务与方法映射

提供的服务
IAgent 方法名
描述
POST
/v1/aiagent/agents/:agentId/send-message
sendMessage
与智能体进行对话(流式)
GET
/v1/aiagent/agents/:agentId/messages
getHistoryMessages
查询历史对话消息
GET
/v1/aiagent/agents/:agentId/info
getAgentInfo
查询智能体基础信息
GET
/v1/aiagent/agents/:agentId/conversations
getConversations
查询会话列表
GET
/v1/aiagent/agents/:agentId/query-tasks/:task_id
(可带
task_id
queryTasks
查询异步任务(如图片/视频生成)状态
POST
/v1/aiagent/agents/:agentId/upload-file
uploadFile
上传文件用于知识库或多模态

实际路由解析由

@vectorx/agent-runtime
内部的
AgentRuntime
负责,你只需要实现
IAgent
接口即可。


接口定义

IAgent
的完整定义可在
@vectorx/ai-sdk
model-type.ts
中找到,这里给出核心部分(仅保留与智能体 HTTP 服务直接相关的方法):

export interface IAgent {
  /**
   * 发送消息
   * POST /v1/aiagent/agents/:agentId/send-message
   */
  sendMessage(input: SendMessageInput): Promise<any>;

  /**
   * 获取聊天记录
   * GET /v1/aiagent/agents/:agentId/messages
   */
  getHistoryMessages?(input: GetHistoryMessagesParams): Promise<GetHistoryMessagesResponse>;

  /**
   * 获取 Agent 信息
   * GET /v1/aiagent/agents/:agentId/info
   */
  getAgentInfo?(): Promise<GetAgentInfoResponse>;

  /**
   * 获取会话列表
   * GET /v1/aiagent/agents/:agentId/conversations
   */
  getConversations?(): Promise<GetConversationsResponse>;

  /**
   * 查询异步任务状态
   * GET /v1/aiagent/agents/:agentId/query-tasks/:task_id
   */
  queryTasks?(task_id?: string): Promise<QueryTasksResponse>;

  /**
   * 上传文件
   * POST /v1/aiagent/agents/:agentId/upload-file
   */
  uploadFile?(input: UploadFileInput): Promise<UploadFileResponse>;
}

相关参数与返回值类型定义于

@vectorx/ai-types
@vectorx/agent-runtime
agent-types
中,主要包括:

  • SendMessageInput:发送消息输入,支持多轮对话历史、文本、多模态内容等;
  • GetHistoryMessagesParams / GetHistoryMessagesResponse:获取历史消息的分页参数和返回结构;
  • GetAgentInfoResponse:智能体基础信息(如
    agentId
    、版本、描述等);
  • GetConversationsResponse:会话列表信息;
  • QueryTasksResponse:异步任务(如图片/视频生成)的状态与结果;
  • UploadFileInput / UploadFileResponse:文件上传请求与响应结构。

与运行时的协作方式

在小红书开放平台智能体的推荐实践中,通常不会直接从零实现

IAgent
,而是:

  • 继承
    AgentRuntime
    (位于
    @vectorx/agent-runtime
    ),在子类中实现
    sendMessage
    等核心逻辑;
  • 使用
    AgentRuntime
    内置的工具方法(如:
    createRecordPair
    getHistoryMessages
    knowledgeBaseRetrieve
    等)管理对话记录与知识库;
  • 通过
    AgentDriver
    将 HTTP 请求路由到对应的
    IAgent
    方法。

你只需要将自己实现的 Agent 实例传给

AgentDriver.run(event, context, agent)
,即可完成从 HTTP 请求到
IAgent
方法的分发。


服务端实现示例

下面是一个最简化的服务端实现示例,展示了如何结合

AgentRuntime
IAgent

import OpenAI from "openai";
import { AgentRuntime } from "@vectorx/agent-runtime";
import type { RcbContext } from "@vectorx/functions-framework";

const client = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
});

class MyAgent extends AgentRuntime {
  // 实现 IAgent.sendMessage
  async sendMessage(input) {
    try {
      const model = this.createModel('qwen-plus')
      const modelResponse = await model.streamText({
        messages: [
          {
            role: 'system',
            content: systemPrompt
          },
          {
            role: 'user',
            content: {
              type: 'text',
              content: JSON.stringify(input.msg)
            }
          }
        ]
      })
      
      for await (const chunk of modelResponse) {
        this.sseSender.send({ data: chunk });
      }

      this.sseSender.end();
    } catch (e) {
      console.log("开发者 agent 捕获到错误", e);
    }
  }
}

// 函数/服务入口
export async function main(event: unknown, context: RcbContext) {
  const agent = new MyAgent(context);
  return AgentDriver.run(event, context, agent);
}

在小红书开放平台智能体接入场景中,平台侧会将 HTTP 请求(或网关事件)转交给上面的

main
函数,你在
MyAgent
中专注于对话与业务逻辑即可。


与前端/SDK 的关系

  • 前端或业务后端通过
    @vectorx/ai-sdk
    中的
    Agent
    客户端类,调用上述 HTTP 接口(如
    sendMessage
    getHistoryMessages
    等);
  • 你的服务端实现
    IAgent
    接口并通过
    AgentDriver
    暴露统一路由;
  • 双方通过统一的请求/响应结构协同完成小红书开放平台智能体的对话、会话管理、知识库检索、多模态生成和文件上传等能力。