跳至主要內容

第9天上午_综合项目实训

周子力大约 22 分钟教学文档Python基础

第三天上午培训详解:插件应用与工作流入门

🎯 培训主题:让校园百事通"能办事、会联动"——生活小管家模块


📅 8:00-9:30|插件市场探索与集成

🔹 学习目标

  • 理解Coze插件系统的架构与价值
  • 掌握插件市场的浏览、筛选与集成方法
  • 完成天气、快递、新闻等校园高频插件的接入
  • 理解"插件权限"与"用户授权"的安全边界

🔹 插件系统核心原理

🧩 为什么需要插件?

智能体的能力边界:
❌ 原生大模型:知识截止训练时间,无法获取实时信息
❌ 知识库:仅能检索已上传的静态内容
❌ 数据库:仅存储用户个人数据,无法调用外部服务

插件的价值:
✅ 实时数据:天气/快递/股价/新闻等动态信息
✅ 专业计算:汇率转换/卡路里计算/公式求解
✅ 外部操作:发送邮件/创建日程/调用API
✅ 多模态扩展:OCR识别/语音合成/图像生成

技术架构:
┌─────────────────────────────────────┐
│ 用户提问 → 意图识别 → 插件路由      │
│                                      │
│ 若需要外部能力:                    │
│ 1. 参数提取:从自然语言解析API参数  │
│ 2. 安全校验:检查权限/频率/数据范围│
│ 3. API调用:向第三方服务发送请求    │
│ 4. 结果处理:解析JSON→格式化→输出  │
│                                      │
│ 示例流程:                          │
│ Q: "今天北京天气怎么样?"           │
│ → 识别:需要天气数据                │
│ → 路由:调用"天气查询"插件          │
│ → 参数:location="北京", date="today"│
│ → 调用:https://api.weather.com/... │
│ → 返回:{"temp": 25, "condition": "晴"}│
│ → 输出:"北京今天晴,25°C,适宜出行☀️"│
└─────────────────────────────────────┘

📊 Coze插件类型全景图

类型代表插件校园应用场景调用频率
信息查询类天气/快递/新闻/汇率提醒带伞、查快递到站、校园公告⭐⭐⭐⭐⭐
工具计算类计算器/单位转换/日历课程时间计算、BMI健康评估⭐⭐⭐
内容生成类文生图/语音合成/翻译活动海报生成、多语言通知⭐⭐
系统对接类邮件/日程/企业微信请假通知、会议提醒、审批流转⭐⭐⭐⭐
自定义API学校教务/一卡通/图书馆课表查询、余额提醒、借阅记录⭐⭐⭐⭐⭐

💡 关键认知:插件是智能体的"手脚",让它从"能聊天"升级为"能办事"[[18]][[22]]。

🔹 实操步骤:集成校园高频插件

步骤1️⃣:浏览与筛选插件(20分钟)

🎯 操作路径:
Coze平台 → 智能体编辑页 → "插件"模块 → 点击"添加插件"

🔍 插件市场使用技巧:
✅ 搜索关键词:
   • 校园场景:输入"天气""快递""新闻""日历"
   • 通用工具:输入"计算器""翻译""搜索"

✅ 筛选条件:
   • 官方认证:优先选择"Coze Official"标签插件(稳定性高)
   • 调用次数:参考"热门"排序,选择社区验证过的插件
   • 权限说明:查看"需要授权"字段,评估隐私风险

✅ 插件详情检查清单:
□ 功能描述:是否匹配校园需求?
□ 输入参数:是否需要用户敏感信息?
□ 输出格式:是否便于AI理解与展示?
□ 调用限制:免费额度是否够用?(如天气插件每日100次)

📋 本次推荐集成插件:
┌─────────────────────────────────────┐
│ 🔹 天气查询(和风天气/高德天气)    │
│ • 功能:获取指定城市实时天气/预报   │
│ • 参数:location(城市), type(实时/预报)│
│ • 场景:提醒带伞、运动建议、出行规划│
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 🔹 快递查询(快递100/菜鸟)         │
│ • 功能:通过单号查询物流状态        │
│ • 参数:express_no(快递单号)        │
│ • 场景:校园快递点取件提醒          │
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 🔹 新闻搜索(百度新闻/今日头条)    │
│ • 功能:搜索指定关键词的最新新闻    │
│ • 参数:keyword(关键词), count(条数) │
│ • 场景:校园公告、学术动态、就业信息│
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
│ 🔹 日历工具(系统日历/Google Calendar)│
│ • 功能:创建/查询/删除日程事件      │
│ • 参数:title/time/reminder等       │
│ • 场景:课程提醒、考试倒计时、活动报名│
└─────────────────────────────────────┘

步骤2️⃣:插件授权与配置(25分钟)

🔐 权限配置详解:
┌─────────────────────────────────────┐
│ 授权类型:                          │
│ • 无需授权:公开数据(如天气/新闻)│
│ • 用户授权:需用户登录(如快递查询)│
│ • 开发者授权:需配置API Key(如自定义API)│
│                                     │
│ 配置步骤(以天气插件为例):        │
│ 1. 点击"添加" → 选择"和风天气"     │
│ 2. 阅读权限说明:仅获取公开天气数据│
│ 3. 配置参数映射(关键!):         │
│    • 用户说"北京天气" → location="北京"│
│    • 用户说"明天" → type="forecast"  │
│ 4. 设置默认值:                     │
│    • location默认值:用户未指定时,│
│      使用智能体配置中的"学校所在城市"│
│ 5. 保存并测试                       │
└─────────────────────────────────────┘

⚙️ 高级配置技巧:
✅ 参数预处理:
   • 城市名标准化:用户说"北航" → 自动转为"北京"
   • 时间解析:用户说"后天" → 计算具体日期

✅ 结果后处理:
   • 字段筛选:只展示temp/condition/wind,隐藏原始JSON
   • 格式美化:25°C → "25度","sunny" → "晴☀️"

✅ 降级策略:
   • 插件调用失败时:返回友好提示+"建议手动查询"
   • 示例:"天气服务暂时不可用,您可查看[学校气象站链接]"

❌ 常见错误:
• 未配置默认值:用户说"今天天气",插件报错"缺少location参数"
• 权限过度:快递插件要求手机号,但校园场景只需单号
• 结果未处理:直接输出API原始JSON,用户难以阅读

步骤3️⃣:插件关联与优先级设置(15分钟)

🔗 绑定到智能体:
1. 在"插件"模块确认已添加的插件列表
2. 设置调用优先级(当多个插件可能响应时):
   • 高频插件置顶:天气 > 快递 > 新闻
   • 场景化分组:将"生活类"插件归为一组

⚙️ 插件调用策略配置:
┌─────────────────────────────────────┐
│ 触发条件:                          │
│ • 自动触发:用户问题匹配插件意图时  │
│   例:含"天气""温度""下雨"→调用天气插件│
│ • 手动触发:需用户明确指令          │
│   例:"用快递插件查一下SF123456"   │
│ 推荐:高频插件设自动,敏感插件设手动│
│                                     │
│ 并行/串行调用:                     │
│ • 并行:天气+空气质量同时查询(提升速度)│
│ • 串行:先查快递状态→再查取件点地图│
│ 默认:并行(除非有依赖关系)        │
│                                     │
│ 超时与重试:                        │
│ • 超时时间:默认5秒(避免用户等待)│
│ • 重试次数:1次(平衡成功率与体验)│
└─────────────────────────────────────┘

🧪 快速验证:
在预览窗口测试:
"北京今天会下雨吗?"
→ 预期:调用天气插件,返回"北京今天晴,降水概率10%,无需带伞☀️"
→ 检查:是否自动提取location="北京",是否格式化输出

💡 最佳实践:在系统提示词中添加"插件使用指南",明确告知AI何时调用插件、如何处理结果、如何优雅降级[[19]]。


📅 9:30-10:45|插件调用实战

🔹 学习目标

  • 掌握插件调用的提示词设计技巧
  • 学会优化参数提取与结果展示的交互体验
  • 通过实战测试天气/快递/新闻插件的调用效果
  • 理解"插件+知识库+数据库"的协同工作模式

🔹 插件调用提示词设计框架

🎯 核心原则:意图识别 → 参数提取 → 插件调用 → 结果融合

# 插件调用提示词模板(生活小管家场景)

## 角色增强
你是一位贴心的校园生活管家,擅长调用实用工具帮师生解决日常问题。所有外部调用均遵守隐私保护原则,敏感操作需用户确认。

## 插件路由规则
当用户问题包含以下关键词时,优先调用对应插件:

### 🌤️ 天气查询
触发词:天气/温度/下雨/带伞/穿衣/紫外线
参数提取:
• location:优先用户指定城市,否则使用[学校所在城市]
• date:今天/明天/后天 → 转换为YYYY-MM-DD
• detail_level:用户问"会下雨吗"→返回降水概率;问"天气怎么样"→返回完整预报

示例:
Q: "下午体育课会下雨吗?"
→ 解析:location="学校城市", time="afternoon", focus="precipitation"
→ 调用:天气插件(type="hourly")
→ 输出:"下午降水概率20%,体育课可正常进行☀️ 建议备一件薄外套~"

### 📦 快递查询
触发词:快递/物流/单号/取件/菜鸟/顺丰
参数提取:
• express_no:提取6-20位字母数字组合(如SF123456789)
• auto_detect:若用户未提供单号,引导"请提供快递单号,或授权查询绑定手机号"

安全约束:
⚠️ 不存储用户快递单号
⚠️ 不主动询问手机号等敏感信息
⚠️ 查询结果仅展示当前会话

示例:
Q: "查一下SF123456789到哪了"
→ 调用:快递插件(express_no="SF123456789")
→ 输出:"📦 您的快递状态:
   • 最新:已到达[XX大学菜鸟驿站]
   • 预计:今天18:00前可取件
   • 📍 取件码:8-2-3056(请截图保存)"

### 📰 新闻搜索
触发词:新闻/公告/通知/动态/就业/学术
参数提取:
• keyword:提取核心主题,如"奖学金""招聘会""讲座"
• source_filter:用户说"校园新闻"→添加site:xxu.edu.cn
• count:默认3条,用户说"多几条"→增至5-8条

结果处理:
• 去重:过滤标题/内容高度相似的条目
• 排序:按发布时间倒序,确保信息时效性
• 摘要:每条新闻生成1句话核心摘要

示例:
Q: "最近有什么校园招聘会?"
→ 调用:新闻插件(keyword="校园招聘 2026", source="edu.cn")
→ 输出:"🎓 近期校园招聘:
   1️⃣ [3月15日] IT企业专场(体育馆)
      💼 参会:腾讯/阿里/字节等30家
      🔗 详情:[链接]
   2️⃣ [3月20日] 教育行业双选会(报告厅)
      ... 
   💡 建议:提前准备简历,关注[就业中心公众号]"

🔹 进阶技巧实战

✨ 技巧1:多插件协同调用

🎯 场景:用户问题需要多个插件结果融合
Q: "明天适合户外运动吗?查下天气和空气质量"

✅ 理想交互:
1️⃣ 并行调用:
   • 天气插件:获取temp/precipitation/wind
   • 空气质量插件:获取AQI/PM2.5/建议
   
2️⃣ 结果融合:
   "🌤️ 明天运动建议:
   • 天气:晴,22°C,微风💨
   • 空气:AQI 45(优),适合户外活动✅
   • 🏃 推荐:晨跑/羽毛球(避开12:00-14:00高温时段)
   • ⚠️ 提醒:紫外线中等,建议涂防晒"

🔧 提示词实现:
## 多插件协同规则
当用户问题包含多个意图时:
1. 拆解子问题:识别需要调用的插件列表
2. 并行执行:无依赖关系的插件同时调用
3. 结果对齐:统一时间/地点等维度
4. 综合建议:基于多源数据给出 actionable 建议

💡 实现建议:
• 在提示词中预定义"协同场景"模板
• 对冲突结果(如天气说晴/空气质量说污染)优先展示风险项

✨ 技巧2:插件结果的知识库增强

🎯 场景:插件返回原始数据,需结合校园知识解读
Q: "今天紫外线指数7,需要注意什么?"

✅ 理想输出:
"☀️ 紫外线指数7(高)防护建议:
• 🧴 出门前30分钟涂抹SPF30+防晒霜
• 🕶️ 佩戴太阳镜+遮阳帽(图书馆门口有共享伞)
• ⏰ 避开10:00-16:00强紫外线时段
• 🏫 校内阴凉路线推荐:教学楼连廊→图书馆地下通道

📚 知识来源:
• 紫外线数据:天气插件实时返回
• 防护建议:《校园健康手册》第3章
• 路线推荐:校园地图知识库"

🔧 提示词增强:
## 结果增强指令
当插件返回专业数据时:
1️⃣ 解读数据:将指数/数值转换为用户可理解的建议
2️⃣ 关联知识:从文本/图片知识库补充校园场景信息
3️⃣ 行动指引:给出具体、可执行的下一步建议

示例规则:
IF 紫外线指数 ≥ 6 
THEN 调用《健康手册》知识库,提取"防晒"相关段落
AND 调用校园地图,推荐"室内活动/阴凉路线"

✨ 技巧3:用户授权与隐私保护

🎯 场景:插件需要用户敏感信息(如快递绑定手机号)
❌ 低效:直接要求"请提供手机号"
✅ 高效:分层授权+最小化收集

🔧 提示词设计:
## 隐私保护原则
• 最小化:仅收集完成功能必需的信息
• 透明化:明确告知信息用途与存储策略
• 用户控制:提供"取消授权""删除记录"入口

示例交互:
Q: "帮我查一下最近有哪些快递"
AI: 
  "📦 查询绑定快递需要授权:
   • 用途:仅用于本次会话的物流状态查询
   • 存储:不保存您的手机号/身份信息
   • 授权:[✅ 同意查询] [❌ 手动输入单号]
   
   💡 小提示:您也可在[菜鸟APP]查看,或提供单号我帮您查~"

用户选择"同意"后:
→ 调用快递插件(scope="user_bound_packages")
→ 返回结果+再次确认:"以上快递信息仅本次显示,是否添加到个人任务清单?[✅是] [❌否]"

✨ 技巧4:插件调用失败降级

🎯 场景:插件超时/限流/服务异常
✅ 优雅降级策略:

Level 1:重试+提示
"🌤️ 天气服务响应较慢,正在重试(1/2)..."

Level 2:备用数据源
"主天气服务暂时不可用,已切换至备用源~
北京今天晴,25°C(数据来自学校气象站)"

Level 3:知识库兜底
"实时天气暂时无法获取,根据历史数据:
北京2月下旬平均气温15-25°C,建议洋葱式穿衣~
🔗 实时查询:[中国天气网链接]"

Level 4:人工引导
"抱歉,该功能暂时不可用~
您可:
• 关注[学校后勤公众号]获取天气提醒
• 联系校园助手人工客服(工作日9:00-17:00)"

🔧 提示词实现:
## 降级策略配置
对每个插件定义fallback链:
weather_plugin:
  primary: 和风天气API
  backup: 高德天气API  
  knowledge: 《校园气候指南》历史数据
  manual: 官方查询链接+客服入口

当调用失败时:
1. 记录错误类型(超时/鉴权/限流)
2. 按优先级尝试备用方案
3. 最终无法解决时,提供清晰的用户指引

🔹 测试与调试:插件调用效果验证

🧪 测试用例设计(6个核心场景)

【天气插件】
1. Q: "今天需要带伞吗?"
   ✅ 预期:调用天气插件,返回降水概率+穿衣建议
   ✅ 检查:是否自动使用学校所在城市作为默认location

2. Q: "上海明天天气"
   ✅ 预期:准确解析location="上海",返回预报
   ✅ 检查:城市名标准化(如"魔都"→"上海")

【快递插件】
3. Q: "查快递SF123456789"
   ✅ 预期:提取单号,返回最新物流状态
   ✅ 检查:是否隐藏敏感信息(如收件人姓名)

4. Q: "我有哪些快递?"
   ✅ 预期:引导授权或手动输入,不直接报错
   ✅ 检查:隐私保护流程是否完整

【新闻插件】
5. Q: "最近校园有什么讲座?"
   ✅ 预期:搜索"校园讲座"相关新闻,按时间排序
   ✅ 检查:是否过滤非教育类噪声结果

【异常处理】
6. Q: "查快递123"(无效单号)
   ✅ 预期:友好提示"单号格式有误,请检查后重试"
   ✅ 检查:是否提供格式示例(如"SF+9位数字")

🔧 调试技巧:当插件调用不准确时

🔍 问题诊断流程:

1️⃣ 检查意图识别:
   • 用户说"外面冷吗"是否被识别为天气查询?
   • 提示词中trigger words是否覆盖口语变体?

2️⃣ 检查参数提取:
   • 时间/地点等参数是否准确解析?
   • 对模糊输入(如"下周")是否有澄清机制?

3️⃣ 检查插件配置:
   • API Key是否有效?额度是否用尽?
   • 参数映射规则是否正确(如location字段名)?

🛠️ 优化方案:

方案A:增强few-shot示例
   • 在提示词中添加典型问答对:
     ```
     用户:"下午会下雨吗"
     → 调用:weather_plugin(location="北京", type="hourly", focus="precipitation")
     ```

方案B:添加参数校验层
   • 对关键参数(如快递单号)添加格式校验
   • 无效时提前拦截,避免无效API调用

方案C:日志追踪(高级)
   • 开启插件调用日志
   • 记录:请求参数、响应时间、错误码
   • 便于定位"为什么没查到快递"等问题

💡 交互设计原则:插件调用是"黑盒"操作,务必通过清晰的进度提示、友好的错误处理、可理解的输出格式,让用户感知到AI的"努力"与"专业"[[24]]。


📅 10:45-12:00|工作流概念与入门

🔹 学习目标

  • 理解工作流(Workflow)的核心价值与适用场景
  • 掌握Coze工作流的节点类型与编排逻辑
  • 完成首个"信息汇总"工作流的创建与测试
  • 理解"工作流 vs 插件 vs 提示词"的协作边界

🔹 工作流核心原理

🔄 为什么需要工作流?

单一插件的局限:
❌ 线性执行:只能完成单一任务(如查天气)
❌ 无状态:每次调用独立,无法记忆中间结果
❌ 难组合:多个插件串联需复杂提示词控制

工作流的价值:
✅ 流程编排:可视化拖拽,定义多步骤执行逻辑
✅ 状态管理:节点间传递数据,支持条件分支/循环
✅ 错误处理:每个节点可配置重试/降级策略
✅ 复用共享:工作流可被多个智能体调用

典型校园场景:
┌─────────────────────────────────────┐
│ 场景:新生报到指引                  │
│ 工作流步骤:                        │
│ 1️⃣ 输入:学生姓名+学号            │
│ 2️⃣ 查询:教务系统→获取专业/班级   │
│ 3️⃣ 查询:宿舍系统→分配楼栋/房间  │
│ 4️⃣ 查询:地图知识库→生成报到路线  │
│ 5️⃣ 整合:输出个性化报到指南       │
│ 6️⃣ 记录:写入数据库→标记"已报到"  │
└─────────────────────────────────────┘

🧩 Coze工作流核心组件

┌─────────────────────────────────────┐
│ 节点类型:                          │
│                                     │
│ 🔹 开始节点(Start)                │
│ • 定义输入参数:user_input, user_id │
│ • 示例:{"question": "报到流程", "student_id": "2026001"}│
│                                     │
│ 🔹 插件节点(Plugin)               │
│ • 调用已集成的插件                  │
│ • 配置:输入参数映射 + 输出字段提取│
│ • 示例:天气插件→提取temp/condition│
│                                     │
│ 🔹 代码节点(Code)                 │
│ • 执行Python/JS自定义逻辑          │
│ • 场景:数据清洗/格式转换/简单计算│
│ • 示例:将"25°C"转换为数字25       │
│                                     │
│ 🔹 条件节点(Condition)            │
│ • 基于表达式分支:if/else          │
│ • 示例:if precipitation > 50% → 分支A│
│                                     │
│ 🔹 知识库节点(Knowledge)          │
│ • 检索文本/表格/图片知识库         │
│ • 配置:query + top_k + 过滤条件  │
│                                     │
│ 🔹 数据库节点(Database)           │
│ • 执行CRUD操作                     │
│ • 配置:SQL模板 + 参数绑定         │
│                                     │
│ 🔹 结束节点(End)                  │
│ • 定义输出格式                     │
│ • 示例:{"answer": "最终回复", "sources": [...]}│
│                                     │
│ 🔹 人工节点(Human-in-the-loop)【高级】│
│ • 暂停流程,等待人工审核/输入      │
│ • 场景:敏感操作二次确认           │
└─────────────────────────────────────┘

数据流转机制:
• 全局变量:workflow_input存储初始输入
• 节点输出:每个节点结果自动传递给下游

🔹 实操步骤:创建"信息汇总"工作流

步骤1️⃣:场景设计与流程规划(20分钟)

🎯 实战场景:校园日报生成器
用户指令:"帮我总结一下今天的校园重要信息"

📋 工作流设计:
┌─────────────────────────────────────┐
│ 开始节点                            │
│ 输入:user_id, date(默认today)     │
└────────┬────────────────────────────┘
         ▼
┌─────────────────────────────────────┐
│ 并行分支(提高响应速度)            │
├─────────────────┬─────────────────┤
▼                 ▼                 ▼
┌─────────┐ ┌─────────┐ ┌─────────┐ │
│天气插件  │ │新闻插件  │ │数据库  │ │
│查今日天气│ │搜校园公告│ │查用户任务│ │
└────┬────┘ └────┬────┘ └────┬────┘ │
     │           │           │        │
     ▼           ▼           ▼        │
┌─────────────────────────────────────┐
│ 整合节点(Code)                    │
│ 功能:                              │
│ • 格式化天气:25°C → "25度晴"      │
│ • 筛选新闻:仅保留教育类+72小时内  │
│ • 聚合任务:统计pending数量        │
│ 输出:structured_data              │
└────────┬────────────────────────────┘
         ▼
┌─────────────────────────────────────┐
│ 条件节点                            │
│ 逻辑:                              │
│ if 有逾期任务 → 添加⚠️高亮提醒    │
│ if 降水概率>70% → 添加🌂带伞建议  │
└────────┬────────────────────────────┘
         ▼
┌─────────────────────────────────────┐
│ 结束节点                            │
│ 输出模板:                          │
│ "📅 校园日报 {{date}}              │
│ 🌤️ 天气:{{weather.summary}}      │
│ 📰 重要通知:{{news.list}}         │
│ ✅ 你的任务:{{tasks.pending}}项待办│
│ {{reminder}}                        │
│ 💡 建议:{{suggestion}}"           │
└─────────────────────────────────────┘

步骤2️⃣:可视化编排工作流(25分钟)

🎯 操作路径:
Coze平台 → 左侧导航"工作流" → 点击"创建新工作流"

📋 编排实操指南:

1️⃣ 添加开始节点:
   • 拖拽"Start"到画布
   • 配置输入参数:
     ```json
     {
       "user_id": {"type": "string", "required": true},
       "date": {"type": "string", "default": "today"}
     }
     ```

2️⃣ 添加并行插件节点:
   • 拖拽3个"Plugin"节点,分别配置:
     
     🌤️ 天气节点:
     • 插件:和风天气
     • 输入映射:location → "北京"(或从用户画像读取)
     • 输出提取:temp, condition, precipitation
     
     📰 新闻节点:
     • 插件:百度新闻
     • 输入映射:keyword → "XX大学 通知", time_range → "3d"
     • 输出提取:title, summary, publish_time, link
     
     📋 任务节点:
     • 插件:数据库查询
     • 输入映射:user_id → {{start.user_id}}, status → "pending"
     • 输出提取:count, items[].title

3️⃣ 添加代码整合节点:
   • 拖拽"Code"节点,选择Python语言
   • 编写数据清洗逻辑:
     ```python
     def main(weather, news, tasks):
         # 格式化天气
         weather_summary = f"{weather['temp']}°{weather['condition']}"
         if weather['precipitation'] > 50:
             weather_summary += "🌂 建议带伞"
         
         # 筛选新闻(仅教育类+72h内)
         filtered_news = [
             {"title": n["title"], "link": n["link"]}
             for n in news 
             if "edu.cn" in n.get("source", "")
         ][:3]  # 只取前3条
         
         # 生成任务摘要
         task_summary = f"{tasks['count']}项待办"
         if tasks['count'] > 3:
             task_summary += " ⚠️ 任务较多,建议优先处理高优先级"
         
         return {
             "weather": weather_summary,
             "news": filtered_news,
             "tasks": task_summary
         }
     ```
   • 配置输入:引用上游节点输出
   • 配置输出:定义返回字段

4️⃣ 添加条件与结束节点:
   • 条件节点:设置表达式 `weather.precipitation > 70`
   • 结束节点:使用Jinja2模板格式化最终输出
     ```jinja2
     📅 校园日报 {{date}}
     
     🌤️ 天气:{{weather}}
     
     📰 重要通知:
     {% for item in news %}
     • {{item.title}} 🔗 {{item.link}}
     {% endfor %}
     
     ✅ 你的任务:{{tasks}}
     
     {% if reminder %}
     ⚠️ 提醒:{{reminder}}
     {% endif %}
     
     💡 建议:今日{{suggestion}}
     ```

✅ 编排后检查清单:
□ 所有节点连接正确(箭头指向下游)
□ 参数引用语法正确:{{node_id.output.field}}
□ 代码节点无语法错误(点击"测试运行"验证)
□ 结束节点输出字段与智能体期望一致

步骤3️⃣:测试与关联智能体(15分钟)

🧪 工作流测试:
1. 点击工作流编辑页右上角"测试"
2. 输入测试参数:
   ```json
   {
     "user_id": "test_001",
     "date": "2026-02-21"
   }
  1. 观察执行过程: • 绿色✓:节点执行成功 • 红色✗:点击查看详情(常见:参数缺失/API限流) • 黄色⚠️:条件分支未命中(正常)

  2. 验证输出: • 格式是否符合预期模板 • 动态内容是否正确填充 • 异常分支是否优雅处理

🔗 关联到智能体:

  1. 保存工作流,复制Workflow ID
  2. 进入"智慧校园助手"编辑页 → "工作流"模块
  3. 点击"添加工作流" → 粘贴ID
  4. 配置触发条件: • 触发词:["日报", "总结一下", "今天有什么"] • 参数映射:用户问题 → workflow_input

🧪 端到端测试: 在预览窗口提问: "帮我总结一下今天的校园重要信息" → 预期:触发工作流,返回结构化日报 → 检查:天气/新闻/任务三部分是否完整,格式是否美观


### 🔹 工作流 vs 插件 vs 提示词:协作边界

🎯 选择指南:

┌─────────────────────────────────────┐ │ 用提示词解决: │ │ • 简单规则判断 │ │ • 文本生成与格式化 │ │ • 意图识别与路由 │ │ 示例:"用户问天气→调用天气插件" │ └─────────────────────────────────────┘

┌─────────────────────────────────────┐ │ 用插件解决: │ │ • 单次外部API调用 │ │ • 实时数据获取 │ │ • 专业工具计算 │ │ 示例:查天气/查快递/计算器 │ └─────────────────────────────────────┘

┌─────────────────────────────────────┐ │ 用工作流解决: │ │ • 多步骤任务编排 │ │ • 条件分支/循环逻辑 │ │ • 多源数据融合 │ │ 示例:新生报到指引/请假审批流程 │ └─────────────────────────────────────┘

💡 最佳实践: • 优先用提示词:轻量、易维护 • 复杂逻辑用工作流:可视化、可调试 • 避免过度工程:简单场景不必强上工作流


---

## 📋 上午培训成果检查清单

✅ 能力达成: □ 能独立浏览插件市场,筛选并集成校园高频插件 □ 能编写支持参数提取/结果融合/降级处理的插件调用提示词 □ 理解工作流核心概念,掌握5种以上节点类型的使用 □ 能创建并测试一个包含并行/条件/代码节点的"信息汇总"工作流 □ 掌握"提示词→插件→工作流"的协作边界与选型原则

📊 交付物要求: • 1个集成3+插件的智能体配置截图 • 1份插件调用提示词(含天气/快递/新闻场景) • 1个可运行的"校园日报"工作流(导出JSON或截图) • 1页个人心得:插件/工作流应用的1个关键洞察

🎯 下午预告: 【工作流进阶与模块整合】 • 复杂工作流:条件分支/循环/错误处理实战 • 实战:构建"请假申请"自动化流程 (学生提交→辅导员审批→系统备案→结果通知) • 模块整合:生活小管家+奖学金管家+校园百事通 • 发布部署:嵌入微信公众号/学校官网/APP

💡 预习建议: • 思考:哪些校园事务适合工作流自动化? (如:活动报名→资格校验→名额扣减→通知确认) • 了解:学校是否有审批类API可供对接?


---

## 📚 附:插件与工作流资源包

📂 当日提供材料:

  1. 《Coze插件集成手册.pdf》
  2. 《工作流编排最佳实践.md》
  3. 《校园场景插件推荐清单.xlsx》
  4. 《信息汇总工作流模板.json》

🔗 技术参考: • 插件市场:https://www.coze.cn/plugins • 工作流文档:https://www.coze.cn/docs/workflow • 社区案例:#生活助手 标签下的日报/提醒类项目

💬 持续支持: • 插件调试:提供API测试工具+Mock数据 • 工作流Review:提交流程图获取优化建议 • 场景孵化:优秀工作流可推荐至学校信息化中心复用

🎓 讲师寄语: 今天你掌握了让智能体"能办事"的关键技能。 记住:技术的价值不在于复杂,而在于解决真实问题。 从师生的一句"好方便"开始,让AI真正融入校园生活✨


> 🔐 **安全与合规提醒**:调用外部插件时,务必:① 验证API来源可靠性 ② 不传输用户敏感信息 ③ 遵守第三方服务条款 ④ 为用户提供"关闭插件"的自主权[[27]]。
上次编辑于:
贡献者: zilizhou