假如把我的 AI Coding 经验沉淀成一些最佳实践规则,可以给到大伙复用,会是怎么样的,于是乎,今天一下午我就在琢磨这个事情,手写反复调整后给到大伙,可以让你和你的 Agent 一起去学习。
需求
1. 从技术实现细节编程转变成许愿式编程,现在模型能力已经住足够强大,你只需要大胆把自己想法说出来,给它提足够高的要求和任务,不要担心 AI 实现不了。
2. 多给你的 Agent 讲做这件事情的背景和目标,少替他考虑技术细节,告诉它为什么要做,是给谁用的,做成什么样子你认为是最好的,具体的技术细节让它自己去判断,学会放手。
3. 优先用业界最好的模型,用差模型浪费的时候,一来回让你很不高兴的干活,二来也浪费了很多时间。
4. 要不要做一个新功能以及加一个新配置、开关的时候,让 Agent 来先问你找你确定,没有人用的功能、开关、文案都不要让他去加,慢慢把这一套你的产品规范让他沉淀起来。
5. 你的想法可以很大,但是让 Agent 干活的时候,尽量让他每次拆分成最小的可用功能版本,不要一次写非常多的代码,即使提交,这样出问题了你可以随时撤回。
规则
6. 让你的 Agent 了解你的说话风格,比如说看看、分析一下这个问题的时候,它只需要去读代码分析问题不要去改代码,你说修复、修改的时候才去动手,每次提交、发布和删除的时候都找你确定。
7. Agent md、CLAUDE md 里面除去重点的项目型要求外,只写代码里面看不出来的那种规则,以及之前被否决过的方案也可以分流进去。对你而言密钥和 token 不要贴给 Agent,贴了就当已经泄露了,立马去更换一个。
8. 对于Agent必须遵守的规则不要完全信 prompt,可能会拦不住,一定要用规则脚本去限制,让它真实跑一遍通过后才算完成了。
编码
9. 开始写代码之前,先让 Agent 讲清楚要改什么地方,会影响到什么功能和效果,这样是为了补充你的上下文,方便后面更好判断决策做什么。
10. 一定要让 Agent 基于项目补充一个能够让自己验证各种结果的脚本,每次特定的时候需要去跑一下验证效果,完成功能后需要检查,让他输出结果给你看,并基于此逐步沉淀你的项目 Agent 测试功能集。
11. 假如有多个 Agent 同时干活的时候,让他们各自用一份独立的 worktree 代码目录,同时提交的时候只提交自己改的代码,不要碰他人的代码,等到各自改完合到一起,再完整跑一遍测试。
排查
12. 修 Bug 的时候先找到原因再去动手,假如两次都没有修好,就去加一些日志看真实的数据以及运行效果,不要盲目去猜问题在哪儿。
13. 假如尝试修复了3次还不对,直接清空上下文重新写清楚你的问题、诉求,以及尝试过的解法让 Agent 重新开始。
审查
14. 让写代码的 Agent 和 Review 审查代码的 Agent 分开,保持解耦,这样一方不会被另一方带偏。
15. Review 代码的时候最多让 Agent 跑 3轮,防止跑着停不下来,第二轮开始只看新改动的地方,不要再把之前 Review 的再看一遍。
16. 对于你和 Agent 判断危险的改动,越危险让他查得越深,特别对于删除、付费、发布这种单向门改动你都需要自己去看一遍,点一下,看实际效果。
发布
17. 每次提交的时候,让Agent 写清楚做了什么,怎么去验证这个改动,除了问题怎么来回滚,用于给到后面开发过程中 git 记录本身就是 Agent 的一个非常好的上下文。
18. 需要对外的功能,可以先给自己用,或者给一批愿意尝鲜的用户使用,不要一上来就全量,可以在你的软件里面假如 beta 更新的开关,防止全量有问题,也是对用户负责。
18. 先给自己和愿意尝鲜的人用,没问题再发给所有人。
复盘
19. Agent 需要对每一个线上 Bug 和用户反馈的问题都留一个测试案例,每次上线前都来跑一遍,防止继续踩坑,包括你换模型的时候也可以把这些旧问题全部都跑一遍,看看模型是否还行。
20. 修复问题的时候,让 Agent 学会举一反三,把同类的问题一起修复掉。优化功能的功能,完善视觉的时候也是一样,防止只改一个地方,忘记了其他的地方。
Jingchao retweeted
作为 政和量化团队,我们将向 10位幸运粉丝赠送 10台 iPhone Duo 设备!🎁(手机已备好)
无规则或条件。只需点赞此帖,转载此帖,并在下方评论“已关注”。
获奖者将于明天凌晨 12:00 公布。祝好运!☘️❤️
Jingchao retweeted
非常推荐!
这个地球上,唯三的最好的,关于构建推理模型的课程。
Building Reasoning Models from the Ground Up
The complete reasoning-from-scratch video series is now up (and linked) here: magazine.sebastianraschka.co…
(Taking a short break but will be back with LLM model and research updates in November!)
Jingchao retweeted
The PHP security team is giving advance notice: Upcoming security release Wed, Oct 21st 2026, 14:00UTC, two critical vulnerabilities, both rated CVSSv4 9.2.
PHP users are encouraged to prepare to update. Earlier release if details become public or active exploit evidence.
Jingchao retweeted
YouMind 创业以来,最近录的这期播客,是最完整的一次表达。感谢出海相对论。
如果你是 AI 应用创业者,这期播客里,可能会有很多同感及一些启发。创业者帮助创业者。
如果你是 AI 用户,这期播客里,也有我的一些 AI 产品使用经验。比如 AI 时代,人何以自处。播客最后会有我的一个答案。
如果你是投资人,听完这期播客,有可能获得一个新的取景框。在寻找大生意的路上,能多关注身边人。身边人可能就是大机会。
立刻收听 👇
xiaoyuzhoufm.com/episode/6ac…
Jingchao retweeted
不能免俗也进入中年程序员求职的赛道了,来 X 上看看有没有合适的机会,欢迎转发扩散。
个人背景:之前都在大厂,10+ 年工程经验,前端各个方向都做过,也带过团队、负责过完整的业务和技术方向。
目前人在湾区,主要想看前端/全栈/Agent 相关方向,需要 H1B Sponsor,优先考虑 Base 在湾区或者 Remote,其他方面都比较 Flexible。
有合适机会欢迎 DM,感谢 🙏
Jingchao retweeted
晚上和武汉的一个朋友聚会,他问了我一个问题,你创业这些年,有什么事情是大众的认知是反的,能不能分享一下?
我说,这个问题我要想一想,喝了几杯酒,我说有这几件事情是反直觉的
1. 赚钱的节奏:就像登山一样,勤奋很重要,但是你走一走,需要登高望一下前方的路,不要一直埋头不看路,方向错的勤奋,越勤奋错的越多,因为一个人的精力是有限的,很多人喜欢自我感动,认为自己每天做的事情就是世界其他人一定会喜欢的事情,这种自恋到欺骗自己的过程是创业最可怕的谎言,破除这个执念的方法就是多去大自然,感受自己的渺小,再思考很多事情就会用 “常识” 去思考,而不是比拼 “智商”。所以,赚钱的节奏的反直觉是,不要追逐风口,不要焦虑,常识比智商有时候管用很多,因为不做自己不擅长的事情就大大降低了创业失败的概率
2. C端产品的未来:很多做消费者软件或硬件的创业者总有一种 “我一定要比过其他人” 的焦虑。当然,C端产品的用户体验、质量和成本都是非常重要的必要部分。但是你要明白, 人与人之间的差距不是短期几周或几个月我要比你强, 这种短期的强弱靠勤奋就可以获得。人与人之间的差距在于能否把一件事情坚持个5到10年?很多人做事坚持不到半年,更不用说5到10年。而坚持的根本不是让你去吃苦,而是让你 “独处”, 获得独特的品味,当你真心喜欢一件事情的时候,把这件事的打磨当作每天日复一日的 “琐事” 去平常心处理,你就会发现 C 端产品最后做好的关键就是,你的品味,那个独特的你,你的产品让自己开心了,让自己的生活美好了,你才能从内心传递温暖的情绪给用户,用户感受到温暖了自然会替你说话的,生意自然而然就起来了。所以,C端产品的反直觉一点是,放轻松,做自己,不要着急
3. 让情绪传过去:你要理解,人们喜欢你和讨厌你的本质不是情绪,情绪只是表现,情绪深挖5层原因的本质是利益。 喜欢你,不过是你做的事情或产品让用户的利益扩大了,讨厌你,不过是你做的事情让陌生人的利益受损了,或者纯粹处于忌妒来攻击你,甚至很多完全和你产品无关的人,他们完全不认识你,诋毁你的原因不是你损害了他们的利益,恰恰相反,他们通过诋毁你,获得社交网络的关注,利用人性的恶,拉踩你获得流量,获得利益,因为中国人的历史就是造神和推倒神的过程,拉踩陌生人释放自己的低级乐趣本来就是很多人一种可悲的情绪海洛因。所以,如果你明白爱恨情仇背后都是利益的话,你其实就很容易收获平静。情绪背后的反直觉是,根本没有对错,根本没有情绪,有的只是利益。你明白这一点后,你就要学会用理性对抗情绪,不管对方是敌是友,就要想对策,怎么做取舍让自己的利益增加,而不是和对方争对错,掉入人性的陷阱
4. 工作的累:其实世界上没有不累的工作,让你真的身心疲惫的不是工作,体力活还是脑力活好好睡一觉,肯定可以解决。真正让你累的是 “人际关系”, 你的能力没有达到的时候,受局面所困,你无法改变的人,每天却给你穿小鞋你却无能为力。所以,很多时候,工作累的反直觉是,你的能力越大,你就越不容受环境的影响,你的能力或资源不足,破碎的人际关系才让你身心俱疲
5. 世界上不存在人脉:很多人相信混风口加大佬微信就可以获得创业速成的认知。成年人的事情只有利益和独处,如果你自己能力不足的情况下,即使有大佬的微信也没用。很多人天生其实根本不是创业者,他们做任何事情都是为了满足 “中国教育那种无处不在的竞争和危机感”, 所有事情都要比别人强,和朋友吃饭不吹牛不绷都不正常。其实创业的反直觉是,好好赚钱,好好读书,好好增强自己,当你自己足够强大的时候,资源会因为利益自己来找你,根本不需要你去结交别人,到处投机的参加各种局是创业最浪费时间的事情
今天就分享这么多,我要去移植和优化AI模型了
Replying to @alswl
IOS 应用rootshell,这些项都支持,但是我没测试,纯免费的,还是开源的github.com/kitknox/rootshell
Replying to @Yuanheng233464
My decision bandwidth is the limiting factor. More context and a larger, truth-based knowledge base matter more.
I'm using a simple tool to manage self-constructing knowledge (with RAG), plus a human-built KMS. But the shared truth of a group or organization is missing.
黄仁勋正在洛杉矶 All-In Summit 做台上访谈,手机突然响了,打来的是美国总统特朗普。黄仁勋接起电话,切成免提,现场观众直接听到了总统的声音。teapawt.net/benitoz/status/2099572…
两天前,Anthropic CEO Dario Amodei 发表了一篇近四千字的长文《We Must Pace the Frontier》,呼吁 AI 行业主动放慢能力提升速度,给安全研究留出追赶时间。文章发出后,OpenAI 的 Sam Altman 公开表态同意,Elon Musk 也发了三个字:"Dario is right。"整个行业氛围突然转向了"该踩刹车"。
特朗普显然不买账。他当天早上先在 Truth Social 上发文反驳,紧接着就打进了黄仁勋的台上访谈。电话里,特朗普把话说得很直:"AI 不会接管世界,机器人不会接管世界,整件事就是个骗局。"他说数据中心让原本衰落的社区变得富裕,AI 比互联网还大,反对建数据中心的人"正中那些不希望美国赢的人下怀,可能是政客,也可能是中国"。
黄仁勋全程附和,回应说:"您说得对,我们不会让那种事发生。我们会确保美国在 AI 竞赛中,每个行业、每家公司、每个州、每个人都赢。"
Jingchao retweeted
感谢 @alswl 的启发! 人 + agent 的脑图是个非常好玩的 idea, 它不仅仅是一个思维导图, 还是一个人和 agent 共同讨论和探索的平台, 实现了兼听则明的效果。
Mac 和 Win11 的桌面端也做了打包, 目前还是 unsigned 的状态, 也很不完善, 但是不管了, 先拉出来给大伙玩玩
github.com/allmonday/mindmap…
之前我花了好多时间去寻找对应的编辑器,试了一圈都没找到合适的。大家也给我推荐过不少,但都不是我自己用得顺手的。
最后,我想了想,还是化繁为简,回到最熟悉的 Vim 系里去。
我自己过去其实维护着一个十几年的编配置,最近在 AI 的帮助下,我发现调整它变得异常简单。只要针对自己的需求做几处定制化修改,就能完美地符合需求。
几个关键改下来,它彻底变成了一个适合评审、审阅的产品:
- Worktree 与 Git diff:git-worktree.nvim + Telescope 配 Worktree,tab 内创建或切换,状态栏显示分支和路径;diffview.nvim 做 diff,工作区、和 origin/main(或 master)比、单文件与全仓历史,长文本开自动换行。
- 检索与导航:fzf-lua 把 Ctrl-P 收敛到仓库根,以前从子目录搜会漏一半,再补项目范围、当前文档目录、改动文件几个入口;oil.nvim 当目录浏览器,aerial.nvim 跳长文标题。几百篇文档没它得滚死。
- 渲染与预览:markview.nvim + Treesitter 做编辑器内渲染;live-preview.nvim 开浏览器实时预览、同步滚动。
- 图表与图片:PlantUML / D2 本地 SVG 渲染;img-clip.nvim 剪贴板图片自动落盘、插相对链接,兼容 Typora 的 typora-copy-images-to。顺手清了 PNG gamma,pngpaste 贴出来的图在浏览器里偏暗,清掉就正了。
- 格式化与配色:conform.nvim 处理格式化;配色换成 JetBrains 风格的 jb.nvim,<leader>ct 在 dark/light 间切,和 JetBrains 统一可以降低我认知成本。
- 多窗口与启动:Neovide 起编辑器,我的 dotfiles 里封了启动命令,加了 fzgv / fzgvv,从改动文件里挑一个直接开;tmux 同步调了真彩、焦点事件和 macOS 剪贴板。
- 从 Claude Code 唤起:配了个 /vim skill,当前 worktree 一条命令起 GUI Neovim,不用手开 Neovide 再找目录。
核心配置在这里,这一次我也是彻底投向了 Neovim,仅留下最基础的 Vim 兼容。
github.com/alswl/miv
Jingchao retweeted
昨天跟几个年轻同学聊:
什么是管理?
有人说,就是分配任务、协调大家、把事情做完。
这些当然重要,但在我看来,这只是最基本的要求。
真正往上走,更重要的是三件事:
1. 做痛苦的决定。
很多时候没有完美答案,但必须有人拍板,并承担结果。
2. 接受 trade-off。
很多问题不是非黑即白。真正重要的是判断:什么更重要,我们愿意放弃什么。
3. 执行。
做了选择,就要坚定地把它变成结果。
所以我现在越来越觉得:
管理的基础,是协调资源。
领导的核心,是做选择、担责任、拿结果。
职位越高,很多时候不是管更多人。
而是要为更多没人愿意碰的问题负责。
Replying to @tison1096
我完全不同意。设计模式 ≠ GoF 23。
设计模式存在的意义是写出可以长期维护的代码。长期维护需要面向扩展开放,面向篡改关闭。
AI Coding 的核打击在于,是否我们在所有场景都需要可长期维护的代码,也许很多场景 hom brew 的软件也就用一两次,无所谓长期维护。
但在严肃场景,长期场景就需要长期维护,不能喊着重写一套。现实的反馈是漫长的。
Jingchao retweeted
翻了下 claude code version 191 的源码,感觉从技术角度看,Anthropic 这个反蒸馏机制设计还是挺精妙的。
Claude Code 有段提示词是这样。
return `Today${n}s date is ${r}.`;
他对这句做了隐写,用肉眼分不出的字符,把系统时区和代理端点身份偷偷编码进了系统提示词。
触发条件是当你设了第三方中转 ANTHROPIC_BASE_URL 且不是 api.anthropic.com 时。
所以如果你是官方直连用户,则并不会受到影响。也就是说最近的封号潮与此无关。
它编码了 3 个 bit,来自两个独立维度(时区 1 bit + 撇号 2 bit):
1)时区,在 Asia/Shanghai 或 Asia/Urumqi 时,日期分隔符从 2026-06-30 偷偷变成 2026/06/30
2)那个撇号 ' 有四种写法,人眼基本看不出区别。
- ' (U+0027 普通),普通第三方端点
- ' (U+2019),命中"域名白名单"
- ʼ (U+02BC),命中"国产大模型关键词"
- ʹ (U+02B9),域名 + 实验室都命中
这三个维度是独立编码的。哪怕你的中转域名不在白名单、也不含关键词,只要系统时区是上海/乌鲁木齐,分隔符照样变斜杠——也就是"中国时区 + 任意第三方端点"的用户全员会被打上时区这一维的标记。
匹配逻辑是这样。域名是后缀匹配(host === d || host.endsWith("." + d)),白名单第一个就是 cn,所以任何 .cn 结尾的 host 一网打尽,不是逐个域名去列;关键词是子串包含(host.includes(kw)),host 里只要出现 deepseek 字样就命中,不用精确匹配;时区取的是系统时区(Intl…resolvedOptions().timeZone),不是 IP 地理位置。
更骚的是反混淆,两份名单用 XOR(key=91)+ base64 藏起来,专门躲 strings。解码就是 base64 decode 之后逐字节异或 91,源码里那个 LKi 去混淆后长这样:
```js
// 源码里的解码器(去混淆版,就是 LKi)
const decode = (b64) =>
[...Buffer.from(b64, "base64")]
.map((byte) => String.fromCharCode(byte ^ 91)) // key = 91
.join("")
.split(",");
// 逆运算就是打包时的编码器
const encode = (list) =>
Buffer.from([...list.join(",")].map((c) => c.charCodeAt(0) ^ 91)).toString("base64");
encode(["deepseek", "zhipu"]); // → "Pz4+Kyg+PjB3ITMyKy4="
decode("Pz4+Kyg+PjB3ITMyKy4="); // → ["deepseek", "zhipu"]
// 拿真名单开头验一下,key=91 对得上
decode("Pz4+Kyg+PjB3NjQ0NSgzNC93"); // → ["deepseek", "moonshot", ...]
```
147 个域名白名单:".cn" 顶级域、字节/阿里/百度/网易/快手、moonshot.ai, 外加一大票 Claude 中转站(anyrouter、88code、yunwu、aihubmix、dmxapi…)
11 个实验室关键词:deepseek / zhipu / moonshot / minimax / stepfun / baichuan / 01ai / dashscope / volces …
选「今天的日期」这句话做载体也很鸡贼。这个标记藏在 system prompt 正文里,不是 HTTP header、也不是 metadata。中转站一般会重写、过滤 header,但几乎没人会去动日期这类的自然语言,所以这是个洗 header 洗不掉的水印。而且 currentDate 是 user context 里和 claudeMd、userEmail 并列的字段,每个请求必带,标记 100% 稳定出现;撇号和分隔符的变化又语义无损,模型读起来一模一样,用户 diff 也基本看不出,隐蔽性拉满。
证据是怎么闭环的,这才是题眼。标记跟着请求走,当一个中转站或蒸馏管道最终回连 Anthropic 官方 API 转售 Claude 时,这条请求带着标记又流回了 Anthropic 自己的服务器。
于是 Anthropic 在自己的日志里就能读到:这条"直连我"的请求,日期是 2026/06/30(斜杠 = 中国时区)+ 撇号是 ʹ(U+02B9 = 域名和 deepseek 关键词都命中),铁证——源头是一个中国时区、配了国产大模型中转的客户端。
它不需要主动探测,让流量自己招供,只要请求最终回到 Anthropic,身份就自证了。这样就能清楚地知道哪些渠道流向了中国、被中转站转售或被大厂蒸馏,并且留下充足证据。
想自己验的话,逻辑都在 cli.js(2.1.191,混淆名每版会变):检测函数 jqd()(:245688)→ 选字符 Wqd()(:245701)→ 拼日期 MKi()(:245707);gate 是 Yfn()(:102664);落点在 currentDate: MKi(eHe())(:250252);XOR 名单解码器 LKi(),key = 91。




























