描述一种基于实验室机器人API的实验执行接口
解读
面试官希望看到候选人能把“大模型驱动的Agent”与“真实实验室自动化硬件”打通,给出一条可落地、可扩展、可解释、可回滚的实验执行链路。重点不在罗列RESTful规范,而在如何封装不确定性、保障安全、支持多步任务拆解与异常自愈,同时兼顾国内高校/药企/检测机构对数据合规与成本控制的刚性要求。
知识点
- 实验执行接口四层模型:物理层→驱动层→技能层→任务层,层层解耦,方便后续强化学习策略热插拔。
- 安全对齐机制:“双钥匙”(Agent签名+实验员二次JWT)与**“沙箱白名单”(仅允许预置12类液体/固体/温度操作)并行,满足GB/T 34948-2017《实验室自动化系统安全要求》**。
- 可解释性设计:每条API响应必须携带**“实验步骤哈希”与“参数溯源链”,支持国产可信时间戳服务**(如CFCA)留痕,方便事后审计。
- 多模态反馈:除JSON外,机器人须回传实验过程短视频(≤5 s)与关键帧OCR文本,供大模型做视觉-语言对齐自检。
- 国产适配:默认兼容ROS2-Industrial与华为MindSpore Edge推理框架,支持在昇腾910B上本地部署7B以下模型,避免出口管制风险。
答案
我给出一套“Agent-Experiment-Gateway”接口规范,核心思想是**“把实验当作一次带状态的事务”**:
-
事务级入口
POST /api/v1/experiment/transaction
Header: X-Agent-Signature, X-Operator-JWT
Body: {
“goal”: “合成3g阿司匹林并测定熔点”,
“max_cost_rmb”: 180,
“deadline_unix”: 1719200000,
“safety_level”: 2
}
返回:
{
“tx_id”: “lab_tx_4f89ab”,
“status”: “ACCEPTED”,
“estimated_time_min”: 42,
“lock_resources”: [“fume_hood_3”, “balance_0.1mg”]
} -
技能级原子
事务被Agent拆成**“技能包”(Skill Package),每个技能对应一个“沙箱白名单”**内的原子操作:
POST /api/v1/skills/dispense
Body: {
“tx_id”: “lab_tx_4f89ab”,
“skill_id”: “dispense_001”,
“reagent”: “水杨酸”,
“target_mass_g”: 2.015,
“tolerance_mg”: 5,
“allow_substitute”: false
}
机器人执行后回传:
{
“skill_status”: “SUCCESS”,
“actual_mass_g”: 2.012,
“video_url”: “minio://lab-videos/dispense_001.mp4”,
“frame_ocr”: “balance reading 2.012 g”,
“step_hash”: “sha256:3b4c…”
} -
异常与自愈
若**“actual_mass_g”超出“tolerance_mg”,接口自动触发“子事务补偿”:
POST /api/v1/skills/compensate
Body: {
“tx_id”: “lab_tx_4f89ab”,
“parent_skill_id”: “dispense_001”,
“strategy”: “re_dispense_50mg”
}
补偿次数>3次仍失败,事务状态置为“HUMAN_REQUIRED”,并短信+钉钉通知实验员,同时释放资源锁**,避免死等。 -
结果封存
当所有技能包完成,Agent调用:
POST /api/v1/experiment/transaction/finalize
系统把**“实验步骤哈希链”打包成“.tar.gz”,调用CFCA时间戳接口固化,最后把“熔点仪原始数据.csv”与“视频索引.json”推送到本地MinIO**,返回**“实验报告PDF下载链接”**。 -
成本与合规
整个链路默认走实验室局域网,MinIO+PostgreSQL全容器化部署在华为Taishan 200服务器,单条实验数据不出境;若需云端大模型诊断,仅上传脱敏步骤哈希,满足**《中国人类遗传资源管理条例》**要求。
拓展思考
- 强化学习接入:把**“技能成功率”与“耗材成本”作为reward,在昇腾910B上用MindSpore RL在线调参,实现“越用越省”**的Agent策略。
- 数字孪生回放:利用NVIDIA Omniverse国产替代方案(如元象XVERSE)把实验哈希链+视频重建成3D时序,支持**“拖拽式回滚”**到任意一步,方便教学与审计。
- 多机器人协同:当实验需要**“平行合成”时,可在tx_id下挂“子tx_id”,通过ROS2 DDS实现纳秒级时钟同步**,避免**“双平衡同时占用”**死锁。
- 国产大模型微调:用ChatGLM3-6B在合成化学实验日志上继续预训练,得到LabGLM,替换通用大模型做**“实验步骤自动生成”,减少幻觉导致的安全事故**。