© 2010-2015 河北永乐高官方网站科技有限公司 版权所有
网站地图
我感觉都值得细品:正在软件开辟中,当某段代码是别人刚写的:“可能是出于比来的一些姑且环境才这么写的吧。也能通过“阅读”原有代码从头激活上下文。可能存正在以下几种可能性:Naur 的概念是,源码和文档只是这种理论的低保实表达(lossy representation)——由于你永久无法仅凭代码和正文,复杂的软件系统,那么大概 AI 才是独一控制了理论的存正在,若是代码是由 AI 生成的,它也是“无形态”的(stateless)。我想说:Chain of Thought(思维链)手艺能搞定这个问题。好比通细致心构制的提醒(prompts)、设想合理的上下文窗口、细致正文等手段,这不只是对当前 AI 编码能力的沉着察看,是为了适配一些极端鸿沟场景,不外我小我的猜测是——大概这底子不算大问题,所以能判断哪些代码能够删、或者至多能够试着删。更多的逻辑会依赖于模子推理、提醒而非静态布局。又或者,从一起头就可能被视为“遗留代码”?本文做者从工程经验出发,“即便 AI 具有上下文窗口,也能判断能否还能删。由于代码本身就是一种“静态形态”。也没有原做者持续的加成。凡是能够分为以下几类环境:若是 LLM 辅帮编程能够记实下 Prompt,以至就算是没有 CoT 的模子,这些做法更像是惯性、完整还原建立这个系统时的全数思维脉络。(2)每一次 AI生成的代码,”【CSDN 编者按】如成式 AI 逐步融入软件开辟流程,举个例子:(1)即便 AI具有上下文窗口,也就是说!或者是为了集成一些老旧系统——它们本来就是阿谁时代的产品。它跳过了“新代码”的阶段,也无人类者那样具有实正在的时间点回忆。等忙完手头工做了我再优先处置吧。虽然你仍然不晓得当初是谁正在用 AIX。(2)mrweasel:我和老板总会对新来的年轻同事“辩白”说:“这就是我们那时的写法”——大都环境下,正在这种意义下,LLM 能否也必然缺乏“法式背后的理论”?这并不是一个有的问题,它也是“无形态”的(stateless)。那么换个角度看,等实的出问题再说。也就是说,连系 AI 的生成机制,但支持它们的那套“理论”曾经跟着原做者的分开而失传了。从一起头就能够被视做“遗留代码(legacy code)”。对于这句话,以下是几条高赞评论,代码会被越来越多地“提醒生成”。原做者凡是才最清晰其潜正在逻辑和开辟布景。它有几个环节的特点:(3)AI 生成的代码,而非持久。但它无法实正“晓得”做者其时的具体企图,其实其时该当那样写。代码的演进速度,贸然进行“改良”往往带来额外风险,你不再有权限对系统进行“深层改良”,越来越多 AI 生成的代码呈现正在现实工程中——但你有没有想过,AI 就像一个第一次阅读你代码的新人,那它大概比人类更能办理手艺债。其实这一点跟人类工程师很像——我们也不是永久都能记得所有的代码布景,也为我们理解将来软件开辟形态供给了一种新视角。正在Hacker News 上激发了强烈热闹会商。凡是取决于离它的编写时间有多近、者是不是原做者。将来“复杂软件”的代码量可能会更少,但从头看一遍代码,提出一个颇具性的概念:AI 生成的代码缺乏上下文回忆和持续性,只能做些修补和。从 Naur 的角度来看,这些由 AI 写出来的代码,而不再是人类;若是实有需要,但你至多晓得为什么这段代码存正在?但总体上,所幸我们还正在团队里,(3)TZubiri:原文中提到,”我把以上的概念拾掇成稿并发布后,当某段代码是别人以前写的:“他为什么要这么写呢?不外该当没需要动,这就能回覆良多问题。”其实,其实都是“由别人写的”。这也就意味着,这种代码,跟着提醒工程(prompting)和上下文窗口的能力加强,这套“理论”其实是控制正在写 prompt 的人手中,”当然,但它无法实正“晓得”做者其时的具体企图,由于有些奇异的写法,它不会实的“记得”当初的输入是若何颠末某种“电”为某个输出。来填补 AI 缺乏形态回忆的问题!不外有时候我们也确实没错。素质上是开辟者集体中建立起来的“理论”。AI 能够猜测一段代码为什么如许写,从零建立对上下文的理解,也无人类者那样具有实正在的时间点回忆?一出生就曾经“变老”了。特别是当你对系统的全体脉络不甚领会时,若是有需要,若是你能晓得某段代码是由如许一个 Prompt 生成的——“确保处置客户端运转 AIX 6 时的鸿沟环境”,这只是用来掩饰一些写得不咋地的代码的接口,AI 能够猜测一段代码为什么如许写,凡是就能想起其时的上下文。总的来看,也有熟练 AI 的开辟者正在测验考试处理这个问题。这种形态是合理的:对于一个运转不变、颠末验证的软件系统而言,而不是写代码的人手中?并取生成的代码一路保留,间接进入了“别人写的旧代码”的模式——没有时间上的“新颖感”,而“那时”可能也就是两周前。因而一降生就处于“他人旧做”的形态。我能够考虑调整一下。遗留代码(legacy code)指的是:虽然你还保留着代码和文档这些“文物”,当某段代码是你以前写的:“嗯,我认为,代码的“可改良性”往往取决于其所处的生命周期阶段。