lisp macro可以直接操作ast,做到了"自定义语法 → 可运行代码"的展开, 让人用最贴近直觉的方式写代码。
顺着这个思路,agent也是"自然语言 → 代码"的映射上, 这么看, agent就是最强的macro?
lisp macro可以直接操作ast,做到了"自定义语法 → 可运行代码"的展开, 让人用最贴近直觉的方式写代码。
顺着这个思路,agent也是"自然语言 → 代码"的映射上, 这么看, agent就是最强的macro?
不如说agent也是一种seed,毕竟和我的magnet下行速度不相上下。
最近看到太多ai神秘主义话题了,虽然我知道大家多半是开玩笑,but it comes to odd after transforming not even wrong into triple。
宏和函数只是规约时机不同的抽象罢了(
你要说 macro 的话,实际上 LLM 是一个 macro ,把自然语言展开成代码。
macro有定义,把定义发过去ai或人就能看懂,不发定义无法看懂,自然语言大家通常把定义这部分忽略掉,直接说做法,所以会出问题。
编程语言一开始写就是让你定义这个,定义那个的,或者引用这个、引用那个 。自然语言当然也可以这样要求把定义写明,不准歧义,这样和编程语言也就区别不大了
那个关于定义的点说得对,但即使把自然语言逼到和代码一样严格的定义,agent还是没法像macro一样deterministic。macro展开的结果每次都一样,但LLM给同一个prompt可能生成不同的代码,这种probabilistic的性质让它更像某种搜索/采样而不是真正的展开。所以比喻上agent更接近某种adaptive的求解过程,而不是编译期的语法变换。
所以目前的LLM需要自然语言+一堆Rules才可控、有效
虽然不知道如今怎么样了,但是过去经验有说加rules不会更好
Every time I fire a linguist, the performance of the speech recognizer goes up
类比LLM做agentic coding也不需要PL工作者(
我有一个想法: 在emacs里面跑agent,把emacs 作为一种“预定义”的输入(宏输入),那效率是双剑合璧,起飞了 比如:常见的路径、常用的agent高频词 都是预定义的可选择的