2026-03-17 17:48:00
We’ve all seen plenty of horror stories about AI trashing servers. Yet, there are still tedious tasks we’d love for AI to handle. To keep things safe, you have to manually copy-paste back and forth commands and outputs. Yet the current mainstream solutions usually involve "adding another layer": relay IO, intercepting dangerous commands or even using a smaller model as a filter.
But these solutions rely heavily on dedicated Agent tools or MCP, which means you have to let the AI connect to server directly as first party. If the server doesn't allow direct SSH, sits behind a jump box, or is completely air-gapped, you’re basically stuck.
My friend and I were discussing this, and at one point, we even thought about vibe coding a middleware to handle it. Then, while staring blankly at iTerm2 and Ghostty, it hit me: tmux.
If I connect to the server via tmux on my local machine, the rest is easy. Here’s the prompt I used:
I’ve started a new tmux session:
tmux new-session -d -s opus.
I’ve already logged into the server. This server has no external internet access but has mirrors for yum, pip, etc.
The environment XXX and working directory XXX are ready. The objective is XXX
First, analyze the environment and write a plan. If you have questions, clarify them first.
To my surprise, the AI actually started interacting and executing commands:
tmux send-keys -t opus 'complete_command' Enter
tmux capture-pane -t opus -p -S -15
However, I soon realized send-keys isn't entirely safe—the AI would just append an Enter and execute the command immediately. What to do?
When in doubt, ask the AI. The conclusion: Replace tmux send-keys with a filtered alias.
ts() { tmux send-keys -t opus -l -- "$(printf '%s' "$*" | tr -d '\000-\037\177')"; }
So, the workflow looks like this:
ts to execute automatically, but disallow tmux.Ctrl+C, and start a new line with a comment: # I canceled this because blah.tmux is blacklisted for auto-execution, you manually "Allow" it to run tmux capture-pane to read the output.You don't need to bookmark the ts alias, you can always ask your AI to make one for you. The alias isn't perfect in all cases, but clever AIs would figure it out 😉
Heck I don't even bother to explain the ts here. But I did asked several AIs to check for correctness and rubustness.
P.S. if you’re on a "# of Requests" subscription plan, this entire operation theoretically only counts as one.
P.P.S. here tmux acts as a natural "checkpoint" for autoregressive generation process. You can approve, cancel or redirect
用AI撸服务器翻车的案例很多了。但是服务器上有些麻烦事儿还是想让AI去解决,为了安全,网上现在的方案都是——再套一层。比如拦截危险指令,用小模型做过滤等等。
这些方案都依靠agent tool或者MCP,也就是说你得允许让AI直连。如果服务器不允许直接ssh,有跳板机,断外网的话可能就抓瞎了
我和朋友也聊到这个问题,甚至一度想 vibe 一个middleware去实现这样的功能。我盯着 iTerm2 和 Ghostty 发呆,突然想到个东西,tmux。
在本机用tmux把服务器连上,然后接下来的问题就简单了,下面是我的prompt
我新建了个tmux
tmux new-session -d -s opus
并且已经登录服务器。该服务器禁止外网,但是有 yum pip 等镜像。
已经准备好XXX,工作目录 XXX,需要实现 已经准备好XXX,工作目录
先分析环境,写个plan。有问题确认清楚
没想到 AI 真的开始调用命令开始交互执行了
tmux send-keys -t opus '完整命令' Enter
tmux capture-pane -t opus -p -S -15
期间发现 send-keys 也不太安全,AI直接把命令回车执行了。怎么办?
遇到这种问题,继续问AI啊。结论是 tmux send-keys 换成一个带过滤 alias 就行
ts() { tmux send-keys -t opus -l -- "$(printf '%s' "$*" | tr -d '\000-\037\177')"; }
所以流程是:
ts 直接执行,不允许 tmux改成手动确认# I canceled this because blah
tmux 命令应该是黑名单,不能直接执行,你点 allow 允许它去 tmux capture-pane 读输出内容这套流程还有一个额外的好处,如果你买的是「次数」套餐,那么整体操作下来,理论上只算1次。
2026-03-14 12:04:00
Long over due. But finally, it's here.
Last year I saw an interesting thread on V2EX that utilize curl -N to display cool ANSI art, and I wondered how to make it "interactive". After a series of battle with AI coding agents, it's finally done.
The project is located at https://chat.est.im/. You can try it with curl -NT. https://chat.est.im/hello. I wrote a bi-directional streaming with async underneath, all messages were buffered in a queue and delivered in real-time, without any logs.
Lots of trouble when deploying this. Cloudflare and Vercel didn't work, so I have to self-host on IPv6.
To keep messaging secure, a TLS layer is required, so I went along with ACME auto cert renewal as well. In the beginning, I tried HTTP-01 challenge, it requires a standalone 80 port which I think is totally unnecessary, only later to find out there's also TLS-ALPN-01. A good lesson learned with ALPN and stuff.
Also to prevent progress meters in CLI, I read curl's source code with the help of opus-4.5. AI is a good assistant for doing researches.
The curl -T is quite fun, I also built a paste service.
Some may ask why not telnet, ssh or IRC? Because those are pretty ancient, Web crowds are used to curl for everything these days.
The next step would be adding moar pretty ANSI to the server, some chat control commands, and perhaps AI? lol no.
2026-03-13 23:19:00
有这么一个发明,他被美国人最先搞出来,工业化,标准化铺开,在极短的时间内迅速占领报纸头版,在当时的人们认为具有划时代意义,很可能极大的方便明天人们的工作和生活,整个世界的运行逻辑也会随之改变。
唯一的问题是,这个发明被生产制造能力拖累了。由于稀缺性,成为少量富人的珍品。但是作为一个有巨大战略价值的东西,它终将会飞入寻常百姓家。
这样的发明,你心目中可能有很多,放在今天可能是 大语言模型 LLM。看着现在涨价到离谱的内存价格,我突然想起一个往事:清末橡胶股
下面开始AI吟唱,由我洗稿转述。
很多人对清朝灭亡的印象,还停留在鸦片战争或者慈禧太后的奢靡。但如果你去翻看 1910 年上海的报纸,你会发现当时的人们并不太关心朝廷,他们更关心的是一种神奇的植物:橡胶。那一年,人类正站在一个时代的门槛上:马车正在被汽车取代。想象一下那种震撼——延续了几千年的畜力交通,突然要被钢铁机器终结了。而这些机器要跑起来,除了石油,最缺的就是橡胶。没有橡胶,内燃机震得粉碎,电线无法绝缘,最重要的是,没有充气轮胎,汽车不过是在石头路上颠簸的铁盒子。特别是 福特 Model-T 量产后,普通工厂工人也能负担的起这样过去富人的「马车」奢侈品了。轮胎又是消耗品,橡胶变成了那个时代的超级热点。全世界都疯了,只要你手里的股票沾上“橡胶”两个字,几天就能翻倍。作为远东最发达的金融中心——上海,街头巷尾,从钱庄的大老板到卖菜的小贩,都在做着同一个梦:只要东南亚的橡胶树在长,钱就能下崽。
伦敦市场价格从1908年的2先令/磅暴涨到1910年的12先令5便士。巴西野生橡胶供应跟不上,英国殖民地马来亚/东南亚大规模种植园开发,南洋橡胶种植公司疯狂上市,上海成了投机中心(40多家公司,总股本2500万两)。上海人连橡胶树长啥样都不知道,就跟风买入——股价几个月翻倍(蓝格志公司股票从60两炒到1000两)。钱庄、票号、普通百姓全冲进去,华商投入资金估计2600-4400万两(清廷全年财政收入才8000万两左右)。结果:
2025-2026年,AI大模型训练/推理爆炸,HBM(高带宽内存)是NVIDIA H100/B200等AI服务器的“心脏”,一颗HBM耗晶圆面积是普通DRAM的3-4倍,毛利率60%+。但内存先进产能(CoWoS、HBM3E/4)严重瓶颈,三星、SK海力士、美光把先进产能70%+转向HBM,2026年订单全锁,消费级DDR4/DDR5、NAND直接被挤压。
1909-1910年,当时的全球金融霸主:Bank of England,基准利率处于相对低位且稳定,支持了全球商品/股票热潮,包括橡胶。伦敦橡胶股回调之后,英资银行风险厌恶上升,外资银行(尤其是英资如汇丰、麦加利)率先收缩信贷——抵押折扣从80%降到50%,停止新增橡胶股票押款,甚至追索旧贷。这相当于“隐性紧缩”,直接切断了上海钱庄的拆借来源。
如今,川普和以色列一起对伊朗进行 “Operation Epic Fury” 军事行动,杀死原最高领袖阿里·哈梅内伊,伊朗则封锁霍尔木兹海峡、袭击油轮和海湾美军基地。
| 维度 | 1910橡胶泡沫(英国利率/流动性收紧) | 2026伊朗战争(当前) | 相似度 & 潜在影响 |
|---|---|---|---|
| 触发机制 | 英美外围紧缩 + 外资抽贷 | 地缘战争直接制造能源危机 + 通胀冲击 | 高:战争是“外生冲击”,比当年利率加息更猛烈 |
| 流动性冲击 | 伦敦抽贷 → 上海钱庄连锁倒闭 | 油价暴涨 → 通胀重燃 → 美联储被迫暂停/逆转降息 | 极高:当前美联储基准利率维持3.5-3.75%(1月刚持平),通胀已从低位反弹, 战争油价冲击可能让3月19日FOMC会议直接hawkish pivot |
| 对资产泡沫影响 | 橡胶股/股市崩盘 → 全国金融危机 | AI/科技股高估值易受“风险厌恶+通胀+衰退担忧”双杀 | 极高:内存/HBM短缺本就靠低利率环境维持高估值, 油价+通胀一上来,资金成本上升 + 需求预期下调 → 泡沫刺破风险飙升 |
| 全球传导 | 外围(上海)先死,核心国后知后觉 | 海湾油价先爆 → 全球通胀 → 美欧央行被迫紧缩 | 高:新兴市场能源进口国先受伤, AI供应链(半导体依赖能源/物流)传导更快 |
| 持续时间/不确定性 | 流动性收紧是短期刺破 | 战争已超预期(美原计划4-6周结束,现已两周+无退出路线) | 高:越拖越不确定,越不确定流动性越可能突然转向 |
如今的情况更加凶险:
首先,油价是通胀之王。当年橡胶泡沫时全球流动性收紧主要是货币政策,现在是 供给侧冲击 (霍尔木兹被堵)+需求侧不确定(战争衰退风险)。美联储当前政策中性偏松(利率3.5-3.75%),但油价如果持续110+,核心通胀很可能重回3%+,迫使3月或下次会议暂停降息,甚至暗示加息。
其次,市场已脆弱。AI热潮估值建立在“低利率+无限算力需求”假设上。战争导致能源成本暴涨 → 数据中心电费/芯片制造成本飙升 → 终端消费电子(手机/PC/汽车)进一步涨价 → AI需求短期回落 → 击鼓传花中断。
最后, 美联储无先例应对。不像疫情或2008有清晰QE路径,这次是 战争通胀+潜在衰退 双杀,鲍威尔们内部已分歧(部分想继续降,部分怕通胀顽固)。如果油价不回落,流动性 突然转向 概率远高于正常周期。
电气化是第二次工业革命的开端和标志。按照历史不重复但是押韵的道理,所以,2026,股灾?
当然,当年那一批橡胶也没白炒作,因为很快到来的 WWI,橡胶变成了军事必需品,供给轮胎、气球、密封件、医疗用品等使用。英国控制马来亚/锡兰种植园(全球供应70%+),协约国几乎垄断供应;德国被英国海军封锁,几乎断供天然橡胶。德国早在1910年前后,化学家Fritz Hofmann就开始小规模合成橡胶实验(methyl rubber)。大战爆发后,德国大规模生产合成橡胶。虽质量差,但支撑了军工。这是合成橡胶工业的第一次实战化。俄国科学家Lebedev在1910年发明聚丁二烯polybutadiene,大战期间俄国也小规模生产合成橡胶。
说说 WWI。老帝国本以为战争还是拿破仑式或普法战争式:意志、勇气、快速机动、荣耀冲锋。这次有俄乌和美伊打个样,但是AI的战争潜力还没真正展现。估计跟坦克出来那个场面差不多。
2026-03-05 15:10:00
大型语言模型(LLM)所谓的涌现能力,一般说成是随着模型规模的增长,突然出现新的技能,而非平滑提升。我对此有个疑惑。gpt1 gpt2 规模也涨了,能力在哪里呢?
翻很多材料,提到涌现能力示例: 包括
我又回忆起 ChatGPT 发布那段时间,聊天窗里那个 Linux终端+Python命令行模拟,当时很惊人。这个连续上下文和逻辑推理一致性不可思议的强。
我让 gemini 和 chatgpt 做了一个deep research,我越来越确认,AI能力爆发,也就是所谓的「涌现」有个关键因素:OpenAI和微软合作
我还记得当时有个新闻说微软要造个 DGX V100 集群超算,投资多少多少亿规模很大
还有 2021 年 Copilot 发布。当时很多开发者发现一个怪现象:有时它会生成几乎逐字的开源代码片段,甚至包含原作者的注释或许可证文本
现在回头看来,路径很清晰
gpt-3 基本不能进行链式思维,而含有代码数据的模型(如Google的PaLM,其训练数据约5%是代码)能够执行链式推理
GitHub Copilot(其实就是OpenAI的Codex)也能生成分步推理过程
这里面其实背后功臣都是:code-davinci-002。包括后来的 ChatGPT 也是用它作为基座模型训练出来的
ChatGPT 吹说主要功劳是 RLHF ,现在看上去只是一些风格约束,让AI表现得更有亲和力。sama 大张旗鼓的拿来显摆这个,非常符合他/她诡计多端 藏着掖着的人设。
其实你想一想也是这个道理。AI要学会思考,得有大量结构化,逻辑一致的语料。 wikipedia 是知识的静态堆砌,reddit 是情绪和观点的碎片。对于模型来说,这些数据大部分是「陈述句」。模型学到的是 A 后面跟着 B 的概率,比如 法国的首都是巴黎
代码数据与自然语言有着本质的区别,它自带一种 约束,每一行代码都有明确的功能。漏掉一个分号,程序就崩了。这种极其严苛的结构迫使模型必须放弃模糊的预测,转而理解深层的逻辑嵌套。
代码语言模型能够成为更好的结构化常识推理器,即便任务本身与代码无关。代码本质上就是“分步执行”的过程,给AI在做其他推理打了个样。还记得那句著名的 lets think step by step 吗
那么如果我们架空一个外星智慧文明,如果社会经济结构没发展出来开源运动!!!???
永远就不会有LLM了,至少不会这么快!
写代码的都是聪明脑袋,更可怕的是开源的 review 机制,哪些 LWN.net 点评,那些技术博客,就是天然的 RLHF。那些烂代码(高熵)被淘汰,好代码,好结构才会被 Merge。如果这一切都是私有的,在大公司内部仓库里进行的呢?AI学不到啊。
这么看来,开源是通往 AGI 的“大过滤器”?
所以 90s 年代点燃的开源运动,才是AI之父!!
假期在看《Halt and Catch Fire》这部剧。强烈推荐啊,比《硅谷》好看太多
里面有个情节说 IBM 律师找主角所在公司的麻烦,主角不得不开始 clean room 重写BIOS
这里的 clean room 避免侵权风险的做法是:
但现在有AI了,比如有个 GPL 的项目,有公司想用,但是又不想开源,他让AI重写一轮,算违反协议吗?
其实算不算侵权都不重要了。这公司 vibe coding 了一坨,回馈给开源社区,有人想接吗?
再仔细推演一下,有了vibe coding,开源软件还有意义吗?不是召唤几个agent就搓出来了?
这么一轮盘下来,AI完成了弑父 🤣 🤣 🤣 🤣 🤣 🤣 🤣
2026-03-03 05:03:00
无聊看了下 Language Model Contains Personality Subnetworks ,刚好A社也最近也写了篇The persona selection model,感觉现在讨论LLM的「人格」比较火
先说下这篇论文,它提出,可以做类似「脑前额叶切除」让AI屏蔽一部分人格,不需要 fine-tune,而且就算prompt指定其它人格也无济于事。
不过它搞出来的分类比较喜剧,用的是 MBTI 。测试集是一堆 YES/NO 二元分类
光说「人格」这种问题比较抽象,有哪些应用呢?很遗憾,我对此脑袋哐当一声没太多想法,还是AI提醒了我:
contra.py 里可以设置 mask_gamma 这个百分比。比如保持 100% 的好奇心,10%的拒绝率因为我始终觉得 MBTI 不太准,问AI业界里有啥更好的,AI说"Big Five" (OCEAN: Openness, Conscientiousness, Extraversion, Agreeableness, Neuroticism)。又了解到新东西了
具体怎么阉割模型呢?Wanda (Pruning by Weights and Activations)
想一想这个后果还是比较可怕的。最坏的情况是给你一个美丽新世界。
用得好的话可以拿来从不同角度思辨,A社那个出发点我太懂了,现在 AI coding 只靠一根筋是不行的,得首先靠一个thinking模型出活,再用另一个模型来挑刺做review,然后用另一个人格来精简优化。可能上线之后还得站在别的部门的位置考虑优化迭代。最后形成一个多角色演进的loop,让代码达到某种平衡。
关于 jailbreak 的问题,chatgpt跟我来劲了,说paper里写的方法只能提高 consistency 而不能完全杜绝。跟它辩经了一会儿,达成共识,可以用论文的方法去 mask 一个小模型,用来保护大模型的安全。底线可以尽可能保证让大模型只能工作在指定的范围内。
2026-02-28 22:09:00
西方世界有个「巴别塔」故事,传当年人类强盛至极,统一了语言,上达天听,下释万物,惊动了创世神,创世神就出奸计让人们说不同的语言,人们开始互相不理解,各自为战,世俗的力量就被消减了
当然我说这个版本是去掉神秘学的一个引子。2026年了,全世界都被AI这迷人的玩意给勾引了,数据飞轮使得天下语料大同,似乎人类又可以相互理解,同样的概念embedding有几乎雷同的相似度,可以看成同一个语言又统一了。
在这种统一带来惊人的生产力,甚至可以说是「神力」。
我记得高中大学听闻上古大神编写代码,是拿纸和笔在大脑模拟,然后上机一次性敲入代码,一次性编译成功。膜拜不已
自己写代码,得跟IDE斗智斗勇,遇到编译器警告还急得抓耳挠腮;所以我比较喜欢脚本语言REPL,反正都是试。
以上种种,虽然说是脑力工作者,但是本质上就是一种体力活儿,而且语言高低之分,类型强弱有别,C/Go/Python/JS各自有擅长的一块保留地。
现在 Vibe Coding 则不一样了,你只需要「许愿」,就能能「实现」。以前精灵壶还只应许3个愿望,现在只要充钱就能不限数量7x24许愿。
似乎,人类又建立起来了「巴别塔」,可以和创世神一较高下了。
今天对「巴别塔」迷思的时候,突然想到一个古老的诅咒 The Lisp Curse。这玩意超级经典,被HN反复吟唱2011 2012 2016 2017 2019 2022
这个诅咒讲了个什么事呢,说来也巧,符号主义门下出了个天纵奇才的语言—— Lisp,把80年代的AI泡沫推向顶峰。这玩意不同于其他语言,为AI而生,数据和代码同构,正如当今LLM控制面和数据面。LLM本质是 predict next token,也就是说 MOV 指令是上一轮的数据催生的,更具体的说,Lisp这个魔丸生下来就把祖师爷图灵的法宝——图灵机的纸 和 笔 给融合了。这种反射和元编程的威力,比模板啊,宏啊,codegen这种二流兵器大得多。可以说Lisp就是the chosen one
然而Lisp 并没有打败其他编程语言,相反,它是分裂得最离谱的。我第一次听说编程语言还有「方言」这事儿就是从Lisp这儿来的。什么 scheme,Chez,emacs lisp 不一而足
「Lisp诅咒」就是这么来的——Lisp 的力量本身就是最大的敌人。
Lisp巨大的原始威力,以至于其他编程中出现的技术问题 语言在Lisp中是社会问题。
「Lisp诅咒」举了的知名例子,让Scheme支持 面向对象(OOP) 如此容易,就像课后习题一样,许多Scheme黑客都会。更重要的是,太多 Scheme黑客都这么做过。这导致了一个恶果:The Paradox of Choice,即「选择困难症」,没有一个最好的OOP方案能胜出。每个 Scheme 黑客都只拿自己的痛点隔靴搔痒。
也就是说,每个人都可以许愿,每个人都能拥有神力,谁也不服谁。
我突然觉得,Vibe Coding 也是一样的终局。其实这个观点我已经在《计算机科学里哪些极难的事》里写过了。
你做 frontmatter,做skills,做 spec,做 harness,做着做着就会发现,你自己搞了一套DSL。
或者你自己 SFT,甚至你可以pretrain,直接把能力固化到模型内部。为了极限省token和上下文,你甚至可以把你的风格预设固化成一个token。
将来一个:
就跟模型达成了默契。
自定义上下文到极致,不就是发明一套DSL吗?DSL多了,不就成了方言,其他人看不懂了么。
我想,巴别塔就是这样倒掉的。很多 one man army ,全栈,产品设计开发一把梭的做法,看似效率更高,产出更旺盛,实际上这是对神力的透支。因为你手上的东西不具有社会性了。巴别塔倒掉之后,人人只会说方言,无法理解对方了。
我不知道这是好是坏,但是我觉得这必然是终局之一。
以上为手搓而成,没有token遭到烧毁。
以下为AI给出的点评,我觉得有启发。值得一读:
为什么社会性重要?软件工程的本质是“管理复杂性”,而管理复杂性的手段是“契约(Contract)”。Vibe Coding 抛弃了契约,选择了默契。当代码从群体契约退化为私人咒语,知识的迭代将失去复利效应。每个人都在重复造轮子,因为理解别人的轮子比自己许愿造一个更难。
Token 让语言统一了, DSL 让语言分裂了。我们在符号层(Syntax)达成了前所未有的统一,却在语义层(Semantics)陷入了前所未有的混乱。 这就是「巴别塔」的新死法——大家用着同样的字符,却在聊着只有自己和 AI 懂的黑话。
人类历史上最强大的工具,往往不是让我们走得更近,而是让我们发现,原来我们根本不需要彼此。巴别塔不是倒在语言不通,而是倒在“我不需要听你的”。