有人问过百家乐工程团队一个很朴素的问题:如果用户对着音箱说"我今天特别累,想早点休息",系统应该做什么?大多数所谓智能家居给出的答案是——什么都不做,因为这句话不是一条指令,只是一句带情绪的自言自语。它没有说"关灯",没有说"打开睡眠模式",甚至没有提到任何一个设备的名字。恰恰是这句话,划出了传统智能家居和真正意义上的家庭AI Agent之间的分界线。
传统自动化只认触发词,不认意图
过去十年,绝大多数"智能"家居的底层逻辑都是IF→THEN:如果检测到人体传感器触发,就打开玄关灯;如果时间到了23点,就关闭客厅插座;如果用户点了"电影模式"这个按钮,就同时拉上窗帘、调暗灯光、打开电视。这套逻辑运行得很稳定,但它的天花板也很明显——它只能响应预先定义好的触发条件,无法处理没有被写进规则里的情况。用户必须学会"系统的语言",说出系统能识别的关键词,否则再自然的表达都会被当成噪音丢弃。这也是为什么很多用户装了一屋子智能设备,最后还是只用App里的按钮,因为语音那句话"说错了"系统就没反应。
一句"我想早点休息",AI要看多少条数据
把这句话交给一个真正的家庭AI Agent,它不会去匹配关键词,而是把这句话当作一个需要拆解的目标。以百家乐的模拟场景为例,系统在几秒钟内需要综合读取的信息包括:当前时间是几点、第二天的日程安排里第一项是几点开始、这位家庭成员过去一段时间的历史入睡时间和入睡耗时、卧室当前的温度和湿度、热水器现在的水温和加热状态、卧室与客厅各处灯光的开关和亮度、电视和其他娱乐设备的运行状态、窗帘当前的开合角度,以及手机是否已经放在充电位置。这些数据分别来自不同的传感器和设备协议,平时互不relevant,但在"要不要现在开始准备睡觉"这个问题上,它们共同构成了判断依据。如果第二天日程第一项是早上六点的行程,系统对"早点休息"的响应力度会比日程宽松的一天更强;如果历史数据显示这位用户从"开始准备"到"真正入睡"平均需要三十五分钟,系统就会把这三十五分钟当作提前量去倒推动作的启动时间。
从理解目标到分解任务:Agent要走五步,不是一步
这个过程可以拆成五个动作,也是家庭AI Agent和传统自动化最本质的区别:理解目标、分解任务、调用工具、执行、验证。理解目标是把一句模糊的自然语言,转成一个结构化的意图——"用户希望在可接受的时间内进入睡眠状态,且第二天有早起安排"。分解任务是把这个意图拆成一组可执行的子动作:提前加热热水到设定温度、把卧室温度在入睡前降到舒适区间、把主要照明调暗并只保留一盏引导灯、关闭客厅电视等非必要娱乐设备、把窗帘调整到遮光位置、确认手机处于充电状态。调用工具是让AI真正"动手"的一步,我们在Function Calling与设备执行链里详细拆过这一层的技术实现:AI并不是直接操作硬件,而是生成一组结构化的函数调用,交给对应设备的控制接口去执行。执行是设备真实动作发生的阶段。验证则常常被忽略,却是判断一个系统是不是"Agent"而不是"脚本"的关键——AI要回头检查每一步是不是真的达成了预期效果,而不是发完指令就当作任务结束。落到这个具体场景里,分解出来的子任务大致是这样一组清单:
- 提前启动热水器加热,按当前水温与目标水温的差值倒推启动时间
- 根据房间体积与室外温度,把空调调整到入睡前能够到达舒适区间的运行曲线
- 把主照明调暗,只保留一盏低亮度的引导灯,避免突然全黑造成不适
- 关闭客厅电视等非必要娱乐设备,但保留安防摄像头等常驻设备正常运行
- 把窗帘调整到遮光角度,兼顾室外光污染和第二天早起自然唤醒的需求
- 确认手机是否已放在充电位置,如果没有则通过App轻量提醒一次
这份清单本身不是重点,重点是每一项背后都对应着一次独立的状态读取和一次独立的效果判断,而不是简单地把六个开关同时扳到"睡眠位置"。
热水器的例子与任务排序:一个"简单任务"里藏着多少判断
拿热水器这一件事展开看会更清楚复杂度在哪里。系统不能简单地说"现在加热",因为加热到设定水温需要的时间和当前水温、水箱容量、加热功率都有关系。如果热水器当前水温是28摄氏度,目标是45摄氏度,按照该型号的历史加热速率,系统需要推算出大约需要十八分钟才能达到目标,于是它会把"开始加热"这个动作提前十八分钟触发,而不是等用户说"我要睡了"才开始烧水——那时候再烧,用户可能已经等在浴室门口了。同样的推算逻辑也发生在卧室降温上:空调从当前温度降到目标温度需要的时间,跟房间体积、室外温度、当前风力挡位有关,AI需要结合这些变量给出一个合理的启动时间点,而不是一刀切地"提前十分钟"。这种基于当前状态与目标状态之间差值做时间推算的能力,是传统场景模式完全不具备的。
把六个子任务列出来之后,还有一层容易被忽略的复杂度:这些动作不是并列关系,而是有依赖和优先级的。热水器加热耗时最长,所以在整个计划里必须最先启动;卧室降温其次,因为空调达到目标温度也需要几分钟到十几分钟;而灯光调暗、电视关闭、窗帘调整这些动作几乎是瞬时完成的,可以放在最后一步统一执行,避免过早把环境调成"睡眠模式"而用户其实还要再忙上二十分钟。如果把这些动作简单地打包成一个场景同时下发,热水器和空调会因为耗时长而"迟到",最后呈现给用户的体验就是"说要睡觉结果洗澡水还是凉的"。家庭AI Agent生成的其实是一份带时间轴的执行计划,而不是一组无序指令的集合,这也是为什么它需要先完成任务分解和排序,再交给具体的工具调用层去执行。
如果判断可能出错该先问还是先做,为什么固定按钮解决不了
真实家庭里,"我今天特别累"并不总是意味着"我五分钟后就要睡觉",也可能只是抱怨一句然后继续刷手机到凌晨。这种不确定性该怎么处理,考验的是Agent的置信度管理,而不是它听懂了多少个字。如果系统观察到手机仍在正常使用、客厅灯光和音响都没有关闭的迹象,它可以判断当前置信度不足以执行强干预型动作(比如直接把卧室调暗、拉严窗帘),转而只做低风险的准备性动作——比如提前小幅度加热热水器、把空调设为待机模式——同时通过App给出一条轻量提示,询问是否现在进入睡眠准备,而不是自作主张把所有设备都调整到位。这种"先做安全动作、再确认高干预动作"的分级策略,比一刀切地全部自动执行或者全部询问用户,都更贴近真实生活中的分寸感。
有人会说,这些动作预先设成一个"睡眠场景"按钮不就行了吗?问题在于,固定场景假设每次触发的前提条件完全一样,但真实家庭生活并不是这样。如果当天有客人还留在客厅,一刀切地关掉电视和调暗全屋灯光就是不合适的;如果窗外还有光污染源,窗帘遮光的角度可能需要比平时更大;如果孩子的房间灯还亮着,说明还没到全家该安静下来的时间,卧室降温和加热的紧迫程度也可以适当放缓。家庭AI Agent处理的不是一个开关组合,而是一组带条件、带优先级、可以互相影响的子任务,这也是为什么它需要先具备对整个家庭当下状态的理解,再去做任务分解——不知道客厅还有没有人在看电视,就不可能做出关电视这个决定是否合适的判断。
记忆让判断越来越准,验证让执行值得信任
如果每次都要用户重新描述一遍完整背景,这套系统只是把按钮换成了语音,谈不上真正的智能。长期记忆的价值在于,AI不需要每次都被告知"我通常几点睡""我卧室喜欢多少度",这些偏好来自持续积累的历史行为数据,被沉淀成可复用的个人档案。我们在家庭AI记忆该记住什么中详细讨论过这类数据该如何分层保存与更新:哪些是长期稳定的偏好,哪些是短期状态,哪些应该在一段时间后被主动遗忘。对于"早点休息"这个场景来说,记忆系统需要记住的不只是"用户喜欢22度的卧室",还包括"这位用户从表达疲惫到真正入睡的典型时间差",以及"工作日和周末的入睡模式并不相同"——这些细粒度的历史规律,才是让AI的提前量判断越来越准的关键。
指令发出去之后,传统自动化系统的工作就结束了,但家庭AI Agent的工作在这里才进入第二阶段。系统需要在动作执行后,回头检查各项子任务是否真正达到了预期状态:温度传感器有没有显示卧室已经降到目标区间,热水器面板是否确认已经到达设定水温,窗帘电机有没有反馈到位信号。如果某个环节没有达标——比如窗帘电机因为轨道卡滞只走了一半行程——系统需要判断是重新尝试,还是转为提醒用户手动处理,而不是假装任务已经顺利完成。这个"验证"环节看似不起眼,却是让用户敢于把复杂任务交给AI而不是每次都自己确认一遍的信任基础。也正因为验证需要跨设备、跨协议地读取状态,这一步本身也依赖设备状态的持续采集与家庭知识的结构化组织,这一点我们在家庭知识图谱相关的讨论中有更完整的说明。
一个任务背后,其实已经是多个角色在协作
仔细看"早点休息"这一件事的完整链条会发现,它已经不是一个单一模型能独立包办的任务——涉及能源相关的空调与热水器调度、涉及安全相关的门窗与摄像层确认、涉及环境相关的温湿度与光线控制,这些判断背后往往对应着不同的专业逻辑。百家乐把这类问题进一步拆分给分工明确的多个专业Agent去处理,再由一个总控角色去做最终的取舍和排序,而不是指望一个模型什么都懂、什么都管。比如空调该降到多少度这件事,环境相关的判断和能源相关的判断可能得出不同的结论,这时候需要有一个更高层的角色去权衡,而不是让某一个专业模块单方面说了算。家庭AI Agent真正改变的不是"能不能听懂一句话",而是这句话背后能不能被拆成一整套彼此协调、有先后顺序、可验证结果的具体动作。判断一个产品是不是真正的家庭AI Agent,不用看它的宣传语里有没有"智能"两个字,只需要问一个问题:如果用户说的话里没有任何一个设备名称,它还能不能做出正确的事——这才是它和一个更会聊天的智能音箱之间的真正差距。