V2EX 07月23日 07:46
[程序员] 一點關於 AI 編程的思考
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

程序员的工作本质是进行语言翻译,将模糊的人类需求转化为机器可执行的语言。这一过程的核心在于不断补充信息和添加约束,将抽象的概念具象化,排除不可能性,直至最终形成唯一可用的实现。无论是用户一句“我要一辆车”的概括性描述,还是对具体车型的细致要求,最终都需要落实到计算机或物理世界的具体规则。信息量即是排除可能性的多少,程序员通过引入新的细节和约束来逐步缩小可能性范围。AI代码生成则处于这一翻译链的后半部分,其智能程度决定了程序员需要提供的抽象程度。AI越智能,程序员可以提供越抽象的需求;反之,则需要提供更多细节以确保代码的可用性。

🚗 程序员的核心工作是语言翻译,将人类抽象的需求转化为机器可理解的具体指令。这个过程如同将“想要一辆车”这样的概念,通过层层细化和约束,最终落实到某个具体型号的汽车制造过程,每一个新增的细节都是在排除不可能性,增加信息量。

💡 信息量可以被理解为排除可能性的多少。从一个抽象的概念到最终一个具体的实现,需要不断地添加约束和细节,每一步排除掉一部分不符合要求的可能性,最终将选择范围缩小到唯一解,这是信息补充的本质。

🚀 AI在代码生成中扮演着翻译链后半段的角色,它接收程序员提供的中间阶段语言并生成具体代码。AI的智能水平直接影响程序员需要提供的抽象程度:AI越智能,程序员可以提供越抽象的指令;反之,则需要提供更多细节来弥补AI的不足。

⚖️ 衡量AI智能程度的一个方法是观察程序员需要为其提供的信息量。如果AI需要大量的具体细节才能生成可用代码,则表明其智能程度较低;反之,若能理解高度抽象的需求并自主补充信息,则说明AI更为智能。

程序員的工作,本質上是在做語言翻譯,將描述需求的人類語言翻譯到機器語言。其中,需求語言是抽象的,就像用戶說「我要一輛車」,是一種概括性的描述,但要實際把車造出來,就要落實到非常具象的語言,因為無論是計算機還是現實物理,都有非常具體的規則,錯一點就會不能用。這種抽象程度的差異可以理解為信息量的差異,給定一個車的概念,它可以有成千上萬種樣子,但到生產出來的具體型號,就只剩下了一種,其他所有樣子都被排除了,這也是信息論裏提出的「信息量即是排除可能性的多寡」。

於是程序員的工作本質上是對信息的補足,這種補足是通過不斷疊加約束實現的,每個新增加的細節都是約束,能砍掉一部分可能性,直到最後可能性剩下一種。具體地說,給定一個需求,程序員會想到一些潛在的方案,每個方案會有新加入的約束,提出方案本身就是補充了原本不存在的信息。那麼如何從潛在方案中選擇呢?程序員需要在需求中找到一些能指引選擇的原始約束,例如把方案介紹給產品詢問意見,或者根據自身的經驗預測一下未來的需要,這實際上就是擴充了上下文。

AI 的代碼生成工作在上述翻譯鏈的後半段,它會從程序員那取得中間階段的語言,然後生成具體的代碼。如果 AI 更聰明,那麼程序員應當可以提供更抽象的語言,讓 AI 自己補足信息,而如果 AI 更笨,程序員就需要提供更多信息,才能保證最終代碼的可用。於是,我們有了一個度量 AI 聰明程度的方法,也有了一種適應 AI 的策略,就是如果 AI 不夠聰明,就提供更多細節直到它能寫出來。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

程序员 AI代码生成 信息量 抽象与具象 约束
相关文章