Tefnut L
247 posts

Tefnut L me-retweet

AI Coding 时代,好的编程习惯仍然重要
最近做一个 Agent benchmark,发现不能简单地用开发者视角来评估一个编程任务对 AI 的复杂度。
比如一个重构任务:把一个几千行的大文件,按功能拆成十多个小模块。
这个任务对开发者来说其实不算难,主要工作就是移动代码、整理 imports、编译验证,新手也能搞定。
所以想着用一个简单的任务来做一下 benchmark,结果却出乎意料。
Claude Code 判断这个任务比较大,尝试拆了一部分,提了个 PR 写了 Future work 打算分步来。
我自己的 Agent 是“硬上”,往完整拆分的方向推进了更多,但代价也很明显:Token 消耗是 Claude 的几十倍,后面大量时间都花在反复读文件、修编译错误、再读文件、再修错误上。
这让我意识到,人觉得简单的任务,对 Agent 不一定简单。
对人来说,这类重构很多时候就是“把这一段挪过去”。但对 Agent 来说,它要先分批读大文件,记住哪些函数和哪些测试有关,再生成一堆跨文件修改,最后通过编译错误一点点补洞。看起来像机械活,实际变成了一个高 Token、高状态管理成本的任务。
前一段时间看到有人说,AI Coding 时代,拆分模块这些编程原则没那么重要了,反正人也不看代码。现在看,我不太同意。模块边界清楚、文件粒度合适、依赖关系简单,不只是方便人读,也是在帮 Agent 降低任务复杂度。
从另一个角度看,现在 Agent 的读文件和改文件工具,对这种重构也不太顺手。
Coding Agent 改文件,主要还是文本替换。比如 Claude Code 常见的是 old_string / new_string 模式:先给出一段旧文本,再替换成新文本。Codex 常用的是 apply_patch:生成一个类似 git diff 的 patch,表达把旧的内容替换成新的。它们都适合小范围修改,但如果要删除一大段旧代码,或者把一批函数挪到别的文件,模型往往还是要先把原始内容读进上下文,再生成一大段替换或 diff。
所以我后来给 Agent 一个提示,让它先用脚本、sed、perl 这类工具把大文件粗拆开,直接把旧内容删掉,写到新文件中,然后再逐个慢慢修,它的完成度确实高了许多。Agent 默认不会这样做,主要是因为系统提示词里会强烈要求 Agent 用内置工具修改文件,而不是命令行工具。
再往前想一步,Coding Agent 可能还需要更高级的编辑工具。不是只给它一个“替换文本”的接口,而是先通过 parser、LSP 或 compiler 建立代码结构,让 Agent 可以像 IDE 一样做重构:移动函数,删除 impl block,整理 imports。不知道是否有朋友做这方面的尝试。
总的来说,即便是 AI Coding 时代,好的编程习惯还是有价值的。尽量在早期通过 harness engineering,把好的编程习惯变成 Agent 的默认工作方式,比后来再重构的成本要小很多。
中文

bye bye
GitHub@github
Starting June 1st, GitHub Copilot will move to a usage-based billing model as GitHub Copilot supports more agentic and advanced workflows. In early May, you'll see a preview bill experience, giving visibility into projected costs before the transition. 👉 Read more about the upcoming change: github.blog/news-insights/…
HT
Tefnut L me-retweet

学习了,非常好的经验分享,大家应该遇到过开了虚拟网卡模式之后,微信发不了图的情况~
雨哥向前冲@xiangxiang103
如果你的魔法开启了tun模式,微信发图片很慢,可以在你的订阅里加几条这样的前置规则,如果不会自己添加就丢给你的ai让他处理。规则推特好像发不出来,大家用工具或者ai提取吧!
中文
Tefnut L me-retweet

Launching pyptx — a Python DSL for writing NVIDIA PTX kernels.
One PTX instruction = one Python call. Write pure PTX in Python.
Direct Hopper + Blackwell support: wgmma, TMA, tcgen05, mbarriers. JAX + PyTorch integration.
Includes GEMM, grouped GEMM, RMSNorm, SwiGLU, and a PTX→Python transpiler
pip install pyptx[torch]
pip install pyptx[jax]
github.com/patrick-toulme…
English
Tefnut L me-retweet

@lidangzzz 这是好事啊
如果大家都不买房
工行贷款业务怎么来?
没贷款业务,工行哪来的每年4%的高分红?
这背后是多少家庭30年月供出来的
中文

Zed 也出 conductor like 的项目了
- 基于 acp 能连一切 agent
- 一如既往的 gpui 120 fps 顺滑
我要试试!
zed.dev/blog/parallel-…
我最近搞得 con 的核心就是 zed 团队的 GPUI + libghostty 🫡

中文




















