当我还在跟 ChatGPT 吹牛尬聊时,有人已经在拿它操控机器人了。

  不是别人,正是 OpenAI 的金主爸爸、不久前刚拿 ChatGPT“重新发明搜索引擎”的微软。

 

 

  到目前为止,开发者调教机器人不仅技术门槛高,还道阻且长:

  工程师需要在工作流程回路中,不断手写新代码和规范来纠正机器人行为;另外,操控不同的机器人可能需要不同的编程语言和环境。

  而在 ChatGPT 的帮助下,工程师甚至不用手写代码——直接用人话描述想做什么,AI 就能自动翻译成机器语言。

  这意味着,一方面专业人士与机器人的交互效率起飞;另一方面,技术门槛也降低一大截,外行人甚至也能参与调试,创造出更多使用方法。

  举个简单的例子:让无人机自动检查货架。

  首先,操作者只需用自然语言给 ChatGPT 提出要求;然后,AI 就能自动翻译成代码,并指挥无人机行动。(还可以规定无人机的飞行路径。)

  难怪特斯拉前 AI 主管 Andrej Karpathy 会调侃:最新的热门编程语言是英语。

  一个 AI 指挥多种机器人

  实际上,ChatGPT 会玩儿的花样可多了。

  比如,一位操作者跟 AI 说:“我渴了,请帮我找个喝的。”

  此时 AI 并不会直愣愣地就去找水了,而是会很机灵地反问:请问你想喝哪种?这里有好几种饮料,比如椰子水、可乐等等。

  当然操作者也不是吃素的,他并未直接告诉 AI 选哪个,而是说:“我刚从健身房回来,请帮我找个健康点儿的饮料。”

  然后更神奇的操作就开始了:

  AI 先是猜测他想喝椰子水,然后自己噼里啪啦写出一段代码(甚至还有注释):

  写完就自己指挥无人机去找椰子水:

  除了无人机,ChatGPT 还能轻松操控别的小机器人,包括摄像头、机械臂等等。

  比如让摄像头在房间里找出能加热午饭的东西。

  还有指挥机械臂拼出一个微软的 Logo。(悄悄夹带私货)

  看到这些,有网友脑洞大开,有人发问:他们是不是正在建立无所不能的天网?

  还有人甚至调侃称,AI 可能连发射核弹的指令都会写:

  不过话说回来,其实离网友说的这些还差得远,毕竟现在还是需要人类参与的。

  怎么实现的?

  从前文可以看出,这只灵活的 AI 不仅与人交流畅通无阻,而且和机器也能快速沟通。

  这主要得益于微软团队专门开发的一系列 API 和高级函数库。

  他们没有让 ChatGPT 背后的语言大模型(LLM),生成某固定种类的代码;因为机器人是个多元化领域,这样可能会在不同场景下涉及大量微调。

  而在新颖的操作框架下,不同机器人,都有自己对应的特定函数库。

  ——一个 AI,就能适应不同的对象、不同的任务

  一方面,这些函数库,能够连接到机器人控制系统中管理底层硬件,以及执行基本运动的代码和功能模块。

  另一方面,为了让 ChatGPT 也能遵循函数库的规则,预定义函数命名就很关键。清晰的函数名,能让各 API 之间建立良好的功能连接,最终生成高质量的回答。

  其中一项要求,就是所有 API 名称必须描述整体功能行为。例如,detect_object (object_name) 函数可以在内部链接到 OpenCV 函数或计算机视觉模型。

  设计好库和 API 后,微软给 ChatGPT 编写了一个文本提示(prompt),描述目标任务,并明确说明函数库中哪些函数可用;另外,这还能规定 ChatGPT 生成代码用哪种编程语言。

  值得一提的是,AI 生成内容效果,和人为提示的质量呈正相关。为此,微软还开发了一个协作开源平台 PromptCraft,任何人都能在此分享不同类机器人的 Prompt 策略。

  到此,幕后部署基本完成,然后用户就能通过“说人话”间接操控机器人了。

  如果想要检查 AI 生成的代码是否有 Bug,随时都能在聊天框直接检查,或通过模拟器测试,人类可以用自然语言指导 AI 进行修正。

  另外,还能到等到用户对解决方案满意为止,再在将 ChatGPT 生成代码部署到机器人上。

  最后,如果是你,会想用 ChatGPT 操控机器人做些什么呢?

  论文地址:

  https://www.microsoft.com/en-us/research/uploads/prod/2023/02/ChatGPT___Robotics.pdf

  参考链接:

  [1]https://arstechnica.com/information-technology/2023/02/robots-let-chatgpt-touch-the-real-world-thanks-to-microsoft/

  [2]https://www.microsoft.com/en-us/research/group/autonomous-systems-group-robotics/articles/chatgpt-for-robotics/

  [3]https://github.com/microsoft/PromptCraft-Robotics#promptcraft-robotics