探果(Tengo)的 Agent 编排能力可以把多个独立 Skill 连成流水线,一个指令触发全链路自动执行。本文用「电商选品报告生成」场景完整演示一遍,踩了哪些坑、上下文怎么传递、条件分支怎么写——全在里面。
一、问题来了:单 Skill 的天花板
用 AI 工具一段时间后,大多数人会遇到同一个问题:
每个 Skill 是一个孤岛。
你让它写文案,它写完了。你让它分析数据,它分析完了。但如果你想让它「先分析竞品,再写基于分析结果的文案,最后汇总成一份报告」——你得手动把每步的输出复制粘贴到下一步的输入框里。
这就是市面上 90% AI 工具的天花板:工具会干活,但不会「串活」。
探果(Tengo)的 Agent 工作流就是为了解这个问题设计的。
二、核心概念:Skill vs Agent
先把两个概念对齐:
|
概念 |
定义 |
类比 |
|
Skill |
单一功能模块,处理一类输入输出 |
一个函数 |
|
Agent |
把多个 Skill 按逻辑编排成流水线 |
一个函数调用链 |
Skill 是原材料,Agent 是生产线。
探果里一个 Agent 工作流的基本单元长这样:
# Agent 工作流结构示意(简化版)
agent_name: "电商选品报告"
trigger: "手动 / 定时 / Webhook"
steps:
- id: step_1
skill: "竞品搜索"
input: "{{user.keyword}}"
output: raw_competitors
- id: step_2
skill: "价格区间分析"
input: "{{step_1.raw_competitors}}"
output: price_analysis
- id: step_3
skill: "用户评论提炼"
input: "{{step_1.raw_competitors}}"
output: pain_points
- id: step_4
skill: "选品报告生成"
input:
competitors: "{{step_1.raw_competitors}}"
price: "{{step_2.price_analysis}}"
pain_points: "{{step_3.pain_points}}"
output: final_report
- id: step_5
skill: "文件导出"
input: "{{step_4.final_report}}"
format: "markdown"
关键点是 {{step_x.output}} 这种变量引用语法——这是上下文在步骤间传递的核心机制。
三、实战:搭一个「1688 选品报告」工作流
场景说明
目标:输入一个品类关键词(比如「便携蓝牙音箱」),自动输出一份包含竞品分析、价格区间、用户痛点、推广文案草稿的完整选品报告。
手动做需要多久? 我实测过,从搜索到整理输出,大概 2-3 小时。
用 Agent 工作流需要多久? 一次触发,等 4 分 20 秒,报告到手。
Step 1:在探果里新建 Agent
路径:主界面 → 工作流 → 新建 Agent → 空白模板
一个重要的踩坑记录放这里:
⚠️ 坑 1:第一次配置完成后直接保存,发现工作流静默失败了,日志里完全没有错误提示。
排查了 20 分钟,发现是 step_2 的输入变量写成了 {{step1.raw}} 而不是 {{step_1.raw_competitors}}——变量名大小写和下划线必须和定义时完全一致,不做模糊匹配。这个细节文档里没有,吃了亏才知道。
Step 2:配置上下文传递
探果 Agent 的变量传递支持三种模式:
1. 直接引用 → {{step_x.field_name}} # 取某步骤的某个字段
2. 全量引用 → {{step_x}} # 把整个输出作为下一步的输入
3. 合并引用 → {{step_x}} + {{step_y}} # 把多步输出合并后传入
选品报告这个场景里,step_4「报告生成」需要同时拿到 step_1、step_2、step_3 的输出,用的就是合并引用。
实测性能数据(5 次平均值):
|
步骤 |
平均耗时 |
|
竞品搜索(step_1) |
38s |
|
价格分析(step_2) |
22s |
|
评论提炼(step_3) |
31s |
|
报告生成(step_4) |
68s |
|
文件导出(step_5) |
8s |
|
全流程 |
约 4min 20s |
step_2 和 step_3 依赖 step_1 的输出,但两者之间互相独立,探果会自动并行执行——这是比手动拼接快很多的原因之一。
Step 3:加条件分支
实际业务里,不是每个关键词都值得继续走全流程。如果 step_1 搜出来的竞品数量少于 5 个,说明这个品类数据太稀疏,继续分析意义不大,应该直接终止并提示用户。
探果支持在步骤间插入条件判断节点:
- id: gate_1
type: condition
if: "{{step_1.count}} < 5"
then: terminate # 终止并输出提示
else: continue # 继续执行后续步骤
⚠️ 坑 2:条件表达式只支持数值比较和字符串 equals,不支持正则或复杂逻辑运算。
我试图写 {{step_1.raw_competitors}} contains "Amazon" 来过滤跨境产品,发现直接报语法错误。解决办法是把过滤逻辑写进 Skill 本身的 Prompt,让 Skill 输出一个布尔字段,条件节点只判断这个字段的值。
四、Agent 工作流 vs 手动拼接 vs 写脚本
|
维度 |
手动拼接 |
写 Python 脚本 |
探果 Agent |
|
上手门槛 |
无 |
需要编程基础 |
图形化配置,低门槛 |
|
灵活度 |
完全灵活 |
极高 |
中等(条件逻辑有限制) |
|
上下文传递 |
手动复制粘贴 |
变量传递 |
可视化变量引用 |
|
并行执行 |
不支持 |
需手动 async |
自动并行 |
|
维护成本 |
每次都得手动 |
依赖维护 + 环境配置 |
在产品内维护,无环境问题 |
|
适合场景 |
一次性任务 |
复杂定制化任务 |
中等复杂度的重复性任务 |
探果 Agent 的甜点区是:有一定流程复杂度、需要重复执行、但又不值得专门写代码的任务。
五、适合用 Agent 工作流的典型场景
根据我自己的使用和社区反馈,以下场景收益最明显:
- 内容批量生产:给定关键词列表 → 自动输出对应文章/文案/报告
- 数据定期整理:定时触发 → 拉数据 → 清洗 → 生成可视化摘要
- 客户跟进邮件:输入客户信息 → 自动生成个性化跟进邮件草稿
- 代码 Review 辅助:提交代码片段 → 安全检查 + 风格检查 + 优化建议合并输出
六、小结
探果的 Agent 工作流不是什么黑科技,本质是一个可视化的 Prompt 编排器,帮你把原本要手动拼的步骤固化成可复用的流水线。
能解决的问题很具体:减少重复劳动、保证每次输出结构一致、让 AI 真正干完一件事而不是干半件事。
有两个已知限制要提前知道:条件逻辑比较弱,复杂分支要绕路实现;第一次配置调试有一定时间成本,变量命名要非常严格。
接受这两个限制的话,把重复性的多步骤 AI 任务改造成 Agent 工作流,是值得做的事。
390



被折叠的 条评论
为什么被折叠?



