下厨帮手-百宝箱gpass智能体技术报告
TECHNICAL DOCUMENT
下厨帮手
面向 AI 眼镜的实时视觉烹饪智能体
技术文档|工作流设计 · 端云协同 · 状态记忆 · 安全闭环
“不是把菜谱念给用户,而是看见现场、理解进度、陪用户把菜真正做完。”
版本:V1.0(参赛提交版)
Agent name:下厨帮手 | Agent ID:202607APhPRr19995693
团队:唐一帆(个人参赛)
执行摘要
|
一句话定义 下厨帮手 是一个运行在 AI 眼镜使用场景中的具身烹饪智能体:它通过第一视角画面理解用户正在做什么,以云端变量记住做到哪一步,再依据可观察的完成信号决定“继续、纠错或进入下一步”。 |
传统菜谱应用解决的是“告诉用户怎么做”,但厨房里的真实难点是双手被占用、视线需要留在锅里、食材状态不断变化,以及用户很难判断自己是否做对。下厨帮手 把大模型从问答工具升级为持续参与任务的执行伙伴:看见现场、记住进度、主动判断、及时纠错,并通过眼镜端低打扰反馈完成全流程陪伴。
- 强应用性:面向真实厨房任务,智能体输出直接改变用户下一步动作,而非停留在知识回答。
- 强体验感:第一视角、免手持、短句提示、视觉完成信号,让用户不必频繁看屏幕或手动点“下一步”。
- 强闭环性:感知—判断—执行—复核—记忆形成循环,步骤未完成时不盲目推进。
- 强可扩展性:菜谱、步骤图、变量名称与判断规则可配置,能够迁移到烘焙、实验操作、设备维护等流程型场景。
1. 问题洞察与产品定位
1.1 用户真正缺少的不是菜谱,而是现场陪练
|
厨房痛点 |
传统方案局限 |
下厨帮手 的处理方式 |
|
双手被占用 |
手机需要触控、解锁和切页 |
AI 眼镜第一视角感知,语音触发,反馈始终在操作视线附近 |
|
不会判断火候 |
固定计时无法覆盖锅具、火力和食材差异 |
以“边缘凝固、番茄出汁”等画面完成信号作为推进依据 |
|
中途被打断 |
再次打开菜谱后难以定位进度 |
云端保存 cooking_status,跨节点、跨轮次恢复当前阶段 |
|
错误发现太晚 |
菜谱只描述正确路径 |
为冒烟、焦边、飞溅、锅底变干等异常提供即时纠错与安全动作 |
|
提示信息过载 |
长文本占据注意力 |
每轮只给一个动作,并给出可见的完成信号 |
1.2 产品定位
目标用户:烹饪新手、独居青年、希望降低家务认知负担的人群,以及需要标准化操作指导的轻量培训场景。
核心承诺:用户只需要看着正在操作的食材并自然说话,智能体负责把复杂菜谱压缩成此刻唯一需要完成的动作。
2. 智能体闭环体验
|
体验主线 看见(视觉感知)→ 听懂(意图理解)→ 记住(云端状态)→ 指导(单动作输出)→ 复核(完成信号)→ 纠错(安全规则)→ 推进(下一阶段)。 |
- 用户通过 AI 眼镜发起任务,例如“带我做番茄炒蛋”。
- 智能体解析任务、操作意图和参数,判断是查询、写入、追加记录,还是进入烹饪闭环。
- 第一视角画面进入视觉理解节点,识别当前食材、锅具状态和阶段完成信号。
- 智能体读取云端 cooking_status,结合现场画面判断本轮唯一动作。
- 若完成信号不足,保持当前阶段并给出短时复查;若出现异常,优先输出纠错与安全动作。
- 若完成信号满足,写回新状态并继续下一阶段;必要信息通过 append 形成连续过程记录。
- 关火和装盘完成后结束循环,并保留最终状态以便复盘或继续对话。
3. 总体技术架构

图1 百宝箱平台中的完整智能体工作流
|
层级 |
关键组件 |
职责 |
|
交互层 |
AI 眼镜、麦克风、摄像头、显示/播报 |
获取第一视角与语音输入,在用户操作视线内给出低打扰反馈 |
|
智能体编排层 |
开始、分支、意图理解、参数提取、代码与插件节点 |
把自然语言和视觉结果转换为可执行动作,调度 read/write/append |
|
烹饪闭环层 |
循环、状态判断、视觉复核、步骤推进 |
依据当前状态与画面完成信号决定继续、纠错或进入下一步 |
|
云端记忆层 |
Nginx、Python HTTP 服务、SQLite、systemd |
提供有鉴权的持久化变量服务,支持读取、覆盖写入和原子追加 |
|
内容资产层 |
结构化菜谱、阶段图、异常规则 |
把烹饪知识组织为机器可执行、用户可理解的阶段资产 |
3.1 意图与变量操作层

图2 意图识别、参数提取与 read/write/append 路由
工作流上层将用户输入拆解为 name、action、value,并通过分支将操作路由到 read、write 或 append。该设计把自然语言能力与确定性数据操作隔离:大模型负责理解,代码和插件负责执行,避免模型“凭记忆猜状态”。
3.2 烹饪执行闭环层

图3 cooking_status 驱动的视觉复核与循环推进
下层循环以 cooking_status 为状态锚点,读取当前阶段、调用视觉理解、生成当轮动作,再将新状态写回云端。循环中的分支并非简单按时间跳转,而是优先检查画面完成信号和异常条件,实现“结果驱动”的任务推进。
4. 云端变量服务
4.1 数据协议
|
操作 |
请求示例 |
成功响应(统一 String) |
|
read |
{"name":"cooking_status","action":"read"} |
"正在炒番茄" |
|
write |
{"name":"cooking_status","action":"write","value":"鸡蛋已盛出"} |
"鸡蛋已盛出" |
|
append |
{"name":"cooking_log","action":"append","value":"|番茄已出汁"} |
"开始制作|番茄已出汁" |
- 名称不存在时,write 和 append 均可创建变量;write 覆盖原值,append 在原值后拼接。
- 所有成功响应统一转换为 String,降低节点输出类型不一致的风险。
- append 采用数据库事务与写锁,多个并发追加请求不会互相覆盖。
- 变量名限制为 1—128 字符;文本最大 32,768 字符;请求体最大 64 KB。
4.2 部署与可靠性
|
机制 |
实现 |
价值 |
|
进程托管 |
systemd 开机自启、异常自动重启 |
避免演示时手动拉起服务 |
|
反向代理 |
Nginx /variables 统一入口 |
与现有服务器应用隔离,公网入口清晰 |
|
本地持久化 |
SQLite WAL 模式 |
重启后状态不丢失,读写开销低 |
|
访问控制 |
X-API-Key + 服务仅监听本机 |
阻止未授权公网读写 |
|
参数校验 |
操作、名称、类型、长度与整数范围校验 |
减少异常输入导致的数据污染 |
|
并发一致性 |
append 使用 BEGIN IMMEDIATE 事务 |
保证过程日志追加的原子性 |
|
安全边界 当前参赛原型使用 HTTP 演示入口,API Key 仅应放在云端函数,不应下发到网页或公开客户端。正式产品应升级 HTTPS、轮换密钥、最小权限和日志脱敏。 |
5. 菜谱执行模型:从20个动作压缩为5个体验阶段
|
阶段 |
智能体本轮目标 |
关键完成信号 |
关键纠错 |
|
S01 备料 |
完成番茄切块与鸡蛋打散 |
番茄大小基本均匀;蛋液均匀无蛋壳 |
刀尖朝下、手指内扣、接触蛋液后清洁双手 |
|
S02 炒蛋 |
获得柔嫩、八成熟的鸡蛋块 |
鸡蛋成嫩块,仍略湿润且不焦黄 |
油冒烟立即关火;边缘焦黄则降火 |
|
S03 炒番茄 |
使番茄变软并产生汤汁 |
锅底出现少量红色汤汁 |
焦边或锅底变干时调小火 |
|
S04 合炒 |
让鸡蛋均匀裹汁并熟透 |
无流动蛋液,鸡蛋与番茄混合均匀 |
鸡蛋变干或粘锅时立即关火 |
|
S05 完成 |
确认关火并装盘 |
灶具关闭,菜品完成装盘 |
必须二次确认火源关闭 |
这种阶段化不是简单删减步骤,而是把细粒度动作保留在阶段内部,把用户界面压缩为更符合眼镜端注意力模型的五个里程碑。评委在 Demo 中能够清楚看到状态推进,而用户在实际操作中不会被二十次提示打断。
6. 核心创新与评审价值
|
创新点 |
技术落点 |
用户可感知价值 |
|
第一视角具身交互 |
AI 眼镜摄像头持续提供现场上下文 |
智能体和用户“看见同一件事”,无需反复描述锅里发生了什么 |
|
结果驱动而非计时驱动 |
完成信号 + 状态判断 + 循环复核 |
火力和食材有差异时不会被固定倒计时催促 |
|
可持续云端记忆 |
持久化变量服务与 cooking_status |
中断后能接着做,多节点共享同一事实状态 |
|
原子追加式过程记录 |
append 事务 |
可沉淀烹饪日志、异常事件和个性化偏好 |
|
安全优先的异常路径 |
冒烟、焦边、飞溅、锅底变干规则 |
智能体不仅教“怎么做”,还知道何时先停下来 |
|
低认知负担表达 |
每轮唯一动作 + 画面完成信号 |
提示短、可执行、可验证,真正适配眼镜端 |
7. 测试与验收
|
测试项 |
方法 |
通过标准 |
|
变量新建 |
对不存在名称执行 write |
返回字符串值,随后 read 一致 |
|
覆盖写入 |
同名变量连续写入两个值 |
只读取到最后一次值 |
|
文本保持 |
写入“00123”和中文文本 |
前导零与中文原样返回 |
|
并发追加 |
并发发起20次单字符 append |
最终长度为20,无丢失 |
|
重启持久化 |
写入后重启 variable-service |
重启后仍可读取 |
|
未授权访问 |
不携带 API Key |
返回 HTTP 401 |
|
公网可用性 |
经 Nginx 公网入口调用 |
HTTP 200;原型实测为几十毫秒级,端到端受网络和眼镜端影响 |
|
视觉闭环 |
故意在完成信号不足时停留 |
智能体保持当前阶段并给出复查,不跳步 |
8. 可扩展方向
- 菜谱泛化:将五阶段模板扩展为可配置 Recipe DSL,支持不同菜品和锅具。
- 个性化:记录用户咸淡偏好、熟度偏好和常见失误,形成长期烹饪画像。
- 多模态增强:结合温度、计时器或灶具状态数据,提升火候判断的可验证性。
- 过程复盘:使用 append 生成事件日志,完成后自动总结“做得好/可改进”的关键节点。
- 行业迁移:同一闭环可用于实验指导、装配维修、运动训练和康复动作等第一视角任务。
9. 结论
|
项目价值 下厨帮手 的核心不是把大模型搬进眼镜,而是让智能体在真实任务中承担持续观察、状态记忆、决策推进和安全纠错的责任。它把 AI 从“会回答”推进到“能陪用户完成”,体现了智能体在具身场景中的强应用性与强体验感。 |
以下为用户手册
USER GUIDE
下厨帮手
戴上眼镜,看着锅,跟着做
使用说明书|功能说明 · 操作引导 · 安全与故障处理
“不是把菜谱念给用户,而是看见现场、理解进度、陪用户把菜真正做完。”
适用版本:V1.0
适用终端:百宝箱平台智能体 + AI 眼镜端
演示菜谱:番茄炒蛋
1. 三十秒上手
- 佩戴并启动 AI 眼镜,确认摄像头能够看到砧板、锅具和食材。
- 唤起下厨帮手,说:“带我做番茄炒蛋。”
- 每轮只执行智能体提示的一个动作;完成后让镜头继续看到操作区域。
- 听到或看到下一阶段提示后再继续,不需要手动翻页。
- 出现冒烟、飞溅、焦边等情况时,优先执行智能体给出的安全纠错动作。
- 最后确认灶具关闭,再完成装盘。
|
体验原则 不要追赶倒计时。文档中的秒数是复查间隔;智能体以画面完成信号为主,未完成就继续当前动作。 |
2. 主要功能
|
功能 |
自然语言示例 |
输出体验 |
|
读取状态 |
“我现在做到哪一步了?” |
直接返回当前状态文本 |
|
写入状态 |
“把状态改成鸡蛋已盛出。” |
保存并返回新状态 |
|
追加记录 |
“在烹饪记录后追加:番茄已经出汁。” |
保留原记录并把新信息接在末尾 |
|
视觉复核 |
“这样算炒好了吗?” |
结合第一视角画面判断是否满足完成信号 |
|
异常纠错 |
“锅开始冒烟了。” |
优先给出关火/降火等安全动作 |
|
断点续做 |
重新进入后询问当前进度 |
从云端读取状态,继续而不是从头开始 |
3. 五阶段操作指南
S01 备料

S01 备料 代表画面
|
本阶段动作 |
完成信号 |
安全提醒 |
|
番茄去蒂切成2—3厘米块;3个鸡蛋磕入碗中并打散。 |
番茄大小基本均匀;蛋黄蛋白混合均匀、无明显蛋壳。 |
切菜时手指内扣;接触生蛋液后清洁双手。 |
S02 炒鸡蛋

S02 炒鸡蛋 代表画面
|
本阶段动作 |
完成信号 |
安全提醒 |
|
中火预热锅,加入15毫升油;倒入蛋液,凝固后向中心推折,八成熟时盛出。 |
鸡蛋形成柔嫩块状、仍略湿润,无明显焦黄。 |
油冒烟立即关火;严禁向热油加水。 |
S03 炒番茄

S03 炒番茄 代表画面
|
本阶段动作 |
完成信号 |
安全提醒 |
|
加入剩余10毫升油和番茄,中火翻炒;加入3克盐,炒至变软出汁。 |
番茄边缘变软,锅底出现少量红色汤汁。 |
焦边或锅底变干时调小火。 |
S04 合炒

S04 合炒 代表画面
|
本阶段动作 |
完成信号 |
安全提醒 |
|
将鸡蛋倒回锅中,小火翻拌,让鸡蛋均匀裹上番茄汤汁。 |
无流动蛋液,鸡蛋与番茄混合均匀。 |
鸡蛋变干或锅底粘连时立即关火。 |
S05 关火装盘

S05 关火装盘 代表画面
|
本阶段动作 |
完成信号 |
安全提醒 |
|
关闭火源并再次确认,将成品盛入盘中。 |
灶具显示关闭或火焰熄灭;锅内基本盛空。 |
必须二次确认火源关闭;使用隔热工具扶锅。 |
4. 常用交互示例
|
你可以说 |
智能体应当做什么 |
|
“开始带我做番茄炒蛋。” |
初始化任务并进入 S01 备料。 |
|
“我切好了,你看可以了吗?” |
检查番茄大小与备料完成信号。 |
|
“不要跳步,我还没做完。” |
保持当前 cooking_status,不推进。 |
|
“记录一下:刚才油温太高。” |
使用 append 将事件加入过程记录。 |
|
“我退出了一会儿,现在到哪了?” |
读取云端状态并恢复当前阶段。 |
|
“锅冒烟了。” |
停止常规步骤,优先输出关火或降火安全动作。 |
5. 异常与故障处理
|
现象 |
处理方法 |
|
智能体判断不出画面 |
将关键食材或锅具移到镜头中央,改善照明,避免蒸汽遮挡,再询问一次。 |
|
提示与现场不一致 |
明确说“保持当前步骤”,并让镜头对准完成信号;不要为了配合提示而跳步。 |
|
状态内容不正确 |
使用 write 明确覆盖,例如“把 cooking_status 改为正在炒番茄”。 |
|
需要保留旧记录 |
使用 append,不要使用 write;append 会把新文本接到原内容后。 |
|
网络暂时不可用 |
先关火或把火力调到安全状态;网络恢复后重新读取当前状态。 |
|
出现冒烟或持续飞溅 |
立即关火并远离锅口;不得向热油加水。必要时结束智能体流程。 |
6. 使用前检查清单
- 眼镜电量、网络、摄像头和语音输入正常。
- 厨房照明足够,镜头无遮挡,锅具与操作台在视野内。
- 食材和耐热碗准备齐全,锅具干燥。
- API Key 已配置在云端函数中,不展示在录屏或公开文档里。
- 确认紧急关火方式;未成年人须在成年人陪同下使用。
7. 输出字段配置提示
|
百宝箱节点配置 变量服务的 read/write/append 成功响应均为 String。若代码节点要求 main() 返回字典,应在“输出”区域新增 value 字段并将其类型定义为 String,再返回 {"value": str(result)};下游引用“节点名.value”。 |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)