从零搭建 AI 旅行助手(一):开始之前的几个误会


起因

作为一个天坑专业的博士生,平时为了缓解工作和学习上的压力,经常会选择不定期地出去旅行,通过探索世界来唤起自己对于构建有趣人生的激情。但是,由于我是一个J人,因此在旅游之前进行提前的规划和准备是我长期保持的一种习惯。而我发现进行旅游规划实际上需要花费许多心思,包括公共交通的选择,行程的制定以及旅游物品的携带等都需要仔细考虑,统一规划,而这个过程十分琐碎以及花费时间精力,因为需要收集各种资料,查询各个平台的交通票以及进行酒店选择等。因此,我突然想到了,能不能构建一个AI助手,让它帮我构建旅行计划——告诉它我想去哪里,去几天,预算多少等等,它就可以帮我出方案。

这种想法其实很简单,但是真正实施的时候才发现,对于一个编程基础几乎为零的外行来说,最难的往往不是写代码,而是在动手之前,脑子里那些似是而非的概念。这篇就先不碰代码,把我一开始搞错,后来才厘清的几件事记录下来。如果你也是一个想入门的新手,希望能帮你少走点弯路。

误会一:我以为“有Gemini会员,我就可以免费无限使用它的API”

由于我已经订阅了Gemini pro,那么我自然而然的想法就是:既然我都付费订阅了它的pro了,那么我写程序免费调用它不是顺带的事情?

结果发现并不是。订阅和调用API是两条独立的路。

打一个比方,付费订阅就像是购买了某个视频播放平台的会员,在它的平台上,你可以随意观看上面的视频,不受限制;而API则类似于”租赁一套设备,搭建自己的播放器”——你写的程序需要调用API,走的是API这条路,它有自己单独的额度和计费,和你订阅的会员是完全不相通的。

所以“我有会员”≠“我有API额度”,这两件事情得分开做。

好在我发现,Gemini的API是有一定的免费额度的,不花钱,对于我这种练手的小项目足够了。

误会二:免费额度可以使用最强的模型

厘清了API是单独的以后,我又天真地以为:免费额度肯定可以使用Gemini最好的那个模型把?

也不对。现在Gemini的免费额度只能覆盖它“轻量版”模型(Flash系列),最强的Pro系列已经不在它的免费范围内了。

不过实测下来,对于”规划旅行“这种任务,轻量级的模型完全够用了,质量没有什么问题。这也算一个小心得:不是所有的任务都需要使用上最强的模型进行处理,够用就好,主要讲究的是一个以最低成本达到目的。

误会三:差点稀里糊涂被扣费

这是最值得记录下来的一个坑。

在生成调用API需要的”钥匙“时,页面弹出了一个窗口,引导我”设置计费账号“,还说设置后可以”获得更多额度和功能“,看起来很有吸引力,我差点就点了同意。

幸好我多了一个心眼,——一旦启动了计费,这个项目的免费额度就会消失,之后的每一次使用都需要花钱,哪怕是原来在免费范围内的调用。

所以这里总结的避坑结论就是:学习阶段,别点任何”设置计费/Billing”的按钮,把这个弹窗关掉,保持免费额度的使用就可以。

误会四:我以为“做AI Agent”是件很玄乎的事情

“Agent”(智能体)这个词听起来很高深,我一开始以为这一定是很复杂很高级的技术。

但理解以后才发现,它其实可以用一个很朴素的比喻概况——一个带着工作手册的实习生

工作手册:你提前写好”你是一个旅行规划师,接受到需求以后要先问清楚天数、预算、偏好,再给出方案”。这决定了它的行为方式。

记忆:它可以记住之前聊了什么,所以可以多轮追问,而不需要每次都从头开始。

工具:如果需要查询实时的信息,例如天气、机票价格等,就给它配上对应的“工具”,让它自己判断什么时候需要使用。

所谓”做一个 Agent”,核心就是把这三件事配置好。它没有我想象的那么神秘——当然,真正动手时还是有不少细节,这些留到后面几篇慢慢说。

一个现实的醒悟

我最初的设想其实很大:实时对比各个平台的机票、火车票价格,还能直接跳转购买。后来才明白,这种”实时比价”其实是商业级产品(像那些比价网站)做的事——它们和航司、票务平台签了正式的数据合作协议,不是个人随便就能拿到这些实时数据的。

所以我调整了预期:先从一个新手能跑通、能看懂的小版本做起,后面再慢慢加功能。 这也是我做这个系列的态度——不追求一步到位,而是把”一个外行如何一点点搞懂它”的真实过程记下来。

下一篇

下一篇会进入实操:怎么拿到 API 的”钥匙”、怎么把写代码的环境搭起来。如果你也想跟着做一个,可以期待一下。

(这个系列会随着我自己的进度慢慢更新,欢迎一起踩坑。)