代码生成器技术乱弹五十三,人工智能和通用代码生成器的共同点:Token
现在,随着人工智能的快速发展,特别是生成式人工智能的爆火,大家逐渐熟悉了一个概念,Token。我称之为字牌。在生成式人工智能的语境下,一个token是一组浮点数,比如说一组100个的浮点数,它代表在一个超高维度的解空间内的一个事物(Thing)。无独有偶,在通用代码生成器中Token也是一个核心概念。但是,在通用代码生成器中,一个字牌代表的是程序的一个组成部分,他是一个字符串,静态或者动态的。是代码的一个组成部分。
在通用代码生成器中,代码被视为有规则的字符串。在通用代码生成器中,所以的代码对象被视为Writeable接口的实例。而此接口只有两个实现类Statement和StatementList。而StatementList是由多个StatementList组合而成的。Statement即语句拥有两个属性,serial即标号和indent即缩进。一个Statement就是一个字符串,但是,普遍来说,它是一个有多个字牌连缀而成的一个动态字符串。比如,对域对象的标准名字的引用就是使用一个Domain示例的getStandardName()函数实现的。
虽然,人工智能里的Token本质上是一串浮点数,但是一旦它映射到输出文本上,它最后表现为一个单词,一句短语或者是一个词根。总之,它也会映射成一个短短的字符串。而通用代码生成器里的Token。他就是组成代码语句的一个字牌,他可能是一个固定字符串里写死的变量,或者是和一个域对象绑定的域对象的某个属性,总之,它是一个动态或者静态的字牌。有一点是共同的,在两个场景中,Token指代的都是高维空间中的一个事物(Thing)。