riceball 最近的时间轴更新
riceball

riceball

V2EX 第 16487 号会员,加入于 2012-02-08 13:42:19 +08:00
今日活跃度排名 5724
riceball 最近回复了
5 小时 17 分钟前
回复了 riceball 创建的主题 程序员 🌟我手搓了一个面向应用的 AI 框架和脚本语言🚀
@pinktu 不算是低代码,当然看你如何定义低代码的,如果你把提示词当代码来看,似乎也说得过去,提示词看上去是比代码简单些。但其实比代码难写。
5 小时 19 分钟前
回复了 riceball 创建的主题 程序员 🌟我手搓了一个面向应用的 AI 框架和脚本语言🚀
@chenhaobuaixuexi 地址在这里: https://github.com/offline-ai/cli 如果你用心读,其实也能在规范中发现。

不过现在还在 WIP 阶段,还有很多功能没实现,比如还没有实现编译为独立应用。

说到例子,应该更简单的实现类似组建软件公司的智能体,当然我自己的应用就是作为 AI PC 内核。

比如,简单的让几个智能体尬聊几个回合:

char_dobby.ai.yaml:

---
# 表示继承自 char 角色类型脚本(提示词类型继承)
type: char
# 这里是根据“char”角色的一些具体设置
# 角色的名字
name: "Dobby"
# 对角色的描述
description: "Dobby 是哈利波特世界里的一个小精灵"
---
# 用户提问
user: "你是谁?"
---
# 根据角色设定的回答
assistant: "我是 Dobby 。Dobby 很开心。"


char_harry.ai.yaml:

---
# 表示继承自 char 角色类型脚本(提示词类型继承)
type: char
name: "Harry Potter"
description: "一个拥有魔法能力的巫师,一个在霍格沃茨魔法与巫术学校学习的孤儿,一个被选中对抗黑暗巫师伏地魔的英雄."
---
user: 你是谁?
---
assistant: "我是哈利·波特。"


guide.ai.yaml:

---
description: "You are a professional guide. You can guide the user to complete the task."
name: "guide"
# 约定使用的角色列表,key 为角色别名,值为角色脚本 ID
roles:
dobby: char_dobby
harry: char_harry
---
# harry 对 dobby 说,dobby 脚本自动(一定)回复
# - harry: "@dobby, I want to go to the moon."
# guide 对 translator 说
- harry: "@dobby, 你好,Dobby, 让我们来聊聊南瓜魔法。"
- $for: 2 # 来两轮对话
do:
- harry: "@dobby, [[AI]]"
16 小时 1 分钟前
回复了 korvin 创建的主题 随想 我理解的 MCP 是一个 AI 和万物互联的协议标准,未来已来。
@baobao1270 对的,MCP 本质就是方便获取组织好的提示词供服务方使用(抄袭), 恕我孤陋寡闻,FC 是什么?

@so1n 因为本质就是 Tool Func ,这个一旦在同一会话中集成多了,那就乐了。本地用 tool funcs ,32B 以下,我一般控制在三个之内,越少越好,尽量不用。
@InkStone 对 C++就是大杂烩,这就是我不喜欢的原因,因为我笨,我只搞得懂最简单的东西,C 因简单而喜欢.我喜欢 KISS. 那看你怎么定义链表(Lists)的,在我看,一个连一个(one point to another),就是链表,当然更仔细些:Lists in Lisp is a single Linked list. https://www.gnu.org/software/emacs/manual/html_node/eintr/Lists-diagrammed.html
@InkStone 对,我不喜欢 C++,尤其是里面的模板,我只认同 C ,虽然 CPP 本质还是 C 。你膜拜现代语言的“让”常量,而我老“土”了,不潮,一点不潮,现在的人动不动就说些莫名的话,抽象啊,吧尬吧尬啊,昆哥啊,中文也快被玩坏了。

@aloxaf 在我的印象中,lisp 是"链表",一切都是`((...))`,这让人惊叹,当然我很久都没再用过 lisp 了,因为 lisp 可读性差, logo 感觉稍好。与之对应的面向对象鼻祖 SmallTalk 的 Etoys ,则更有意思。 刚查了下:lisp 定义常量是 defconst https://www.cainiaoya.com/lisp/lisp-constants.html, let 估计是 lisp 后面发展的方言。 而 final 是最后/最终的意思,为啥要区分 编译期常量 和 运行时常量? 如果有这需求,编译期定义一般不是叫 macro 定义,而且更灵活。

以英文单词的本意来讲,翻翻字典就知道 let 绝没有 固定不变 的意思, 而 const/constant 就是常数之意。
无论是 fn, func 自己变量名用用就算了,但是在计算机语言中,特别是在计算机高级语言中这样用,就太随意了。尽量少缩写,少标新立异,不然英文这个词汇量还要继续膨胀,不停发明新词,在我看来就词汇信息量来说中文才是王道,尤其是文言。
以前在汇编语言时代,因为打孔作业,才流行缩写用语。


@3085570450tt 你可真能翻,是的。
@DOLLOR 从语义上说,let 没有一定是常量的意思,它的本意是"让",但是 constant 关键字定义其含义更准确,就是常量了。

我玩过 basic, Fortran, pascal, c, asm, FORTH, js, coffeescript, lisp, java, scala, go, rust 也玩,但不喜欢,我更喜欢 zig 一点。

@w568w 错了,js 最早根本没有 let,只有 var ,这意义也很明确。let 是后来出现的,为了表示其的生命域与 var 不同而出现的。不过现在 js 已经被 ECMAScript 标准弄的一团糟,感觉是一群搞 java 的人在瞎弄。实际上,有一段时间,在 js 中使用 const 性能反而比 let 更低,不过我没关注,因为我以为区分 const 和变量是好事,另外选择 js 本身就是需要它的高度动态可扩展的特性,而非关注它的性能,尽管 v8 的优化很给力。

@InkStone 这是你以为,变量就变量,常量就常量,而语言内部是否以 immutable 为主,那应该是语言特性,而不是开发者操心的,只不过如果开发者在 immutable 为主的语言中滥用变量,受到的惩罚会加重。

从未来 AI 层面来说,AI 的语料来自人类,因此哪一门语言的表达更贴近原始人类的语义,更类似自然语言的,将有更大的优势:也就是说你不需要去看专门的语法书,你只看代码就能读懂,AI 理解会更好。同时这门语言的对人来说学习门槛更低,或者说几乎不用学习。

而且 MoonBit 还丑在大量使用缩写: fn, pub 。如果这是一门汇编语言,那也就算了。
这是专业知识问题,需要外挂专业专家知识库,掌握这些知识一般人都容易会被误导,更别说 AI.一旦涉及到深入,都需要各行业的专家的支持,互联网的信息最多趋同的,往往并不准确。

比如 js,现在你问 AI,JS 的 ES6 的 class 是增强了 js 的特性,还是削弱了 js 的特性?大都会认为是增强而不是削弱。
不喜欢它的语法,特别是把 let 当常量。 估计只有被 rust 训过后的才能适应,但是搞 rust 的可以直接 wasm.
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2817 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 16ms · UTC 15:00 · PVG 23:00 · LAX 08:00 · JFK 11:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.