乐于分享
好东西不私藏

知面 — AI眼镜社交记忆助手 | GPASS智能体技术方案

知面 — AI眼镜社交记忆助手 | GPASS智能体技术方案

GPASS AI 眼镜智能体开发者大赛参赛作品 赛道:AI眼镜助力生产办公提效 + 无显示AI眼镜赛道

一、产品概述

1.1 一句话介绍

知面是一款运行在AI眼镜上的社交记忆智能体,通过语音+视觉双模态协作,帮助商务人士记住见过的每一个人。

Slogan:戴上眼镜,再也不忘任何人

1.2 核心场景

场景
操作
效果
商务交流中/后
语音说"帮我记一下"
AI自动从对话中提取人物信息并存档
初次见面
语音说"拍照存档"
将人脸与档案关联
再次相遇
语音说"这是谁"
AI耳返:“这是张伟,XX科技副总,上次聊了合作”
见面前准备
语音说"帮我准备见张伟"
AI给出破冰话题和跟进建议
信息变更
语音说"更新张伟的信息"
AI将新信息合并到已有档案

1.3 目标用户

销售/BD、创业者/高管、政务/公关等需要频繁社交的商务人群。


二、技术架构

2.1 整体架构图

┌──────────────────────────────────────────────────────────────┐│                    AI 眼镜端(GPASS)                          ││                                                              ││  麦克风 ──→ 持续监听 ──→ 语音转文字 ──→ 当前对话信息           ││  摄像头 ──→ 拍照采集 ──→ 图片URL                              ││  扬声器 ←── 语音播报                                          │└──────────────────────┬───────────────────────────────────────┘                       │ 每次用户说话触发一轮工作流                       ▼┌──────────────────────────────────────────────────────────────┐│                 百宝箱智能体工作流                              ││                                                              ││  ┌────────────────┐   ┌────────────┐                        ││  │ 大模型-意图识别  │ → │ 分支节点    │                        ││  └────────────────┘   └─────┬──────┘                        ││                             │                                ││  ┌──────────────────────────┼────────────────────────┐      ││  │  ├→ RECORD:  [大模型提取] → [saveToKnowledge]      │      ││  │  ├→ REGISTER:[拍照] → [registerFace]              │      ││  │  ├→ RECOGNIZE:[拍照] → [searchFace] → [知识库] → 播报│   ││  │  ├→ RECALL:  [提取人名] → [知识库] → [大模型] → 播报 │    ││  │  ├→ UPDATE:  [提取人名] → [知识库] → [合并] → 写入   │    ││  │  └→ OTHER:   "我在呢。"                             │     ││  └───────────────────────────────────────────────────┘      ││                                                              ││  ┌────────────────────────────────────────────────────────┐  ││  │  自定义Python插件                                        │  ││  │  • searchFace:阿里云人脸搜索1:N(流式上传)             │  ││  │  • registerFace:阿里云人脸注册(流式上传)              │  ││  │  • saveToKnowledge:百宝箱知识库结构化写入               │  ││  └────────────────────────────────────────────────────────┘  ││                                                              ││  ┌────────────────────────┐  ┌────────────────────────────┐ ││  │  百宝箱知识库(动态表格)│  │  阿里云人脸数据库          │ ││  │  结构化CSV:8字段       │  │  人脸特征向量 + entityId   │ ││  └────────────────────────┘  └────────────────────────────┘ │└──────────────────────────────────────────────────────────────┘

2.2 交互模型

与传统"按键触发"的设计不同,知面采用持续监听+语音指令模式:

  • 眼镜持续监听用户语音,每次说话自动转文字
  • 转文字结果作为"当前对话信息"触发一轮工作流
  • 工作流保留 30轮 历史对话,支持上下文关联
  • 无需镜腿手势操作,全语音交互

2.3 数据关联设计

人脸数据库与知识库通过 entityId 关联:

阿里云人脸库                         百宝箱知识库(结构化动态表格)┌──────────────────────┐           ┌──────────────────────────────┐│ entityId: zhangwei_  │           │ entityId: zhangwei_20260708  ││   20260708           │ ────────→ │ name: 张伟                    ││ extra_data: 张伟     │           │ company: XX科技               ││ 人脸向量: [...]      │           │ position: 副总裁              │└──────────────────────┘           │ summary: 聊了AI合作           │                                   │ personal: 爱喝龙井茶          │                                   │ followUp: 下周确认合同         │                                   │ meetDate: 2026-07-08 10:00:00 │                                   └──────────────────────────────┘

entityId 生成规则:姓名全拼小写 + 下划线 + 首次见面日期(YYYYMMDD),如 zhangwei_20260708。


三、百宝箱工作流机制

3.1 平台概述

「百宝箱」是蚂蚁集团提供的智能体低代码开发平台,支持通过拖拽节点方式搭建 AI 工作流,无需关心眼镜硬件底层即可开发 GPASS 智能眼镜应用。

3.2 工作流运行机制

百宝箱工作流本质是一个有向无环图(DAG),由各种功能节点串联而成。每轮用户输入触发一次完整执行:

用户语音输入 → 开始节点 → 节点1 → 节点2 → ... → 直接回复 → 结束                  ↑            注入上下文:            • 当前对话信息(本次语音转文字)            • 历史对话信息(前N轮对话记录)            • 触发时间等系统变量

关键特性:

  • 单轮执行
    :每次用户说话触发一轮工作流完整执行,执行完即结束
  • 历史上下文
    :开始节点可配置保留N轮历史对话(本项目设为30轮),后续节点可引用
  • 节点引用
    :每个节点可引用前置节点的输出作为输入,通过 {{节点名.输出变量}} 语法
  • 分支路由
    :分支节点支持条件判断,将流程导向不同链路
  • 顺序执行
    :节点严格按连线顺序执行,前一个完成后才执行下一个

3.3 可用节点类型

节点类型
功能
本项目使用场景
开始
工作流入口,注入用户输入和上下文
接收语音转文字、历史对话
大模型
调用LLM处理文本
意图识别、信息提取、内容整理
分支
条件判断路由
意图路由、空结果判断
循环
按序循环一定次数处理批量任务
可用于批量处理多条记录
参数提取
从大模型JSON输出中提取字段
提取name/entityId等结构化字段
知识库
语义/全文检索
检索人物档案
插件(Python)
执行自定义代码
人脸搜索/注册、知识库写入
插件(眼镜设备)
调用眼镜硬件能力
拍照采集
直接回复
向用户输出文本(语音播报)
各环节的确认和结果播报
结束
工作流终止
每条链路末尾

3.4 眼镜端插件

百宝箱为 GPASS 智能眼镜提供了原生设备插件:

插件
功能
输出
眼镜设备拍照采集
控制摄像头拍照
图片数据地址(URL)
眼镜设备语音采集
主动录音采集
语音识别后的文本
眼镜设备镜腿交互响应
等待用户手势
交互类型

本项目仅使用拍照采集插件,语音输入通过持续监听自动完成。

3.5 自定义Python插件机制

百宝箱支持上传自定义 Python 代码作为插件节点:

  • 入口函数
    :固定为 def main(params: dict, context: dict) -> dict
  • 参数传入
    :通过 params 字典获取配置的输入参数
  • 返回值
    :返回字典,作为节点输出供后续节点引用
  • 依赖管理
    :支持声明第三方 pip 包(如 alibabacloud_facebody20191230)
  • 超时控制
    :可配置执行超时时间(本项目设为 15-20 秒)
  • 隐藏参数
    :支持设置大模型不可见的固定值参数(如 API Key),保障安全

3.6 第三方服务集成

阿里云视觉智能开放平台 — 人脸人体

本项目使用阿里云视觉智能开放平台的人脸人体类能力,实现人脸注册与搜索:

  • 服务地址
    :facebody.cn-shanghai.aliyuncs.com(上海区域)
  • SDK
    :alibabacloud_facebody20191230(Python)
  • 认证方式
    :AccessKey ID + AccessKey Secret

使用的 API 能力:

API
功能
对应插件
CreateFaceDb
创建人脸数据库
初始化时调用一次
AddFaceEntity
创建人脸样本(Entity)
registerFace
AddFace(Advance)
添加人脸数据(流式上传)
registerFace
SearchFace(Advance)
人脸搜索1:N(流式上传)
searchFace

Advance 方法:常规方法要求图片为上海地域 OSS 链接,Advance 方法支持通过 image_url_object 参数传入 BytesIO 流,兼容任意来源的图片 URL。本项目统一使用 Advance 方法,确保兼容 GPASS 眼镜拍照返回的非 OSS 图片地址。

人脸数据库设计:

  • 数据库名称:socialmemory
  • Entity 对应一个人物,entityId 为唯一标识
  • extra_data 字段存储人物姓名,搜索返回时直接携带
  • 支持同一 Entity 添加多张人脸照片,提升识别准确率

百宝箱知识库 API

本项目使用百宝箱平台提供的知识库 REST API:

API
功能
地址
updateDocument
上传/更新结构化数据
https://open.tbox.alipay.com/openapi/v1/knowledge/updateDocument
retrieve
知识库语义召回
https://api.tbox.cn/api/datasets/retrieve
  • 认证方式:Header Authorization 携带 API-Key
  • 数据格式:multipart/form-data(上传 CSV 文件 + tableSchema JSON)
  • 更新模式:UPSERT(按主键 entityId 去重)

四、工作流设计

3.1 入口:意图识别 + 分支路由

[开始(30轮历史)] → [大模型-意图识别] → [分支_2]                                            ├── RECORD    → 链路A(记录新人)                                            ├── REGISTER  → 链路B(拍照建档)                                            ├── RECOGNIZE → 链路C(拍照识人)                                            ├── RECALL    → 链路D(语音回忆)                                            ├── UPDATE    → 链路E(更新档案)                                            └── 否则      → "我在呢。"

意图识别策略:

  • 模型:DeepSeek-V4-flash
  • 输出单个关键词,分支节点按"包含"条件路由
  • 关键设计:RECALL 和 UPDATE 必须包含具体人名才触发,避免普通对话误触发
  • 排除规则:用户与他人的寒暄/陈述不视为指令

3.2 链路A:记录新人(RECORD)

[直接回复:"好的,马上处理。"] → [大模型-提取信息] → [参数提取] → [saveToKnowledge] → [回复:"已建立XX的档案"]

核心逻辑:

  • 大模型从历史对话+当前对话中提取对方的信息(区分用户自己 vs 对方)
  • 严格输出 JSON:name、entityId、company、position、summary、personal、followUp、meetDate
  • entityId 由大模型按规则生成(拼音_日期)
  • 通过 saveToKnowledge 以 UPSERT 模式写入结构化知识库

信息提取规则:

  1. 用户说"我是XX" → 这是用户自己,不提取
  2. 用户称呼"X总"、“X哥” → 这是对方,提取
  3. 区分"用户要做的事"和"对方要做的事"
  4. 不确定的字段填"未知"

3.3 链路B:拍照建档(REGISTER)

[拍照采集] → [回复:"正在匹配档案"] → [大模型-从历史提取人名] → [参数提取] → [分支]    ├── name存在 → [registerFace] → [回复:"已保存XX的照片"]    └── name为空 → [回复:"请先告知姓名再拍照建档"]

核心逻辑:

  • 拍照后,大模型从历史对话中找到最近记录的人物名字
  • 按相同规则生成 entityId,确保与链路A存入的 entityId 一致
  • 调用阿里云人脸注册:先创建 Entity,再通过流式上传添加人脸数据
  • extra_data 存储姓名,后续搜索时直接返回

3.4 链路C:拍照识人(RECOGNIZE)

[拍照采集] → [回复:"正在匹配档案"] → [searchFace] → [分支]    ├── matched=="true" → [知识库:query=entityId] → [大模型-整理播报] → [回复]    └── matched!="true" → [回复:"没有匹配到已知的人物。"]

核心逻辑:

  • 拍照后通过流式上传调用阿里云人脸搜索 1:N
  • 置信度阈值 ≥ 60 视为匹配成功
  • 匹配成功后,用 entityId 精确检索知识库(而非模糊语义搜索)
  • 大模型将结构化档案整理为 ≤3句话的口语化播报

3.5 链路D:语音回忆(RECALL)

[大模型-提取人名关键词] → [知识库:query=人名] → [分支]    ├── 有结果 → [大模型-整理回复] → [回复]    └── 空结果 → [回复:"没有找到相关记录,需要帮您记录吗?"]

核心逻辑:

  • 先用大模型从用户输入中提取人名关键词(可含公司名),再用关键词检索知识库
  • 避免用整句话直接检索导致的误召回问题
  • 空结果兜底,避免大模型在无数据时编造信息
  • 根据问题类型给出不同回复:身份介绍 / 破冰建议

3.6 链路E:更新档案(UPDATE)

[回复:"正在更新档案。"] → [大模型-提取人名] → [知识库:query=人名] → [分支]    ├── 有结果 → [大模型-合并档案] → [参数提取] → [saveToKnowledge(UPSERT)] → [回复:"档案已更新"]    └── 空结果 → [回复:"没有找到该人物的档案,请先用「记一下」创建档案。"]

核心逻辑:

  • 同样先提取人名再检索,确保找到正确的人
  • 大模型将新信息与旧档案合并: 
    • 未提及的字段保持不变
    • summary/personal/followUp 追加新内容(分号分隔)
    • entityId 和 name 不变
    • meetDate 更新为当前时间
  • 通过 UPSERT 模式覆盖写入

五、自定义插件实现

4.1 searchFace(人脸搜索 — 流式上传版)

功能:根据图片在人脸数据库中搜索匹配的人物

技术要点:

  • 先通过 urllib 下载图片为二进制数据
  • 使用 SearchFaceAdvanceRequest 通过 BytesIO 流式上传
  • 兼容非OSS域名的图片URL(GPASS拍照返回的URL)
  • 返回:matched、entityId、confidence、extraData(姓名)

核心代码:

import iofrom urllib.request import urlopen, Requestfrom alibabacloud_facebody20191230.client import Clientfrom alibabacloud_facebody20191230.models import SearchFaceAdvanceRequestfrom alibabacloud_tea_openapi.models import Configfrom alibabacloud_tea_util.models import RuntimeOptionsdef main(params: dict, context: dict) -> dict:    url = params.get('url', '')    # 下载图片为二进制    req = Request(url, headers={'User-Agent': 'Mozilla/5.0'})    img_data = urlopen(req, timeout=10).read()    # 初始化客户端    config = Config(        access_key_id=params.get('accessKeyId', ''),        access_key_secret=params.get('accessKeySecret', ''),        endpoint='facebody.cn-shanghai.aliyuncs.com'    )    client = Client(config)    # 流式上传搜索    request = SearchFaceAdvanceRequest(        db_name='socialmemory',        image_url_object=io.BytesIO(img_data),        limit=1    )    response = client.search_face_advance(request, RuntimeOptions())    # 解析结果,置信度>=60视为匹配    # ...

4.2 registerFace(注册人脸 — 流式上传版)

功能:将新认识的人的照片注册到人脸数据库

技术要点:

  • 两步操作:AddFaceEntity(创建人物条目)+ AddFaceAdvance(流式上传人脸)
  • Entity已存在时跳过创建(幂等处理)
  • extra_data 存储姓名,搜索时直接返回
  • 使用 AddFaceAdvanceRequest 的 image_url_object 参数实现流式上传

4.3 saveToKnowledge(结构化知识库写入)

功能:将人物档案以结构化CSV格式写入百宝箱知识库

技术要点:

  • 使用百宝箱 updateDocument 接口,type=STRUCTURED
  • 数据格式:CSV(表头 + 数据行)
  • 更新模式:UPSERT(按 entityId 主键,存在则更新,不存在则新增)
  • 表结构定义(tableSchema)包含8个字段的完整元数据

知识库表结构:

字段
类型
说明
主键
索引
entityId
STRING
人物唯一ID
✅
✅
name
STRING
姓名
✅
company
STRING
公司
position
STRING
职位
summary
TEXT
交流摘要
✅
personal
TEXT
个人偏好
followUp
TEXT
待跟进
meetDate
DATETIME
见面时间

六、知识库设计

5.1 存储方式

采用结构化动态表格而非非结构化文档,优势:

  • 字段明确,支持精确检索
  • UPSERT 模式天然支持档案更新
  • entityId 作为主键保证唯一性

5.2 检索策略

场景
检索方式
query 来源
识人(链路C)
entityId 精确匹配
searchFace 返回的 entityId
回忆(链路D)
人名语义检索
大模型从用户输入提取的人名关键词
更新(链路E)
人名语义检索
大模型从用户输入提取的人名关键词

5.3 检索配置

  • 匹配策略:智能检索
  • 最大结果数:1
  • 最小匹配度:0.500
  • 语义精排:关闭

七、技术亮点

6.1 持续监听 + 意图路由

不同于传统的"按键触发"模式,知面采用持续监听方案。眼镜始终听用户说话,AI自动判断何时需要介入。用户无需刻意切换模式,对话中随时说"记一下"即可触发记录。

6.2 流式上传兼容性

阿里云人脸API要求图片为OSS地址或公网URL。GPASS拍照返回的URL可能不符合阿里云要求。通过先下载图片再以 BytesIO 流式上传,完美兼容任何来源的图片URL。

6.3 结构化知识库 + UPSERT

使用结构化CSV格式存储人物档案,配合 UPSERT 模式:

  • 首次记录:插入新行
  • 更新信息:按 entityId 主键匹配,覆盖对应字段
  • 天然去重,不会产生重复档案

6.4 人名精确检索

RECALL 和 UPDATE 链路先用大模型提取人名关键词,再用人名检索知识库。避免用整句话(如"刘翔跳槽到阿里巴巴更新一下")直接语义检索导致的误召回(可能匹配到含"阿里巴巴"的其他人档案)。

6.5 意图防误触

意图识别 prompt 严格约束:

  • RECALL/UPDATE 必须同时满足"包含人名"+“包含指令词”
  • 普通对话(寒暄、与他人交流)一律归为 OTHER
  • 确保用户与客户聊天时不会误触发 AI 操作

6.6 语音+视觉双模态闭环

录音记人(语音)+ 拍照识人(视觉)两种模态协作:

  • 记录 → 建档:语音记录人物信息后,拍照关联人脸
  • 识人 → 回忆:拍照识别身份后,语音补充询问更多信息
  • 完整闭环覆盖"认识 → 记录 → 回忆 → 更新"全生命周期

八、使用说明

快速上手

  1. 佩戴眼镜,开始与人交流
  2. 交流中/后说 “帮我记一下” → AI 从对话中自动提取信息并存档
  3. 说 “拍照存档” → 眼镜拍照,将人脸与刚才记录的档案关联
  4. 再次遇到此人时说 “这是谁” → 眼镜拍照识别 → AI耳返身份信息
  5. 见面前说 “帮我准备见张伟” → AI给出破冰话题和跟进建议
  6. 信息变化时说 “更新张伟的信息,他跳槽到XX公司了” → 档案自动更新

典型使用流程

参加行业交流会 → 与人交谈 → "帮我记一下" → AI存档                                ↓                        "拍照存档" → 人脸关联                                ↓          下次偶遇 → "这是谁" → AI耳返提醒                                ↓          会前准备 → "帮我准备见张伟" → AI给建议

九、未来演进

阶段
功能
当前(比赛版)
5大链路完整闭环:记录/建档/识人/回忆/更新
中期(产品化)
关键词唤醒建档、知识图谱后端、日程关联自动提醒
长期(完整形态)
全程对话自动记录、团队共享人脉库、AI社交分析月报

相关学习资料