旅行助手
旅行助手把时间、地点、预算和个人偏好放在一起比较,帮助形成可执行的行程,并区分候选方案与已确认预订。
理解与应用
旅行助手是一类围绕出行任务工作的智能体。它要处理的不只是推荐景点,还有一组彼此牵连的条件:会议何时开始、机场离会场多远、航班是否需要托运行李,以及用户愿意花多少钱换取更宽松的时间。一个价格更低的航班,如果让人赶不上会议,就不是可替代的方案。
例如用户要周三上午九点在大阪参会,希望周二抵达、住在会场附近,并把机酒控制在指定预算内。助手先据此筛选航班,再用落地时间估计入境和前往酒店的可用时间,最后比较酒店到会场的交通。可以接受一次中转属于偏好,必须赶上会议属于硬条件,两者不能用一个“综合推荐分”悄悄互相抵消。
时间核对尤其容易出错。机票上各机场时间通常按当地表示,跨日期、跨时区或夏令时变化时,需要转换到同一时间基准才能比较。即便算出连接时间充足,也还要知道是否换机场、是否重新托运行李,以及运营方的衔接要求;单纯相减不能证明行程可行。
查到方案以后,报价和库存仍可能变化。进入预订时,旅客、供应商、总价、支付方式和退改条件需要与用户的具体授权对应。提交后拿到确认号并核对订单,才算建立了预订;如果网页超时,先查订单状态比立即重新购买更重要。搜索、待确认和已预订是这类助手必须分清的三个状态。
动手试一试:跨时区时,时间先后可能与钟面相反
当地钟面看似相隔 50 分钟,换到同一时基后,第二个事件实际上早 10 分钟。这里刻意构造了不成立的时间衔接;真实规划应使用地点对应的时区,并另行核实机场、地面交通及缓冲时间。
将代码保存为 example.py,使用 Python 3.10+ 运行 python3 example.py。仅使用标准库,无需密钥,不会调用外部模型。
Python 代码
from datetime import datetime, timedelta, timezone
# 两个虚构行程事件,分别以当地时间记录。
arrival = datetime(2026, 10, 10, 23, 10, tzinfo=timezone(timedelta(hours=8)))
departure = datetime(2026, 10, 11, 0, 0, tzinfo=timezone(timedelta(hours=9)))
minutes = int((departure - arrival).total_seconds() / 60)
print("两事件间隔(分钟):", minutes)
print("后一事件是否确实更晚:", minutes > 0)运行结果
两事件间隔(分钟): -10 后一事件是否确实更晚: False
常见误区
- 当地时间直接相减,可能忽略日期、时区和夏令时变化。
- 搜索结果中的有票和订单系统中的已出票,是不同事实。
- 预算批准有具体金额和条件,不能自动覆盖涨价、额外付费项目或替换后的行程。
前置与延伸
建议先读
相关概念
参考与版本
Apollo 原创讲解与教学示例。参考资料用于核对技术定义;核验日不代表资料的发布日期。
- Python:zoneinfo ↗
核对时区与夏令时处理边界;为便于离线运行,示例使用显式固定偏移,不模拟夏令时数据库。 · 核验:2026-10-10
- Anthropic:Building effective agents ↗
核对预设工作流与动态智能体编排的区分;不据此认定任一范式总是更优。 · 核验:2026-10-10