2天,我用函数计算 AgentRun 爆改一副赛博朋克眼镜

简介: 2天将吃灰的Meta眼镜改造成“交警Copilot”:通过阿里云函数计算AgentRun实现端-管-云协同,利用Prompt驱动交通规则判断,结合OCR与数据库查询,打造可动态扩展的智能执法原型,展现Agent架构在真实场景中的灵活与高效。

背景

一年前,我购入了 Meta Ray-ban 眼镜,Meta 对于眼镜本体的开发及 App 更新很快,但由于没有中文支持和开放的SDK 导致对国内用户非常不友好。2025 年 11 月,Meta 终于放出了 Device Access Toolkit 让社区看到了点意思,前两天逛 GitHub 刷到了名为turbometa-rayban-ai 开源项目,项目作者开发了直连中文 App + 百炼 API,实现了几个支持有趣功能(例如中文多模态对话、卡路里检测等)。

路都铺好了:能截流、能传图、能搞 AI 交互。看着 Repo 里的调用代码,似乎加一个服务端的功能不是什么难事?正好前段时间刷短视频,看到某地交警配备了那种“黑科技眼镜”,看一眼车牌就能识别是不是违章车,科技瞬间变成人间烟火。当时我就在想:这玩意儿虽然看起来高大上,但核心逻辑不就是 OCR + 查库 + 规则判断 吗?

吃灰的 AI 眼镜 -( ????)-> 交警 Copilot
image image

既然有了 turbometa-rayban-ai 解决了样板间问题,我又略懂一些 Agent 架构,能不能用阿里云函数计算 AgentRun功能,把这个原型给“Hack”出来?

“端管云”协同框架

首先我们来梳理一个整体架构图,眼镜本身算力有限,所以我们的策略是:端侧只负责看,云端负责想与处理。 我设计了经典的 “端-管-云” 三层架构:

1.端 (Client)AI 眼镜 + iOS App。负责“抽帧”和“传图”,做一个无情的传输机器。

2.脑 (Brain)阿里云函数计算 AgentRun。负责思考“今天是单号还是双号?”、“这车是不是VIP?”。

3.手 (Tools)阿里云 FC - 函数工具。负责脏活累活,比如查数据库、写日志。

整体的数据流向如下:

  • 看 (See): 眼镜看到车牌 -> 蓝牙传输 -> iOS App。
  • (Upload): iOS App 抽帧 -> HTTP POST -> 阿里云函数计算FC。
  • 想 (Think): FC 注入日期规则 -> AgentRun 思考 -> 决定查库。
  • 查 (Action): AgentRun 调度 FC 工具 -> 读写数据库 -> 返回结果。
  • 说 (Speak): AgentRun 生成人性化回复话-> FC 返回 -> iOS 转语音 -> 眼镜播放(规划中,暂未实现)。

image

动手,让想法照进现实

客户端开发

在我们的架构设计中,iOS 客户端的角色被设计为一个 “克制的中继”。我们不希望手机成为计算瓶颈,因此端侧只负责 I/O,不负责 AI 推理,这套逻辑确保了端侧的极致轻量化。由于客户端开发不是重点,所以我直接基于 turbometa 项目用 Vibe Coding + XCode 编译缝合了一个转发功能。

架构图 核心架构与流程逻辑
image ●链路建立:App 通过 turbometa 协议或 SDK 与眼镜建立蓝牙/Wi-Fi 高速通道,实时获取摄像头的画面数据。●抽帧:我们不上传连续视频流,而是每隔 1~2 秒截取一帧画面。直接调VL模型估计吃不消。●云端交互:将筛选出的高清图片进行 Base64 编码,打包当前时间戳(用于 Agent 判断单双号)和 GPS(位置) 信息,发送 HTTP POST 请求直连阿里云 FC 网关。●眼镜播放:一旦收到云端 Agent 返回的 JSON 指令(例如 {"text": "双号限行,拦截"}),App 立即调用 iOS 原生的 TTS 引擎合成语音,音频流会自动路由回眼镜的开放式扬声器播放。

服务端开发

服务端有 4 个组件,全部通过阿里云函数计算(FC 构建),分别是:

  • 接入点:负责鉴权并处理客户端调用。Context 注入:计算“今天是单号还是双号”,将这个环境信息(Context)塞入 Prompt,再传给 Agent。
  • AgentRun:核心决策者。它不碰数据库,只负责“想”。判断:“车牌是双号,今天是单号,违规了 -> 应该调用查白名单工具。”

    • FunModel(AgentRun 背后模型):通过阿里云百炼API、调用 Qwen 模型。
  • 工具(FC Tools):连接 RDS (MySQL) 查白名单,连接 SLS 写违章日志。

    • log_traffic_all:把车牌、时间等信息记录下来
    • query_history:通过车牌查询历史库,过去 7 天、30 天是否有出现
    • check_whitelist:查询车牌是否在报备白名单中
    • log_illegal:记录日志,后台处理
  • 存储层:

    • 阿里云日志服务(SLS):用于存储记录数据,开箱即用,几乎无使用成本
    • 阿里云 RDS(Mysql):用来存储报备白名单

image

2.1 函数计算 AgentRun

定义“大脑”的逻辑 (Prompt Engineering)我们没有写复杂的 Python 逻辑判断单双号,而是写了一段 Prompt。在 AgentRun 里,自然语言就是代码。

System Prompt 核心片段:

你是一个智能交通管控 Agent。
当前日期信息:{
  {current_date_info}} (由网关注入,例如:今天是1号,单号)

处理流程:
1. 必须执行:先调用 `log_traffic_all` 记录流水。
2. 规则判断:
   - 单号日仅允许尾号单数通行;双号日仅允许尾号双数。
   - 如果满足,直接“放行”。
3. 违规处理:
   - 违反单双号规则时,别急着开罚单!
   - 先调用 `check_whitelist` 查白名单。
   - 如果没报备,再调用 `query_plate_history` 查查是不是惯犯。
   - 最后生成简短回复。

逻辑看起来很简单,如果老板明天说“周三改为尾号 3 限行”,我只需要改 Prompt,不用重新部署代码。

2.2 FC Tool:打造“手脚”

Agent 再聪明也无法直接连数据库。我们用 FC (Python Runtime) 封装了几个原子能力工具。

这里的代码核心是 “只做执行,不带脑子”。

# tools.py (部署在 FC 上)
def handler(event, context):
    # AgentRun 会把要调用的函数名传过来
    tool_name = json.loads(event).get('function')

    if tool_name == 'check_whitelist':
        # 纯粹的 SQL 查询
        return db.query("SELECT count(*) FROM whitelist WHERE plate=%s", plate)

    elif tool_name == 'log_illegal_notice':
        # 写入 SLS 日志服务,甚至把违章照片存进去
        return sls.put_log(plate, image_base64, "violation")

    # ... 其他工具

我们把这个 FC 函数绑定到 AgentRun 的工具列表里,并在 AgentRun 中选上,Agent 拥有了操作真实世界的能力。

2.3连接客户端 (The Gateway)

最后,我们需要一个 HTTP 入口来接收 iOS 传来的照片,并把“当前日期”告诉 Agent。

# main.py (入口网关)
def handler(event, context):
    # 1. 算一下今天是单号还是双号
    is_odd = (datetime.now().day % 2 != 0)
    date_context = f"今天是{'单号' if is_odd else '双号'}"

    # 2. 组装 Prompt,把图片和日期一起丢给 Agent
    prompt = f"{date_context},请处理这张图片里的车:{image_url}"

    # 3. 调用 AgentRun 接口
    reply = call_agent_run(prompt)

    # 4. 返回结果
    return {"voice_feedback": reply}

灵魂拷问:小题大做,还是降维打击?

可能很多人在问,这么小一个应用,半年前都已经在全国铺开了,有必要再用 Agent架构 + 函数计算(FaaS) 造一遍轮子吗?想了想还真有点区别:

拷问一:几行 if-else搞定的事,为什么用 Agent 架构?

你可能会问:“不就是查个车牌吗?我在 Python 里写几行 if-else 不也一样跑?”

这就到了本项目的精髓所在。用 AgentRun(Agent 架构)取代传统后端逻辑,不仅仅是为了蹭 AI 的热度,而是为了解决现实世界中 “需求总在变”和“数据总是不完美” 这两个死穴。相比于传统硬编码(Hard-coding),Agent 方案展现了降维打击般的优势:

逻辑解耦:Prompt 即业务

在传统开发中,业务逻辑是“焊死”在代码里的。一旦交规从“单双号限行”变成“周五尾号 4 和 9 限行”,你得修改代码、重新测试、重新部署上线。

而在 Agent 架构中,代码只负责“能力”(查库、写日志),Prompt 负责“逻辑”。举个例子(规则突变), 明天突然要严查“皮卡车”,禁止皮卡进入。

  • 传统做法:改代码,加一个 if vehicle_type == 'pickup',重新发版。
  • Agent 做法:只需在后台 System Prompt 里加一句话——“注意,从现在起,所有皮卡车一律拦截。” Agent 会自动调用 OCR 识别车型(如果 VLM 支持)并执行拦截逻辑,代码一行不用动。

动态编排:省钱又高效

传统代码通常是“流水线”式的:先 OCR -> 再查库 -> 再记日志。不管需不需要,流程都要走一遍。

Agent 拥有 “自主决策权”,它知道什么时候该省事,什么时候该深究。例如:来了一辆车,但 OCR 识别结果是一串乱码(可能是树叶遮挡)。

  • 传统做法:拿着乱码去数据库 SELECT * FROM ...,浪费一次数据库查询,最后报错。
  • Agent 做法:Agent 看到乱码会思考:“这显然不是一个有效的车牌格式,查库也是浪费时间。” 它会跳过查库工具,直接反馈:“车牌模糊,请重拍。” —— 它懂得“止损”。

语义级扩展

Agent 可以理解复杂的、非结构化的指令。比如:你想找一辆特定的车,但忘了车牌,只记得是“红色的宝马”。

  • Agent 做法:你可以直接对眼镜说:“帮我留意一下红色的宝马。” Agent 会将“红色宝马”这个特征加入到它的短期记忆中。当后续图片流中出现红色车身+宝马标时,哪怕你没写专门的“颜色识别代码”,Agent (如果是多模态) 也能理解并触发警报。

总结一下:传统程序是 “你让它干啥它干啥”(就算前面是坑也往下跳,抛出异常人工处理);Agent 架构是“你告诉它目标,它自己找路”(遇到坑它知道绕过去,甚至还能帮你填上)。对于像交警执法这样充满变数和非标准情况的场景,Agent 才是那个最聪明的“副驾”。

拷问二:为什么选 FaaS?

在设计这套系统时,我毫不犹豫地选择了 阿里云函数计算 (FC) 作为后端运行时。这不仅仅是因为我懒得维护服务器,更是因为在 Agent + IoT 这种场景下,Serverless 简直是“天选之子”。

极致的“抠门”艺术

交通场景的流量是极其不均匀的。早晚高峰车水马龙,半夜三更鬼影都没一个。

  • 传统服务器:你得按最高峰的配置买机器。半夜没车时,CPU 在空转,你的钱在燃烧。
  • FaaS 模式有车来才干活,没车来就睡觉。

当眼镜没传照片时,实例缩容到 0,一分钱不扣。当早高峰突然来了 100 辆车,FC 瞬间拉起 100 个实例并行处理。这种“用完即走”的特性,对于我这种钱包不鼓的开发者来说,简直是救命稻草。

Tools as Functions

在 Agent 架构中,大模型需要调用各种 Tools(工具)。 你仔细想一下,一个 Tool 的定义,是不是天生就长得像一个 Function?

  • Tool 定义:输入车牌 -> 查库 -> 输出结果。
  • FaaS 定义:Event Trigger -> Python Handler -> Return JSON。

这两者是 1:1 完美映射的。我不需要在一个庞大的 Spring Boot 或 Django 项目里写一堆接口,我只需要写一个个独立、原子化的小函数:check_whitelistlog_to_sls。 Agent 想用哪个,就唤醒哪个。这种类微服务化的架构,让给 AI 增加新技能变得异常简单——写个新函数,一挂载,搞定。

“胶水” 的力量

AgentRun 只是大脑,数据都在云产品里(RDS, SLS, OSS)。FaaS 就像是强力胶水,它原生集成了阿里云的各种 SDK。

  • 你想存照片?FC 几行代码转存 OSS。
  • 你想记日志?FC 原生对接 SLS。
  • 你想发通知?FC 触发短信网关。

FaaS 屏蔽了底层基础设施的复杂性,让我能专注于写那几行核心的“胶水代码”,而不是去折腾数据库连接池或者网络配置。如果说 AgentRun 是我请来的 “天才指挥官”,那 FaaS 就是一支“特种部队”——平时隐身不花钱,一声令下,千军万马,使命必达。

写在最后

借助 Vibe Coding、云计算产品、及 GitHub 开源项目,一个从未写过 IOS 小白解锁了 Meta Ray-Ban 眼镜的开发,构建了一个 “端-管-云” 协同的智能原型:眼镜负责第一视角采集,iOS App 负责抽帧中继,云端 AgentRun 充当“大脑”进行意图理解与决策,指挥 FC 函数 完成查库、违章记录等实操。2天零碎时间,把一副消费级眼镜勉强魔改成“交警副驾”:)

当然 Demo 只是在 Mock 数据上勉强跑通,离 Production 还是有很大距离,还有很多优化的地方,比如:

  • 端侧减负:在 iOS 端引入视觉算法检测画面清晰度,模糊帧直接丢弃,大幅节省 5G 上传流量。
  • 降本提速:在 FC 部署 GPU 版 OCR小模型 做预处理,只将提取后的“车牌文本”传给 Agent,将 Token 消耗降低 90%,速度提升一倍。可以借助 Redis 缓存,把邻近(例如 1 分钟内)车牌去重,减少重复数据和调用。
  • 完善体验:引入 全链路流式交互 (Streaming TTS),让 AI 边想边说,将语音反馈的等待感压至毫秒级。

在开发的过程中,也发现作为微服务、Agent 应用调试工具、注册工具和 Debug 也是挺折腾的,相关建议也正在整理反馈给产品方。等各方体验完善后,我也计划把项目打包成一个 Demo 项目上架,让更多人来体验“科技的人间烟火”。

文中提及产品及项目

  1. 阿里云函数计算 FC:https://www.aliyun.com/product/fc
  2. 函数计算 AgentRun: https://www.aliyun.com/product/fc/agentrun
  3. 阿里云百炼大模型服务 (Bailian): https://www.aliyun.com/product/bailian
  4. 阿里云日志服务 (SLS): https://www.aliyun.com/product/sls
  5. 阿里云关系型数据库 (RDS for MySQL): https://www.aliyun.com/product/rds/mysql
  6. 阿里云对象存储 (OSS): https://www.aliyun.com/product/oss
  7. 阿里云云数据库 Redis: https://www.aliyun.com/product/kvstore
  8. turbometa-rayban-ai Github项目:https://github.com/Turbo1123/turbometa-rayban-ai/blob/main/README_EN.md
相关实践学习
【AI破次元壁合照】少年白马醉春风,函数计算一键部署AI绘画平台
本次实验基于阿里云函数计算产品能力开发AI绘画平台,可让您实现“破次元壁”与角色合照,为角色换背景效果,用AI绘图技术绘出属于自己的少年江湖。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
20天前
|
人工智能 关系型数据库 Serverless
2 天,用函数计算 AgentRun 爆改一副赛博朋克眼镜
2 天将吃灰的 Meta 眼镜改造成“交警Copilot”:通过阿里云函数计算 AgentRun 实现端-管-云协同,利用 Prompt 驱动交通规则判断,结合 OCR 与数据库查询,打造可动态扩展的智能执法原型,展现 Agent 架构在真实场景中的灵活与高效。
317 44
|
1月前
|
人工智能 安全 调度
AI工程vs传统工程 —「道法术」中的变与不变
本文从“道、法、术”三个层面对比AI工程与传统软件工程的异同,指出AI工程并非推倒重来,而是在传统工程坚实基础上,为应对大模型带来的不确定性(如概率性输出、幻觉、高延迟等)所进行的架构升级:在“道”上,从追求绝对正确转向管理概率预期;在“法”上,延续分层解耦、高可用等原则,但建模重心转向上下文工程与不确定性边界控制;在“术”上,融合传统工程基本功与AI新工具(如Context Engineering、轨迹可视化、多维评估体系),最终以确定性架构驾驭不确定性智能,实现可靠价值交付。
391 41
AI工程vs传统工程 —「道法术」中的变与不变
|
1月前
|
数据采集 人工智能 IDE
告别碎片化日志:一套方案采集所有主流 AI 编程工具
本文介绍了一套基于MCP架构的轻量化、多AI工具代码采集方案,支持CLI、IDE等多类工具,实现用户无感、可扩展的数据采集,已对接Aone日志平台,助力AI代码采纳率分析与研发效能提升。
442 46
告别碎片化日志:一套方案采集所有主流 AI 编程工具
|
1月前
|
SQL 人工智能 分布式计算
从工单、文档到结构化知识库:一套可复用的 Agent 知识采集方案
我们构建了一套“自动提取 → 智能泛化 → 增量更新 → 向量化同步”的全链路自动化 pipeline,将 Agent 知识库建设中的收集、提质与维护难题转化为简单易用的 Python 工具,让知识高效、持续、低门槛地赋能智能体。
383 36
|
9天前
|
人工智能 弹性计算 运维
小白也能上手!阿里云推出 OpenClaw 极速简易部署方案
阿里云OpenClaw是开源本地优先AI智能体平台,支持邮件处理、周报生成、资料查询、代码编写等任务,数据全留本地,保障隐私。技术小白也能通过阿里云轻量服务器“一键部署”,几分钟即可拥有专属AI数字员工。
131 15
|
30天前
|
数据采集 人工智能 运维
AgentRun 实战:快速构建 AI 舆情实时分析专家
本方案基于函数计算AgentRun平台,打造自动化、可视化的实时舆情分析系统。通过流式架构与隔离浏览器沙箱,实现从数据采集到报告生成的全流程智能处理,解决传统系统滞后、低效、难扩展等痛点,助力企业精准洞察舆论动态。
AgentRun 实战:快速构建 AI 舆情实时分析专家
|
4月前
|
机器学习/深度学习 人工智能 Serverless
吉利汽车携手阿里云函数计算,打造新一代 AI 座舱推理引擎
当前吉利汽车研究院人工智能团队承担了吉利汽车座舱 AI 智能化的方案建设,在和阿里云的合作中,基于星睿智算中心 2.0 的 23.5EFLOPS 强大算力,构建 AI 混合云架构,面向百万级用户的实时推理计算引入阿里云函数计算的 Serverless GPU 算力集群,共同为智能座舱的交互和娱乐功能提供大模型推理业务服务,涵盖的场景如针对模糊指令的复杂意图解析、文生图、情感 TTS 等。
|
存储 缓存 NoSQL
阿里云 Tair KVCache 仿真分析:高精度的计算和缓存模拟设计与实现
阿里云 Tair 推出 KVCache-HiSim,首个高保真 LLM 推理仿真工具。在 CPU 上实现<5%误差的性能预测,成本仅为真实集群的1/39万,支持多级缓存建模与 SLO 约束下的配置优化,助力大模型高效部署。
|
2月前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
683 81
|
1月前
|
存储 人工智能 搜索推荐
AI Agent 记忆系统:从短期到长期的技术架构与实践
当智能体需要处理越来越复杂的任务和更长的对话历史,核心挑战是什么,又该如何突破。
766 24

热门文章

最新文章