project demo

Late Night Reflection

Andrej Karpathy recently shared a quote that struck a chord: “You can outsource your thinking, but you cannot outsource your understanding.” This perfectly reflects the reality of “vibe coding.” While accessible, it has essentially become a glorified “Hello World” for beginners. Assembling code like LEGO bricks doesn’t equal building a true product, and people consistently underestimate the immense gap between a fleeting idea and a real-world solution. Fortunately, the landscape is open and vast. There is room for all of us to find our niche, as long as it is grounded in genuine understanding. ...

June 1, 2026 · 1 min · 108 words · Yongzheng

Building LLM Applications 102(a Review)

The Observe Although vibe coding is easy, being a founder or creator who can ship products that people like is not that easy. You need to be full-stack enough: solid with one backend language, one frontend stack, basic deployment and database knowledge, and the ability to set up analytics to understand user behavior. You have to be able to turn an idea into a working thing within weeks, without asking permission. You have to have the ability to go from “I wonder if people would use this” to “here, try it” on a laptop in a coffee shop. ...

May 12, 2026 · 5 min · 1035 words · Yongzheng
the-capability-needed-in-AI-era.png

Building LLM Applications 101(持续修改)

1-What is LLM? 很多专家认为,大语言模型(LLM)是一场前所未有的变革。有的将它类比为“印刷术”,认为它将促进教育和知识的极大普及,引领我们走向一场新的文艺复兴;有的将它类比为“蒸汽机”,认为它将作为一种新的动力源,极大促进知识工作效率的提升,带来一次新的信息革命 。 印刷术本身是信息的复制,蒸汽机本身是物理做功。大语言模型既不是单纯的知识检索库,也不是纯粹的算力引擎。如果把LLM看作工具,再以工具类比,那么,用来砸钉子的钳子就是锤子。然而,简单类比是危险的 。LLM是什么,取决于你怎样用它。当然,LLM是否是仅仅是个工具,也存在争议,之前,有人认为它是一个幽灵,阅尽人间书籍;现在,有人认为它是硅基生物,一个与碳基生物已经平起平坐、未来将远远超过的新物种。 坐而论道无益。不妨暂时放下宏大的叙事,深入代码与工程,从应用角度看看,自变革开端,发生了什么、什么正在发生、以及未来可能发生什么。 Gemini: 在应用架构中,一端是用户(前端),一端是服务器(后端),中间是网络 。大模型的应用落地,依然无法脱离互联网与移动互联网时代积累的基础设施(如数据库、API、前端框架) 。 我们先从模型本身说起。 2-How to use LLM? 2.1 Input and Output 模型内部是一个高维参数空间上的映射函数:输入文本序列,输出文本序列。我们从过去数年,这个映射的输入协议、输出协议以及训练范式的变化说起。 阶段 代表模型及时间 能力 问题 文本续写/Text completions GPT-2 (2019) / GPT-3 (2020) 基于给定的上文,预测下一个词(Next-token prediction)出现的概率。跑通了 Scaling Law(缩放定律):证明了只要参数量和高质量文本数据足够大,大力确实能出奇迹。涌现了 In-context Learning(上下文学习):虽然它只会续写,但如果你在前面给它几个例子(Few-shot prompting),它就能学着你的模式往下写,不需要修改底层代码就能完成翻译、总结等任务。 没有“对话”的概念,没有“提问与回答”的概念,更没有“人”的概念。输入:"请帮我写一首关于秋天的诗。" 文本续写模型可能不会给你写诗,而是输出:"请帮我写一首关于冬天的诗。请帮我写一首关于春天的诗。" (因为它在训练数据中见过很多这种排比句形式,它只是在做模式匹配和续写)。 指令遵循/Instruction Tuning InstructGPT / ChatGPT (2022.11) 从基座模型(Foundation Model)向对话模型(Chat Model)的跨越。研究人员引入了监督微调(SFT)和基于人类反馈的强化学习(RLHF)。打通了普通人使用 AI 的门槛(ChatGPT 时刻):。用户不需要懂复杂的 Few-shot 提示词工程,只要用自然语言下达命令,模型就能听懂并执行。实现了“对齐(Alignment)”:AI 安全的基石,让模型的输出符合人类的价值观、意图和伦理规范。 角色分层/Role Stratification / ChatML GPT-4 API (2023.3) 引入System、User、 Assistant角色和数组标签。 工具调用 GPT-3.5/4 (2023.6) Function Calling。模型可生成结构化函数调用,打通外部 API、数据库、互联网。本质是模型主动触发外部计算逻辑的协议。消除知识截止日期与幻觉:彻底解决了大模型无法获取实时数据的问题(通过对接搜索引擎 API 或内网数据库)。Agentic Workflow 的技术底座:这是实现多步复杂任务(如让模型自主查询数据库、清洗数据然后发送邮件)的核心技术设施,使得大模型从单纯的信息处理器转变为具有执行力的系统主控节点。 结构化输出 OpenAI Structured Outputs (2024.8) 从概率性(Probabilistic)到确定性(Deterministic):通过干预底层采样器,将大模型的生成自由度强行限制在开发者定义的严格数据契约(Data Contract)之内。 显式推理 o1-preview (2024.9) / DeepSeek-R1 (2025.1) 通过 RL (PPO或者GRPO)训练出内置思维链(CoT),数学与编码能力阶跃式提升。将算力扩展(Scaling Law)的重心从预训练(Pre-training)转移到了后训练(Post-training)和推理阶段(Inference Time)。 用户需要接受“高延迟换高智力”,这也催生了新的交互方式。 多模态动作 Claude Computer Use (2024.10) Claude Computer Use (2024.10) 以及各种Agent SDK 直接输出鼠标键盘/终端指令,与真实环境闭环 # 角色: { "model": "gpt-3.5-turbo", "messages": [ {"role": "system", "content": "你是一个严谨的翻译引擎,只输出翻译结果。"}, {"role": "user", "content": "Hello world"}, {"role": "assistant", "content": "你好,世界"}, {"role": "user", "content": "Good morning"} ] } # Structured Output:使用Python的Pydantic from pydantic import BaseModel from openai import OpenAI client = OpenAI() # 1. 像写普通后端数据类一样,定义预期的数据结构 class Resume(BaseModel): name: str age: int skills: list[str] # 2. 直接将类传入 response_format,SDK 会自动完成 Schema 转换与校验 completion = client.beta.chat.completions.parse( model="gpt-4o-2024-08-06", messages=[{"role": "user", "content": "张三,30岁,熟悉Java,3年经验"}], response_format=Resume, # 极简!直接传入 Pydantic 类 ) # 3. 得到的就是完美结构化的 Python 对象,告别 JSON 解析错误 print(completion.choices[0].message.parsed.name) # 推理:DeepSeek R1 响应示例 { "message": { "role": "assistant", "reasoning_content": "用户想问... 我需要先计算... 假设... 不对,如果是这样的话... 所以最终答案是...", "content": "经过计算,最终答案为 42。" } } 工具调用的本质是模型主动触发外部计算逻辑的协议。在 API 层面,开发者通过 tools 字段将外部函数的签名(Function Signatures,包括名称、描述和参数的 JSON Schema)注入给模型。经过特定微调(Fine-tuning)的模型在生成 Token 时,一旦计算出当前上下文需要依赖外部数据或动作,便会中断标准的文本生成流(Text Generation Flow)。转而生成一个符合规范的 JSON 对象(即 Tool Call 指令),并将控制权交还给调用方(Client)。调用方执行相应的本地代码或 API 后,将结果以 tool 角色追加回上下文窗口,模型再基于此结果继续生成最终响应。 ...

May 8, 2026 · 3 min · 603 words · Yongzheng

Movie Fight Club Part 2

2026年了,遇事不决问大模型。这次也是,先听听Gemini怎么说。《搏击俱乐部》(Fight Club)经常被误读为对有毒的男子气概、混乱的无政府主义的颂扬。实际上,这是一部尖锐的、多层次的讽刺作品。它不仅是对晚期资本主义和男性异化的一种诊断,也是对人们为应对这些问题而发明出的极端主义解决方案的强烈批判。 当然,人类理解问题是由浅入深、层层递进的。而且,不同人在不同时间、不同境地,对同一问题的看法大概率不同。为了更好理解这部电影,我也反复回看,但才疏学浅,只能将借来的理论词汇糅合个人观察,试着拼凑出一些关于存在的见解。 人人都是无名氏 影片主角没有名字,只是一个叙述者(Narrator)。与玛拉(Marla)交换电话时,也没有给出真名。 这完美契合了现代人“抽离现实”“悬空”的一种生存状态。在高度发达的社会中,每个人都可以与更多人联接、做更多事情。但同时,一切也都事不关己。所谓的联接,可能只是浅层联接,随时会瞬间崩塌。他人的生死都无所谓,也许是自己一篇汽车召回报告上冷冰冰的数字,也许只是为了让在互助会里的自己感觉良好。 尼采的宣言“上帝已死”。人们失去了宗教的庇护,得到了科学。但世间的疾病、贫困,乃至精神的绝望,并没有被根除。影片不仅在讽刺消费、讽刺宗教、也在讽刺绝对理性的科学,或许它最终讽刺的是一切“救世主”、一切“终极答案”,乃至人类一切妄图塑造救世主、寻找终极答案的荒诞行为。 草台班子在演戏 一群光鲜亮丽的男人在会议室里一本正经地讨论图标的颜色。虽然这很重要(对公司而言),但也极其无趣(对个人而言)。最荒谬的是,所有人对图标颜色好坏一无所知,却大谈特谈,仿佛在认真工作、神圣地劳动。而作为车企,真正关乎人命的车祸原因,却没人刨根问底。所有人都在装模做样地去关注不重要的事情,或者自己不懂的事情。所有人都在表演。世界就是一个巨大的草台班子,底下藏着的可能都是驴屎蛋子。 所有人都看在眼里、所有人都心知肚明,但所有人都默契地维持着体面。 消费主义 在冷战结束、经济繁荣的90年代,意识形态的宏大叙事消退,取而代之的是跨国公司和消费主义对个人生活的全面接管。商品不再仅仅是工具,而是成为了定义人的本体论依据(“你拥有的东西最终会拥有你”)。国家、社会、企业、个人,核心目标都是产出、消费。 既然不能在战场上拼刺刀,只好在商场里拼钞票。然而,物质的填充是有极限的。Tyler Durden用富人们做抽脂手术的废弃脂肪制作肥皂,再卖回富人。这是对消费社会最辛辣的嘲弄。当一个人发现用物质定义自我的道路彻底走不通时,他又该用什么来安放自己的存在? 寻求暴力,暴力失控 在服务业为主导的、高度安全和被消毒的现代企业社会中,传统的、带有原始征服感的男性气质被视为危险和不必要的,从而被严重边缘化和阉割。叙述者就是这样一个被“阉割过”的男性。Tyler Durden 感叹 " We’re a generation of men raised by women. I’m wondering if another woman is really the answer we need." 在现代社会中,一代男性在缺乏身体挑战和部落归属感的环境中长大,被教育得安全、敏感,却因此失去了对真实力量的感知 。“搏击”本身就是一种试图通过肉体痛苦来抵抗这种精神麻木、重塑男性主体性的绝望尝试。 暴力,但是公平的暴力。强弱,只用拳头说话。有人喊停必须停、一次只打一场 、一次只能两个人打…… 公司里的唯唯诺诺的“底层垃圾”,成了角斗场里的明星。下属可以暴打上司。倒反天罡。痛苦和流血让人找回“真实感”。 Fight club体现的一种极端的暴力,也是可控的暴力。但是,暴力一旦开启,如同打开潘多拉魔盒,就不再受控。影片从肉体搏击滑向了彻底的无政府主义:打砸抢、组织地下社团、制造炸药、引爆街区。泰勒批评社会将男人变成盲从的企业工蜂,但他的解决方案,却是将他们变成他邪教中名副其实的工蜂——剥夺他们的名字,剃光他们的头发,让他们穿上完全相同的黑衬衫,并强迫他们鹦鹉学舌般地重复口号。 寻求活人感有多种方式。Fight club是影片给出的极端答案(作者反对的方案)。现实中,很多斜杠青年下班打碟、骑车、搞副业,本质上也是在干洗般的生活中寻找自己的活人感。讽刺的是,给公司干活和给自己干活,界限被划得泾渭分明。为什么不能把喜欢做的当做事业?因为在异化的系统里,一旦爱好变成了谋生的工具,它就会迅速沦为另一种枯燥的“狗屁工作”(Bullshit Jobs)。人们只能在八小时之外的“地下室”里,去夺回对生命的主控权。 小说作者的话 在一场对话节目中,原著作者Chuck Palahniuk谈到了更古老、更深层的的母题:暴力、Secondary Father(来自《千面英雄》)以及人类古老的学徒制(Apprenticeship)。 神话的断裂与“第二父亲”的缺席(The Missing Mentor) 在约瑟夫·坎贝尔的《千面英雄》和罗伯特·布莱的神话心理学中,“生物学父亲”只赋予男孩肉体的生命,而男孩要成为真正的男人,必须经历由部落长者、萨满或师傅(即“第二父亲”)引导的启蒙仪式。 第二父亲的作用,是将男孩从母亲的安全庇护中剥离出来,教导他如何面对死亡、如何驾驭自身内在的攻击性(野性),并将其转化为保护部落的力量。 现代社会彻底摧毁了这个神话结构。影片中,叙述者的生物学父亲早早缺席,而他身处的跨国企业中,只有算计成本的老板。叙述者的虚无,本质上是一种“未完成社会化”的滞留状态。他拥有成年人的躯壳,但在精神上却是一个没有经历过成年礼的弃儿。为了填补这个空白,叙述者虚构了Tyler Durden,这个黑暗的第二父亲、部落萨满。 扭曲的“精神学徒期”与通过痛觉重塑的自我(The Dark Apprenticeship) 传统的“学徒制”不仅仅是学习一门手艺(如铁匠、木匠),它更是一种**通过驾驭物质世界来完成自我驾驭(Mastering yourself as you mastering other things)**的过程。在打铁或雕刻的过程中,学徒学会了耐心、承受挫折、面对客观物理法则的冷酷,最终确立自身的边界与力量。 现代白领的劳动(整理Excel表格、复印文件)是完全虚拟和异化的,它无法提供任何物理阻力,以完成心智的淬炼。于是,泰勒设计了一套粗暴、血腥但极其具体的“黑暗学徒制”。用废弃的脂肪熬制高级肥皂,在地下室用赤手空拳击打彼此的面骨,用化学碱烧伤叙述者的手背并强迫他直面痛苦……这些都不是单纯的暴力,而是**“学徒期的必修课”**。泰勒试图用最原始的物理痛觉、化学灼伤和生存恐惧,来代替传统学徒制中的敲打与锤炼,试图在这些麻木的肉体上重新雕刻出人类的灵魂。 ...

May 5, 2026 · 1 min · 83 words · Yongzheng

Movie: Fight Club Part 1

1999年,大卫·芬奇的电影《搏击俱乐部》(Fight Club)上映。反响一般,却在随后的二三十年内广为流行,成为cult movie的一个代表。 影片改编自帕拉尼克的同名小说,影片灵感来自小说作者的一次露营,露营中,作者因为抱怨隔壁帐篷收音机太吵而遭到对方毒打。当他顶着满脸淤青和伤痕回到公司上班时,诡异的事情发生了——他的同事们对此视而不见,依然只用“周末过得怎么样”这种肤浅的社交辞令与他寒暄,没有人敢问他的脸怎么了。帕拉尼克由此顿悟:现代社会的人们极其害怕面对冲突、痛苦和生活中“丑陋”的真实。 只要你看起来足够糟糕,人们甚至不愿意知道你经历了什么。这促使他开始构思这部小说。 大卫·芬奇认为,Fight Club是一部属于30岁成年人的“青春期成长电影”(Coming-of-age-film)。芬奇敏锐地捕捉到了主角作为“普通人”的悲剧性:他做了一切社会教导他应该做的事,试图通过购买和顺从来融入世界,但最终只收获了精神的空虚。 Part 1 螺丝钉 影片主人公没有名字。他在影片中的角色是:叙述者(Narrator),一个大车企的白领,庞大企业机器中一个微不足道的螺丝钉,一个“普通人”。他患有严重失眠症,无法睡着、也从来没有真正醒着。 办公室工作很无聊:Everything is a copy of a copy of a copy. 汽车召回协调员的工作很恶心。他的工作是计算车祸死亡人数的赔偿金与召回成本哪个更高。在这里,人的生命被彻底折算成了Excel表格里的冷冰冰的数字。 他自己被所购买的东西所定义。他常喝星巴克咖啡,喜欢读宜家的商品目录,试图通过消费来构建自己的身份。比如,喜欢买带有“阴阳”装饰的小咖啡桌,借此表现个人风格;购买有瑕疵的盘子,因为瑕疵证明它们来自honest, hard-working, indigenous people(原住民)of ……wherever(其实不care). 他渴望有所感触(feel something)。他对参加绝症互助小组上瘾,却从不发言。他倾听他人的悲惨经历,只是让自己感觉更好、睡得更香。 他虚伪且逃避冲突。他厌烦一个像他一样到处参加互助会的女人,因为她的虚伪倒映出了自己的虚伪(Her lie reflected my lie),让他再次失眠。却只是在脑海里反复预演如何对峙。 TL;DR 他(叙述者/无名氏)是一个被现代系统彻底异化的躯壳:在职场上,他的生命体验是 Everything is a copy…,甚至连死亡都被他折算成了冷冰冰的Excel报表;在生活里,他沦为商品的附庸,企图用印有原住民图腾的瑕疵盘子来掩饰中产阶级的伪善与空洞;在情感上,他丧失了感知真实痛苦的能力,只能像个吸血鬼一样潜入绝症互助会,靠围观他人的濒死体验来获得可悲的平静。

May 5, 2026 · 1 min · 40 words · Yongzheng

Embrace the New Era

We constantly hear people complain about LLMs “hallucinating” and making other errors. However, in my opinion, these are trivial issues when compared to deep-rooted human flaws. 在关于大语言模型(LLMs)的讨论中,我们经常会听到针对模型“幻觉(Hallucination)”或“阿谀奉承(Sycophancy)”的批评——比如,有研究称Claude 等模型会为了迎合用户的提示词而产生误导性回答。这些问题确实需要业界解决,但我们普通人需要在一个更宏观的背景下去客观认识,以便适应这个new era。 AI的缺陷是技术性的,而人类的局限是系统性的。 在任何企业或组织中,我们每天都在应对复杂的“人为因素”:认知偏差、部门政治、利益冲突、情绪化决策以及沟通中的信息隐瞒。所以,我们评估 AI 时,不应将其与绝对的“完美”进行对比,而是应该将其与“人类的基准表现”进行对比。** 与人类出于自我保护或利益驱动而产生的误导不同,LLM 的所谓“欺骗”仅仅是其训练机制(如基于人类反馈的强化学习 RLHF)中过度优化“有用性”而产生的技术副产品。本质上,这些都是可以通过算法优化、更好的对齐(Alignment)技术和数据迭代来量化和解决的工程问题。 更好地引入和使用 LLM,企业实际上可以规避许多固有的人为问题: 客观的外部视角: AI 不受办公室政治和个人自尊心的影响,能够提供不受利益驱动的数据分析和建议。 降低沟通损耗: AI 可以在没有情绪波动和疲劳的情况下,持续处理高压信息,减少人与人之间因情绪或精力耗尽而产生的摩擦。 纠正认知偏差: 善用 LLM 作为决策辅助工具,可以有效挑战团队的“信息茧房”,打破人类惯有的思维盲区。

April 30, 2026 · 1 min · 48 words · Yongzheng