news 2026/4/25 5:18:16

手把手教你开发简易旅游规划 Agent!50 行代码入门 AI 智能体

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手把手教你开发简易旅游规划 Agent!50 行代码入门 AI 智能体

“想入门 Agent 开发,但不知道从哪下手?” 其实不用一开始我们不用搞复杂的多模块协同,今天咱们用 50 行左右代码,开发一个能规划 “城市一日游” 的简易 Agent—— 不用高深技术,了解Python基础的就能搞定,看完就能上手实操!

一、先明确:我们要做个啥样的 Agent?

这次开发的 “简易旅游规划 Agent”,核心目标很简单:

用户输入 “城市 + 游玩偏好”(比如 “上海 + 喜欢文艺打卡”),Agent 能自动完成 3 件事:

  1. 拆解需求:提取 “上海”“文艺打卡” 等关键信息;
  2. 调用工具:查上海文艺类景点(用简易数据模拟工具调用);
  3. 生成结果:输出含 “景点 + 推荐理由 + 大致时间” 的一日游行程。

在技术上我们不搞复杂的向量数据库或多模块,直接用 “LLM + 简易工具模拟” 去实现,重点帮大家理解 Agent“接收需求→执行任务→输出结果” 的核心逻辑。

二、开发前准备:3 分钟搞定环境

1. 技术选型(新手友好版)

  • 核心大脑:用 OpenAI 的 GPT-3.5-turbo(也能用国内的文心一言、通义千问 API,用法类似);
  • 开发语言:Python 3.8+(最通用);
  • 必备库openai(调用 LLM)、python-dotenv(管理 API 密钥,避免泄露)。

2. 环境搭建(复制粘贴就行)

先安装需要的库:

pip install openai python-dotenv

然后准备一个.env文件,把你的 OpenAI API 密钥放进去(密钥在 OpenAI 官网个人中心获取):

OPENAI_API_KEY=你的API密钥

三、核心代码:50 行实现旅游规划 Agent

咱们把 Agent 拆成 “需求解析”“工具调用”“结果生成” 3 个函数,逻辑和之前讲的 Agent 工作流程完全对应,每一步都有详细注释,跟着看就懂!

#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 旅游规划Agent - 改进版 功能:根据用户需求生成一日游行程 """ import os import json # 替换eval,安全解析JSON from openai import OpenAI from dotenv import load_dotenv # 加载API密钥(从.env文件里读,安全不泄露) load_dotenv() # 安全获取API密钥,避免密钥泄露风险 oai_api_key = os.getenv("OPENAI_API_KEY") if not oai_api_key: raise ValueError("未找到OpenAI API密钥,请在.env文件中设置OPENAI_API_KEY") client = OpenAI(api_key=oai_api_key) # 需求解析函数——把用户的话变成清晰指令 def parse_user_requirement(user_input): """让LLM提取用户需求里的城市和偏好""" try: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是需求解析助手,从用户输入中提取「城市」和「游玩偏好」,格式用JSON字典返回,例如{'city':'上海','preference':'文艺打卡'},不要包含任何其他解释性文字"}, {"role": "user", "content": user_input} ] ) # 使用json.loads代替eval,安全解析JSON字符串 response_content = response.choices[0].message.content.strip() # 确保返回格式是有效的JSON if response_content.startswith('{') and response_content.endswith('}'): return json.loads(response_content) else: raise ValueError(f"LLM返回格式错误: {response_content}") except Exception as e: print(f"需求解析失败: {str(e)}") # 返回默认值或抛出异常 raise # 工具调用函数——模拟查景点(实际项目可换成调用高德/百度地图API) def call_attraction_tool(city, preference): """模拟调用“景点查询工具”,返回符合偏好的景点列表""" # 实际开发中,这里可以换成调用真实API(如高德地图“周边搜索”接口) # 为了方便新手,先用模拟数据演示 mock_attractions = { "上海": { "文艺打卡": ["武康路(老洋房+网红店,建议2小时)", "M50创意园(艺术展+涂鸦墙,建议1.5小时)", "愚园路(小众咖啡馆+文创店,建议2小时)"], "亲子游玩": ["上海迪士尼(一整天)", "上海动物园(建议3小时)", "奈尔宝家庭中心(室内游乐场,建议4小时)"] }, "北京": { "文艺打卡": ["798艺术区(展览+雕塑,建议3小时)", "五道营胡同(文艺小店+咖啡馆,建议2小时)", "杨梅竹斜街(小众书店+文创,建议1.5小时)"], "亲子游玩": ["北京动物园(看熊猫,建议3小时)", "中国科学技术馆(互动体验,建议4小时)", "环球影城(一整天)"] }, # 可以根据需要添加更多城市和景点类型 "广州": { "文艺打卡": ["红专厂创意园(艺术展+拍照,建议2小时)", "永庆坊(岭南文化+网红店,建议2小时)"], "美食探索": ["北京路(广式小吃,建议2小时)", "上下九(传统美食,建议3小时)"] } } # 根据城市和偏好返回对应景点 return mock_attractions.get(city, {}).get(preference, ["暂未找到符合的景点,换个城市试试吧!"]) # 结果生成函数——把景点整合成一日游行程 def generate_itinerary(attractions, city, preference): """让LLM把景点列表变成连贯的一日游行程""" try: response = client.chat.completions.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": f"你是旅游规划师,根据{city}的{preference}类景点,生成一份一日游行程,要包含「时间安排」「推荐理由」,语言轻松易懂,适合手机阅读"}, {"role": "user", "content": f"景点列表:{attractions},请生成一日游行程"} ] ) return response.choices[0].message.content except Exception as e: print(f"行程生成失败: {str(e)}") raise # 整合:打造完整的旅游规划Agent def travel_planning_agent(user_input): """ 旅游规划代理主函数 参数:user_input - 用户输入的需求文本 返回:生成的一日游行程文本 """ # 步骤1:解析用户需求 parsed_requirement = parse_user_requirement(user_input) city = parsed_requirement["city"] preference = parsed_requirement["preference"] print(f"已识别需求:城市={city},偏好={preference}") # 步骤2:调用工具查景点 attractions = call_attraction_tool(city, preference) print(f"已找到景点:{attractions}") # 步骤3:生成最终行程 itinerary = generate_itinerary(attractions, city, preference) return itinerary # 测试Agent:让它跑起来! if __name__ == "__main__": try: user_input = input("请告诉Agent你的需求(比如“上海+喜欢文艺打卡”):") result = travel_planning_agent(user_input) print("\n===== 你的专属一日游行程 =====") print(result) except Exception as e: print(f"程序运行出错: {str(e)}") print("请检查API密钥配置或网络连接后重试")

四、运行效果:输入需求,秒出行程

咱们测试一下,输入 “上海 + 喜欢文艺打卡”,Agent 的运行过程和结果如下:

  1. 需求解析:自动识别 “city = 上海,preference = 文艺打卡”;
  2. 工具调用:返回武康路、M50 创意园、愚园路等景点;
  3. 结果生成:输出带时间和理由的行程,比如:
===== 你的专属一日游行程 ===== 【上海文艺打卡一日游】 9:00-11:00 武康路 推荐理由:魔都文艺地标,沿街都是百年老洋房,还有网红武康大楼,适合拍照打卡,路上可以买杯咖啡慢慢逛~ 12:30-14:00 M50创意园 推荐理由:老厂房改造的艺术园区,有很多画廊和设计工作室,偶尔会有小众艺术展,人少清净,适合感受艺术氛围~ 15:00-17:00 愚园路 推荐理由:比武康路更小众的文艺街,有很多独立咖啡馆和文创小店,累了可以找家店坐下来看书,感受上海的慢生活~

是不是很实用?而且代码里的 “模拟工具”,换成真实 API 就能查全国任意城市的景点!

五、新手进阶:3 个小改动,让 Agent 更强大

如果想让这个 Agent 更实用,不用重写代码,只需做 3 个小优化:

  1. 换成真实工具 API:把call_attraction_tool里的模拟数据,换成 “高德地图周边搜索 API”(申请免费密钥就能用),就能实时查任意城市的景点、餐厅;
  2. 加简单记忆:用字典存用户历史需求(比如 “用户上次要上海文艺行程”),下次用户输入 “再帮我规划一次”,Agent 能自动复用之前的城市和偏好;

六、总结:Agent 开发的核心逻辑,其实很简单

这次的小实例虽然简单,但已经包含了大模型 Agent 的核心逻辑:

接收需求→解析目标→调用工具→生成结果

复杂的 Agent(比如能订酒店、算预算的),只是在这个基础上多了 “记忆协同”“反馈优化” 等模块,本质都是 “把复杂任务拆成小步骤,一步步解决”。

下次想开发其他 Agent(比如 “美食推荐 Agent”“学习计划 Agent”),也能套用这个思路:先明确核心目标,再拆成小函数,最后整合起来 —— 新手也能快速上手!

如果在实操中遇到 API 调用、代码报错等问题,欢迎在评论区留言,咱们一起解决~

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

L5阶段:专题集丨特训篇 【录播课】


四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/22 3:50:02

终极极简C编译器完整指南:86行代码实现x86 JIT编译

终极极简C编译器完整指南:86行代码实现x86 JIT编译 【免费下载链接】c4 x86 JIT compiler in 86 lines 项目地址: https://gitcode.com/gh_mirrors/c42/c4 极简C编译器C4以其惊人的简洁性在编译器领域独树一帜,这个仅由四个核心函数构成的项目&am…

作者头像 李华
网站建设 2026/4/22 17:40:01

C语言实现量子门操作实战(qubit操控核心技术大公开)

第一章:C语言实现量子门操作实战(qubit操控核心技术大公开)在经典计算中,比特只能处于 0 或 1 状态,而量子计算中的基本单元——量子比特(qubit),可以处于叠加态。使用 C 语言模拟量…

作者头像 李华
网站建设 2026/4/24 14:53:53

如何快速提升动漫图片画质:Real-CUGAN NCNN Vulkan完整使用指南

如何快速提升动漫图片画质:Real-CUGAN NCNN Vulkan完整使用指南 【免费下载链接】realcugan-ncnn-vulkan real-cugan converter ncnn version, runs fast on intel / amd / nvidia / apple-silicon GPU with vulkan 项目地址: https://gitcode.com/gh_mirrors/re/…

作者头像 李华
网站建设 2026/4/20 9:58:02

Alfred Workflows 高效使用指南:释放你的 Mac 生产力潜能

Alfred Workflows 高效使用指南:释放你的 Mac 生产力潜能 【免费下载链接】alfred-workflows Collection of Alfred workflows 项目地址: https://gitcode.com/gh_mirrors/alfr/alfred-workflows Alfred Workflows 是一个专为 Mac 用户设计的强大自动化工具集…

作者头像 李华