# Message from Garden Place > Message from Garden Place:Guoliang Chen 的随笔与笔记 Guoliang Chen,线上用 Freezind,在东京惠比寿写随笔与笔记,主题是与 AI 一起生活和工作。专栏《Live with AI》作者。 本站有三种语言:英文在 /,中文在 /zh/,日文在 /ja/。同一篇文章的其他语言版本是译文,不是另一篇。 https://gardenplace.me/zh/llms.txt --- # Jev 就是 Software 2.5 - URL: https://gardenplace.me/zh/posts/jev-is-software-2-5/ - Published: 2026-09-23 - Updated: 2026-09-23 - Stage: 常青 - Series: Live with AI - Tags: AI ## Jev 一夜爆火 刚在《[自然语言就是新的程序设计语言](https://gardenplace.me/zh/posts/natural-language-is-the-new-programming-language/)》里谈到 Karpathy 对软件的划分:1.0 是人写代码,2.0 是从数据中训练出模型,3.0 是用自然语言给模型指定任务。 这周,到处都有人想拿 Jev 做点什么。第一次看到 TypeSafe 的发布文,我却没那么兴奋。System One Model、frontier intelligence、can't hallucinate,几个词看下来,我冒出的念头是:这不就是分类器吗?给一段文字,从几个选项里挑一个,再带上概率。上过机器学习课的人,对这个太熟悉了。 后来我觉得,自己可能又犯了那篇文章里说过的毛病。知道这东西怎么来的,就容易忽略别人第一次用到它是什么感觉。分类器不新鲜,但一个从来没训练过模型的人,现在写几句说明,就能把它接进自己的小工具里,确实也是一个令人兴奋的体验。 ## 只做判断 先不用管 Jev 的底层架构,官网也没有 Open Source 或者 Open Weight。对使用者来说,可以把它看成一个函数:把相关信息、问题和允许的答案交给它,它返回判断和概率。 比如我想给记账软件加一个自动分类功能。输入可以是这样: ```text 消费记录:Uber Eats ¥2,380 问题:这笔消费属于哪一类? 选项:餐饮 / 交通 / 购物 / 娱乐 / 其他 ``` 程序拿到的会是选项以及各选项的概率,可以直接用来决定如何入账。 Jev 目前提供三种问法:[Choice](https://docs.typesafe.ai/primitives/choice) 从最多 255 个选项里选一个;[Score](https://docs.typesafe.ai/primitives/score) 按你定义的 2 到 10 个有序等级评分;[Noul](https://docs.typesafe.ai/primitives/noul) 返回一个是非问题中“是”的概率,再由代码决定怎么处理。它不提供自由文本生成,也不会解释自己为什么这么选。 TypeSafe 把它叫作 smart if-statement。很多判断,规则写起来很烦,人却一眼就知道大概。Jev 想接手的就是这种难以人工编码的直觉。 普通 LLM 当然也能做。通过[结构化输出](https://openai.com/index/introducing-structured-outputs-in-the-api/),它也可以只给分类结果,不必先写一段客套话。Jev 值不值得用,要看完成同一个判断时,它的正确率有多高。毕竟更快地做出一个错误的决定,并非一件好事。 ## 省在哪里 以前要给消费分类,可以写规则,也可以训练模型。用传统机器学习做这件事,收集样本、标注、训练和维护是一笔不小的成本。 Jev 省掉的是为每个新任务单独训练模型这一步。你写好问题和判断标准,就能先试起来。按[目前官方定价](https://docs.typesafe.ai/models),每百万输入 token 收 0.042 美元,输出免费。假设一次请求总共用了 1,000 个输入 token,一万次调用的模型费用是 0.42 美元。 相比 LLM,这很便宜。不过,用 Jev 也要整理输入、测试错误、维护分类标准,这些成本不会出现在 API 账单上。 更要看的是尝试成本。一个想法还不值得专门训练模型,却已经值得花一点时间写好问题、调一次接口。记账、邮件整理、工单分派,都是这种小需求。 早期也有零样本分类器,比如 [BART-MNLI](https://huggingface.co/facebook/bart-large-mnli)。它经过专门训练,学会判断两句话的关系:前一句能不能推出后一句,两句是否矛盾,还是信息不足、无法判断。这叫自然语言推断,NLI。 比如想知道某个报道的主题是“体育、财经还是科技”,程序就把三个类别分别填进固定句式:“这段文字讲的是体育”“这段文字讲的是财经”“这段文字讲的是科技”。然后把原文分别和这三句话配对,交给模型判断。如果原文是“这支球队赢得了冠军”,模型就应该更支持第一句,于是程序把它归到“体育”。 它的 trick 就在这里:把分类问题改写成模型已经学过的句子关系判断。换一组类别,只要换掉句式里的词,不用再拿新类别的样本训练模型,所以叫零样本分类。它仍然是一个 Software 2.0 式的模型,通过巧妙地改写输入,获得了通用性。这和今天 LLM 能按自然语言指令处理各种任务的通用能力,还是有距离。 Jev 想做的,是把更广泛的语言理解能力放进一个便宜、快速的判断接口里。它真正要回答的是:换一个任务,能不能靠几句说明就用起来。它是不是第一个零样本分类器,没那么重要。 ## 为什么是 Software 2.5 同一个 Jev 模型,今天给消费分类,明天给 issue 分配负责人,换一段问题和选项就行。当前官方服务不支持按客户数据做 fine-tune,各账号使用相同权重,行为通过输入和判断标准来调整。 叫它“2.5”,说的是它在程序里的用法:它像 LLM 那样允许你用自然语言写问题和判断标准,接入之后,它又像一个传统分类器那样,只负责流程中有限的几个判断。它想要接近 3.0 的任务适应性,同时保留 2.0 的成本和速度。 区别在于模型能不能理解你新写的判断逻辑,而不只是换几个标签。至于要不要搭流程,并不能拿来划代,LLM 应用一样要写流程和业务代码。 比如客服收到一条留言:“耳机左边没声音,换了手机也一样。”你可以让 Jev 在“故障反馈、使用咨询、购买咨询、其他”里选一个。各类怎么定义、分到哪支客服队伍,由你事先写好;它负责读这句话,判断更接近哪一类。 这种用法可以理解成语言直觉:读一段描述,直接判断哪个答案合适。有点像大模型不展开思维链、直接作答时的状态。它能做语义判断,并不意味着它就能一步步推导出答案。 日期比较、精确计算、寻找最优交通路径,这些工作应该交给代码和相应的算法。TypeSafe 的 [jaggedness 文档](https://docs.typesafe.ai/model-jaggedness/jev-1.13)也写了当前版本在计算、日期和多层间接关系上的短板,以及无关上下文对判断的干扰。拿它做什么,要看问题本身需要什么,不能只看最后的答案是不是一个选项。 [《Jev 全网首测 benchmark 与架构解析》](https://www.bilibili.com/video/BV1hLhh6HEme/)里做了两组测试,总共 400 道题。我看过原始测试数据:200 道简单单选题全对;另一组是 40 个问题族,每族 5 个变体,共 200 道题,需要从长文本里抓住关键事实,准确率只有 32.5%。这个数字很微妙,因为四个选项随机也有 25% 的概率。 有些变体把决定答案的关键事实反转了,它还是选原来的答案。在这组题里,置信度也没能可靠地区分对错。简单题上看着很稳,一遇到藏在长文本里的条件变化,就可能给出很笃定的错误判断。 这对接入方式有直接影响。测试时要专门改动那些本应改变答案的事实,看模型会不会跟着改。只拿几道一眼就知道答案的题来演示,看不出这种问题。 要把 Jev 用好,输入也得先整理。比如给消费分类,我会从邮件里取出商户名、商品描述等相关信息,去掉签名、广告和无关记录,再写清楚“餐饮”“购物”这些类别的边界。[官方文档](https://docs.typesafe.ai/model-jaggedness/jev-1.13)也建议先用代码筛选信息,只把当前判断需要的内容交给模型。 挑信息、组织输入这部分,让我想起 Software 2.0 时代做传统分类器时的 feature engineering,也就是特征工程。那时要把原始数据加工成有用的特征;现在可以用自然语言和结构化字段,把判断所需的信息交给 Jev。模型替你省掉了很多工作,但哪些信息值得看、该怎样组织,仍然需要你理解自己的业务。 再准备一批自己知道答案的真实样本,检查误判,调整问题、类别定义和置信度阈值,才算把它接进了程序。Jev 省掉了针对每个任务训练模型的步骤,但围绕模型做这些准备的功夫,还是很有 Software 2.0 的味道。 最自然的架构是:**固定规则 → Jev → 大模型兜底。** 能用写死的代码处理的,先交给成本最低的代码;规则处理不了、需要理解语义的,再调用 Jev;Jev 置信度低,再交给大模型判断。 ## 营销确实厉害 我对 Jev 在技术上的 moat 还持保留意见,但这个产品的需求是真实存在的,至于为什么这么火,那我们得谈一谈营销了。 先说技术。复刻的门槛不高,开源实现已经冒出来了。[Laya](https://huggingface.co/convaiinnovations/laya) 用 4 亿参数的 ModernBERT 做底座,Apache 2.0 许可,还自带一个和 Jev 同协议的 HTTP 服务,原来调 Jev 的代码改一下 `baseUrl` 就能换过去。还有人直接拿千问的开源模型改一改:[Kev](https://huggingface.co/jaredpalmer/kev-0.5b) 在 Qwen2.5-0.5B 上加了一个 LoRA 和一个小的打分头,[Jeff-1](https://huggingface.co/GestaltLabs/Jeff-1) 是 Qwen3-4B 的 LoRA,都提供同样的 Choice / Score / Noul 接口。当然,接口一样不等于判断一样准。Laya 自己公布的对比里,选项超过 20 个时就明显不如 Jev。 Jev 的名字取自 William Stanley Jevons,TypeSafe 在[发布文](https://typesafe.ai/blog/introducing-system-one-models-and-jev)里明确说了这个来历。杰文斯悖论讲的是,效率提高之后,新增需求可能超过节省下来的消耗,最后资源反而用得更多。我在《AI 不是节约型创新》里也讨论过这一点。 这个名字取得真好。它和 Claude 一样,有个人名的亲近感,短,好记,叫起来顺口。背后的 Jevons 又让人立刻想到每一个押注 AI 规模继续增长的投资者都希望成真的故事:智能越来越便宜,用它的人和地方越来越多,新增需求大到足以抵消效率提升省下的算力。 还有 System One 这个定位。大模型刚出来时,就有人说它是 System 1,靠直觉和联想直接给答案。Bengio 和 Edward Hu 在 [2023 年的一篇文章](https://yoshuabengio.org/en/blog/scaling-service-reasoning-model-based-ml)里就写过,很多人把语言模型比作 System 1,期待未来的 System 2 来处理可靠的推理。到了 o1、DeepSeek R1 这一波推理模型,慢思考成了卖点。2025 年甚至有篇综述,题目就叫[《从 System 1 到 System 2》](https://arxiv.org/abs/2502.17419)。 现在 Jev 又来做 System One。这个位置找得很巧:让大模型去慢慢推理,自己负责快速判断。这样一讲,输出能力有限就成了一种分工,便宜、快也和“直觉”这个说法对上了。一个判断接口,听起来成了智能系统里值得单独做出来的一部分。 这套说法很会抓人。但 System 1 和 System 2 在这里终究是比喻。它能帮助人理解产品,证明不了 Jev 的内部机制,也不能替它回答前面那些长文本测试。研究里用了多年的说法,到了产品发布时,又成了一个新品类的名字。 发布文里所谓的“没有幻觉”也是如此。答案 100% 落在预先规定的类型和选项里,因为这个约束就是普通的代码,也就是 Software 1.0。“没有幻觉”不代表判断是对的。 更要紧的是它对置信度的承诺。TypeSafe 在[发布文](https://typesafe.ai/blog/introducing-system-one-models-and-jev)里明确写道:“Calibrated: higher confidence means higher accuracy.” 置信度越高,准确率越高。它还拿普通 LLM 来对比:如果模型不知道自己什么时候会错,就没法放心拿来做自动化。[使用文档](https://docs.typesafe.ai/confidence)也建议按置信度分流,高的自动处理,低的交给人或其他系统。这是它的一项核心卖点。 前面那些关键事实反转的题,正好考验这个承诺。答案错了,置信度却仍然很高,意味着按置信度分流时,这些错误可能直接被程序放行。问题落到了它承诺解决的地方:模型犯错时,能不能提醒你别信它?至少在这组测试里,这个信号没有起到应有的作用。要验证这个卖点,得把高置信度的答案单独拿出来,看看究竟对了多少。 还有那两个很适合做标题的数字:快 193.6 倍,便宜 444.6 倍。TypeSafe 的[发布文](https://typesafe.ai/blog/introducing-system-one-models-and-jev)交代了,这是自家 workflow 评测的结果,而且偏向实际收益的高端。这套[评测](https://evals.typesafe.ai/)预先写好流程,再比较各模型在流程里的判断,参照标签来自 GPT-6 Astra 和 Fable 5.1 这两个旗舰模型的平均输出。它可以说明这些流程里的表现;转发时如果只剩两个倍数,适用范围就丢了。 官方发布之外还有一些纯噱头,可以说是造假。我看过的“用 Jev 瞬间生成网页”,组件其实已经预先写好,Jev 只负责选模块;拿来对比的 LLM,却要从头生成网页代码,这种方法未免对 LLM 太不公平。 还有一个 Minecraft 通关演示:通关流程已经写死在程序里,就算把 LLM 和 Jev 都拿掉,也不影响通关。 ## 我个人的应用场景 最贴近我手上工作的,还是记账软件 PocketBean。邮件里进来一笔消费,最后需要的是一个分类。如果 Jev 在我自己的记录上够准,这种地方就值得试。分类也得先约定清楚:Uber Eats 买的一顿外卖,我会归“餐饮”;买菜则可能单列。模型再便宜,也不会自动知道我的记账习惯。 还有派单。我在做的 Bonsai 需要把不同请求交给合适的模型;给 coding agent 派活用的 Multica,需要判断一个 issue 该交给谁。它们都可以拿来做对比实验。不过,“哪个模型适合这个请求”比挑出一个模型名难得多,后面的任务有没有做成,才是路由对不对的依据。 我看到 Jev 的第一反应,其实是让它当海龟汤主持人。玩家一轮轮提问,主持人根据汤底回答“是”“不是”或者“无关”。答案范围刚好很小。 然后我搜了一下,发现已经有人做了。比如 [Soupbase](https://github.com/spoonnotfound/soupbase),就把 Jev 接进了海龟汤的提问判定。得益于 Jev 的能力,还支持用户提交自己的题目。大家可以点进去玩玩看。 ## 自己试一下 下面的接入信息核对于 **2026 年 9 月 23 日**。价格、注册条件和接口仍可能调整。 - [TypeSafe 官方控制台](https://console.typesafe.ai/login):直接接入的入口,注册资格和赠送额度以当时页面及账号显示为准。 - [Vercel AI Gateway](https://vercel.com/ai-gateway/models/jev):模型 ID 为 `typesafe-ai/jev`。当前页面标注输入、输出免费,促销于 2026 年 9 月 25 日结束。 - [OpenRouter 教程](https://openrouter.ai/docs/guides/community/jev-tutorial):模型 ID 为 `typesafe/jev-1.13`,使用专门的 Decisions API。 下面是一条 Vercel 请求示例;接口形状可对照其 [HTTP API 说明](https://vercel.com/changelog/ai-gateway-now-supports-typesafe-clients-and-http-api-for-jev)。运行前需要设置自己的 `AI_GATEWAY_API_KEY`,大家可以看一下 Response,马上就能理解 Jev 是什么了。 ```sh curl https://ai-gateway.vercel.sh/v1/evaluate \ -H "Authorization: Bearer $AI_GATEWAY_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "typesafe-ai/jev", "state": "Uber Eats ¥2,380", "questions": { "category": { "type": "choice", "instructions": "Which category does this transaction belong to?", "criteria": { "Food": "meals, groceries, restaurants, food delivery", "Transport": "trains, taxis, ride-hailing, fuel, parking", "Shopping": "clothes, electronics, household goods, online retail", "Entertainment": "movies, games, concerts, streaming subscriptions", "Other": "expenses that do not fit any of the categories above" } } } }' ``` ## 延伸阅读 - Diogo Almeida, [*Introducing System One Models and Jev*](https://typesafe.ai/blog/introducing-system-one-models-and-jev)(TypeSafe, 2026-09-14)——发布文。三种问法、价格、评测方法,以及他们给每个结论标注的 nuance;名字的来历在文末 FAQ。 - TypeSafe, [*Jev 1.13 jaggedness*](https://docs.typesafe.ai/model-jaggedness/jev-1.13)(2026-09-17 修订)——官方列出的九种短板:计算、日期、无关上下文、对抗文本……比发布文更值得读。 - Andrej Karpathy, [*Software 2.0*](https://karpathy.medium.com/software-2-0-a64152b37c35)(Medium, 2017)——2.0 的原始定义。 - W. S. Jevons, *The Coal Question*(1865)——Jevons 悖论的出处,也是 Jev 名字的来历。 - Daniel Kahneman,《思考,快与慢》(中信出版社,2012;原著 *Thinking, Fast and Slow*, 2011)——System 1 / System 2,System One Model 这个名字的来历。 - [*What If We Put AI in the State Machine?*](https://www.seifi.org/ai/what-if-we-put-ai-in-the-state-machine.html/)(2026-09-20) - [B 站视频:400 道题实测 Jev](https://www.bilibili.com/video/BV1hLhh6HEme/)——简单单选 100%,长文本抓关键事实 32.5%,以及对架构的推测。 - Intelligent Artifact, [*Introducing System One Models and Jev*](https://intelligentartifact.com/posts/system-one-models-and-jev/)(2026-09-16)——Hacker News 四百多条评论的整理:它到底新在哪。 - 编程范式的背景(Software 1.0 / 2.0 / 3.0)见[自然语言就是新的程序设计语言](https://gardenplace.me/zh/posts/natural-language-is-the-new-programming-language/);Jevons 悖论与“按任务而不是按技术分”见《AI 不是节约型创新》。 --- # 提示词观止:永不褪色的提示词技巧 - URL: https://gardenplace.me/zh/posts/the-prompt-trick-that-never-expires/ - Published: 2026-09-12 - Updated: 2026-09-13 - Stage: 常青 - Series: Live with AI - Tags: AI, prompt, 写作 ## 只要学得够慢,就不用学了 [上一篇](https://gardenplace.me/zh/posts/natural-language-is-the-new-programming-language/)讲了编程的三个时代:人工编写、机器学习、自然语言。既然自然语言成了新的编程语言,人人都成了施法者,大家肯定迫不及待想练一把咒语。然而 AI 时代有个笑话:“只要你学得够慢,你就不用学了。”还有一个类似的流行语:“一觉醒来,错过好多;一年过去,什么也没错过。” ## 从“学了再说”到“用到再学” 这些话其实在方向上对了一半。变化快、用到时又容易查的细节,可以晚点学。 编程语言里有一种概念叫惰性求值:表达式先不算,等到真有人要用它的值再算。Haskell 靠这个能表示一个无穷长的列表,只取用其中需要的部分。机器学习里也有一个概念叫惰性学习:基本的 k 近邻算法把样本存着,不预先拟合一个参数化的预测模型,等查询来了再比对。在 AI 时代,值得学的东西太多,学东西又变得很快,我们理应也这样学,尤其是下面几类知识: 1. 近期未必用得上,真用到时又容易查、容易学; 2. 当前任务只需要弄清输入输出,可以暂时当黑箱; 3. 更新很快,提前熟记的细节可能到时候又得重学。 随着技术的进步,查和学的成本变了。2011年 *Science* 上的[研究](https://www.science.org/doi/10.1126/science.1207745)发现,预期以后还能访问某条信息时,受试者对信息本身的回忆较差,对存放位置的记忆反而更好。我们会把记忆的一部分交给外部系统。AI 又往前走了一步:除了帮你找,还能按你的问题解释、举例、陪你试。 很多人对这类知识有收集癖。我怀疑这里有一点应试教育留下的惯性:太多人都只关注一个东西对闭卷考试有没有用,但现实是一场开卷考试。过去我们经常是 "just in case learning"——学了再说;现在则应该是 "just in time learning"——用时再学。就像某些 JIT 编译器的做法,哪段代码跑热了,再集中优化哪段。等发现学了以后可以提升自己的工作效率,再学也不迟。 ## 原理性知识更保值 也有知识值得早点学,因为它会反复帮你判断新问题。你不需要会推导 Transformer,但有几个心智模型,建了就一直管用。 **模型看到的字跟你看到的不一样。** 它先把文字切成一块一块的 token——有时是一个词,有时是半个词。strawberry 在你眼里是十个字母[^strawberry],在模型眼里可能是两三个 token。这就是为什么早期模型数不清里面有几个 r:它的颗粒度跟你不一样。不过这不是天花板——切法本身[没有丢信息](https://github.com/openai/tiktoken),新模型完全可以学会更好地处理这类问题。别把某一代模型的短板,当成所有模型永远跨不过去的坎。 [^strawberry]: 写本文初稿时,笔者想重复这个实验。结果 AI 把 r 数对了,是3个,却把字母总数说成了9个。 **流畅不等于正确。** 语言模型的基本训练目标是“给定前文,预测下一个最合理的 token”。靠这个目标,它能学到大量知识和推理模式,但训练过程没有附送一个事实核验器。所以它说得越顺,你越该多问一句:这个说法我能验证吗? **“我明明说过了”——但它可能已经看不见了。** 每个模型有一个上下文窗口,一次能看多少内容是有上限的。聊到后面,最早的几轮对话可能已经滑出窗口。你觉得对话记录还在,但对模型来说那段话已经不在视野里了。另外,聊天时模型的权重不会即时更新——它能从你这轮给的例子里学到一条规则,但关掉对话就忘了,除非产品另有[记忆功能](https://help.openai.com/en/articles/8590148-memory-faq)帮你存。模型的知识截止日期约束的是训练时学到的东西,不妨碍它读你刚贴进去的材料。 2017年那篇 [*Attention Is All You Need*](https://arxiv.org/abs/1706.03762) 到现在,模型变化巨大,但 token、上下文窗口、训练和推理的区别这几个概念仍然有解释力。判断一条知识值不值得长期学,我会看它能不能解释多个现象,能不能在换了工具之后继续帮我作判断。原理也会被修正;一个好的 mental model,还应该让你知道自己的判断在哪些地方靠不住。 ## 系统提示词与用户提示词 先说 ChatGPT、Claude 这类 chatbot。你在对话框里输入“帮我列个提纲”“这段再短一点”,就是用户提示词(user prompt)。产品还会在背后提供[系统提示词(system prompt)](https://platform.claude.com/docs/en/release-notes/system-prompts/overview),交代助手的基本身份、行为规则等。打个比方,把模型当作临时工:系统提示词像公司规矩,用户提示词是你交给他的具体事情。如果你对更完整的提示词写作指南感兴趣,可以参考社区维护的[已经泄漏的系统提示词](https://github.com/asgeirtj/system_prompts_leaks)。题外话,我觉得用户应该对这些影响信任的信息享有知情权,就像主流通用编译器几乎都是全面开源的。 日常聊天,直接在对话框里说需求就行。同一段对话里,之前的消息通常也会作为上下文参与后续回答,不必每轮从头交代。如果有经常重复的偏好,例如“用中文回答,技术术语保留英文”,可以存进 [ChatGPT 的自定义指令](https://help.openai.com/en/articles/8096356-chatgpt-custom-instructions)。只适用于某一组对话的背景和要求,则可以放进 [Claude 的项目知识和项目指令](https://support.claude.com/en/articles/9517075-what-are-projects)。 这些是产品提供的个性化入口,并不等于直接编辑厂商的系统提示词。对使用者来说,先把眼前的事情说清楚就够了;哪句话反复要说,再把它存起来,省得每次重复。系统提示词优先级总是高于用户提示词。 agent 里的提示词分布则更加复杂,之后介绍的时候再说。 ## 角色提示词已经只是 cosplay 了 理解了这层分工,再看那些流行的提示词技巧,就容易判断哪些工作还需要我们来做。 斯坦福 2025年秋季的 CS146S: The Modern Software Developer 的课件上写着 [Use role prompting aggressively to make system prompts more powerful](https://docs.google.com/presentation/d/1MIhw8p6TLGdbQ9TcxhXSs5BaPf5d_h77QY70RHNfeGs/edit?slide=id.g3827d98ef8c_0_0#slide=id.g3827d98ef8c_0_0)。所谓角色提示词,就是开头先来一句“你是一位顶级前端专家”。很多人把它当作固定起手式,好像少了这句,模型就不知道怎么写前端了。 在 [Fable 5.1](https://www.anthropic.com/claude-fable-and-mythos-5-1) / [GPT-6 Astra](https://openai.com/index/gpt-6-astra/) 这一代经过充分后训练的助手模型上,我的默认做法是直接交代任务,省掉这句起手式。认真理解问题、运用相关知识、尽量给出有帮助的回答,本来就是厂商在训练的行为。把模型塑造成一个好助手的工作,已经有很大一部分在它交到用户手里之前完成了。 厂商通过[指令微调和 RLHF](https://arxiv.org/abs/2203.02155)等后训练方法,用回答示范和偏好反馈来调整模型,让它更好地遵循请求、帮助用户。“当一个有帮助的助手”已经成为模型学到的默认行为,不需要用户在每次对话里从头教起。Anthropic 的 [persona selection model](https://alignment.anthropic.com/2026/psm/)也提供了这样的理解:后训练塑造和完善了 Assistant 这个角色。 **不额外指定人设时,你面对的也已经是一个被专门塑造过的助手。**“帮我写一个 React 网页”这份任务本身,也已经提供了前端开发的情境。一句“你是顶级前端专家”能带来多少额外价值,要看它在这个基础上又补充了什么,而不能只看它是否让输出发生了变化。 这就是我省掉通用人设的理由:它想提醒模型做的事,很可能已经包含在默认助手的行为和任务要求里。这里的“调好了”,指以帮助用户为目标、面向广泛任务优化过的默认行为;具体任务做得好不好,仍然要看结果。因此,我会先直接说任务,发现不足再补充要求,而不是把“你是专家”当作必需品。 要是我希望它“像面试官一样一次只问一个问题”,或者“从无障碍审查者的角度检查这个网页”,情况就不同了:我在指定这次合作的方式或检查范围。这些信息未必能从“帮我做个网页”里推出来。角色仍然可以是这种要求的简写;真正有用的是它补充的任务信息。 已有实验也提醒我们,不必迷信头衔。Zheng 等人的[研究](https://arxiv.org/html/2311.10054v3)于 2023年首次公开、2024年定稿:研究者把 162个人设放进系统提示词,在四个模型家族的九个模型、2,410道 MMLU 选择题上做对照,没有发现添加人设能稳定提高总体准确率。这项研究没有测试 Fable 5.1 这一代模型,不能代替对它们的评估;它检验的是“加个人设就能变强”这个常见假设。 CS146S 课件上的例子,我用 [Fable 5.1](https://www.anthropic.com/claude-fable-and-mythos-5-1) 照着试了一遍:同一道题(最长回文子串),交给两个人设。 > **Gen Z digital bestie** —— [对话记录](https://claude.ai/share/bfe773fd-a985-4618-bf8b-4f6bfb8de242) > > **A helpful assistant that loves programming at the level of a senior software developer** —— [对话记录](https://claude.ai/share/37bd90d7-93b4-4bff-815e-043b640dc3fd) > > 这一次,两边都把程序写对了,也都顺手提醒我有更高效的 Manacher 算法;最明显的差别在语气词。 这一次看起来很像 cosplay,或者说 VTuber,皮套换了,人没换。 滥用角色扮演本质上只是一种偷懒。你没有把任务的具体需求想清楚,指望靠一个通用角色来代替。这和高考作文开头引一句名人名言一样,光有一个气势,却没有什么独特的信息量。 至于一句人设为什么会改变模型的行为,等到深入讲 LLM 原理时,我会另写一篇《为什么人设会改变行为》,把条件概率、attention 和角色表示拆开来讲。 ## 有一种失效叫招安 2022年[有篇论文](https://arxiv.org/abs/2205.11916)发现,加上 "Let's think step by step" 这样的提示,能把当时模型在 MultiArith 上的正确率从 17.7% 提高到 78.7%。如果一句话这么好用,这么泛用,那它就应该出现在系统提示词里。果然后来出现了会在内部进行推理的模型,[OpenAI 的建议](https://developers.openai.com/api/docs/guides/reasoning-best-practices)反而是不必再加这句话。曾经需要人手动提醒的动作,变成了模型的默认行为。 Zero-shot 和 few-shot 能更清楚地说明这个区别。直接让模型把“今天天气很好”翻成英文,不先提供翻译示范,就叫 zero-shot(零样本提示);先给几组中英对照,再让它翻译新句子,就叫 few-shot(少样本提示)。这里的“样本”指提示中的任务示范,不是模型训练时看过的资料。GPT-3 的论文标题就叫 [*Language Models are Few-Shot Learners*](https://arxiv.org/abs/2005.14165)。 随着模型更擅长直接理解指令,一些任务可以先不贴例子,看看它能不能做好;但 few-shot 远没有因此过期。某种特定的语气、某种嵌套三层的 JSON 结构、某个边界情况到底该输出空数组还是报错——这些地方,贴一条样例可能比写一千字的说明更省事。Show, don't tell,写作里很老的技巧。 这些提示词技巧仍然有效。恰恰因为足够通用,它们才会随着技术进步,被吸收到模型内部、系统提示词或官方 harness 里。所谓“失效”,是用户不必再手动提醒。 ## 模型厂的工作和我们的工作 Naval 2026年2月在播客[A Motorcycle for the Mind](https://nav.al/ai#:~:text=worth%20learning%20tips%20and%20tricks%20of%20how%20to%20work%20with%20these%20AIs)里说得更直白:他不热衷学那些“这样 prompt、那样搭 harness”的技巧,因为他相信技术适应他的速度,比他适应技术更快;在他看来,那些 workflow 和工具的寿命“以周计,顶多以月计,不以年计”。不过,他也留了一个例外:如果你眼下就在做前沿产品、需要每一点竞争优势,那就值得学。到 5月他讲了[写代码的版本](https://nav.al/tokens#:~:text=resisted%20learning%20all%20the%20tricks%20and%20tips):不追 Ralph Wiggum、OpenClaw、plan mode 那些建议,把 Codex、Claude、Gemini 扔到同一个问题上反复跑,“浪费 token,节省时间”。 沿着 Naval 的思路,我愿意把用 AI 时花的功夫分成两类:their job 和 our job。Their job 是模型和工具开发者正在改进的事——让模型更会推理、更可靠地使用工具、更能适应人的说话方式。如果一个技巧只是替模型补短板,它的价值就可能随着模型升级而下降。当然,今天能帮你把活干好,今天学就有意义。Our job 是另一类。Naval 说他不学那些技巧,但紧接着那句是: > [I just can speak English.](https://nav.al/ai#:~:text=I%20just%20can%20speak%20English) And for someone like me who is relatively articulate with English and also has a structured mind, and I know how computer architectures work, and I know how computer programs work, and I know how programmers think, then I can actually very precisely specify what I want just through structured English. 这本身就是最强的提示词技巧:清楚的自然语言、结构化的头脑、知道机器怎么工作、知道程序员怎么想,然后把要什么精确地说出来。Naval 不是没有技巧,而是他的技巧在 AI 出现之前就练好了。他之前的表达、编程和判断的积累,不仅没有贬值,在 AI 时代还变得更有价值了。 ## 真正属于自己的提示词技巧是写作 弥补模型短板的技巧,会随着模型换代而变得不再必要;把任务本身的信息表达清楚的能力,则永远不会过时。 把模型当成中介公司派来的临时工。这人极其聪明,读过很多书,会写很多语言。但他今天早上才到你公司,不知道你们做什么产品、给谁用、组里有哪些不成文的规矩、上次事故是怎么出的。对于他已经熟练的事,你不必从 for 循环教起;要花心思的是把这个项目特有的背景交给他。 提示词不必一开始就写得面面俱到。好的提示词技巧不止要 LLM-friendly,更要 human-friendly。如果每次开工都要先写一份完整规格,任务还没动,人可能就退缩了。评价一种提示词方法,也该把人的启动成本算进去。 [《微习惯》](https://minihabits.com/about-mini-habits/)主张把每天要求自己做的行动缩得很小;[福格行为模型](https://www.behaviormodel.org/ability)也强调,可以通过降低行为的难度,让行动更容易发生。借用这个思路,和 AI 合作的第一步也可以很小:先把想做的事说出来,没想清楚就让它帮着问、帮着试。 有了第一版,再看结果、补要求。写作有改稿,和 AI 合作也一样。我们关心的,应该包括人能不能轻松开始、把事情逐步做完,而不只是第一条提示词能让模型答得多好。 真要学提示词,我会先看模型厂商的[官方指南](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices):说清任务、交代背景、必要时给个例子。这些基本功更值得长期积累。官方的具体建议也会变,用到时再查最新版、看实际效果就好。AI 的通用性还意味着,你可以用 AI 来学习 AI。不知道怎么提问,就让它帮你理清问题;拿不准某件事值不值得投入时间和精力去学,也可以问 AI。你不必先把“如何使用 AI”学完,才开始使用 AI。 Let them do their job, and we do ours. ## 延伸阅读 - Vaswani et al., [*Attention Is All You Need*](https://arxiv.org/abs/1706.03762)(2017)——attention、前馈网络与 Transformer 的计算结构。 - Ouyang et al., [*Training language models to follow instructions with human feedback*](https://arxiv.org/abs/2203.02155)(2022)——指令微调和 RLHF 如何改变模型的默认行为。 - Marks, Lindsey & Olah, [*The Persona Selection Model: Why AI Assistants might Behave like Humans*](https://alignment.anthropic.com/2026/psm/)(2026)——预训练角色与后训练助手之间的解释框架,以及该框架的边界。 - Zheng et al., [*When "A Helpful Assistant" Is Not Really Helpful*](https://arxiv.org/html/2311.10054v3)(Findings of EMNLP 2024,预印本始于 2023年)——系统提示词中人设效果的对照研究,结论有明确的模型和任务范围。 - Anthropic, [*AI prompt engineering: A deep dive*](https://www.youtube.com/watch?v=T9aRN5JkmL8)(2024-09-05,Alex Albert、Amanda Askell、David Hershey、Zack Witten)——提示词实践、角色和推理的圆桌讨论。 - Anthropic, [*Prompting best practices*](https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices)——角色、示例、背景和输出约束的官方建议,随模型更新。 - Kojima et al., [*Large Language Models are Zero-Shot Reasoners*](https://arxiv.org/abs/2205.11916)(NeurIPS 2022)——"Let's think step by step" 的原始论文。 - Naval & Nivi, [*A Motorcycle for the Mind*](https://nav.al/ai)(Naval Podcast, 2026-02)——关于学习 AI 工具的取舍,以及结构化表达和底层知识的价值。 - Naval, Guillermo Rauch, Blake Scholl & Max Hodak, [*Waste Tokens, Save Time*](https://nav.al/tokens)(Naval Podcast, 2026-05)——写代码版:不学 Ralph Wiggum / OpenClaw / plan mode,多模型暴力跑。 - Mihail Eric, [*CS146S: The Modern Software Developer*](https://themodernsoftware.dev)(Stanford, 2025)——本文讨论的课程和提示词课件来源。 - 编程范式的背景知识(Software 1.0 / 2.0 / 3.0)见[自然语言就是新的程序设计语言](https://gardenplace.me/zh/posts/natural-language-is-the-new-programming-language/)。 --- # 自然语言就是新的程序设计语言 - URL: https://gardenplace.me/zh/posts/natural-language-is-the-new-programming-language/ - Published: 2026-09-04 - Stage: 常青 - Series: Live with AI - Tags: AI ## 编程本来就是一种写作 还记得 2022 年秋天,我教一位朋友写 Python。她这个人比较随性,不按 Python 的语法规则来,觉得意思大概其就行。我被她气得够呛,跟她说:编译器看不懂你这些自由表达,它是把代码一层层拆开的,拆到底每一块都得是表达式。人看上去差不多,机器看上去可不是,少个符号整个语法树的结构都变了。 后面的事情大家都知道的,那个冬天 ChatGPT 就出来了……这下机器真的能读懂我们说的话了。 所以说,人不可骄傲自大。你觉得你说的就是板上钉钉的真理,但是真理也会变。我因为知道 Python 解释器背后的原理,觉得用自然语言编程这件事不现实,却忽视了这个需求是真实存在的。就像一开始 ChatGPT 刚 public release 的时候,我朋友圈里最看空的人都是那些做 NLP 的,觉得这个“力大砖飞”、毫无美感。恰恰是那些在此之前就知道 Transformer 架构的人因为懂得太多没有体会到神奇之处。 而今天,不会有人怀疑[自然语言就是新的编程语言](https://x.com/karpathy/status/1617979122625712128)。而早在 SICP 里,就提出了写作和编程的统一性。程序首先是写给人读的,只是顺便让机器执行。Paul Graham 在《黑客与画家》里说得更直接:黑客和画家一样,都是创作者,好代码跟好散文的标准是一回事——清晰、简洁、有节奏。我的大学语文的结课作文也写了这个观点。 ## 编程范式的演进 ![Software 1.0, 2.0, 3.0 的版图](https://gardenplace.me/images/posts/Software-3.0.png) Karpathy 2017 年写了一篇[《Software 2.0》](https://karpathy.medium.com/software-2-0-a64152b37c35),把软件分成两代。2025 年他在 [YC 的演讲](https://www.youtube.com/watch?v=LCEmiRjPEtQ)里补上了第三代。三代的区别不在用什么语言写,在程序是怎么来的。 ### 1.0:人工编写 人先把规则想明白,一行行敲成 if-else。编译器、操作系统、数据库、Excel、TCP/IP,你今天用的大部分软件都是这么来的。出了 bug 能一行行追到写错的地方。 编译器是 1.0 的极致:一段文本必须严丝合缝地拆成语法树,多一个空格都不行。好处是确定性,同样的输入永远同样的输出。代价是只有专业人士能写,而那个年代软件工程师全球都不够用。 我 2022 年秋天对朋友说的那番话,就是 1.0 的世界观:机器只认规则,人得迁就机器。 ### 2.0:机器学习 有些规则人写不出来。猫和狗到底差在哪?垃圾邮件长什么样?写不出规则,那就别写了,换个思路:给一个目标函数、一份数据、一个网络骨架,让梯度下降在权重空间里替你找那个程序。找出来的是一堆浮点数,没人能解释为什么管用。黑箱。 为什么非得是神经网络?因为权重空间得连续可微,梯度才走得动,决策树没这个性质。Karpathy 原文说得很直接:Software 2.0 是用神经网络的权重写成的。人脸识别、语音识别、机器翻译、抖音和 YouTube 的推荐系统、AlphaGo,都是 2.0。Google 搜索的倒排索引是 1.0,2015 年之后排序里塞进去的 RankBrain 是 2.0。 “规则不必由人写”这件事其实更早就赢过一次。吴军在《数学之美》里讲,50 年代起做 NLP 的主流是规则学派,照乔姆斯基的路子让语言学家一条条写语法。70 年代 IBM 的贾里尼克用统计方法做语音识别,错误率直接压下去一大截,留下一句话:“我每开除一个语言学家,识别率就提高一点。”两派吵了十几年,到 90 年代统计学派全面胜出。那已经是一次不靠人写规则的胜利,只是当时搜程序用的还是概率模型,不是神经网络。 2.0 还有个特点:一个模型只干一件事。识别人脸的网络不会下棋,下棋的不会翻译,换个问题就得重新收数据重新训练。这就是 ANI,narrow AI,专用智能。不光要招软件工程师,还得招 MLE,还得有大数据基建。个人想从头训一个模型,已经不太现实。 ### 3.0:自然语言 2.0 搜出来的程序里有一种很特殊:它在整个互联网的文字上训练过,语法、库、Stack Overflow 上所有的争吵都压进了那几万亿个参数里,输入天然就是语言。你不用再训练它,直接跟它说话,你的话进入上下文窗口,它的行为就变了,权重一个都没动。 这是跟 2.0 的根本区别:只训练一次,之后换问题不用重新训练,换一段 prompt 就行。ChatGPT、Claude Code 都是这一代。Google 搜索也在换,AI Overviews 已经摆在了倒排索引上面。同一个模型上一秒写 SQL,下一秒改简历,再下一秒解释量子纠缠。这算不算 AGI 有争议,“一次训练,到处能用”这件事没争议。 只需要有人会写 prompt。而写 prompt 说到底就是把话说清楚。这个人可以是你自己。 为什么偏偏是语言做到了?因为语言天生就能操作世界。咒语、法令、合同,都是说出来就改变现实的东西,奥斯汀 1955 年在哈佛那门课干脆就叫[《如何以言行事》](https://en.wikipedia.org/wiki/How_to_Do_Things_with_Words)。代码只是其中最严格的一种,严格到非得专业人士来念。Naval 说程序员从前像巫师,得背下晦涩的咒文才能施法;AI 等于[给每个人发了一根魔杖](https://nav.al/ai#:~:text=every%20human%2C%20in%20a%20sense%2C%20is%20a%20spellcaster)。所有问题都能用语言描述,所以一个学会了语言的程序就拿到了所有问题的入口。 Karpathy 说 prompt 就是程序。我觉得这不是修辞:一段文本改变一台机器的行为,这就是程序的定义。 开头那张图示意得不太好:软件 2.0 和 3.0 并不是只吃掉之前 1.0 的领土。它们最主要的是带来了更多新的软件,尤其是 3.0,它会创造多得多的新软件。有很多原来在成本上没有办法用软件去满足的需求,现在也可以去满足了。 ![Software 1.0, 2.0, 3.0 的版图在扩大:2.0 和 3.0 主要是新增领土,不是替代 1.0](https://gardenplace.me/images/posts/Software-3.0-new.svg) ### 对照表 | | Software 1.0 | Software 2.0 | Software 3.0 | | --------- | --------------------- | ---------------------- | ---------------------------------------------------------------------------- | | 程序怎么来的 | 人写:想清楚规则,敲成代码 | 训练:从数据里搜出来 | 说话:用自然语言在上下文里指定 | | 程序长什么样 | 源代码,确定、可读、可审计 | 权重矩阵,几十亿浮点数,不可解释 | 自然语言,上下文窗口里的 token,人机都能读 | | 人做什么 | 需求分析 → 算法设计 → 编码 → 测试 | 定损失函数、建数据集、搭网络、调参 | 把意图、约束、示例放进上下文窗口 | | 一个程序解几个问题 | 一个 | 一个(ANI) | 随便换(某种意义上的AGI) | | 代表产品 | 编译器、数据库、倒排索引、Excel | 人脸识别、语音识别、推荐系统、AlphaGo | AI Chatbot、Coding Agent、AI Music Generator、AI Image Generator、 Working Agent | | 需要什么人 | 软件工程师 | 软件工程师+机器学习工程师 | 会把话说清楚的人(产品经理) | | 怎么 debug | 断点、单步、读 stack trace | 查数据分布、调超参、改结构、重训 | 改 prompt:补上下文、给示例、换说法 | | 出错的样子 | bug:可复现,可定位 | 泛化失败、过拟合:玄学炼丹需要经验 | 幻觉、误解意图:一本正经地答错 | 门槛没消失,换了个地方卡你。1.0 卡算法和语法,2.0 卡数据和数学,3.0 卡你能不能把意图说清楚。 那意图和表达怎么练?同样叫“提示词技巧”,哪些会过期,哪些不会?请见[下一篇](https://gardenplace.me/zh/posts/the-prompt-trick-that-never-expires/)。 ## 延伸阅读 - Andrej Karpathy, [*Software 2.0*](https://karpathy.medium.com/software-2-0-a64152b37c35)(Medium, 2017)——1.0 / 2.0 的原始划分。 - Andrej Karpathy, [*Software Is Changing (Again)*](https://www.youtube.com/watch?v=LCEmiRjPEtQ)(YC AI Startup School, 2025)——3.0 的提出;prompt 就是程序。 - Paul Graham,《黑客与画家》(人民邮电出版社,2011;原著 *Hackers & Painters*, 2004)——编程是创作,好代码的标准和好散文一样。 - Naval & Nivi, [*A Motorcycle for the Mind*](https://nav.al/ai)(Naval Podcast, 2026-02)——“人人都是施法者”的出处。 - 吴军,《数学之美》(人民邮电出版社,2012;初稿为 2006 年 Google 黑板报系列)——第 2 章“自然语言处理:从规则到统计”,规则学派 vs 统计学派的十几年之争。 --- # Hello from Garden Place - URL: https://gardenplace.me/zh/posts/hello-from-garden-place/ - Published: 2026-08-22 - Updated: 2026-09-11 - Stage: 常青 - Tags: meta ![finding the questions](https://gardenplace.me/images/posts/finding-the-questions.png) — Sir Arnold, *Yes Minister*, "Party Games" 2014年的夏天,高考结束后回学校领答案的那天上午,我写下了旧博客的第一篇文章:[《在这个夏天我们所要失去的》](https://gardenplace.me/zh/posts/what-we-lose-this-summer/)。文章末尾,十八岁的我许了一个愿:“没有什么远大的志向,只愿十年之后不必成为自己所讨厌的人。” 十二年过去了,回头来看这个愿望算是实现了。重新读起那时写下的文字,甚至并没有什么距离感,依稀如昨日。看来我的内核并没有改变:虽然没有成为百分之百理想中的自己,但至少没有变得愤世嫉俗或世故圆滑;相反,我比从前更有精力和活力,也更期待未来。很多人在这个年纪已经定型了,我却觉得自己依然在成长,甚至觉得人生才刚刚开始——AI 的出现解决了我所有的内耗,甚至让我觉得,没有 AI 的人生不值得一活。 在这期间我搬了好几次家,这次连高中就开始的博客也一并搬了。而此刻写下这篇,是因为我的境遇又和十二年前重合了:gap 和高考之后一模一样——再没有什么借口,不去立刻做自己想做的事。 我发现,一个人一生中真正需要解决的问题,其实就那么几个。然而大多数人,在绝大多数时间里,并不会关注这些问题。买椟还珠并非只是寓言故事,舍本逐末才是世间常态。 你可能会发现,这里很多内容都与 AI 相关。并非是因为我在从 AI 能解决什么问题开始思考,而是因为我从以人为本的角度出发去思考那些真正的问题时 AI 总是提供了新的思路,乃至重大进展。 在我出生的国家盛行绩优主义。人们被鼓励给出更正确的答案,却不被允许提出问题;评判一个人,也往往只看他解决问题的能力。而在我心里,衡量一个人的,不该是他有多擅长解决问题,而应该是他选择去解决什么问题。一个人若走在正确的道路上,聪明与否并不重要——那只决定他早一点还是晚一点找到答案。一个人若是已聚焦到正确的问题,他实际上就已经处于幸福之中了,而不只是走在通往幸福的路上。 所以这个花园里收藏的不是结论而是问题。结论很快就会 outdated,好问题却能长存。我会长期维护很多个"living questions":为什么这个问题重要,有哪些数字值得持续观察,各方目前分别站在哪里,以及(注明日期的)我自己当下的看法。我不认为自己就一定有什么真知灼见——有些问题很深或是很新,以至于至今还没有任何人找到可靠的解法;有些则是人生的永恒课题。但是,提出正确的问题就足以为读者贡献值得其注意力的价值。 而我之所以想写这个博客最主要的原因是想让自己的声音被听到,因为我相信我自己的声音可以让这个世界变得更好。我看到现在太多人出于焦虑想要学习或使用 AI——比如那句流行的话,“替代你的不是 AI,而是会用 AI 的人”。在我听来,这就像在说:替代马的不是汽车,而是会开汽车的马。而我的真实体会恰恰相反:我们应该出于对幸福的渴望而使用 AI,而 AI 确实也可以让我们更幸福。汽车出现之后,马不必再战死沙场,也不必再承受劳作——汽车把马从劳役中解放了出来,而不是让马干更多的活,更不是逼着马去和汽车赛跑。 博客名字里的 Garden Place,是[惠比寿花园广场](https://gardenplace.jp/)——大学毕业后来日本工作时,我最初生活的地方,也是我觉得自己的人生真正开始的地方。博客取名 Message from Garden Place,我希望这里也能成为您的思想后花园。 事实上,最初构思这个博客的时候,我并不知道互联网上已经有一个叫做"[数字花园](https://maggieappleton.com/garden-history)"的运动。后来在为网站寻找设计灵感时,我偶然读到了 Maggie Appleton 梳理的数字花园简史,惊觉她的哲学与我不谋而合:文章不是写完即弃的消耗品,而是需要持续浇灌的植物——有的是刚刚萌发的想法(萌芽),有的已成形,仍在继续写(抽枝),有的已经完成,但仍会维护以符合最新事实(常青)。我的博客名里也有"花园"二字,借用这套术语来标注每篇文章的成熟度再自然不过。你会在页面上看到它目前处于哪个生长阶段。 欢迎常回来看看——即使是同一篇文章,并非是因为温故而知新,而是这些文章真的会不断更新。传统的媒体是一条流水线,文章发表后便是非不问。那是印刷术时代的媒体,信息时代的媒体不应如此。这里将会是一个公开的知识库:每篇文章都是一个活的条目,观点会变,解决方案会变,甚至事实也会变,请留意页面上“最后更新”的时间。某天你重读一篇旧文,它可能与你印象之中有所不同,这并非是你的记忆出了差错,而是因为有了新的 update。我会用 git 来管理这些文章的版本变化,因为把已经生锈的结论钉在网上不管是一种不负责任的行为。 --- # 说再见的时候总是伤感 - URL: https://gardenplace.me/zh/posts/saying-goodbye-is-always-bitter/ - Published: 2018-06-27 - Stage: 常青 - Tags: 生活, 随笔 似乎终于意识到再也回不到南开了。说再见的时候总是伤感(さよならは 苦くて)。可能是离别意味着失去,总是不可避免的包含着感伤。 回想四年来,南开并非事事对得起我,很多地方真的让人无力吐槽。但也让我认识了许多认真负责的好老师,和许多很厉害很有趣的人,以及一个被人不太歧视的文凭。我不可能不对此心怀感激。也不能说我事事都对得起南开,但我想也算是为校争光过吧。 收到了入校时写给四年后自己的信。信上写着希望如今的自己能得一技以傍身。我想这一点我是毫无疑问地做到了。我还在学生会纳新时(很中二地)说过,希望能为这所学校带来一点点的改变。做到南开人未曾做到之事,大概算是带来一点改变吧。 四年的大学生活,让我是一个什么样的人和我想成为一个什么样的人之间的距离变得更近了。如果有人说这四年对大学毫无眷恋之情,我的第一反应不是他所在的这所学校有多烂,而是这四年来他是否对得起他自己。否则,怎么会对于自己如此之长的一段光阴没有一点眷恋之情呢? 这四年谈不上圆满,我本可以做一些事的。可时至今日,我不再可能知道那些我认为本可以的事情到底是否是真的可以了。但我也不愿再做得更好了。我承认我有遗憾,我接受这些遗憾。 谢谢这四年来给我过支持、帮助和陪伴的所有人。在此我就不点名表扬了,毕业论文的致谢里都有你们:)前程似锦未必是人人所愿,我就祝大家以后幸福快乐,不违本心吧! --- # 2018 新年致辞 - URL: https://gardenplace.me/zh/posts/new-year-address-2018/ - Published: 2018-01-01 - Stage: 常青 - Tags: 生活, 随笔 最终还是决定在新的一年开始之后,再把这篇文章发布出来,也因此我的博客的开张时间推迟到2018的第一分钟。果然,与辞旧相比,还是迎新更重要吧。 2017年真的经历了很多,说是我的奇迹年也毫不过分。如果把大学四年对应春夏秋冬四季的话,那么大三正好对应秋天——收获的季节。但我更喜欢把学会之时看作收获之时。把努力的事情交给努力,运气的事情交给运气,正所谓尽人事以听天命。我早就把麦穗收割,只是现在得到了证明。 很多困难的事情,着手去做时才会发觉并非不可能,这期间可能包括着自身信心的起起伏伏,但当最终解决问题的时候,终究会把困难转化为自信心的基石。更好的状态则是心流,那时候,没有余力关心自己的感受,全身心地投入到问题当中。印象里,很多超常发挥都伴随着心流。复习周时在宿舍实行“军事作息”,吃饭时在食堂故意磨蹭会,便算作是休息了。一道题苦思冥想想不出来,半夜做梦突然会做,于是起身下床 AC……当时只想着坚持一天,在坚持一天,现在却很怀念那些充实的时光,反倒是对闲下来的时光印象不深了。当然,遗憾总是存在的。想说出的话没有敢说出口,应做的决断没有下定决心。譬如恋爱,只有走进一段亲密关系,才会发现自己其实是没有自己想象中的那么好的。有些选择,我说不清是出于倔强还是自卑。希望自己在新的一年里还是现在这个喜欢挑战的状态吧。挑战往往既是自己变得更好的机会,同时也是一个认识自己的过程。 拿到了国奖,收获了 ACM Regional 金,签下了 dream offer,作为 CS 弱校的本科的我真的是很知足了。更大的收获是过去的一年里认识了更多优秀的人,与此同时他们也映出了自己的不足。见贤思齐对我来讲,可能得是一门一生的功课。毕竟,我总是还想变得更酷一点。至于秋招和实习,我真的是倍感幸运。感谢当初任性选专业的自己。在微软实习期间,大家都很照顾我。没有被呼来唤去,端茶倒水,也没有被当作廉价劳动力,更多的反而是公司教我成长。人往上走,就能避免很多坑爹事。走出校园,我见到的是一个有德者有能者居之的世界,而不是一个需要托关系找后门的世界。我们从高中考入大学,看不出有什么差别,但走出大学时,看到的却是不同的世界。 还好生在了信息时代,晴耕雨读说起来浪漫,但生活条件想必没有今天那么幸福。对我来说,这就是最好的时代。这个时代物质丰富、艺术繁荣。我很有幸活在今天,并愿意竭尽所能地为后代创造一个更美好的明天。今天的意气风发不止是个人的努力,也还有历史的进程,我愿意尽我所能把历史的进程再想前推一点点。让未来的像我一样的人也能发出类似的感慨。 和现在的所得相比,过往的挫折委实算不了什么。我也的确受过委屈,但那也是今天的我的一部分。有时候就是这样,当结果很好的时候,其中过程里并不美好的地方也会变得很可爱。这一年纵有遗憾,但我不后悔。仍记得我之前的迷茫和失措,直到现在我现在依然迷茫。我并没有能让自己的迷茫消失,但我现在学会了如何与之相处。带着我的期待和些许紧张,新的一年还是来了。我将在新的一年里毕业并走向社会,我将在新的一年里离开并远走他乡。唯一能够确定的就是我还会遇到新的人生的十字路口,希望到时我还是能选择困难的那条路,困难但正确的那条路。 好啦,最后祝大家新年愉快,万事如意! 2018年1月1日\ 于学校宿舍 --- # indeed Tokyo 面试 - URL: https://gardenplace.me/zh/posts/indeed-tokyo-interview/ - Published: 2017-12-03 - Stage: 常青 - Tags: 求职, 生活, 随笔 一哥们问我最后去哪了,我说东京 I 社,他这瞬间两眼发亮,作势这就要跪,边跪还边说:活菩萨,受我一拜。我一看,赶紧把他拉起来,连连摆手,不是那个 I 社啊。我们是做求职搜索引擎的那个,不做游戏,你这拜错人了。哥们很遗憾:你这 CS 科班四年学完了,不能为人民服务。我也只能摊摊手,图形学我可根本就没就敢选啊。 不过话说回来,我感觉大家对于我们 I 社的了解还是比较少的,毕竟 office 在国外。但其实 Tokyo office 是有专门对中国大陆的校招企划的。今年秋招我还投了 Google, hulu,以及我软的实习转正。但这三家的中文面经早就漫天飞了,感觉大家应该对他们的招聘流程已经很熟悉了。所以我主要分享一下我在 I 社的面试经历,附带详细介绍一下招聘流程。我 I 社最大的特点就是提供免费的东京三日游,包机票酒店签证。还有一个特别有意思的点就是,hulu 在中国有 office 而无业务,I 社则反之,在中国有业务却没有 office。 要说我也在机缘巧合之下才知道有这么回事的。我当时刚刚收到 Google 实习 hc 挂掉的消息,处在这个夏天只能无所事事的游荡的边缘。当时手里只剩下两个机会,今日头条和微软。恰好微软把我的面试安排在了头条的后天,所以面完头条后我决定去保研到中科院的学长那借宿一晚。赶巧在 I 社刚在中科院做完宣讲会,学长就去劝我投了一发,争取混个免费东京游。我当时处在今年的自信最低点,并没有报什么希望。现在回想起来那段时光还挺感概的,不过就不占这篇文章的篇幅了,咱们言归正传。 ## 笔试 一开始是三轮的 online 笔试,在[AtCoder](https://atcoder.jp/)上,不过处于保密的原因,题目并不在往期比赛里,是单独另开的私密比赛,不需要提前注册 atcoder 帐号,邮件会发。这时候还不需要投递简历,只需要简单报名即可,也就是说其实并没有背景审查,任何人都可以做这三场笔试。 三轮通过一轮就可以收到 move forward 的邮件了。题目比较水,基本是手速题。一道题没有通过也可以获得部分数据的分数,不知道错误提交有没有罚时,因为笔试过程中是看不见自己的 rank 的,只要最终能 AK 的话应该还是能比较稳的拿到面试机会。我错过了第一轮,第二轮用 python,一个小时多一点就 AK 了,不得不说,atcoder 的一个优点就是语言全,python 切题的手速优势还是很大的,不过性能劣势更大。我虽然第二轮就通过了,但还是做了第三轮,最后一题赛后和人对了是正解(反正他 C++ A 了),但我 python 有的数据就会 TLE,也有可能我哪写崩了或者其实 C++ 是卡过去的。 ## Case Interview 通过了笔试会被要求提交简历,需要按照他们要求的格式重新写一份,不能提交自己准备好的 pdf,这点有点略坑。然后会有一轮 hr 面,不刷人,其实也主要就是聊聊意向,毕竟需要毕业就去东京入职,WAP 还能在上海待两年。我对东京工作当然没意见啊,还方便圣地巡礼(雾,在第一次去东京之后,就暗暗发誓此生一定要有段时光在东京生活。之后 hr 姐姐会测试一下英语,由于这个是个突击电话,不提前约,因为本身也不用准备,结果我当时突然 Syntactical Semantics 这两单词就不知道怎么说了,也就会念个 lexical 了,这怎么用英语描述自己做过的编译器比写一个还难呢……hr 姐姐还很贴心的叮嘱了一下后面的技术都是英文面,准备一下。我心想没事,case 面就得刷下来,我应该是见不着技术面了。 接下来是一轮程序员非常少见的 Case interview,这轮就开始刷人了,感觉比较像管理、咨询行业的 Technical Interview,我们程序员更多的是在白板上写代码。邮件里会告诉你下一面是 Case interview,我知道以后赶紧就咨询了一下我商学院的同学,她给我讲完概念以后,扔给我一本[《Case in Point》](https://www.amazon.com/Case-Point-Complete-Interview-Preparation/dp/0971015880),书名不重要,这就是咨询行业的[《CC189》](http://www.crackingthecodinginterview.com/)。当时时间已经来不及系统培训了,而且我们是专业写代码的,又不是专业做咨询。再者说,我要是有能让人听我话的本事,何必退而求其次探索让机器听我话的学问。我猜测这轮面试应该也不会对我们要求太高,于是就把里面的所有 case 当 story 读了一遍,发现这玩意跟 leetcode 上的算法题一样,也是有套路的,基本还是澄清问题->归纳问题->提出解决方案->说明思路这一套。 这面是中文讨论思路,然后英文总结讨论,如果时间还有富裕,可能会被要求用英语讲一些算法,也有可能是我英语太菜了,面试官再给一次机会……不过这是最后一次对面是中国人的面试了。后来面完 onsite,和 hr 讨论过这轮面试,我说这个对于软件工程师还挺新颖的,hr 表示这轮面试除了考察英语,主要是看一下应聘者的思维方式和性格,比如看看你在压力下能否保持冷静,逻辑思维是否严密,言辞有条理、有依据否。 ## Skype Technical Interview 通过 Case interview 后,横亘在我和东京免费三日游之间就只有一轮 Skype 上的远程技术面了。我还特意问了一下是否需要日本 vpn,回复是不需要,但是实践证明是需要的……面试过程中我其实不太能听清对面的日本小哥再说什么,并不是口音的问题,他英语说的很好,一点都不像是日本人。运气比较好,赶上了一道挺简单的题目,python 几行秒之。尴尬的是这时候 skype 断了。小哥直接打字说咱就在#号后面聊吧,我心想这可救了我,一下子就不紧张了。follow up 我直接上了 re,于是后面的 follow up 就都没有了……后面再聊了一下 re 的原理和时间复杂度,python 里的 re 引擎肯定是有回溯的,最坏情况是指数的,这是为了支持一些扩展的 re 语法,实际上在 type-3 文法能力之外的,因此不能转化为狭义的 dfa。 我和学长正好是同时面,结束后和学长交流,学长一直纠结于面试官的 expected solution 最坏情况下渐进复杂度不是最优的,一开始一直在讨论另一种解法。因此觉得自己挂定了。我因为中间断线了,感觉也是已经凉了。学长还安慰我说,这轮面试基本上4进1,我这送你一个,再找两你就进了。我说咱也别谁保谁了,这情况看起来是咱两一起抬了一哥们去东京。 ## Onsite Technical Interview 等收到邮件我俩愣了,双双进入 onsite,不知道是建立在哪六位壮士的牺牲之上。能公费旅游当然开心了。 onsite 是在东京,I 社会为面试者订好机票酒店,然后报销办理签证的费用。至于东京内的交通和吃饭是不给报销的,只有面试当天会管一顿午饭。中间 hr 问我愿不愿意换到某天,由于那天在周中,我当时在微软实习,需要翘三天班,而本来的安排在周五,只需要翘两天班,所以就回绝了,后来才知道学长被安排那天,所以说好人是有好报的,然而这次我没有选择做一个好人。 结果很快就要偿还 rp 了,从北京走的那天起的太早可能着凉了,在飞机上睡着之后再醒来感觉嗓子起来了。到宾馆之后直奔超市买了两大盒果汁压嗓子。我面试的那天没有上机题,因此对于上机的过程不太了解,唯一知道的就是不上机也有可能拿到很好的 offer 的。和我一组的还有一个中科院的汉子和一个清华的妹子,I 订的酒店虽然很好不过可惜是双人间,当然妹子自然是单人间了。由于就我一个本科生,年龄比较小,大家一路还是蛮照顾我的。最关键的是,清华妹子居然会!日!语!我之前虽然来过日本但并不会日语,于是她荣升带路小姐姐,觅食之路一下简单很多。 第二天 hr 姐姐回来宾馆接我们,到了公司,我被分到了一间叫皮卡丘的会议室里……面试是三轮 back to back,强度还是比较大的,indeed 的题目也很有意思,都有一个工程背景,最终题目是一个将现实问题抽象化的算法问题。难度还是比较简单的,在理解题目之后很快就可以用 python 写出来。不过他们的 follow up 准备的非常充足,应该是无穷无尽的,因为第一面面试官在我做完两三个 follow up 之后已经表示我的表现非常好了,很少有人会做到这,但他手里依然还有很多 follow up。我一开始聊项目的时候还比较紧张,经常卡壳,后来聊上算法之后就忘了自己在说英语了。第二面有一个 follow up 是 MIT 的 introduction to algorithms 的原题,我当时脑海里就浮现出 Charles 睿智的脑门,还有他的招牌微笑。没想到虽然是大一学的,但还记得一些操作的英文的表达,因此道题我讲的格外流畅。第三面是 leetcode 原题,由于前面两题讨论的很充分,再加上要感冒,我当时已经感觉非常累了,索性直接就给出了最优解。一个小插曲就是在白板上 python 的缩进写的不太明显,面试官因此一开始以为我写错了,好在很快就解释清楚了,不过这也让我发现了 python 白板编程的一个劣势。 面试结束班长带我们参观东京 office。是像 facebook 那样开放式的,每个人都有升降桌,很酷,缺点嘛,也有,就是不方便我摸鱼划水 T^T。公司在惠比寿花园广场,从上面眺望时整个东京都一览无余,天气好时甚至能看到富士山。 ## 花火大会 面试的时间刚好赶上了江户川花火大会,江户川是东京第二大的花火大会,仅仅比最著名的隅田川规模要小。然而这时候我已经很疲惫了,感觉衣服里面发冷,但最终还是觉得托着疲惫的身躯赶往篠崎站,好在面试的小伙伴愿意同行。出站后就看着不少穿着和服的妹子,不少还说着中文。到的时候已经开始了,在去的路上就能抬头看见花火,有一瞬间真的感觉自己走进了某部动漫里,不过错过了江户川的经典开场还是有些残念的。 接下来边抬头看烟花边向前挤,伴着花火爆裂的声音咳嗽不停,看着挥舞着荧光棒的人群,真希望自己也像他们一样精力充沛。看着空中爆炸的烟花和浓烟,很多事情并不存在完美之说,正如不存在不会产生烟雾的花火。但不完美并不代表一定就有遗憾,至少我很享受那三个小时的解题过程,无论结果如何我都可以说是无悔矣。 回去赶往胶囊酒店,当晚一直处在半梦半醒之中,浑身发冷缩成一团,回到北京后就大病一场。现在回想起来感觉真的很奇妙,不知道多少机缘巧合我才走到这里。兴亡谁人定,胜败岂无凭?如果我发烧早一天,那我怎么可能在面试官抛出问题时就给出思路,同时又注意到每句话里藏着的 corner case 呢?结果面试时只是嗓子起来了,面试官们也很谅解,甚至现在感觉那种要发烧的时候反应还更快一点。 离开时日本时手里还有不少日元,本想都在机场免税店花掉。但我就是莫名觉得,以后还会回来的,于是干脆带着口袋里的日元回了国。公司效率非常高,在他们刚刚结束休假(日本的孟兰盆节,其实就是我们的七月十五,鬼节)之后,我就得知了将会收到 offer 的消息。此时实习刚开始不久,各家的提前批基本上刚启动面试,于是我的秋招还没开始就已经结束,剩下的旅程就仿佛是一场先拿到通关宝物再开打的游戏了。在面 indeed 之前,那时的我前程是多么的灰暗啊,今天的自己却无法感同身受了,所以说,一个人的命运啊…… --- # 突然,响起一阵敲门声 - URL: https://gardenplace.me/zh/posts/suddenly-a-knock-on-the-door/ - Published: 2014-07-26 - Stage: 常青 - Tags: 小说, 读书, 随笔 ## 零 今天女友来我家做客。在我走出房间去给她准备饮料的时候,她顽皮地坐在我的转椅上,转过头从书柜上拿了一本书,是埃特加·凯雷特的[《突然,响起一阵敲门声》](https://book.douban.com/subject/25724491/)。\ “那本书不太适合你。”我端着饮料走回来,“男性色彩太重了,你不太能读懂里面的梗。”\ “比方说?”\ “比方说提到了晨勃,你肯定没有经历过。”\ “那你一定是经历过了,”她调皮地眨了下眼,“是因为梦到我吗?”\ “有时是。”\ “也就是说,有时不是?” \ “有时我根本记不住好吧!”\ “饶你一次。”她随后拿起那本书,指着封面上一字一字地念出来:“突然,响起一阵敲门声。”\ 这时门上很配合地传来了一阵敲门声。\ “别伴奏。”\ 我用无辜的眼神看着她。\ “快递!”\ 正当我要出去开门的时候,女友突然拉住我:“你确定你真的订了快递,不是前两天又胡说八道了?”\ 不愧是我家妹子,就是机智。在这个国家听到快递上门确实得多走一遍这个脑子——如果还来得及的话。“睡奶茶妹妹那小子,把我买的书拆成了两个包裹,所以我确实还有快递要收。”\ “你好,您的包裹。” \ “需要签字吗?”看他递过包裹还没有要走的样子,我问道。\ 突然,他掏出手枪,指着我的脑袋。\ 我操,我要不是刚看过那个犹太佬的作品,非得吓晕过去不可。\ “告诉我你对那本书的读后感,马上。” 他眼睛瞟向我女友手中的[《突然,响起一阵敲门声》](https://book.douban.com/subject/25724491/)。 ## 一 第一篇小说?那篇小说太拙劣了,不值得去模仿里面的人物。好吧,好吧,谈下一篇,《谎言之境》。这篇小说很有意思,它假设在另一个平行世界里,存在着人们因说谎而塑造的人物。于是人们因为想要脱身而肆意编造的灾难,都在这里恶毒地发生了。作者并不想教育人什么,仅仅是用戏谑的口吻讲述一个故事。这是个巧妙的构思。最开始,我以为罗比会自食其果,但没有。我以后说谎的时候一定给其中的人物留条活路,以免有人因为我的信口开河而遭受无妄之灾。但是,那个别人家的孩子过得未免太幸福了吧? ## 二 《干酪基督》?我觉得作者最想说的其实是第一段话。作为一个短篇小说家,他只是为了不让那段话太突兀,才不得不编个故事。如果要是我的话,我会把这篇起名为“蝴蝶效应”。\ “那样就剧透了啊。”出了这档子事,女友竟然也会跟我一样淡定。\ “其实都一样。” ## 三 《西米恩》“要是你跟我说,因为跟你去假结婚难保不会弄假成真而拒绝和我去登记,你当时就不再是我蓝盆友了。”\ “咱两这个年纪去民政局你就不怕被人打死吗?”\ 《白日做梦》“写小说也是宣泄欲望的途径之一,埃特加就没少写偷情男人。”\ “照你这么说,那不少主妇都盼望着他们的丈夫立刻变为小说家。”\ “其实我想说的是,要是现实没那么糟糕的话,谁会成天白日做梦啊?我高三那会,状态跟哈该差不多。” ## 四 《健康早餐》埃特加·凯雷特平时虽然戏谑,却对自己笔下的人物十分厚道。要是别的小说家,米龙一定会死在麻子手下。但埃特加不仅没让他死,反倒令他得到了某种意义上的救赎。\ 《团队合作》拥有理智的男人在表达他们的爱意时总是谨小慎微,他们不会热烈地表达有多么爱你,但总是会想方设法地去解决问题。主人公肯定是位有着独特幽默感的好父亲,不过就他挖苦自己前妻的机灵劲来说,大概在前妻眼中并没有那么可爱。\ “男主说的倒也不一定错,有的女人确实很会推卸责任啊。”\ “嗯。不过推卸责任并非女人的专利,不敢承担责任的男人还少吗?”\ 《布丁》我也想来两个人给我塞到面包车后面,然后让我背上书包回家,回到那个我还年幼、父母还年轻力壮的时代。 ## 五 《其实,我最近勃起过两次,硬得就像根金刚棒》\ “这就是提到晨勃的那篇。当男人不再爱他们的妻子的时候,日子过得就未免有些悲惨了。比他们结婚之前还要悲惨,至少那时他们还有盼头。这时候,他们会发现偷情、酗酒其实都是于事无补的。我绝不会让自己日后过上这种生活。”\ “Let’s try?”\ “喂,我不是看你两秀恩爱来的。”快递员大概是忍无可忍,终于又说了一句。\ 《拉开拉链》我们想成为的人、我们最终变为什么样的人和真正的我们总是有区别的。而“留着山羊胡子,鬓角修得很整齐,也没有受过割礼”似乎另有所指。\ 《礼貌的小男孩》这是第二次提到航模了吧。许多人都说小说家们太过狡诈,从不诚实,笔下写的故事都是虚构出来的。但事实上,小说家们哪里会写别人,他们写的从来都是只是自己而已。当你了解一个小说家的生平之后,他的小说就成了一面镜子,里面映着他自己。我不想知道埃特加·凯雷特是何许人也,我只想从这面镜子中读懂年轻的自己。 ## 六 《“神秘”香水》评论只会有失它的简洁和俏皮。\ 《创意写作》充满了隐喻的故事。等我上些年纪再来解读也不迟。\ 《鼻涕》没有什么比中国人说希伯来语更奇怪的了。但是这个原因和日本人说英语很奇怪的原因不太一样。 ## 七 《抓住“布谷鸟”的尾巴》要是国内作家写的话,大概股票会大跌吧,中国人总是不相信股票,也不喜欢投机者。当然,还有离了婚无所事事的男子。\ 《选择一种肤色》道理总是可以用更巧妙地方式讲述出来。\ 《黑紫色》不管怎么说,和一个年轻姑娘去酒店,却只在床上呼呼大睡是总归不太礼貌的行为。\ 《我们口袋里都装着些什么东西?》随时对一些事情做好准备。这不是机会主义,而是浪漫主义。 ## 八 《罪孽》我只想善意地提醒一下,不要为了去追求奥什里那个昏迷的天堂而做危险的事。非要做的话最好先买上保险,受益人写我的名字就好。\ 《阿里》“有时候我们挑选爱人的标准就是那么荒诞可笑。比方说,歌德因为绿蒂胸前粉红色的蝴蝶结而对她陷入迷恋;我一哥们跟我说,他最开始喜欢那女孩只是因为她的刘海。饰品可以摘下,发式可以改变,但这之后,这种迷恋还会继续吗?”\ “你是知道答案的。唉,你喜欢我哪里啊?”\ “你的说话方式。”我答道。 ## 九 《泼妇》我们对于自己的情感实际上知之甚少。\ 《一顿好打》凯雷特十分擅长渲染个人无助、孤独的感觉。荒诞的故事却在反映真实世界给人的感受。\ 《你想让金鱼帮你实现什么愿望?》最后提到的那个俄国人,为我们讲解了会说话的金鱼的正确使用方式。在这个世上,摆脱孤独是如此的艰难。\ 《并不完全孤独》看到开头我就猜到了结尾,重章叠句一样可以再短篇小说中得到应用。 ## 十 《一步之遥》作恶多端的暴徒最后变成了小熊维尼,这真是讽刺啊。另外,在中文版中原文“反正我自己的脑袋立刻就裂了”应该是“神父脑袋立刻就裂了”吧。\ 《痔疮》作家大多不喜欢商界的成功人士。\ 《一年到头,天天都是九月》《约瑟夫》《石榴》凯雷特也会写一些以色列人司空见惯的话题,比如经济危机啦,恐怖袭击啦,世界和平啦,但他的切入角度却十分刁钻。他总是喜欢从个人的角度,用调侃的语气来回答这些命题。他更关心出于这些境况下的人,而非政客们口中说的话。 ## 十一 《 “丧宴” 》脆弱的时候总是需要慰藉。\ 《额外的生活》“作者希望借孪生兄弟/姐妹来阐述有关个人身份的哲学命题。”\ “而且他认为出轨的本质就是为了‘额外的生活’。”\ “不只是出轨吧。我们去旅行,看电影,打游戏,其实也是希望获得一段‘额外的生活’。” ## 十二 《“升级”》作家都是话唠,不然为什么他们要写作呢?\ 《惊喜聚会》传统的小说家喜欢写那些激动人心的故事,借此冲淡一下我们生活的无趣。凯特雷则直接写我们无趣的生活。 ## 后记 用小说的体裁去写一篇小说集的读后感,不过是现学现卖,抖小机灵的做法。这篇集子的作品大多短小精悍,耐(cao)人(dian)寻(man)味(man),当你看完一篇小说时,恨不得去下拉到它的评论区。遗憾的是,这本集子在中国还算小众,很少能见到它的评论,希望这篇文章能够弥补这个遗憾。总的来说,由于小说家们越来越现实的缘故,尽管他们的语言越来越俏皮,但我们读来却越发的不轻松。我们不能指着从小说中找到什么解决方案,但因此而了解到有人经历过我们所经历的,也是一种莫大的安慰吧。\ 什么?你问我那个该死的快递员哪去了?凯雷特也没说第一篇小说中的那哥仨去哪了啊。 --- # 在这个夏天我们所要失去的 - URL: https://gardenplace.me/zh/posts/what-we-lose-this-summer/ - Published: 2014-06-09 - Stage: 常青 - Tags: 散文, 生活, 随笔 坦率地讲,我现在心里十分紧张。倒不是因为下午要去领答案的缘故,考成嘛样我心里早就有个底了,也就作文剑走偏锋还能令我勉强多一分不切实际的期待。令我真正紧张的是,从此之后,我就要认真面对自己的人生了,再没有什么借口不去立刻做自己想做的事,再也不能随心所欲地把事情拖到“高考后”才着手去做。 那些可以肆意挥霍掉的时光,就此一去不复返了。我怕是不能再像从前那样,心安理得地放浪形骸,顾左右而言 dota。我在今天所不能做到的事,也不要在明天有所希冀。事实上,此前我觉得有困难的事情,现在依旧困难重重。翻阅著作却只看前言和目录,领悟理论只流于表面,掌握技艺只点到为止。或许曾经的我还有高考作为挡箭牌,但现在我若还像从前那样,只怕此生要与肤浅为伴,再无幸运去领悟埋藏于深邃的美丽。回首三年,我做过恨不得让我抽自己的蠢事,也做过令现在的我庆幸的事。对于逝去的光阴,谈不上正确和失误,无所谓遗憾与骄傲。我只求以此为戒,坦率地面对生活,不逃避,足矣。 自然,在失去挡箭牌的同时,我也挣脱了枷锁。学生时代统一的标准对于某些人来说是幸运,对我来说则是不幸。就在大家想着那个标准努力的同时,我在怀疑标准背后的意义。也许这是弱者所为吧,但谁又会真的在乎。从今天起,我不必在意教科书上是怎么写的,只需记住自认最接近真理的那个描述版本即可。我不再满足于记住真理的简化版本,而是去试图发现他的推导、意义和背后的故事。这既是自由,也是挑战。是非对错,真理谬误,要靠自己去分辨,除了完美无缺的证明,什么也不能使我信服。即使在那侃侃而谈的是与亚里士多德、牛顿齐名的人物,与斯宾诺莎、罗素并肩的大师。 唉!我和我的同学们,就要就此分别了。与我们一同分别的,是曾经青涩的我们。我以后再踏入这校园的机会,不多了。记得我曾跟一名语文老师说,我马上就要离开校园了,花坛里种的这些花我都还认不全呢。这名男老师笑着回答:“没事,咱学校的生物老师也认不全。”我时常在想,十年以后,我和这些同学各自会变成什么样的人。这实在很难说,学生时代对于一个人来说可能是他人生的巅峰,也可能是他人生的低谷。有人可能从此与最美好的自己作别,有人却可能从此才迎来幸福的时光。其实,年轻人总不会太差劲,倒是长大之后,会给自己戴上一副副面目可憎的脸谱。我没有什么远大的志向,只愿十年之后不必成为自己所讨厌的人。 有失必有得,通过这次高考我倒是确认了这个事实:我这人在关键时刻虽然不一定会超常发挥,但还是能把应有的水平发挥出来的。诚然,这不是我平时吊儿郎当的理由,但我对自己关键时刻的心态有信心,能够受益恐怕不只是考试吧? 2014年6月9日 于家中 --- # Colophon - URL: https://gardenplace.me/zh/colophon/ ## 图标 {{< colophon-images >}} 本站图标的设计灵感来自惠比寿花园广场(Ebisu Garden Place)的穹顶,同时也是 Message 的首字母 M。 ## 名字 Message from Garden Place 里的 Garden Place,是惠比寿花园广场——大学毕业后来日本工作时,我最初生活的地方,也是我觉得自己的人生真正开始的地方。取这个名字,是希望这里也能成为您的思想后花园。更多缘起写在 [Hello from Garden Place](https://gardenplace.me/zh/posts/hello-from-garden-place/) 里。 ## 工具 本博客由 [Hugo](https://gohugo.io/) 生成,主题是 [PaperMod](https://github.com/adityatelange/hugo-PaperMod/),但是样式高度定制化。本博客是一个静态网站,没有评论功能;站内搜索在你的浏览器里完成,不经过服务器。 ## 字体 站名和标题用 [Rajdhani](https://fonts.google.com/specimen/Rajdhani),按开源字体许可(OFL)自托管。正文和代码同样用系统字体。页面不加载任何第三方域名的资源。 ## 托管 托管在 [Vercel](https://vercel.com/)。 ## 发信 邮件订阅由 [Resend](https://resend.com/) 负责。 ## 生长阶段 {#growth-stages} 这里的每篇文章都标着一个生长阶段,写法借自 [digital garden](https://maggieappleton.com/garden-history) 的惯例。萌芽是刚种下的笔记:粗糙、不完整,但先发出来,让它在明处生长。抽枝中的文章已经成形,还在继续写。常青的文章已经写完,并长期维护;旁边的「更新于」日期告诉你它上一次改动是什么时候。正如我在 [Hello from Garden Place](https://gardenplace.me/zh/posts/hello-from-garden-place/) 里所说的,重要的并非结论而是问题。 ## 分享链接 每篇文章的章节标题都有锚点。把鼠标悬停在标题上,左边会出现一个 `#`——点击它就可以生成指向该章节的链接。 段落也有锚点。鼠标悬停在正文段落上,左边会出现 `¶`。点击后地址栏变成 `#p-xxxx` 的形式:这串编号是该段前 120 个字的哈希值,只跟文字本身有关,跟它在文章里是第几段无关。 ## AI 友好设计 欢迎使用 AI 工具来总结或分析这里的文章,本站也为这位特别的伴读留好了入口。[llms.txt](https://gardenplace.me/zh/llms.txt) 是全站的目录,为每篇文章附上一句简短介绍;[llms-full.txt](https://gardenplace.me/zh/llms-full.txt) 则将所有文章的正文汇成一卷,方便 AI 完整阅读。 每篇文章另备有一份 Markdown 版。将地址末尾的 `/` 换成 `.md` 即可访问,例如 [Hello from Garden Place](https://gardenplace.me/zh/posts/hello-from-garden-place.md)。请求文章页时带上 `Accept: text/markdown` 请求头,也会直接转到对应的 Markdown 版本。 ## 语言 中文是原文,英文和日文由中文译出。 --- # Guoliang Chen - URL: https://gardenplace.me/zh/about/ 我们以基因(gene)在漫长演化中塑造的身体为硬件,以代代相传的观念(meme)为软件,却生活在日新月异的信息时代,这让我们不得不独自面对这一切。 我想理解世界的规则,开拓新的空间,取得资源,把想法变成现实,去创造,去建设。 我想持续观察世界与自身,识别欲望、惯性和规则怎样影响自己的选择。 我想建立自己的判断、能力与生活基础,并承担选择的后果。 当彼岸的许诺不再可信,面对世界的荒谬,我依然选择在一呼一吸之间认真生活。 这里的文章有不同的生长阶段,从萌芽、抽枝到常青。我会回来补充、修剪,有时也会重新栽种。欢迎常来看看。 “我们得耕耘自己的花园。” ——伏尔泰,[《老实人》](https://fr.wikisource.org/wiki/Candide,_ou_l%E2%80%99Optimisme/Garnier_1877/Chapitre_30)