网易首页 > 网易号 > 正文 申请入驻

OpenAI把订票做成聊天机器人,3个工具函数让AI学会"收钱"

0
分享至

一个能聊天的航班助手,和真正能帮你订票的机器人,差距有多大?

Ed Donner在Udemy上的AI工程课程里抛了个问题:大语言模型(LLM)能回答"去巴黎多少钱",但让它完成"订一张下周三去伦敦的票",需要跨越什么门槛。我跟着做了一遍,发现核心就藏在三个Python函数里。

数据库:让AI从"知道"变成"做到"

聊天机器人的幻觉问题,根源在于它只有记忆、没有账本。我搭了个SQLite数据库,两张表解决问题:bookings存用户订单,ticket_prices存目的地和价格。初始化时塞了纽约、巴黎、伦敦等城市的票价数据,AI第一次查询就有东西可抓。

代码层面没什么花哨——就是sqlite3.connect()和execute()的标准操作。但这一步把AI从"嘴炮选手"变成了能写账本的出纳。

run_query()这个辅助函数被复用到所有工具里,参数化查询防注入,返回结果直接喂给模型。数据库轻到只有一个文件,部署时跟着代码走就行。

工具定义:教会AI"什么时候该动手"

LLM工具调用的精髓,在于让模型自己判断"我现在该查价格还是该下单"。我定义了四个工具函数,用结构化描述暴露给OpenAI的接口:

get_ticket_price(location) 查票价,返回格式化字符串;list_destinations() 拉取所有可选城市;create_booking(name, destination, date) 写订单进数据库;还有隐含的参数收集逻辑——模型会主动追问缺什么信息。

工具描述里的docstring就是 prompt 工程的一部分。写清楚每个参数要什么格式,模型犯错的概率直接砍半。

create_booking里加了日期解析:datetime.strptime(date, "%Y-%m-%d").date(),用户说"下周五"模型会先转成标准日期,再执行SQL插入。这个细节没写在课程里,是我踩坑后加的——AI对模糊时间的理解,比想象中脆弱。

对话流:AI怎么学会"追问"

完整订一张票,模型需要收集姓名、目的地、日期三个字段。但用户很少一次性给全。测试时我说"订去巴黎的票",AI回"请问您的姓名和出发日期是?"——这不是写死的逻辑,是工具描述里required字段驱动的行为。

背后的机制是OpenAI的function calling:模型每轮判断要不要调工具,调完把结果塞回对话历史,继续生成回复。我打印过中间状态,发现模型有时会"自言自语"——先生成一个工具调用JSON,等执行结果回来,再组织成人话。

这个"先想后说"的过程,让AI有了行动前的规划感。比起端到端生成,工具调用把复杂任务拆成了可验证的步骤。

项目跑通后,我试了条边界 case:"订一张去火星的票"。模型查完数据库返回"Price not available for Mars",没有幻觉编造价格,也没有强行下单。这种"知之为知之"的克制,恰恰是工具架构带来的——数据库里没有的,AI不会脑补。

整个项目代码不到200行,依赖只有openai和sqlite3。但把LLM从"问答模式"切换到"代理模式",需要的不是更多参数,而是清晰的工具边界和可靠的数据层。

你现在用的大模型产品,有多少还停留在"我知道答案"的阶段,又有多少已经能"帮你把事情办了"?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
林志颖长子Kimi正脸曝光,17岁Kimi竟然长成了陈若仪翻版!

林志颖长子Kimi正脸曝光,17岁Kimi竟然长成了陈若仪翻版!

娱乐顺风车666
2026-04-13 11:34:58
华工科技:预计2026年第一季度净利润为6亿元~6.4亿元,同比增长46.38%~56.13%

华工科技:预计2026年第一季度净利润为6亿元~6.4亿元,同比增长46.38%~56.13%

每日经济新闻
2026-04-13 16:24:21
高盛:未来3年,上海、深圳房价上涨15%

高盛:未来3年,上海、深圳房价上涨15%

地产观点
2026-04-13 14:00:06
美国洛马怎么也没想到,没缴中国的990亿罚单,后果竟如此严重了

美国洛马怎么也没想到,没缴中国的990亿罚单,后果竟如此严重了

有范又有料
2026-04-13 15:53:13
郑丽文返台,“三驾马车”亲自迎接、释放2大信号!1人现身不简单

郑丽文返台,“三驾马车”亲自迎接、释放2大信号!1人现身不简单

时尚的弄潮
2026-04-13 12:11:58
今明两天!北京大范围降雨!

今明两天!北京大范围降雨!

美丽大北京
2026-04-13 19:03:54
真膈应啊!一老人走了,邻居发帖称家门被贴了块红布,又懵又火大

真膈应啊!一老人走了,邻居发帖称家门被贴了块红布,又懵又火大

火山詩话
2026-04-13 10:40:34
德国站队了!正式向世界宣布:以色列若继续打黎巴嫩,会让他好看

德国站队了!正式向世界宣布:以色列若继续打黎巴嫩,会让他好看

Ck的蜜糖
2026-04-13 17:50:08
解放军这40天,要把美日韩逼疯!

解放军这40天,要把美日韩逼疯!

Ck的蜜糖
2026-04-13 07:27:43
莫妮卡·贝鲁奇:岁月不败的“地球球花”,黑裙封神

莫妮卡·贝鲁奇:岁月不败的“地球球花”,黑裙封神

述家娱记
2026-04-11 13:36:04
富得流油,法国国家队三套锋线组合总身价8.55亿欧元

富得流油,法国国家队三套锋线组合总身价8.55亿欧元

懂球帝
2026-04-13 18:45:06
知名国企集团,六个月没发工资了

知名国企集团,六个月没发工资了

新浪财经
2026-04-13 04:16:19
西方国家为什么都不喜欢中国?英国专家:中国有一个“老问题”

西方国家为什么都不喜欢中国?英国专家:中国有一个“老问题”

甜到你心坎
2026-04-12 22:42:27
主持人魏笑的最后3天:15号生日,16号领证,17号婚礼成葬礼

主持人魏笑的最后3天:15号生日,16号领证,17号婚礼成葬礼

就一点
2026-03-19 10:47:51
苹果赢麻了!iPhone17国内销量突破2700万台,是Mate80的五倍不止

苹果赢麻了!iPhone17国内销量突破2700万台,是Mate80的五倍不止

互联鱼
2026-04-12 18:13:54
以色列谁都敢打,为何唯独不敢动巴基斯坦?核武只是冰山一角

以色列谁都敢打,为何唯独不敢动巴基斯坦?核武只是冰山一角

泠泠说史
2026-04-11 23:48:34
孕妇吃水果被骂后续:手术已做完,听劝解救了自己,全网力挺点赞

孕妇吃水果被骂后续:手术已做完,听劝解救了自己,全网力挺点赞

千言娱乐记
2026-04-13 11:33:13
13岁男孩骑车被绳子割喉,忍痛跑回家求救!警方已介入

13岁男孩骑车被绳子割喉,忍痛跑回家求救!警方已介入

上观新闻
2026-04-13 17:52:16
万恶的旧社会?15张1944年照片,这就是真实的“旧社会”

万恶的旧社会?15张1944年照片,这就是真实的“旧社会”

棠棣分享
2026-04-11 22:53:08
不知悔改!47岁女作家拒道歉+继续侮辱全红婵:纵容队友被霸凌

不知悔改!47岁女作家拒道歉+继续侮辱全红婵:纵容队友被霸凌

念洲
2026-04-13 08:50:12
2026-04-13 20:48:49
灰度测试中
灰度测试中
生活正在重构,目前还在灰度测试阶段,暂不全量发布。
1313文章数 15关注度
往期回顾 全部

科技要闻

"抄作业"近四年,马斯克版微信周五上线

头条要闻

媒体:欧尔班败选不仅是一国之事 牵扯到与中国的关系

头条要闻

媒体:欧尔班败选不仅是一国之事 牵扯到与中国的关系

体育要闻

一支球队不够烂,也是一种悲哀

娱乐要闻

初代“跑男团”合体,邓超、鹿晗缺席

财经要闻

今夜,出大事了,3种结果

汽车要闻

不止命名更纯粹 领克10/10+要做纯电操控新王

态度原创

家居
教育
房产
时尚
数码

家居要闻

复古风格 自然简约

教育要闻

燕子飞时 | 麦田团队动态20260413期

房产要闻

6000亿投资盛宴,全球巨头齐聚,海南又要干件大事!

“小红鞋”今年春夏又火了!这4双怎么搭都好看

数码要闻

前行者推32kHz回报率磁轴键盘ES68破晓,预售到手低至699元

无障碍浏览 进入关怀版