首页 > 其他分享 >软件行业迫切需要基于正向生成的编码模型

软件行业迫切需要基于正向生成的编码模型

时间:2023-04-18 13:59:48浏览次数:38  
标签:逆向 编码 代码 系统 生成 迫切需要 软件 正向

逆向生成难以实现飞跃

软件行业长期面临生产率瓶颈。程序员的工作强度已经接近极限,要继续提高软件交付速度似乎难上加难。近年来在开发流程和工具上,如GPT显然提供了一定的提效,但是实质上没有改变软件开发的基本模式————逆向生成。目前软件项目的大部分工作时间都花在理解“现有”系统和代码上,然后基于此进行修改或扩展。仅靠文档很难完全重构一个代码库。程序员不得不深入理解语句级别的代码细节,这显然不是人工智能的最佳应用场景。代码一旦完成,整个系统的内部机理又成为一个黑箱。

GPT仍属逆向生成

GPT虽然可以根据上下文生成代码,但它并不是在进行正向生成————根据需求构建新系统,而是在翻译和扩展现有系统,难免局限于系统原有的设计和架构。这更像一种“逆向生成”————机械化地解读并翻译一段既有的代码,而非根据需求正向构建新系统。GPT需要大量的训练数据来学习通用的代码模式和上下文关联,然后在特定上下文中生成相应的代码。这种生成过程其实是在解读训练数据,并在新的上下文中翻译类似的代码。它难以理解真实需求中的概念和逻辑,真正根据需求生成全新的解决方案。

正向生成是软件工程的未来

真正意义上的强人工智能出现之前,软件行业要进一步提高生产力,还需要一个全新的编码范式————正向生成。这需要系统性地研究从需求到设计与实现的正向生成流程,构建能够根据诉求自动推演出高质量解决方案的智能系统。要实现正向生成,关键是建立“需求->设计->代码”之间的可信映射关系。 相比之下,逆向生成的难度更大,生成的代码质量更难保证。因此,理想的正向生成系统应该可以大幅超越逆向生成系统的生成能力。这需要跨越的技术难度不小,但其潜在的产业价值同样巨大。 总之,就目前而言,软件工程主要依靠逆向生成完成工作,这难以实现质的飞跃,并导致编码质量和效率的天花板。软件行业迫切需要一个完整的正向生成编码模型与之对应,真正实现「说需求,出系统」的软件生产自动化新范式。这将使软件工程从“逆向解码之艺”迈向“正向构建之道”,开启软件工业化的新篇章。

标签:逆向,编码,代码,系统,生成,迫切需要,软件,正向
From: https://www.cnblogs.com/Chinese-xu/p/17329290.html

相关文章

  • Linq专题之提高编码效率—— 第一篇 Aggregate方法
    的几个方法,这个系列我会带领大家看遍linq,好的,废话不多说,先从Aggregate这个貂毛说起。 一:应用场景前不久在写一个项目的时候,我需要捞取营销活动,刚好营销活动有两个类型,一种是普通活动,一个是触发式活动,由于存放在两张表中,并且捞取之后需要做一些实体的转存,等等计算,所以就有了类......
  • Linq专题之提高编码效率—— 第二篇 神一样的匿名类型
    说起匿名类型,我们都知道这玩意都是为linq而生,而且匿名类型给我们带来的便利性大家在实战中应该都体会到了,特别适合于一次性使用,临时使用这些场景,虽然说是匿名类型,也就是说是有类型的,只是匿名了而已,对吧,这篇我们就来探索下匿名类型到底和linq有多大关系呢???......
  • 一种通过编码的反爬虫机制
    遇到一个反爬虫机制,该网页为gbk编码网页,但是请求参数中,部分请求使用gbk编码,部分请求使用utf8编码,还设置了一些不进行编码的安全字符,在爬取的过程中形成了阻碍。提示:在认为参数设置正常,又无法正确爬取数据的情况下,通过response.requests.headers和esponse.requests.body与浏览器的请......
  • 一种通过编码的反爬虫机制
    遇到一个反爬虫机制,该网页为gbk编码网页,但是请求参数中,部分请求使用gbk编码,部分请求使用utf8编码,还设置了一些不进行编码的安全字符,在爬取的过程中形成了阻碍。提示:在认为参数设置正常,又无法正确爬取数据的情况下,通过response.requests.headers和esponse.requests.body与浏览器的......
  • 一段话理解正向代理和反向代理的区别
    正向代理和反向代理的区别 虽然正向代理服务器和反向代理服务器所处的位置都是客户端和真实服务器之间,所做的事情也都是把客户端的请求转发给服务器,再把服务器的响应转发给客户端,但是二者之间还是有一定的差异的。 1、正向代理其实是客户端的代理,帮助客户端访问其无法访问的......
  • redis介绍,redis linux安装,redis启动,redis经典场景,redis通用命令,数据结构和内部编码,red
    目录redis介绍,redislinux安装,redis启动,redis经典场景,redis通用命令,数据结构和内部编码,redis字符串类型昨日内容回顾今日内容1redis介绍2redislinux下安装3redis启动方式3.1最简启动3.2动态参数启动3.3配置文件启动3.4客户端连接命令4redis经典场景5redis通用命令6数据......
  • 【redis】 redis linux下安装 redis启动方式 redis典型场景 redis通用命令 数据结构
    目录上节回顾今日内容1redis介绍2redislinux下安装3redis启动方式3.1最简启动3.2动态参数启动3.3配置文件启动3.4客户端连接命令4redis典型场景5redis通用命令6数据结构和内部编码7redis字符串类型练习上节回顾#dockerfile命令 RUNCOPYADDENV......
  • Java判断文件编码格式
    一般情况下我们遇到的文件编码格式为GBK或者UTF-8。由于中文Windows默认的编码是GBK,所以一般只要判定UTF-8编码格式。 对于UTF-8编码格式的文本文件,其前3个字节的值就是-17、-69、-65,所以,判定是否是UTF-8编码格式的代码片段如下:  java.io.Filef=newjava.io.File("待判定的......
  • ffmpeg可支持的编码器、解码器、封装格式、网络协议
    {ffmpeg可支持的编码器./configure--list-encodersffmpeg可支持的解码器./configure--list-decodersffmpeg可支持的封装格式./configure--list-muxersffmpeg可支持的解封装格式./configure--list-demuxersffmpeg可支持的网络协议./configure--list-protocols查看......
  • C#Unicode编码不可逆,Default也不可逆
    不可逆:4个eunsafestaticvoidMain(string[]args){byte[]by=newbyte[256];for(inti=0;i<by.Length;i++)by[i]=(byte)i;strings=Encoding.Unicode.GetString(by);byte[]by2=Encoding.Unicode.GetBytes(s);for(inti=0;i<by.Leng......