范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

UnitMesh架构释放AI编程的全部潜力,程序员将成为代码质检员?

  Unit Mesh是一种基于人工智能生成的分布式架构,与传统的分布式架构不同,Unit Mesh 中的服务单元 (Unit) 是由 AI 生成的,应用程序中的服务和数据抽象为一个个独立的单元,并通过统一的控制平面进行管理和部署。
  在上一篇文章 《未来可期的 AI 编程:到底是程序员的终极解放还是失业的开始?》 里,我们介绍了人类食用 AI 编程的考虑要素质。在这一篇文章里,我们将继续探索 AI 编程的可能性 —— 一种 AI 编程下的可能性:  Unit Mesh   架构,大抵也是现阶段比较可行的方式。
  PS:之所以叫 Unit Mesh,是因为我们写了一个底层服务叫 UnitServer ,还有参考了 Service Mesh 和 Data Mesh 架构理念,所以 AI 取建议我们叫   Unit Mesh  。
  Unit Mesh ElementsTLDR 版本
  我们初步定义的这个版本(0.1 ,称之为 UnitGenius)的核心三个特性:  语言与框架的 DSL (领域特定语言) 抽象:抽象非的编程语言和框架特性,以简化出错的可能性。  REPL 即服务 :运行 AI 生成的代码,并提供对应的 API 服务。  AI 设计的适应性结构 :自我适应的 API 服务架构,以在不同的环境下自动调整和优化。
  开发者可以通过与 AI 交互,生成一定程度的 DSL 抽象化代码,然后在 REPL 即 Serverless 服务上运行和测试这些代码。开发者还可以将这些代码提交给 AI进 行自动化运维,AI 会对代码进行优化和调整,从而进一步提高 API 服务的性能和可靠性。
  开始正文的废话版本。  Unit Mesh 初步 Demo:DSL + REPL = Unit Server
  详细过程,见本文的后半部分。
  前端页面:https://prompt.phodal.com/zh-CN/click-flow/unit-mesh-unit-server/
  首先,你需要克隆一下,Unit Server 的代码:https://github.com/prompt-engineering/unit-server ,然后,选择 kotlin-repl 或者 typescript-repl 对应 Kotlin、TypeScript 两种语言。
  然后,按对应的 README 运行起你的 Unit Server。
  接着,在 ChatFlow 里让 ChatGPT 生成如下的代码,并点击  Run   按钮: %spring  @RestController object Pages {    @GetMapping("/")    fun main() = "It works!" }
  最后,你就可以得到一个正在运行的服务(该功能还在开发中):http://localhost:8080/ ,访问该服务后,如果的应该是 It works。
  PS:这里有一个手动加入调用 Application 类和调用 main 方法的代码,因为需要做静态分析,才能确定使用的框架,暂时没写在 Unit Server 代码中。  Unit Mesh 架构
  再重复一下定义:
  Unit Mesh是一种基于人工智能生成的分布式架构,与传统的分布式架构不同,Unit Mesh 中的服务单元 (Unit) 是由 AI 生成的,应用程序中的服务和数据抽象为一个个独立的单元,并通过统一的控制平面进行管理和部署。Unit Mesh 核心思想:AI 生成的代码即 Unit
  Unit Mesh 是围绕于 Unit 为核心的架构模式。  AI 生成 Unit。即 AI 应该生成的代码都应该是可运行的  Unit ,上到 React 组件、下到后端服务都是可运行的。  校验 Unit。由人类来检查和校验 Unit,如果 AI 生成的代码有问题,那么人类只需要修复即可。  Unit 自适应部署架构。在部署时,Unit 可以组成 Serverless 架构、微服务架构、单体架构、Mesh 架构,而不需要人类来干预。
  碳基嘛,就适合当一个 Verifier。  Unit Mesh 架构核心要素
  结合我们设计的 Unit Server,我们设计的 Unit Mesh 架构由以下三要素构成。  语言与框架的 DSL 抽象:封装不稳定的抽象
  由于 AI 生成的代码会有各种问题,诸如于无法对接内部的云平台、出错的 imports 等等,所以我们要设计领域特定语言来解决这个问题,并封装抽象。
  简单来说:我们需要 抽象将所有不稳定的元素 ,便能构建出稳定的元素。
  详细的设计会在后面的 Unit Server 部分展开。
  PS:而由于大语言模型是有上下文能力限制的,像我这样的、搞不到充值的就只配 4k。因此,我设计的 Unit 要称之为 4k Unit Mesh,我设计的 DSL 要称之为 4k Unit DSL,有的人可能就是 99k DSL。  REPL 即服务:AI 代码修复师的日常
  在有了 DSL 之后,我们还需要一个 REPL (Read-Eval-Print Loop)服务,能直接运行起 AI 生成 的 Unit,然后让人类来测试生成的代码是否是正确。如果生成的 AI 有错误,就需要 AI 代码修复师来对代码进行修复。
  而对于一个服务来,如果我们是一个 API,就需要是 Serverless 服务,这就是为什么我们在图里称之为:REPL 即  Serverless  服务。详细可以参见后面设计的 Unit Server。  AI 设计的适应性结构
  人类设计系统的一个缺点是,如果设计时、开发时、运行时的单元不一样,那么就会出现各种疑虑。于是,我们会偏向于设计成三态一致的架构模式,而这本身对于架构的适应性优化就是个问题。
  而既然,代码都是 Unit。那么,设计时可以是微服务,开发时可以是 Serverless,线上可以是单体。正如 Google 的 Service Waver 所做的事情,我们不决定运行时的架构,让你来选择。
  所以,AI 怎么运行我们的 Unit,就让 AI 来决定吧。
  Adaptive Architecture
  PS:本来吧,标题应该是适应性架构(Adaptive Architecture),但是我想了想就只是代码结构之类的,又重新考虑了一下。  Unit Mesh 设计心得:反直觉才是出路
  在去年年底,研究低延迟架构之时,便被这个领域的各种 反直觉 架构模式所震撼,诸如于:GC 是问题那就不要 GC。
  因此当设计 Unit Mesh 时,我们的问题依旧是: 如何 Open your mind 。即抛开现有的思维模式和固有知识,打破常规思考,所以我们的主要挑战是如何 拓展思维,开放心智 。  要点 1:如果分层架构是瓶颈,那么就不要分层架构
  在那篇《未来可期的 AI 编程里》分层架构是我们最大的挑战,于是,提出理想的方式就是 Serverless + FaaS 的方式,而这种方式则是基于现有的械,又过于理想化。
  而随着我们写了 UnitServer 之后,我们发现,还可以 Class as a Service 的方式嘛(手动狗头)。
  既然我们的代码运行在云端,由 AI 生成的,那么人类还要看代码吗?人类要在什么时候看代码?无非就是检入的时候,还有审查架构的时候,所以只需要在 审查 的时候,生成架构不就行了。
  示例:我想分析 xx 服务的调用情况,以及对应的代码, 请 帮我调取出来。  要点 2:如果依赖是问题,那么就不要依赖
  我们遇到的第二个挑战是依赖问题,而依赖是两个问题:  项目的库依赖。即类似于 Gradle、Maven、NPM 这一层的库依赖  代码依赖。即代码源文件的  import
  复读机 ChatGPT 并不能很好解决问题,所以就要让 GPT 忘记这些。理想的编程体验,应该是我要用 Spring,智能就会自动分析依赖,如 Intelij IDEA。所以,我们在 UnitServer 中采用了  % spring   样的 Jupyter magic 语法 ,以自动解决这两类问题。 要点 3:如果 Serverless 部署是问题,那么就不用 Serverless 部署
  起初在 Unit Server 里,我们把 Unit Server 设计成了一个类 Serverless 架构,所以我们遇到了一个问题:Serverless 架构的成本并非所有的人能接受的。所以,我们只需要在测试 Unit 时,采用 Serverless 作为开发时,在线上合并成一个单体或者微服务架构,那么就能完美解决这个问题。
  而在这时,还需要突破刚才的分层架构,既然每次代码是生成的,那么我们只需要一个包名即可,诸如于:  org.clickprompt.unitmesh   ,所有的代码都在这个包下;又或者,我们可以通过业务进一步划分成不同的包,结合工具来对代码进行归类。 Unit Mesh 探索之路:从 REPL 到 UnitServer
  上面讲的太理论了,来看看我们的探索之路,一共分为四步:  从最小的 Hello, world 开始优化  构建一个 REPL 环境  抽象、简化设计 ← 重复。  接入真实世界的 Prompt。
  详细可以查看 Unit Server 和 ChatFlow 的提交纪录。  从最小的 Hello, world 开始
  首先,让我们看一个 Kotlin Script 编写的 Spring 的 Hello, World:  @file:DependsOn("org.springframework.boot:spring-boot-starter-web:2.7.9")  import ... import java.util.*  @Controller class HelloController {     @GetMapping("/hello")     fun helloKotlin(): String {         return "hello world"     } }  @SpringBootApplication open class ReplApplication  fun main(args: Array) {     ... }  main(arrayOf("--server.port=8083"))
  在这个示例里,你会发现一系列的无用代码,依赖信息、import 信息、main 函数。而作为一个 4k Unit Mesh 的创作者,我必须把这些不稳定的无用信息去掉,才能正确运行,所以它变成了:  %use spring  @Controller class HelloController {     @GetMapping("/hello")     fun helloKotlin(): String {         return "hello world"     } }
  这样一来,我只需要让 ChatGPT 返回 Controller 即可。  构建 REPL 环境:WebSocket + %magic
  既然,我们已经有了一个简化的 DSL,接下来就是引入 Kotlin Script 来构建一个 Unit Serverless 服务器,也就是我们的: https://github.com/prompt-engineering/unit-server 。
  Unit Server 的源码是基于 Kotlin Jupyter API 所构建的,而 Kotlin Jupyter 则是封装了 Kotlin 的 REPL 环境。我们之所谓基于 Kotlin Jupyter 而不是 Kotlin REPL 的主要原因是,可以使用 magic 和 DSL 来抽象细节,诸如于:  "spring" to Json.encodeToString(     SimpleLibraryDefinition(         imports = listOf(             "org.springframework.boot.*",             "org.springframework.boot.autoconfigure.*",             "org.springframework.web.bind.annotation.*",             "org.springframework.context.annotation.ComponentScan",             "org.springframework.context.annotation.Configuration"         ),         dependencies = listOf(             "org.springframework.boot:spring-boot-starter-web:2.7.9"         )     ) )
  即可以自动添加 Spring 的依赖和 Import 信息,就可以支持步骤的 Hello, World 方式。除了 Spring,我们还需要其它的库的 magic。
  最后,再使用 WebSocket 暴露出这个接口,以提供给 ChatFlow 使用。  抽象、简化设计 ← 循环
  当然了,只是有一个 hello, world 是不够的,所以我们需要更多的例子,诸如于接入数据库。而由于 Spring 的扫描机制影响,外加我们并不想(主要是不会)针对 Spring 做太多的特化,所以我们换成了 Kotlin 里 Kotr 框架。
  PS:值得注意的是,我们还需要对框架进行抽象,但是 Ktor 对我们预期的好一点。所以,我们的第二个版本来了:  %use kotless %use exposed  data class User(val id: Int, val username: String)  class Server : KotlessAWS() {     override fun prepare(app: Application) {         Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")          transaction {             SchemaUtils.create(Users)         }          app.routing {             post("/register") {                 val user = call.receive()                 val id = transaction {                     // Insert the new user into the database                     Users.insert {                         it[username] = user.username                     } get Users.id                 }                  val newUser = User(id, user.username)                 call.respond(newUser)             }         }     } }  object Users : org.jetbrains.exposed.sql.Table("users") {     val id = integer("id").autoIncrement()     val username = varchar("username", 50).uniqueIndex()      override val primaryKey = PrimaryKey(id, name = "PK_User_ID") }
  在这个版本里,我们使用了 Exposed 作为数据库的 ORM,使用 H2 作为数据库。当然,要拿这个代码作为 Unit 还差了 10% 的距离,不过,基本上已经可以解决大部分的 CRUD 场景。
  PS 1:这里的 KotlessAWS 只是一个 AWS Serverless 的抽象,并不影响我们的操作,我们可以直接封装一个 UnitMesh 的类,就是懒。
  PS 2:我们只需要通过静态分析拿出 routing 中的代码,再优化即可。更多的探索过程代码可以见:_samples 。  一个真实世界的 Prompt
  现在,让我们来结合 AI 跑一下:  请帮我使用 Ktor + Kotlin + Exposed 实现一个用户注册的 RESTful API,要求如下:  - 涉及到数据库的地方,请直接使用 Database.connect。 - 只返回核心逻辑,并写在 Server 类里,我要部署在 Serverless 服务器里。 - 请使用 Kotlin DSL 的方式编写代码。 - 不返回其它的无关代码,如:注释、依赖、import 等。  最后,你只返回类的代码,返回格式如下:class Server : KotlessAWS() {     override fun prepare(app: Application) {         Database.connect("jdbc:h2:mem:test", driver = "org.h2.Driver", user = "root", password = "")         transaction {             SchemaUtils.create(Users)         }          app.routing {             {{{}}}         }     } }
  人生苦短,欢迎加入我们的 Watchlist,一起讨论未来。  ## Join Waitlist
  狗头,现在  Waitlist 工程师 们,你可以就加入 Unit Mesh 的 Watchlist:
  https://github.com/prompt-engineering/unit-mesh

我想要创业,但是没有人脉没有客源可以创业吗?我认为没有人脉,没有客源是可以创业的。现在的年轻人精力旺盛,思想灵活,敢闯敢拼,想通过创业增加自收入,让自己和家人生活更美好,这种想法值得提倡。创业前,必须做好多方面的准备。一是必预算20万,买RAV4荣放还是马自达CX5呢?荣放与CX5各有各自的特点,所以选择哪辆车,还是要看您的需求,您对这两款车哪个更加感兴趣CX5造型犀利个性鲜明,而丰田荣放则显得更加中庸更加贴近于生活,马自达给人一种尽情享受驾驶乐把孩子留在老家让老人带,是否是家长不负责任的表现?因为责任背景离乡,为了生计,勤劳节俭,挣钱济家,是一种无奈,在外花天酒地,自己挣钱自己花,从不过问家中事才是不负责任的表现,谁都想一家人开开心心,快快乐乐在一起生活。为了生计,为了孩子中考成绩四百六十分,是上普高还是上中职好?孩子中考成绩460分,在当地中考中位于什么位置呢?根据你的问题,我推算应该是达到了高中录取分数线,但上不了一流的高中,孩子面临的选择是去普通高中还是中职。根据我的了解,在此向家长普孩子不会做的题目拿手机查题,你觉得这样做是利大于弊,还是弊大于利?欢迎来到老穆说语文问答领地,老穆将用最大的热忱和最好的回答回馈您!老穆有话说学生做作业,遇到不会做的题目,通过手机查题,并将其弄明白了,为什么不可以呢?老穆认为是可以的,但是,必须怎么陪伴孩子?和孩子在一起时可以做些什么?话说母亲陪伴孩子一陪伴,就是与孩子共同成长二03岁的陪伴,使孩子对母亲产生强烈的依恋情结。三36岁的陪伴,培养孩子健康的性格。四612岁的陪伴,这个阶段是孩子的情绪潜伏期,看似平稳马上初中毕业了,想去卫校学护理,不知道怎么样,各位给提个建议,本人男?男生上卫校,学护理,如果热爱护理工作,确实是不错的选择。大多数在卫校学护理的都是女生,医院里男护士,算是稀有品种,所以,工作还算比较好找。通常卫校毕业后都会接大专,就有了考证资格,为什么有的人喝了咖啡没有任何反应因还感到神清气爽,而有的人就心慌,睡不着觉呢?其实,对于不同人喝咖啡之后有不同的生理表现这件事,有很多的解释。我更愿意在基因的代谢这个层面说一说这个问题。关于咖啡因代谢的基因,是一个被称之为CYP1A2的基因。这个基因控制着咖如何预防儿童感冒?在这里,给各位宝妈宝爸们提供几个推拿穴位,在家给孩子捏捏推推,不仅可以预防感冒,对孩子身体也是很好的哟预防感冒可以用小儿推拿中的这些手法第一擦迎香50次主人翁小儿推拿APP原创图具月子餐怎么吃,既能保证营养,又不会发胖?导语听我母亲讲,在生我的那个年代,女人坐月子只能吃小米粥和鸡蛋,别的什么都不许吃。结果导致很多产妇严重便秘,还有些产妇出了月子就患上了胆囊炎,疼得嗷嗷叫。从现代的营养学角度来看,坐目前还在用DVD的家庭多吗?没扔掉的原因是什么?VCDDVD这一类激光影碟机,包括电脑的光驱刻录机等等,使用寿命都很短,即使你不怎么使用,放置一段时间以后,自己就坏了,不能读碟,原因就是激光头很容易损坏,激光头很贵,修理也不划算
雷锋是一个伟大的符号三月,春回大地三月,万物复苏。三月,在每个华夏儿女的心中,不仅是美好生活的开始,也是深切怀念的开端。世界上最难的事,莫过于把自己的思想装进别人的脑袋,如何让身边的00后接受一位来自七一文学三月之歌(一)三月亭亭玉立,面颊泛红燕尾剪开春水风筝擦亮晴空柳丝在她的怀里撒娇绿油油的麦苗在大地上奔跑花和草异常兴奋用一张张巨幅的油画写意广场沸腾,爷爷奶奶踩着春天的步伐起舞机器轰鸣,生产ARM在MWC2023展示最新一代GPU支持光追功能在近日,一年一度MWC2023正在巴塞罗那密锣紧鼓进行中,会上涌现了不少新品,比如说荣耀Magic5Pro一加11概念版realmeGT3等等。可无论是什么手机,其背后都少不了AR秦始皇死亡之谜可能已被揭开?据最新消息,来自中国考古学家的研究表明,秦始皇死亡之谜可能已被揭开。当年秦始皇统一六国,建立了第一个中央集权制度。为了表彰自己的功绩,他开始修建长城和陵墓。据说秦始皇曾服食仙丹以求打卡重庆民国公馆之二戴笠公馆重庆是抗战时期的陪都,战时中国的政治军事经济文化中心。南京失陷后,中外许多政要名流汇聚于此,一些名人的公馆,交织了各界许多名士,牵动着整个国家的神经上回我们说到了周公馆,今天我们来大脑分层预测让大模型更卷!Meta最新研究登Nature子刊编辑Ellie桃子新智元导读近日,Nature子刊发表Meta最新研究成果,揭示目前的语言模型与人类大脑的差异,或将为开发更强大的生成式AI提供启示。1000亿个神经元,每个神经元刷小红书抖音的女生,真的很low吗?作为小书DY重度使用者,每天都能刷到各种稀奇古怪的推荐,像我这种倍有实践精神的人,总是忍不住跟风买买买!结果好用的没几个,踩雷的倒是不少,像这个欧美妆眼影贴,贴上后一点欧美范都没有塔吉克之鹰拉斯维加斯首秀,竟然被偷了据巴西门户网站AgFight报道,UFC(终极格斗冠军赛)首位塔吉克斯坦选手绰号塔吉克之鹰的努鲁洛阿利耶夫,于2月26日在美国拉斯维加斯参加晋级首秀时遭到偷窃。消息称,在战胜巴西选时装周众星外媒生图李宇春脸大头发油腻,章子怡发际线抢镜点击右方关注,每天都有娱乐圈的大瓜奉上。近期,海外时装周正在如火如荼的进行中,内娱不少明星也受邀出席了,其中肖战蔡徐坤刘诗诗等人都盛装出席,工作室也都发布了各位的精修照,今日外媒生肠道清洁有什么好处?哪些方法可以促进肠道清洁改善健康大多数肠道清洁产品据说有助于排毒或去除有害物质,如粘液和干燥大便,有些人还使用结肠清洁来帮助缓解便秘。在本文中,我们将介绍一些流行的结肠清洁方法及其背后的科学。一水使用水是自然清洁万盏灯亮中国丨我国形成全球最大的清洁能源走廊!穿山越海,逐光入云!中国基建用实力挑战不可能(央视财经经济信息联播)过去几十年,中国基建创造了多项世界之最,一座座中国桥跨越江海,一条条中国路通达四方。一个个超级工程可以将天堑变为通途,也能用奇迹抹平沟壑。一条条披荆斩棘的通