首页 » 软件开发 » 用AI生成代码,实现周易算卦(周易随机数生成算卦代码)

用AI生成代码,实现周易算卦(周易随机数生成算卦代码)

落叶飘零 2024-07-23 23:36:34 0

扫一扫用手机浏览

文章目录 [+]

大模型出现以后,他的能力毋庸置疑,尤其是在软件行业。
我咨询了我的开发同事,在我们公司是否有应用,答案不惊艳——没有。
但作为爱好者,我觉得一些简单应用已经不需要专业开发人员就可以实现,尤其是一些初级的开发工作。

是否需要人工输入代码呢,也许不需要。

AI的强大,我让他输出一个软件开发的过程,就生成了如下的流程,简单修改以后,就是我对开发过程的理解。

用AI生成代码,实现周易算卦(周易随机数生成算卦代码) 软件开发
(图片来自网络侵删)

如果我去画他,也许要上半个小时,但生成他只要2分钟。
我增加了自己的理解。

初步的实现

由于项目没有那么大,实现周易算卦大概可以省略很多的步骤,至少前两个部分还是能合并的。
周易博大精深,周易共卦象共有64卦,每一卦有六个爻,每一爻的时、分、位不同就代表了不同的意义,要深入解读。
但周易占卜还是很容易理解的,特点就是用随机性获取一个卦象,这个可以通过计算机语言非常容易实现。

通过随机的方法,可以获取到一个数值,由此就可以得到一个卦象和爻辞,再通过易经本身的每一个爻辞来解释,就可以实现一个占卜的目的。
我选择的是比较传统的易经、爻辞、小象等,当然也可以用一些占卜书,当然这个就是另外比较精深的门类了。

占卜的古书

明确思路以后,我开始准备文件,将卦象和爻辞准备好,当然这个步骤有点笨了,后面会讲到实际上是可以省略的。

我整理的卦象和爻辞,实际上可以省略

设计好以后,打开大模型,我选的是百度的文心一言4.0版本。
然后,要求他给我输出代码,我选择的是python语言,并要求他给我输出代码。

我的要求是——“我希望写一段python程序,具体要求如下: 在程序目录下,有一个excel表格,有一个sheet页名称为“卦象”里面从第二行开始,记录了64行记录。
其中,A列为顺序值,B列为主要卦象,C列为卦辞。
有一个sheet名称为爻辞,从第二行开始,共有216行,A列为顺序值,B列为爻辞。
需要一个程序。
首先:要求使用者提供一个1到6之间的一个数字我希望写一段python程序,具体要求如下:

在程序目录下,有一个excel表格,有一个sheet页名称为“卦象”里面从第二行开始,记录了64行记录。
其中,A列为顺序值,B列为主要卦象,C列为卦辞。

有一个sheet名称为爻辞,从第二行开始,共有216行,A列为顺序值,B列为爻辞。

需要一个程序。

首先:要求使用者提供一个1到6之间的一个数字标记为X。

然后在后台运行一个随机数字A,数字范围为1到6,生成这个随机数,如果所生成的随机数与使用者提供的数字相同,则提示匹配成功;如果所生成的随机数与使用者提供的数字不相同,则提示匹配失败,继续生成随机数,直至随机数与使用者提供的数字X相同。
记录生成随机数的次数y。

再使用一个随机数,随机生成1到64之间的一个随机数B。
从excel表格,获取sheet页“卦象”的A列中顺序值与这个随机数B相同的行,向使用者展示B列的卦象贺卦辞。
同时根据随机数B以(B-1)6+X获取与这个值相同的sheet名爻辞的A列顺序值相同的爻辞。

并向用户展示这个爻辞。
同时提示使用者,经过了y次的尝试获取了这个结果。
标记为X。
然后在后台运行一个随机数字A,数字范围为1到6,生成这个随机数,如果所生成的随机数与使用者提供的数字相同,则提示匹配成功;如果所生成的随机数与使用者提供的数字不相同,则提示匹配失败,继续生成随机数,直至随机数与使用者提供的数字X相同。
记录生成随机数的次数y。
再使用一个随机数,随机生成1到64之间的一个随机数B。
从excel表格,获取sheet页“卦象”的A列中顺序值与这个随机数B相同的行,向使用者展示B列的卦象贺卦辞。
同时根据随机数B以(B-1)6+X获取与这个值相同的sheet名爻辞的A列顺序值相同的爻辞。
并向用户展示这个爻辞。
同时提示使用者,经过了y次的尝试获取了这个结果。

由于占卜的意义在于不确定性,因此我要求程序输入一个数值,这个数值是1到6,代表了6个爻,要他来表示你的占卜爻。
同时还增加了一个匹配这个结果的次数,代表了实现它的难度,有点类似于“圣杯”的概念,有利于增加占卜的可信度。

我这个提示词有一个明显的错误,在后面的执行中,导致了一些不可预见的问题。
那就是我计算错了646,所以写了216这个数字。
而AI是看不出这个错误的。
这个也是一种局限性吧。

之后,他为我生成了一段代码。

生成代码,可惜不能执行

生成后的代码,执行中存在错误,当然这个也很正常,即便我用ChatGPT4.0生成的代码也有类似的问题。
如下图。

执行后报错,当然要继续完善

多次尝试以后,我终于发现了那个计算的bug,然后修改了他。
但执行结果是命令行界面的,并不直观,我希望他给我做成图形界面,这次很抱歉,他给了一个建议给我。
而我则不客气的要求他把全部代码给我写好。

严格的要求他给我画出来,这个要多次的重复沟通,很有点领导要求不听话的下属的样子

终于成型了,我的程序的样子,当然中间还有一些诸如分辨率、大小的调整,

程序的入口,前面还有一个message的提示

最终的结果

更深入、更好的完善

前面提到过整理周易的过程,这个过程非常的无趣,重复,其实完全可以通过计算直接获取对应的爻辞,甚至可以给你直接解卦,如通过以下的提示词“请为我解释一下周易第四卦第一爻的意思”,就可以直接解挂,当然这个要用到与大模型的api接口,具体是实现非常容易。
当然这样会存在不可控的情况,即常见的智能迷雾,他的发生概率并不低,和人经常发烧感冒一样。

更简单的方法

总结

与AI的沟通过程,像极了一个领导对他的程序员下属的工作过程,需要非常仔细的把每个步骤都考虑好,每个逻辑都要严丝合缝,否则他交给你的大概率是一个垃圾,小概率会给你一个不能用的惊喜。

另外周易博大精深,远不是在下这种小人理解的,但如果真的犹豫不决时,占一卦,从古老的智慧中获取一些启示也是很好的。

相关文章

语言中的借用,文化交融的桥梁

自古以来,人类社会的交流与发展离不开语言的传播。在漫长的历史长河中,各民族、各地区之间的文化相互碰撞、交融,产生了许多独特的语言现...

软件开发 2025-01-01 阅读1 评论0

机顶盒协议,守护数字生活的新卫士

随着科技的飞速发展,数字家庭逐渐走进千家万户。在这个时代,机顶盒成为了连接我们与丰富多彩的数字世界的重要桥梁。而机顶盒协议,作为保...

软件开发 2025-01-01 阅读1 评论0

语言基础在现代社会的重要性及方法步骤

语言是人类沟通的桥梁,是社会发展的基础。语言基础作为语言学习的基石,对于个人、社会乃至国家的发展具有重要意义。本文将从语言基础在现...

软件开发 2025-01-01 阅读2 评论0

粤语电影,传承文化,点亮时代之光

粤语电影,作为中国电影产业的一朵奇葩,以其独特的地域特色、丰富的文化内涵和鲜明的艺术风格,赢得了广大观众的喜爱。本文将从粤语电影的...

软件开发 2025-01-01 阅读5 评论0

苹果游戏语言,塑造未来娱乐体验的基石

随着科技的飞速发展,游戏产业逐渐成为全球娱乐市场的重要支柱。在我国,游戏产业更是蓬勃发展,吸引了无数玩家和投资者的目光。而在这其中...

软件开发 2025-01-01 阅读1 评论0