DynaTalk: 企业级 CodeLab Adapter

前言

我们之前在 CodeLab Adapter 上边的工作,引起了许多企业的兴趣。

CodeLab Adapter 是一个由 Python 构建的软件(构建在消息之上(Everything Is a Message)), 致力于连接万物,无论是软件还是硬件,无论是 AI、开源硬件、现实世界的物体、还是虚拟世界的动画角色, 接入 CodeLab Adapter, 皆可彼此互动。
“连接能力” 和 “可扩展性” 是它的主要特色。
在 CodeLab Adapter 驱动的环境里,通过使用 Scratch 或 Python 编程,你可以与万物沟通: 你可以在朋友生日那天,在 Ta 进门的一刻,将手中的魔杖一挥,在空中划一个字母 L 的轨迹,瞬间,点亮房间里五彩的灯光。

这个链接里包含了许多使用 CodeLab Adapter 构建的演示项目。

CodeLab Adapter 定位是个人软件, 主要用于教育场景。 设计中并未考虑太多的企业级需求。

DynaTalk 拥有跟 CodeLab Adapter 一样强大的连接能力, 且能够服务于企业级需求, 这些需求包括: 安全性、工业级别的性能、多用户…

想法来源

Alan Kay 创造了“面向对象”一词, 他赋予这个词的含义包含三个部分:

    1. 一切都是对象
    1. 对象通过消息进行通信
    1. 对象解释它所理解的消息

软件行业目前使用这个词所指的东西, 通常只包含第 1 个部分。

今天的软件工程中, 对象之间的交互, 以及异构系统之间的交互, 通常由实现者自行决定。就我们自己的经验而言,这类需求(对象/系统之间的协作)会在不同的项目中反复出现,它在最初看起来是简单的,似乎通过函数调用、HTTP 接口就能解决,但随着系统变得复杂,对象/系统之间的协作问题会与并发、同步/异步、事件系统等问题纠缠在一起。它比乍看起来要复杂,而且需要有整体的设计。

构建一个系统时,人们最初会以为对象这些计算的实体是关键,这导致"面向对象"话题下的讨论多半围绕类的结构(属性与行为)。 Alan Kay 指出:

构建优秀且可扩展的系统的关键更多的是设计模块之间如何通信,而不仅仅是设计其内部属性和行为。

随着系统的生长,复杂性移向模块之间的交互,这要求我们能够对其进行观测,以诊断问题和提高可理解性。

我们不想每次只是临时解决问题,渴望有一个坚实的架构基础, 来支持不同对象/系统之间的通信,它可以支持系统的持续成长。DynaTalk 是我们在这个想法下交付的东西。

我们听从 Alan Kay 的教导,采用了消息传递(Message passing)风格的架构设计。

应用场景

以下是 DynaTalk 的一些应用场景:

它十分适合, 整个不同的系统:

  • 制作客户端
  • 构建 Agent
  • 将人类、AI、软件系统、硬件设备整合到同一个计算环境中, 让它们彼此交互。

这两类系统都

诸如:

  • 为 Unity/Roblox 中制作的游戏, 提供 Python/Scratch 客户端

重点讨论 AI Agent 和 Future Park

snap 三类积木

  • 事件
  • action
  • request

todo

重构 Adapter 发布 以 Snap 或者 morphic 为用户界面

需要一个 Agent 可以管理其他 Agent,Agent决定结束自己?

体验

你可能会感兴趣

产品化

Roblox SDK 最初在这里打磨 Unixy SDK 如果你希望为你的游戏添加物理外设、用户编程界面 Snap SDK Python SDK

本地部署与云服务

我们之前的经历偏向于研究性质,缺少制作产品的经验。

我们试图将其 DynaTalk 商品化,但缺乏这块的经验,如果你感兴趣,欢迎联系我们,我们想了解你的需求。

如何使用

  • 云服务
    • 免费体验
  • 本地部署
    • 数据安全
  • Python 客户端
    • 可观测
    • MQTT
    • 问题解答,每月 10 小时(或者10次),每次一小时

参考