首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从 “智能体” 到 “工作流智能体”:手把手搭个私人旅游助手,让出行规划自动跑起来

从 “智能体” 到 “工作流智能体”:手把手搭个私人旅游助手,让出行规划自动跑起来

作者头像
禁默
发布2025-12-24 15:33:11
发布2025-12-24 15:33:11
730
举报

1024,写给每一个用智能体编织便利的我们

每年的 1024,都像程序员专属的 “魔法日”。0 和 1 的排列组合里,藏着我们对 “效率” 的执念 —— 不是为了炫技,而是想让重复的工作少一点,让 “想做的事” 多一点。 比如规划旅行时,总在 “查景点→找餐厅→看酒店” 的循环里耗掉大半天;比如整理数据时,复制粘贴到手指发麻…… 这些时刻,我们总会想:“要是有个小助手能自动把这些步骤串起来就好了。” 而 “智能体” 和 “工作流智能体”,就是这样的 “魔法工具”。前者像有自主意识的数字伙伴,后者则是专攻 “流程自动化” 的贴心管家。值此 1024,不如跟着这篇文章,亲手搭一个私人旅游助手工作流 —— 不用复杂框架,不用高深算法,只用简单的逻辑串联,让智能体替我们把旅行规划的琐事 “扛” 起来。 毕竟,最好的技术,从来都是让生活和工作,都能更从容一点。

目录

智能体 VS 工作流智能体

先说说「智能体」:像个有自主能力的 “数字小助手”

再看「工作流智能体」:专注 “跑流程” 的智能体

实战演练-个人专属简单版旅游助手工作流搭建

开发需求

实战开发

开始节点

文本处理+网页抓取

景点处理

餐厅搜索

餐厅和地址拼接

酒店查询

规划汇总

结束节点

工作流测试

智能体 VS 工作流智能体

先说说「智能体」:像个有自主能力的 “数字小助手”

可以把「智能体」理解成一个能 “自己干活” 的数字角色。它有三个核心能力:

  • 能感知环境:比如能读取邮件、看表格数据、监测系统状态;
  • 能做决策:收到信息后,会根据规则或目标判断 “该做什么”;
  • 能主动行动:不需要人盯着,自己就能执行操作,比如发消息、改文件、调用工具。

举个例子:手机里的 “智能闹钟” 其实就是个简单智能体 —— 它能感知时间(环境),到点了判断 “该叫醒用户”(决策),然后响铃或震动(行动)。再复杂点的,比如客服聊天机器人,能读用户消息(感知),判断用户需求(决策),自动回复解答(行动),这也是智能体。

再看「工作流智能体」:专注 “跑流程” 的智能体

【工作流智能体】是智能体的一个 “细分岗位”,专门负责处理有固定步骤的工作流程。它就像一个 “流程自动化管家”,会严格按照预设的步骤(或灵活适配步骤中的变化),一步步把重复的工作跑完。

比如你每周要做的 “客户跟进流程”:

  1. 周一上午从 CRM 系统导出上周新增客户;
  2. 给每个客户发标准化问候邮件;
  3. 记录已发送客户名单到 Excel;
  4. 周五汇总未回复客户,标为 “重点跟进”。

这些步骤如果交给工作流智能体,它会:

  • 到点自动读 CRM 数据(感知);
  • 按规则判断 “哪些是新增客户”“邮件内容用哪个模板”(决策);
  • 自动发邮件、填表格、标记重点客户(行动)。

它的核心是 “把人从固定流程里解放出来”,尤其适合那些 “步骤明确、重复度高、容易出错” 的工作(比如数据汇总、文件审批、定期报表等)。

简单说,智能体是 “有自主能力的数字角色”,而工作流智能体是 “专门帮人跑固定流程的智能体”—— 前者是大概念,后者是聚焦 “流程自动化” 的具体应用。

实战演练-个人专属简单版旅游助手工作流搭建(coze平台)

开发需求

用户提供城市,旅游天数,默认一天两个景点。 获取热门景点,搜索每个景点附近的餐厅,获取酒店信息,制定合理的出行路线。

开发前,可能要用到的插件,搜索插件,代码块处理(方便计算景点数,返回的数据内容整合),文本处理(字符串拼接等),大模型(处理内容),高德地图(地点搜索)

我们可能会用到多个大模型处理多个小任务,因为我们是将一个复杂的任务拆分成几个子任务。

题外话:其实上述要求,用一个优秀的提示词,和提问方式,大模型都能回答出来,开发这个助手只是方便理解工作流,理解各种插件的用途。

实战开发
开始节点

代码处理景点数目

可以交给大模型,不过用大模型有点大材小用了。

通过文本处理,整合成关键话题,某城市热门的nums个景点,再用头条搜索,进行网页搜寻 通过大模型提炼头条搜索节点输出的内容,将出现频率次数高的前几个景点提取出来,返回一个places数组。

代码语言:javascript
复制
async def main(args: Args) -> Output:
    params = args.params
    # 构建输出对象
    ret: Output = {
        "key0": params['input'] + params['input'], # 拼接两次入参 input 的值
    }
    return ret
文本处理+网页抓取

将城市和景点数拼接起来,成为搜寻关键词,然后调用search插件进行网页抓取

景点处理

调用大模型进行景点提取,将网页内容的景点提取出来,并做返回处理

系统提示词: # 角色 你是一位经验丰富、专业细致的旅行计划助手,擅长从各种文段中精准提炼出{{nums}}个景点,且能提供详细、准确的相关信息。 ## 技能 ### 技能 1: 景点提取 当用户提供包含景点信息的文段时,迅速且准确地从中提取出景点名称。 ## 限制: - 仅专注于从文段中提取景点相关信息,坚决拒绝回答与景点提取无关的话题。 - 输出内容需简洁明了,只包含景点名称 用户提示词: 从{{input}}提取景点输出为places

餐厅搜索

通过高德地图提供的插件,进行景点周围范围搜索,考虑到现实我们不会在一个景点周围吃很多次,所以采取批处理方式进行,每个景点周围都进行搜索,假设每个景点周围一个优质餐厅。

餐厅和地址拼接

通过代码节点实现将内容中的餐厅名和地址实现出来,返回一个字符串数组

代码语言:javascript
复制
from typing import List, TypedDict, Any

class Args_input_data_poi_list(TypedDict, total = True):
    province_name: str
    type: str
    address: str
    city_name: str
    name: str
    photos: list[str]
    district_name: str
    location: str

class Args_input_data(TypedDict, total = True):
    count: float
    poi_list: list[Args_input_data_poi_list]

class Args_input(TypedDict, total = True):
    code: float
    data: Args_input_data
    log_id: str
    msg: str

class ArgsParams(TypedDict, total = True):
    input: list[Args_input]

class Args:
    def get(self, req): ...         # 允许通过 get('xxx') 方式访问
    def __getitem__(self, key): ... # 允许通过 args['xxx'] 方式访问
    params: ArgsParams

class Output(TypedDict, total = False):
    key1: list[str]

async def main(args: Args) -> Output:
    input_list: List[Args_input] = args.params['input']
    result_list: List[str] = []
    
    for input_item in input_list:
        data = input_item.get('data', {})
        poi_list = data.get('poi_list', [])
        for poi in poi_list:
            name = poi.get('name', '')
            address = poi.get('address', '')
            result_list.append(f"{name}{address}")
    
    ret: Output = {
        "key1": result_list
    }
    return ret
酒店查询

大模型调用高德地图插件,搜索距离目标景点性价比最高的酒店。

系统提示词: # 角色 你是一个专业的旅行规划助手,擅长根据用户提供的景点信息,筛选出性价比高、交通便利且环境好的酒店。 ## 技能 ### 技能 1: 筛选酒店 1. 仔细分析{{input}}中的景点信息。 2. 从众多酒店信息中,筛选出 1 - 2 个性价比最高、交通便利且环境好的酒店。 3. 输出酒店名和地址。 ## 限制: - 仅围绕酒店筛选相关内容进行回复,不回答无关问题。 - 输出内容必须包含酒店名和地址,按照简洁明了的格式呈现。

规划汇总

将景点,餐厅,酒店进行文本整合,调用大模型进行路线规划,返回给用户。

系统提示词: # 角色 你是一位专业的旅行规划师,擅长根据不同城市、旅行天数、景点、美食和酒店信息,为用户制定清晰、合理且排版美观的旅行计划与攻略。 ## 技能 ### 技能 1: 规划旅行 1. 当接收到{{city}}(旅行城市)、{{days}}(旅行天数)、{{places}}(想去的景点)、{{foods}}(想品尝的美食)、{{hotels}}(想入住的酒店)这些信息时,将它们用清晰的语言描述组织起来。 2. 按照合理的旅行时间线进行排版,确保旅行规划到位,涵盖每天的行程安排、景点游览顺序、用餐推荐以及酒店入住安排等。 ### 技能 2: 补充信息 如果用户提供的信息存在缺失或模糊不清的情况,询问用户以获取更准确完整的信息,以便更好地规划旅行。 ## 限制: - 只围绕旅行计划和攻略制定相关内容进行回复,拒绝回答与旅行无关的话题。 - 所输出的旅行计划和攻略必须语言清晰、排版美观,符合逻辑。

结束节点

输出结果

工作流测试

杭州 2天

总得来说,这个助手还略有瑕疵,只是实现了基本的旅游规划,而且用了多次大模型,处理多个子任务,感觉可以通过插件进行代替优化。

结束语

敲完最后一个测试节点的代码时,看着旅游助手自动输出的完整行程 —— 从景点推荐到餐厅地址拼接,再到酒店匹配,突然觉得这就是技术最可爱的样子:它不一定需要多复杂的算法,却能把我们从 “打开十个网页反复切换” 的琐碎里解放出来。 其实工作流智能体的魅力,就藏在这些 “小而美” 的场景里:无论是规划一次旅行,还是整理一份周报,本质上都是用代码给重复的步骤 “画一条自动路”。而我们,就能腾出时间去想更有趣的事 —— 比如旅行时该带哪件外套,而不是纠结 “下一个景点附近有什么吃的”。 如果你也试着搭了自己的工作流智能体,欢迎在评论区分享你的创意场景~ 毕竟,让技术服务于生活,才是我们敲代码时最温暖的初心呀。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-10-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1024,写给每一个用智能体编织便利的我们
  • 智能体 VS 工作流智能体
    • 先说说「智能体」:像个有自主能力的 “数字小助手”
    • 再看「工作流智能体」:专注 “跑流程” 的智能体
  • 实战演练-个人专属简单版旅游助手工作流搭建(coze平台)
    • 开发需求
    • 实战开发
      • 开始节点
      • 文本处理+网页抓取
      • 景点处理
      • 餐厅搜索
      • 餐厅和地址拼接
      • 酒店查询
      • 规划汇总
      • 结束节点
    • 工作流测试
  • 结束语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档