当我们还在跟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生成的代码是否有漏洞,随时都能在聊天框直接检查,或通过模拟器测试,人类可以用自然语言指导AI进行修正。
另外,还能等到用户对解决方案满意为止,再将ChatGPT生成代码部署到机器人上。