跳到主要内容

概述

Agent 是什么

Agent,或称为 AI Agent,是以大模型为基础,通过特定指令或指引,能够完成特定任务。Agent 利用 AI 大模型,具有强大的语言理解和生成能力,可以在各种领域执行复杂任务。

云开发 Agent 是什么

云开发 Agent 基于 函数型云托管 实现的,开发者能够完全掌控业务逻辑,满足高度个性化的需求。在函数中,可以调用第三方模型、设计复杂的决策流程、使用开源的 Agent 开发框架,实现 Agent 的感知(Perception)规划(Planning)行动(Action) 等方面的能力,从而更好地实现个性化需求。

基于云函数开发一个 AI Agent ,是一个后端适配前端的过程,即,云函数中实现与前端约定好的 API 接口,即可实现与前端的适配对接。

借助云开发提供的 AI Agent 开发框架 @cloudbase/aiagent-framework,仅需几行代码,即可快速实现一个基于 函数型云托管 的简单空白 Agent ,示例代码如下:

const { IBot } = require("@cloudbase/aiagent-framework");
const { BotRunner } = require("@cloudbase/aiagent-framework");

const ANSWER = "你好,我是一个 Agent ,但我只会说这一句话。";

/**
* @typedef {import('@cloudbase/aiagent-framework').IAbstractBot} IAbstractBot
*
* @class
* @implements {IAbstractBot}
*/
class MyBot extends IBot {
async sendMessage() {
return new Promise((res) => {
// 创建个字符数组
const charArr = ANSWER.split("");

const interval = setInterval(() => {
// 定时循环从数组中去一个字符
const char = charArr.shift();

if (typeof char === "string") {
// 有字符时,发送 SSE 消息给客户端
this.sseSender.send({ data: { content: char } });
} else {
// 字符用光后,结束定时循环
clearInterval(interval);
// 结束 SSE
this.sseSender.end();
res();
}
}, 50);
});
}
}

/**
* 类型完整定义请参考:https://docs.cloudbase.net/cbrf/how-to-writing-functions-code#%E5%AE%8C%E6%95%B4%E7%A4%BA%E4%BE%8B
* "{demo: string}"" 为 event 参数的示例类型声明,请根据实际情况进行修改
* 需要 `pnpm install` 安装依赖后类型提示才会生效
*
* @type {import('@cloudbase/functions-typings').TcbEventFunction<unknown>}
*/
exports.main = function (event, context) {
return BotRunner.run(event, context, new MyBot(context));
};

使用 Agent

开发完成的 Agent ,可以通过以下方式进行使用:

  • 通过前端组件,在小程序中快速引入并配置对接 Agent ,即可在会话组件中和 Agent 沟通;
  • 通过 SDK,在小程序、H5、Web 应用的前端逻辑中,或者云函数、服务端等后端逻辑中调用 Agent ,实现与 Agent 的交互;
  • 通过第三方平台对接能力,将 Agent 与微信小程序客服、微信客服、微信公众号(服务号)、微信公众号(订阅号)完成对接,实现在这些平台中的聊天对话与 Agent 的对接;