最新文章

实习有感

今年暑假,我体验了我人生中第一次实习。作为法学生,公检法自然是实习的不二之选。我就在检察院。原本规定两个月时间,现在还剩下两周时间。但是根据这一个半月的体验,接下来的两周也基本可以一眼望到头了。所以可以就此作出一个总结。 体制内工作的本质 在我看来,体制内的工作,特别是公检法单位的工作,一切以稳字当头。凡事都有规定的程序和办法,只需要照办,那么个人就几乎不会承担风险。同时,收入也比较稳定(虽然我没有收入)。眼下大厂纷纷裁员,体制内工作者就不需要担心这个问题。 但是凡事都有两面 …

今天就让我大哭一场吧

在一个风和日丽的下午,我一边在校园里漫步,一边打了一通电话。这大概是我迄今为止人生中最沉痛的一通电话。电话的那边是一个考研咨询机构的老师。我打过去,是因为在B站看到了他们的广告,正好我也准备考研,而且我的考研是不那么被人理解的,所以便想要作为一个小白了解一些信息。 「我想考计算机的学硕」——这么平平无奇的一句话,如果从本欲保研的CS学生口中说出,是一种妥协;如果从本欲考研的CS学生口中说出,是一种值得鼓励的远大志向;然而,如果从一位本科和computer science毫不沾 …

AI客户端的上下文问题

我感觉虽然现在LLM大发展,但是应用端的软件还不是很完善,特别是一些平时不会注意到但很核心的功能。 比如AI聊天客户端——就拿Cherry Studio来说吧——在第一轮对话中,模型调用MCP工具获得一些内容,然后输出回答。紧接着第二轮对话中,Cherry Studio就会丢弃第一轮中MCP工具获取的内容,只发送用户的问题和模型的回答作为上下文。这就会导致从第二轮对话开始,每一轮对话都可能缺失完整的上下文,从而有效信息越来越少,最后自说自话。 我们对于客户端的期望是,能够尽可 …

Agent是一些人的弥赛亚

之前经常听到一些朋友说,网上现在有很多「文科生用AI开发软件,脚踢理科生」的说法,十分引人发笑。我原先觉得怎么可能,我们文科生再不行也不会狂妄到这种地步——污名化!一定是污名化!然而今天我就看到了这样的一篇文章,打了我的老脸。作者在文中洋洋洒洒,描述自己和朋友怎样使用Agent做出软件,赚到第一桶金,把Agent快捧成新时代的珍妮机了。这不禁使我想到一位著名文科生巴金的一篇文章《机器的诗》。看来一些文科生多少是有点技术拜物教倾向的。圣经退出了书店和课本,弥赛亚却仍然活在一些人 …

免费的才是最贵的

悦动青春项目组群里讨论了一个在我看来很有意思的话题:如果我们用的开源库有漏洞,可能出现安全问题并造成损失,应该由谁来承担责任?这个洞是我们修还是contributors修? 我的观点是我们和contributors都得修,只是谁先修谁后修的问题。并且简单说明了理由。当然,我的想法是很幼稚的,也并不希望获得大家的赞同。 这就涉及到一个开源库的安全责任问题。开源当然好,大家贡献,集思广益。但是出现了问题,也是大家有难同当。总不能说,库是某些人开发的,出了问题就要由他们去承担责任, …

国赛,粉墨登场

去年的这个时候,我还在为该死的小组作业焦头烂额,替躺平的组员承担责任。今年的这个时候,我已经挺进了软创的全国决赛,跻身全国18强。怎么说呢?只能说如梦似幻。我从来没想过软创能拿奖,甚至拿省奖我就已经很开心了。没想到现在居然要在国一和国二中间选座位。如梦似幻。这是我人生中第一次参加国家级竞赛。很多从小就参加各种竞赛的竞赛生、OIer之类,想必对这种经历早已轻车熟路了吧。但是这对于曾经走了一些弯路的、没有任何背景和天赋的「线粒体」而言,难道不是一件值得纪念的事件吗? 或许将来某天 …

写代码从来不是核心

以前对于一些程序员,写出来的代码实际上原创的成分很少。遇到问题就上Stack Overflow、CSDN或者各种博客,然后照抄。稍微复杂一点的工程,就涉及到架构问题。这时候就从各种架构书里去找现成答案,然后套用在自己的项目里。境界再高一点,才可以稍微有一点自己的创造性思考和实现。诚实地说,这种程序员的核心能力,究竟有多少价值?能看懂语法、懂设计模式、懂算法、会运用现有的工具解决问题,这些能力在过去成了程序员的护身符。但是现在有了AI,程序员发现自己会做的AI也会做。于是很有挫 …

点菜型经济

中国现在的综合国力,按照世界公认的说法,应该是可以排到第二名了。而且,在一些前沿领域,比如AI、新能源、航空航天、芯片,也可以和美国掰掰手腕。但是相较于国家整体的强盛,普通民众能够感知到的生活,似乎没有发生太大变化。并且,人们口中“经济下行”的语言也非常流行。什么原因呢?我觉得关键的原因,就是中国的经济体制很大程度上是一种“战略型经济”。 为了说明什么是战略型经济,我想拿点菜打比方。假设我们开了一个餐馆,一般的餐馆都会保证十几种最基本的菜品。但是我们的经营规模决定了我们的厨师 …

音乐哲学的数学原理

声音是由物体的振动产生的。从听觉上来说,振动频率越快,音调就越高;振动频率越慢,音调就越低。我们用$F=a\ \mathrm{Hz}$表示振动频率,其中$a \in (0, +\infty)$。 那么既然$a$可以有无限个取值,是不是代表,我们可以用的音也是无穷?显然不是。对于人类来说,人耳生理上的限制决定我们并不能准确分辨所有的声音。比如,某两个音可能频率不同,但听起来一样;或者某个音频率太高或太低,根本听不见。 首先我们探讨第一个问题,即人耳能听到的频率处于什么范围。根据 …

二叉树

2015年左右,三年级的我第一次见到了代码。那时候见到了一位正在上大学的姐姐的Visual Basic作业,本身就对电脑很感兴趣的我,很快就被吸引了。我在她的电脑上乱敲键盘,打出一大堆乱码,说这就是我的代码。她还夸我很厉害。 2017年,我第一次学编程。我的第一门编程语言是C,第一本编程书是谭浩强。我每天看一点点,写一点点。为什么函数要先声明再实现?这是在编程中困扰我的第一个重大问题。我花了两个月的时间,才理解函数的声明和函数的实现是分离的,后来我才知道这个叫封装。 我用 …

论Vibe Coding替代程序员

自从有了AI,用AI写代码,替代这个替代那个的论调就越来越多了,给人的感觉是程序员很不值钱——确实啊,要是值钱怎么能叫“码农”呢!我自己编程水平有限,平时也大量用AI写代码,所以我应该是AI的受益者而不是受害者,是AI让我变得更值钱了。但是我也觉得,AI替代一切、低代码开发这类论调,言过其实。与其考虑AI能替代什么,不如考虑作为开发者,最不能被AI替代的东西是什么。 首先我觉得第一个层级的不可替代性,是判断力。众所周知,现有的AI模型是一个黑箱。我们在数学上可以通过严密的逻辑 …

糖原1.1

之前设计的糖原2.0,可以说想象力天马行空,但是现在看来,难免有过度设计之嫌。这个架构主要是为了保证糖原的核心竞争力——弱信息茧房,于是设计了前端(闭源)—中心服务器(闭源)—节点服务器(开源)的三层架构。本质上,这种做法是想通过将技术神秘化,获取对推荐算法的绝对掌控。但是实际上,这种做法是没有必要的。因为真正好的软件,即便开源也能保证最初的愿景不被篡改。而且对于软件的运营,代码只是其中的一个部分,能够吸引人的还有很多方面。再者,客观上,这个方案也几乎没有办法实现。因为所有的 …

Codex CLI简单配置第三方兼容API

引言 Codex CLI是OpenAI推出的AI编程Agent工具,类似Claude Code。据说它可以取代Claude Code,成为最好的CLI编程工具;不过在下对此不置可否。CLI相较于GUI插件的一个显著的好处是,大部分代码编辑器都可以用,因为它的运行只依赖终端,而且也比较稳定。所以我个人还是比较喜欢CLI。 最近我有幸用到了大佬的Codex中转站,故在此将我配置Codex CLI的经验作一分享。 本文所用环境是Windows和Windows …