跳到主要内容

AI-Assisted Development

本篇演示 AI 辅助开发:用一句自然语言描述需求,由 Claude(基于 ne503-dev skill)完成应用的开发、部署与验收,全程无需手动执行命令。

演示应用为 停留告警(Loitering Detection):检测到人员连续停留 10 秒即触发告警,人员离开后重置。

直接体验成品

想跳过开发过程、直接部署成品?下载本次演示产出的预编译包 lingering-detection.tar,解压即得 app.yamlimage.tar,按 Hello World §4 的步骤部署到设备即可。

1. 前置准备

条件说明
Claude Code安装到本机。
ne503 源码仓库克隆到本地(随 NE503 SDK 一并提供),ne503-dev skill 位于仓库的 .claude/skills/ne503-dev/;或下载 skill zip 解压至 .claude/skills/
Docker安装到本机,用于构建应用镜像。
NE503 设备准备一台就绪的设备:记下设备 IP 与 admin 密码,并确认平台已初始化(HALv2 已装、ai-runtime 健康、检测模型已 scan+load)。

2. 从一句话到一个新应用

传统开发流程要做的事——编写 app.py 业务逻辑、配置 app.yaml 权限、查询设备可用的模型与视频流、构建镜像、部署、验收——在 AI 辅助开发里全部交给 Claude,开发者只需用自然语言描述需求。以下是一次真机会话的完整过程(2026-06-22),输入仅一句话。

2.1 输入需求

在 Claude Code 中调用 ne503-dev skill,用自然语言描述需求:

做一个应用:检测到人停留 10 秒就发告警。部署到 <设备 IP>

Claude 读取 skill 后自主启动规划,与开发者确认少数细节后即开工:

2.2 Claude 开发这个应用(核心)

需求确认后,Claude 以 SDK 的 apps/template/ 应用模板为起点自主开发,关键决策有三:

  • 占位值修正:模板里的示例模型与视频流在真机上跑不通,Claude 查询设备后改为真实值——模型 hailo_yolov8n_384_640、视频流 sub(发布原始 NV12 帧;main 只发编码 H264,无法推理)。
  • 停留状态机:应用的核心逻辑。人进入画面即开始计时,连续停留满 10 秒触发告警,连续 3 秒未检测到则判定离开并重置;3 秒宽限窗口(GRACE_SECONDS)容忍侧身、遮挡造成的短暂丢帧。
  • 清单配置app.yaml 声明所需的视频流、模型、事件主题,以及可调环境变量(停留时长 LOITER_SECONDS、检测阈值 DETECTION_THRESHOLD、宽限秒数 GRACE_SECONDS 等)。

完整的开发过程(模板选取 → 占位修正 → 状态机编写)见下:

2.3 Claude 部署并验收

代码写完后,部署同样由 Claude 自主完成——调用 skill 内置脚本,将"构建→上传→安装→启动→验收"全自动一次跑通,应用随之进入 running

部署完成后,Claude 进一步验证三件事:推理确实上线(拉日志确认模型加载与首帧到达)、平台注入的权限与 app.yaml 声明一致、人进入画面即可触发一次完整检测。Web 控制台视角的验收过程见下:

真机重复多轮,告警稳定落在 10.1 秒,累计 3 次独立告警,无误报、无漏报。

输入一句话需求,即可产出一个在设备上实跑的停留告警应用——全程无任何手动步骤。

完整过程汇总视频(按需查看):