Ashfff retweeted
为什么把写代码全交给 agent,会让你失去指挥 agent 的能力?🔥
最近在看一篇文章,是 PI 作者推荐的:Agentic Coding is a Trap
原文地址:larsfaye.com/articles/agenti…
原文用了不同的角度和测试数据,在一遍遍地告诉我们使用 AI 但是不能完全使用,需要保留一定的摩擦和思考过程,我把整个文章提炼成了五个观点:
1、"监督悖论"。 用好 agent 需要你有能力审查它的代码,可过度用 agent 恰恰会让这种能力退化。他引用了 Anthropic 自己研究里的这个说法,还提到另一项 Anthropic 研究显示调试能力下降了 47%
2、这次跟以往"换一层抽象"不一样。 从汇编到 FORTRAN、从 C++ 到 Python,程序员没人抱怨过脑雾。现在连有近 30 年经验的 Simon Willison 都说,自己对应用越来越没有清晰的心智模型。新人更难,只审代码、不亲手写,等于只学了一半
3、AI 加速的是不重要的部分。 好开发者原本的优先级是:先理解代码,再看规范,然后代码越少越好,速度排最后。agent 把这个顺序整个倒过来了,最先追求的是快速生成大量代码
4、写代码本身就是在思考。 很多人是边写边想清楚要做什么的(OpenCode 作者 Dax 也这么说)。spec 写得再完美,概率模型也照样会幻觉,替代不了确定性的思考
5、会被厂商绑住,成本也不可控。 Claude 宕机时整个团队停摆,token 成本也一直在变。他的做法是让 AI 退居二线:让 AI 帮忙出方案,自己亲手写 20%–100% 的代码;一次只生成自己审得完的量;自己不会做的事,不交给 agent 做。原话是"把它当飞船电脑,而不是 Data"(Data 是《星际迷航》里那个能独立行动的人形机器人)。
如果你对这方面研究感兴趣,一定要看一下这篇文章,让我觉得非常有意思
Ashfff retweeted
昨天还在说 Code Review 的实践,今天Anthropic就写了一篇文章详细描述它们 Code Review 的工程实践:
claude.dev/blog/solving-code…
非常受用,可以好好读一下,核心观点是:代码多到人读不过来之后,人已经不 review 代码了,而是追求花最少的时间 并且回滚和事故又不增加
一个改动要过七层检查,几点也很有趣:
1 让 Agent 提 PR 之前先自证 证明做完了 测试 截图 等等
2 每个 PR 都有 AI review diff,对照整个仓库和 PR 的意图来审 多个 agent 同时找 bug 再由另一组投票,多数认定是真问题才发出来 纯风格类的意见直接丢掉 这个和我的 review-forge 的思路非常类似
3 按风险决定要几个人批 低风险不用人批准自动合并,普通功能一人批 最高风险的路径要两个人(我怀疑这步骤真的那么有用吗?人能看过来吗)
4 merge queue / feature flag / 灰度发布 先给内部员工用, 快速发现 快速回 feature flag 不用部署就能关掉
里面还有一个非常实用的思路 正好解答昨天多 agent review 的问题:
review 要能收敛,agent 写 agent 审,有可能可以互相折腾个没完,文中说有个 PR 一夜之间来回改了五十多轮 git blame 一看,59% 被反复标记的都是第一轮时就已经存在的老代码
所以他们加了几条规则:最多三轮,超过就让作者退一步重新想方案 几轮之后只审新增的 diff 已经提过的意见不再重复。
Ashfff retweeted
OpenAI 官方博客披露了核心团队用 GPT-6 系列维护代码库的一手工程实践。直接公布了几个实际运行的提示词,
靠这些提示词在两周内合并了 1400 多个清理 PR,删除超过 800k 行代码,并将一个服务的容器镜像压缩48%。
第一个提示词用于清理死代码
“请帮我找出并清理仓库里的无用代码。你可以随意查看
Slack、Statsig(功能开关平台)或任何需要的来源,用来确认这些代码确实不再被使用、可以被清理或简化。”
这个提示词的关键在于允许 GPT-6 Astra 自主去翻阅 Slack 讨论、Statsig 实验配置甚至生产环境的性能 profiling数据,只有在确认生产环境零调用后才在 PR 中列出删除依据。
第二个提示词用于清理更棘手的废弃实验与功能开关
“/goal 找出整个仓库中所有陈旧、常量化、已废弃或全量上线的 Statsig开关、配置和实验,在不改变生产行为的前提下安全移除。审计所有项目资产,不限于标记为陈旧的对象。通过枚举、常量、包装函数、别名和动态拼
接名称寻找间接引用。核对生产引用的常量,不只给保守清单。结合生产遥测与性能分析评估 CPU 开销,找出昂贵的无用判断。生成 Markdown报告,按归属和文件工作流分组以便并行处理,附带生产取值、证据与 CPU 开销。不要修改线上配置或服务。”
第三组提示词用于 CI 优化与规则自省
“关于减轻本仓库的 CI 负载你有什么想法?请将想法列成表格,并根据该仓库的历史运行记录,按每天预估节省的 CI 分钟数进行排序。”
面对不稳定测试修复,他们运行:
“/goal 查看所有最近的 CI 运行记录,找出偶发失败的测试并尝试修复,成功则提交PR。你的任务是针对简单问题找到明确修复方案,而不是穷尽修复所有问题。”
针对 agent 上下文规则的自检提示词更精妙:
“翻阅我最近的 Codex 会话记录,找出一条误导了 agent 或导致无效工作的 AGENTS.md指令。选出该会话提示词,在相同仓库快照和模型下重放两次:一次保持原指令不变,一次仅移除或修正该指令。对比任务质量、agent
行为、工具调用、token 消耗与成本,展示该指令并说明修改是否有效。”
强烈建议好好学习和利用这些应用于超大工程实践的提示词
前一段 Loop Engineering 不是很火么,不过真做好的也不多。
知名开源开发者 yetone 在 X 上公开了他维护 Magpie 的工作流:用 Claude Code 加官方的 Opus 5.5 模型,同时开 3 个 /loop 循环任务,让 AI 自己盯 GitHub issue 和 PR、Discord 社区和推特反馈,修 bug、加功能、发版、回复用户。他自己每晚抽一点时间“铲铲屎”,主要处理 UI/UX 问题,“然后就没活儿了”。
他自己说这套流程“没有任何的魔法,甚至还特别简陋”。
【3 个循环任务分别干什么】
/loop 是 Claude Code 自带的命令,让同一段提示词反复执行;不写间隔时,由模型自己决定多久跑一次。这个命令 Codex 也支持,其他的我没测试,估计也差不多。
yetone 截图里的 3 段提示词都没写时间间隔,我自己去 Codex 跑了一下,默认是 1 小时。
简单解释一下他这三个循环。
第一个循环:管 GitHub 和 Discord。
指令要求 AI 盯 GitHub issue,判断哪些值得修、值得做;修完要发版并回复提问的人,不值得做的也要回复。有一类 issue 单独规定了统一话术:如果是“中转站”来打广告,统一回复“感谢关注,日后会出相关合作方案,敬请期待”,不能直接把第三方中转站加进产品。
对 PR,指令要求逐行看代码、看逻辑,再把代码拉下来实际跑一遍,确认没有 bug 才能合并,否则回复或关掉。指令里写了原因:“我怕有的人提的 PR,是无脑用 Coding Agent 乱写的,自己都没测过。”
指令还要求 AI 实时盯 Magpie 的 Discord 服务器,所有频道一个不漏,有价值的反馈就去修或加功能,值得讨论就继续讨论。最后专门叮嘱:在 Discord 里要真正 @ 到人,只写名字对方收不到通知。
第二个循环:管 X/推特 的用户反馈。
盯推特上关于 Magpie 的反馈,有价值的建议或能复现的 bug 就去做,上线后回复那条推文。这段指令要求先用便宜的“决策模型”,比如 Jev,判断推文是不是在说 Magpie、是不是反馈,不相关的直接丢掉,别转给主模型,“不然太浪费 Token 了”。
【注:Jev 是 TypeSafe AI 推出的模型,只做判断题、选择题和打分,输出概率或分数,不生成文字。官方定价是每百万输入 Token 0.042 美元,输出免费。】
顺便说一下,如果你的产品名或者要关注的事比较稀有,不一定需要 Jev,他之所以加,是因为 magpie 在英文里是“喜鹊”,按关键词抓推文会抓到大量无关内容,全丢给 Opus 判断很费钱。
第三个循环:清理和总结。
这段指令开头写着“现在 magpie 完全是自动化更改代码和合并社区里的 PR”,要求 AI 定期清理“屎山代码”和恶意代码,防止项目变得难以维护;同时把经验教训写下来,比如哪些 PR 不该合、哪些验证不够严密,留给以后的 AI 参考,避免重复犯错;还要把总提交低质量代码的人拉进黑名单。
【作者补充的两点】
发完截图后,他在两条回复里补了两点。
一是给 AI 真实的运行环境。他准备了一台 Mac 和一台 Windows 电脑,再在 Windows 上开一个 Linux 虚拟机,三个系统的复现环境就齐了。AI 每次都要在这三端真实复现 bug,再去修。
二是 AI 怎么做出符合他心意的决策。他说靠的是 Claude Code 的记忆系统和仓库里的设计文档。开发 Magpie 之初,他和 Claude Code 讨论、头脑风暴了很多内容,这些都被记进了记忆文件。之后遇到要拍板的事,或者涉及审美偏好的设计,AI 会参考这些记录,做出跟他比较一致的选择。
【总结下】
他把维护项目的日常活拆成了 3 条流水线,每条只管一个入口(GitHub、推特、代码库本身),各自循环。人只留下 AI 做不好的部分,也就是 UI/UX 的审美判断。
当然要跑起来得有几个前提:
1. AI 能在真实的三端环境里跑代码,验证结果靠实际运行;
2. AI 手里有他早期写下的偏好和设计文档,知道他会怎么选;
3. 犯过的错被写成经验,下一轮的 AI 能读到。
提示词都是大白话,篇幅主要花在边界情况上:不值得修也要回复,中转站广告怎么回,Discord 要真 @,不相关的推文别浪费 Token。
有几个特别要注意的点:
1. 先把验证环境搭好,再让 AI 干活。AI 改完代码说“修好了”没用,要能在出问题的那个系统上跑一遍。你的项目只跑在网页或服务器上,一个容器可能就够;要多端的,就像他一样把每一端都备齐。
2. 在提示词里写清楚“遇到这种情况怎么办”。他的三段指令里,大部分字数花在例外处理上。你让 AI 自动回复用户之前,先想想会有哪些奇怪的来信,提前定好处理办法。
3. 用便宜模型挡在前面。先用一个几乎不要钱的分类模型过滤一遍,只把真正的反馈交给贵模型,这个做法几乎任何监听类任务都能用。
4. 让 AI 自己总结教训。第三个循环要求把“不该合的 PR”“验证不严的地方”记下来,下次的 AI 读到就会更谨慎。这相当于给 AI 建立了一个自我迭代优化的循环。
5. 项目早期多花时间和 AI 聊设计。他说 AI 后来能按他的偏好做决策,依赖的是开发初期那些讨论被记进了记忆和设计文档。想让 AI 少问你,就先把你的想法写下来让它记住。
仅供参考,重要的是学习思路,不必一模一样的照搬。
Ashfff retweeted
还有一点是 yetone 在评论里补充的,Claude Code 的项目级记忆,真的非常非常好用,它会记住你在整个软件设计时候的各种决策,你所划定的各种红线,以及你接下来的开发计划和待修复的问题,大家都说开发者是没有忠诚度的,这个功能很有可能改变这种现状,起码我现在是不太想换 coding agent 了,之前写过一篇文章分析这个功能:xitter.cf/Jason_Young1231/status…
与其押注下一个 AI 瓶颈公司,更简单赚钱的方式是押注下一个被 AI 取代的公司,花很少的钱买一个 Long term 的 Put
我去年看到万科暴雷的新闻就很想去买万科的 Put,但是不太懂港股所以没下手
有一些我觉得未来一定被 AI 取代的行业:
创意 / 设计 / 素材(生成式 AI 直接替代产出)
Adobe $ADBE
Wix $WIX
Getty Images $GETY
Shutterstock $SSTK
按席位收费的 SaaS(AI agent 绕过软件界面直接干活)
Salesforce $CRM
DocuSign $DOCU
Atlassian $TEAM
Monday.com $MNDY
Asana $ASAN
法律 / 信息 / 研究服务
Thomson Reuters $TRI
RELX $RELX
Wolters Kluwer $WKL
Gartner $IT
IT 外包 / BPO / 客服中心(尤其是最近 GPT-Live 的出现,电话客服也基本死了)
Accenture $ACN
Infosys $INFY
Wipro $WIT
Cognizant $CTSH
EPAM $EPAM
Globant $GLOB
Concentrix $CNXC
Teleperformance $TEP.PA
Ashfff retweeted
如何成为AI Agent工程师?面试前你必须掌握的6大核心概念是什么?
Agent形态千千万,但从我入门到现在研究了很多Agent后,发现Agent核心正如“三元同学”所说就6个,掌握了这6个,你就打开了学习AI Agent的大门,其他的概念就一通百通了。
这6个概念是:
1.Agent Loop
2.Tool Systems
3.Context Engineering
4.Memory
5.Multi Agents
6.Harness Engineering
这6个概念看似难懂,但作为一个从对这些懵懂,到能交付生产级Agent的“学生”来说,看“三元同学”的公众号文章,辅助AI询问,进一步可以系统学习她的课程。1个月即可掌握这些概念,在开源项目基础上定制自己需要的Agent。
如果大家对AI Agent感兴趣,可以在公众号上关注“三元同学”,下面附一些我感觉不错的文章:
1.mp.weixin.qq.com/s/h5QyZ07……
2. mp.weixin.qq.com/s/ViQU8mCuL……
3. mp.weixin.qq.com/s/N1WgUN8dd……
对AI感兴趣的朋友可以多交流交流。
杀戮尖塔输入是明确的,规则是模糊的(需要经验/不可枚举)。和 jev 适合的情况正好相反。
回复一下评论区的问题
- 游戏状态怎么读?
其实没有让 Jev 看截图,也没有用 OCR。我们用了 STS2MCP 这个 C# Mod,直接从游戏内部读取手牌、费用、血量、敌人意图、遗物等数据,整理成 JSON,通过本机 HTTP 接口交给 Python 控制程序。传给模型的是结构化数据,保证 Jev 能够回应
- 怎么让 Jev 操作?
Python 把当前局面和合法动作列表发给 TypeSafe 的 Jev API,比如“打出第几张牌、攻击哪个敌人、使用药水或结束回合”。Jev 返回结构化选择,Mod 校验状态后立即执行,结算完再读取下一步。整个循环由程序连续运行,Codex/Kimi 只负责搭建和处理异常,不参与逐张牌决策。
- 消耗如何?
玩了大概 20 分钟,只花了$0.0422,但是 codex 的 token 消耗高得吓人,后续换成 kimi 了
- 效果如何?
很一般,感觉它没有足够的信息做出决策,或者说它根本不了解这个游戏
Ashfff retweeted
hype-free explanation of jev:
jev does not replace gpt / claude
jev is just a *really* smart switch statement
like if 2016 ml classifiers got 2026 levels of intelligence
it's a new* type of tool that will make a lot of workloads insanely fast, cheap, and accurate
* = and by new, i mean rebranded
~~~
it needs a predefined set of options and it will tell you which one to take
it cannot:
- write code
- generate natural language
- reason step by step / show its work
- produce any output you didn't define in advance
- pick from more than ~255 options in one shot
but it can:
- classify, route, score, rank
- give confidence
- pick the right branch, tool, model, or sub-agent
- judge / verify / guardrail an llm's output
- label tons and tons of rows
~~~
i'd imagine a lot of workflows that look like:
llm proposes options → jev decides → code executes
and i see this fitting *really* well with code mode and mcp
~~~
implying this will lead to agi seems incredibly far fetched to me, but i don't want to discount the types of applications that this will make possible
After co-inventing ChatGPT, I kept asking myself: why have superhuman chat models not led to AGI?
I’ve spent the last 2 years in stealth building a new way to train models (RLCD), and a new type of frontier AI model that we are releasing today: Jev
• 20-200x faster
• 40-400x cheaper (w/ output tokens free)
• Frontier composable intelligence optimized for decisions
AFAICT the shortest path to AI-based economic revolution
AI 做感知,代码做逻辑
After co-inventing ChatGPT, I kept asking myself: why have superhuman chat models not led to AGI?
I’ve spent the last 2 years in stealth building a new way to train models (RLCD), and a new type of frontier AI model that we are releasing today: Jev
• 20-200x faster
• 40-400x cheaper (w/ output tokens free)
• Frontier composable intelligence optimized for decisions
AFAICT the shortest path to AI-based economic revolution
Gergely Orosz 观察到的几个软件行业趋势:
1. IDE 的衰亡
像 VSCode 或者 IntelliJ 这样的 IDE 的使用频率越来越低了
2. 不再追求 Token 最大化
以前很多公司内部会有 Token 消耗的排行榜,看谁用的 Token 多,越多越光荣,现在不追求这个指标了。
3. 代码审查(Code reviews)名存实亡
现在 AI 生成的代码多到没办法审查了
4. 用开源模型可以大幅节约成本
现在开源模型的能力也不输商业模型了,不仅可以节约成本,还可以避免数据安全问题。
5. 中层管理正在大幅减少
6. 工作比以前更累了
本来以为有 AI 能帮我们干活,结果有了 AI 要干更多的活
7. 招优秀的人还是很难
除非是顶尖的 AI 实验室,招优秀的工程师还是很难。
I trained a small model to do syntax highlighting in the browser with GPU.
Meet gpu-lexer from Vercel Labs: Small (27.5KB), fast (runs on WebGPU), and language-agnostic (model guesses the syntax).
gpu-lexer.vercel.app
It is experimental and built for learning!
A sandbox, a function, a build, a server. They're all expressions of the same underlying compute infrastructure on Vercel.
Fluid Compute is one system that creates the machine your workload needs, on demand.
vercel.com/blog/fluid-comput…
Ashfff retweeted
I rebuilt an older Vercel book search demo with Next.js 16.3 Instant Navigations: next-books.dev
Instant Navigations lets server-rendered routes respond immediately when you click, even on a throttled connection:
𝚌𝚘𝚗𝚜𝚝 𝚗𝚎𝚡𝚝𝙲𝚘𝚗𝚏𝚒𝚐 = {
𝚌𝚊𝚌𝚑𝚎𝙲𝚘𝚖𝚙𝚘𝚗𝚎𝚗𝚝𝚜: 𝚝𝚛𝚞𝚎,
𝚙𝚊𝚛𝚝𝚒𝚊𝚕𝙿𝚛𝚎𝚏𝚎𝚝𝚌𝚑𝚒𝚗𝚐: 𝚝𝚛𝚞𝚎
};
Cache Components prerenders static, cached, and fallback UI. Partial Prefetching brings that reusable route UI to the browser before navigation.
Add 𝚙𝚛𝚎𝚏𝚎𝚝𝚌𝚑={𝚝𝚛𝚞𝚎} when a link should also resolve its URL-dependent content before the click. Anything still missing loads on the server and streams into its Suspense boundary.
The filters use 𝚞𝚜𝚎𝚃𝚛𝚊𝚗𝚜𝚒𝚝𝚒𝚘𝚗 to fade the catalog while the server updates and 𝚞𝚜𝚎𝙾𝚙𝚝𝚒𝚖𝚒𝚜𝚝𝚒𝚌 to apply the next filter values immediately.
Rebuilding the demo also improved initial loading. First Contentful Paint was 44% faster and Largest Contentful Paint was 33% faster than the original.
See the source and learn more below ↓
Ashfff retweeted
I'm happy to say that use-fs.com 2.0 has been released with brand new OPFS support. If you're building browser-based apps that heavily interact with the file-system this package is a must to have in your package.json!
A React hook that watches a directory and re-renders when a file is added, changed, or deleted. Point it at a folder the user picked and you're reading and writing their real files — no uploads, no endless file dialogs
New in 2.0: it watches the origin private file system too. No picker, no permission prompt, no user gesture — and, unlike File System API, it works in Safari and Firefox 😊
What's OPFS? A file store the browser gives each origin — real directories and files, but readable only by your own site through the File System API, never by the user's file manager or other apps.
Ashfff retweeted
Our philosophy on extending 𝚏𝚡: open protocols.
∙ MCP (modelcontextprotocol.io)
∙ Skills (agentskills.io)
∙ Plugins (agent-plugins.org)
And the best one, Unix:
① Small programs that do one thing well and compose by calling other programs.
② 𝚕𝚒𝚋𝚏𝚡 that enables embeddability into more complex programs. You should be able to build your own CLI, background agent, software factory. Local or cloud.






























