Reading view

There are new articles available, click to refresh the page.

向懒人学习

女儿问我怎么搭建编程环境。我们远程交流了一会,她应该打开编辑器还不到 10 分钟,问出一个我从来不知道会有的需求问题:在输入完print("Hello World"引号里的内容之后怎么把光标移动到引号外边去输入后括号?

不是按一下向右的方向按键吗?

但是如果光标在l处呢?

好吧。我搜索了一下,不知道是不是(往好处说)因为我不够懒,我从来不知道command+→键是光标移动到行末尾,option+→键是移动到单词末尾。

fin.

甄仁岛的来信

这事儿,得从上次写那个「互动小说生成器」说起。哦,抱歉,估计大家每天都会被迫看几条AI相关的文章,这篇多少又和它有关。上次那个互动小说生成器就是 AI 驱动的嘛。说实话,虽然我当时只是把它嫁接在 mastodon 上面,作为一个社交平台机器人,接收网友的互动指令来生成故事内容,但是我对比了一些市面上专为写小说而设计的工具,其实设计思路上,我自己感觉,那个简单的机器人已经是第一流的水平了:它有世界状态快照,记录故事中出现过哪些人物、物品、线索,「第一幕中有把枪挂在墙上,那么在第二幕或者第三幕中这把枪必须发射」;它有因果链,记录每一个事件的前因后果,避免情节出现矛盾;它还有节奏器,负责控制不同章节的节奏快慢,以及实现我个人趣味方面的章节间字数多少的某种韵律感……好了,不说了,虽然我自认为设计的很不错,不过我也必须承认,AI 搞创作,还是不行。对文字有足够的敏感度,就总会觉察到,处处别扭。所以再是耗费心力写出来的代码,也毫不吝惜地删了。

不过能不心疼吗?我都没存到 github 上就那么给删了。所以,后来又想着,也不真用它写小说,就玩儿呗,再写一个更周详的工具吧。于是就有了现在这个还在弄的游戏。刚才也提到了世界快照,生产故事已经用到了「世界」这个概念,那么继续把这个世界充实起来,就也顺理成章。其实我读小说时经常会想,曾经和主角擦肩而过的那些无名的角色,他们的日常是怎样的呢?难道他们的生活就没有被书写价值吗?所以一开始,这个游戏是想呈现出一部全景小说。玩家随便选择一个角色,就能观看聚焦在这个角色周围的故事。因为一开始的想法是游戏里的每个 NPC 都由 AI 驱动,所以很自然想到了《西部世界》,所以我给项目文件夹命名「东部世界」,但是想也知道那不太现实,先不说 AI 太贵,就算不差钱,如果 NPC 每个行为都要几十秒运算,那也卡得不像样了。还是得老老实实像传统游戏一样写代码,给 NPC 设定日常流程,饿了该吃饭、渴了要喝水,这些不能是 AI,而是 if else。不过还是得感谢 AI,慢慢程序有了个雏形,我弄得很慢,因为 AI 写出来的东西我要求自己不看明白咱就不继续往下走,边看边学吧。这也是我没打算把这个东西开源的原因,小玩意不值得拿出来现眼是一方面,主要是高手云集,诸位写得快,我学得慢,还不一下子就成了我看都看不懂的东西了?那可不行,别剥夺我的快乐。总之吧,游戏渐渐也跑起来了,让我想到《楚门的世界》,因为我就像是在对着镜头窥视这些一无所知的 NPC 生活。所以我又给游戏取名字叫《甄仁岛的故事》。楚门对甄仁,还不错。

我跟朋友聊起这个游戏,他说,啊?就是看文字?哈哈,好像「看文字」现在成了很奇怪的事,这倒又给了我一些想法。我觉得游戏叫《甄仁岛的来信》吧,不光是纯文字的游戏,索性,连原计划实时查看世界正在发生的故事的「信息看板」都砍掉,游戏世界就是个黑盒子,我们不知道里面在发生什么。倒也符合游戏世界的设定:那是一个被奇特场域包围,导致人类无法进入或离开的一个小岛,有大约几十个岛民居住其上,每天只有一班无人驾驶的轮渡进出岛屿,补给物资,同时也运送信件。玩家唯一可用的交互方式就是,特定时间段,在游戏的网站上投递信件,回信第二天才能跟随轮渡回到码头,寄送到玩家手上——也就是注册时填写的电子邮箱里。

如果当作小说来看,AI 的创作的确不行,但是当作游戏来玩,那种略有些别扭的文风,恰好带来一种复古游戏体验。第一个阶段的游戏目标是,通过文字交流,画出甄仁岛的大致地图。我还在想奖品是什么。毕竟这还挺难的,奖品也得够有吸引力才行。为了实现这个探索地图的功能,我已经实现了 NPC 在地图上自由行走,并且会记录下从 a 点到 b 点用了多少时间,但是,行走速度和身高和年龄有关——又是 if else 算出来的数值。而且岛的面积可不小,要想确定地图内容,得和不止一个 NPC 对话,互相参照和补充着分析才行。他们现在也已经可以主动规划去走一遍 a 到 b 的旅程,但是经我测试,怎么劝他下定决心,放弃当天的工资,去专程走这么几趟,是需要一些笼络人心的话才行的。

然而。我支线开得太多,性格又拖泥带水,总感觉离「现在就上线吧」还差那么一点:应该有真实的经济系统;应该有最初设想的故事性……而且一边写,一边学,有时候恍然大悟,哇哦原来可以这样实现?那岂不是之前那个功能可以写得更优雅些?于是,版本才到 0.001,却已经重构三次了。哦,我还忘了提,李飞飞工作室出的那个简单提示词生成一整个图形化可交互世界的 AI 产品,简直是和我这个小小小游戏完全两极的东西。总之就到这里吧,今天就不看代码了,梳理一下思绪,记上这一笔。希望早日完工,但也可能完不了工。

fin.

近期做了啥

有一眼能看到的,我把博客页脚的互动按钮改了呈现方式,原来是一排长条按钮,现在换成了更小一些的emoji图标,而且,原本就只是提供个看完文章随手点喜欢的方式,所以索性默认不展示数字了——但点心心不问数字。

还有一个我不说您就看不到的工程,就是做了个互动小说生成游戏。起因是看到一个帖子标题这样写:「用一个知识点构建一个虚拟世界」,感觉有趣,仔细去看了看,发现作者是用 AI 生成妳感兴趣话题的知识卡片,然后会自动推荐一些延伸知识点,如果妳和我差不多年纪,应该想到了一个类似的场景,就是美好的过去,我们打开一个维基百科的词条,顺着链接,一不小心就花光了一晚上的时间。总之,我其实只是因为那个标题,产生了一些自以为有趣的想法。做了一个「互动小说生成器」——向程序发送一条故事背景设定,让它构建一个世界。然后妳自己,或者和其他玩家一起,随便描述个角色,程序会给妳安排个人物背景,将妳送进故事的世界。接下来就在一来一回的对话中,推进故事世界的演化。到这里为止,对我来说也不新颖,但是还有一步,程序会在后台,把故事世界写成小说……我自己一人分饰两角,演绎了一个简短故事,献丑了

哈哈哈,我不是开发者,看了一下 AI 模型的 API 费率,负担不起。好在用简单模型在免费额度内,好像也能勉强生成一点东西。作为小说来讲,它可能是 💩,但是作为我的沙盘,它给了我一点(准确说是 4 天工作之余的时间)快乐。

fin.

10条永恒的投资原则

有网友说:学会投资是现代人必备的技能,如同阅读、写作、吃饭、睡觉一样重要。我深表认同,刚好国外推主Brian Feroldi分享了10条永恒的投资原则,我结合自己的经验对这些原则作适当解释,在这里分享给朋友们。

投资

1:如果你想积累财富,你必须投资。

靠一份工资对于绝大部分人都是不够的,哪怕打工皇帝都未必能仅靠工资实现财富自由。

投资

2:在你准备好之前,不要投资股票。

首先关注财务健康。

不打无准备之仗,没有任何基础就大手笔投入资本市场,会亏得很惨。学习投资的基本原则和风险控制是有必要的。

投资

3:当你的个人财务非常保守时,应对波动性会容易得多。

在风险较高的市场,要采取较保守的思路,而不是继续加杠杆,控制风险保住本金,活得久才是王道。

投资

4:在一开始,你的储蓄率是最重要的。

随着时间的推移,你的投资回报将变得最重要。

滚雪球需要先有一个小小的雪球才能启动。刚开始还是要有一定的本金才能参与——初期努力储蓄本金吧,时间的积累后期的回报率如果也高,投资的整体回报才能高,才能远超工资储蓄带来的整体收入。

投资

5:短期内有风险的,长期内是安全的。

短期内安全的,长期内是有风险的。

比如存款,短期内是安全的,但长期来讲,货币贬值带来的风险几乎是确定的。长期安全的东西,可能在短期内是波动的,因为它倍受关注,投机分子在短期内会搅动市场。

投资

6:平均成本法使市场时机变得无关紧要。

这里的平均成本法,其实就是我一直推崇的定投方法,只要投资标的长期是上涨,就可以无视短期内的波动,大胆采用定投的方法。

投资

7:短期内,企业及其股票的相关性为0%,但长期内为100%。

短期内的波动与企业(或者投资标的基本面)业绩关系不大,但长期来讲,只有基本面才能决定它的价格。这也就是上面提到的对这类标的采用定投即可。

投资

8:人类天生不擅长投资。

要明白,你的情绪会对你玩弄各种花招。

人性是不可靠的,很容易情绪化,逢低买入,逢高卖出,这么简单的道理,但绝大部分人一操作就成了:追涨杀跌。涨了就FOMO,怕错失机会,跌了怕亏更多,赶紧止损卖出……

投资

9:你不可能什么都知道。

定义何时你了解足够的信息来做出决定。

我们凡人的能力、精力和时间有限,不可能是全知。深耕某一两个赛道,做对这一两个赛道,足矣。

投资

10:拉远视角。

就像上面所说,对于一个长期来讲是上涨的标的,当短期内的波动扰乱心绪时,拉远视角,以3、5年的时间窗口来看,就知道它是上涨的,不必被短期波动所困扰。做时间的朋友。

鸣谢,本文图片取自Brian Feroldi

❌