使用扣子(Coze)搭建AI智能体


最近正好对这种AI工作流感兴趣,但是开源的例如n8n以及Dify需要点时间自己部署,懒得弄了。反正大致的原理、界面都是一致的,因此拿Coze来做个小小的体验~

(一)准备

注册并登录扣子
左侧菜单栏 → 加号按钮 → 创建智能体 → 填写名称等信息 → 确认

(二)编排

1. 模型设置

此处选择DeepSeek-R1/250528,其他参数不做调整
模型设置

2. 插件

点击插件右侧的加号,进入插件市场添加插件
添加插件

3. 预览与调试

在右侧进行对话,可以测试插件的应用效果
预览、调试
后续继续加入其他插件,并测试即可

4. 工作流

单纯提供一堆插件,模型的调用很随机,可能不符合我们的工作预期,因此需要构建工作流

点击工作流右侧的加号,创建工作流

(1)名称、描述

设置名称和描述

(2)设置输入

设置输入

(3)添加节点

点击下方添加节点 → 插件 → 添加对应插件 → 给插件进行连线

(4)配置输入输出

以我这次“搜索原神角色总结信息”的任务为例

① Search的输入

输入就是我们最开始的输入
Search的输入

② 链接读取的输入输出

由于上一步搜索的链接很多,因此首先切换到批处理
如图配置
配置

③ 代码

接入一段代码节点,在下方添加节点选择代码
这里添加了一段python代码,用于将上一步的内容拼接到一起
点击“在IDE里编辑”,可以编辑代码,并测试代码:
编辑代码
测试完成后按照代码逻辑设置输入输出:
设置输入输出

④ 完整的工作流

试运行后就可以发布了
发布

(5)发布并运行

我发现了一个问题,如图所示:
工具调用失败并出现问题
也就是说,原来的“代码”节点中,并未对data的null值进行处理;然而由于搜索提取到的内容可能是视频,无法提取到content,因此报错
修改后的python代码节点:

async def main(args: Args) -> Output:
    params = args.params
    result = ""

    # 安全获取input列表(处理null/undefined情况)
    input_list = params.get("input", []) if params else []
    if not isinstance(input_list, list):
        input_list = []

    # 遍历处理每个条目
    for item in input_list:
        if not isinstance(item, dict):
            continue

        # 多层安全访问(处理data=null和content=null)
        data = item.get("data") if isinstance(item, dict) else None
        content = data.get("content") if isinstance(data, dict) else None

        # 仅当content存在且非空时才拼接
        if content is not None:
            result += str(content)

    # 返回标准化输出(即使全为null也返回有效结构)
    return {
        "key0": result or ""  # 保证始终返回字符串
    }

修改后,测试用例为胡桃,测试如下:
最终测试


文章作者: Fetyloi
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Fetyloi !
  目录