註冊並分享邀請連結,可獲得影片播放與邀請獎勵。

Gangqiang Yao
@yaogangqiang
Pi Agent contributor 做过几个没有赚钱的 AI 产品,正在做新的。 记录一些 Agent / harness / context 的一手工程与产品笔记。
401 正在關注    2.3K 粉絲
接着上一条,简单补充下测试跑得慢、CI 资源消耗大的问题。评论里不少朋友问到了, @yetone 也提到了。Vibe coding 时,代码产出快了,这个问题就更明显了。 我负责的研发团队,一天上线 50 次,一天至少要跑 300 轮测试。在测试写对的基础上,怎么跑得更快、更省,可以尝试从这几个地方处理。 做精准测试(Vitest 自带的比较糙,效果有限)。记录每个测试实际经过的代码,源码变更后,就能反查大概会影响哪些测试。可以做到文件级,也可以做到函数级,我个人选择文件级。 函数级能少跑一些测试,但采集、分析和维护依赖成本也不低。文件级会多选一些测试,不过实现更简单,我更看重整体能省多少时间。当然配置、依赖、初始化这些变化要单独处理。 此外还可以做测试分级。 前面按 BDD 的方式描述业务场景,到这里就比较容易分清哪些是核心业务路径(写好测试是一切的基础哈)。高频 CI 跑核心路径、新增和修改的测试。其余测试,有代码变更就每小时集中跑一轮。 这样做,部分非核心问题可能会晚一点被发现,能接受多长时间,要看自己的业务。 还有个容易忽略的地方是 runner。不同测试集对 CPU、内存、IO 的需求不一样,要看机器的实际负载,分配合适的机器,控制好并发度。并发开大了,不一定更快。 我们也用了本地 runner,在自己配置好的机器上跑。在我们的使用场景里,成本比 GitHub 托管 runner 低不少。 好了,测试相关的分享先告一段落,希望有一点点帮助。接下来会逐步聊聊,为什么只靠测试还不足以保证软件质量,以及 AI 写的代码该怎么 review、重点看什么。 两篇精准测试的论文放评论区,感兴趣可以看看
顯示更多
0
19
225
28
轉發到社區
上一条说,只靠测试不能保证软件质量。这条先聊也应该怎么写测试,因为这是基础。下次聊关键设计,以及 review 应该看什么。 针对业务项目,我的理解大概是这么几条: 1 测试行为,不测试实现。比如重复下单不会重复扣款,而不是某个方法调用了几次。业务没变,重构一下测试就碎一地,那多半写错了。AI 特别容易写这种测试。 2 用 BDD,先写验收场景,再写代码。测试描述统一用 user 开头,用 Given / When / Then 描述,用户和 PM 也能看懂。别让 AI 写完代码,再照着自己的实现证明自己没错。 3 禁止 mock。Redis、PostgreSQL 能用真的就用真的,外部系统不好接就注入 fake,但要校验它和真实系统的契约。时间逻辑用 fake timer,别 sleep 几秒再祈祷。AI 真的太喜欢随手 mock 了。 4 我倾向大部分写 E2E,从用户入口走到可见结果,外部依赖可以 fake,实在不合适再写其他测试。测试多了就分级,按改动和依赖关系精准测试,定期完整跑。别改两行代码,等 CI 半天。 5 前面做好了,再看分支覆盖率,先定个 90%。但重点是剩下的为什么没测,尤其是失败路径,别让 AI 为了凑数字再写一堆垃圾测试。 6 前边的规则尽量都写成 lint
顯示更多
0
19
317
51
轉發到社區
同样使用 DeepSeek V4.1 Flash,只换了 DSH 版本:总 Token 多了 2.4%,费用却少了 36.6%。核心是多轮对话动态变更 System Prompt 不再导致 cache 失效。 之前一个多轮会话,中间变更了 system prompt 之后,前缀 cache 就会失效,从而花费较多。现在最新版的 DSH 配合模型,能做到多轮会话中间更新 system prompt 之后,cache 照样能命中,从而降低了花费。 我拿真实旧/新版 Harness,在 5 个固定场景里做了 20 组对比,每组都是相同的六轮任务。新版本缓存命中率从 0% 升到 88.3%; 完整会话的非缓存输入减少了 56.8%; 新版保留了已有请求前缀,让更多输入命中了缓存。 当然 codex 已经有了类似的功能,Deepseek 逐渐赶上了,无论是模型还是 Harness。 具体实验过程在评论。
顯示更多
0
11
37
3
轉發到社區
我基于 Pi 开发业务产品,也是 contributor。这篇分享有多处错误,张冠李戴。 一个自动关闭、没有经过 human review 的社区 PR,被包装成了「Pi 官方方案」;PR 自行报告的 benchmark,也被写成了 Pi 的官方结论。 Session Tree、Lane 和 Operation Log 的架构描述来源自于 Harness v2 旧设计,不是当前 dev 的最新方案。 「DSH 会永久丢失原始结果」,是社区 PR 对 DSH pruner 的评价,不是「Pi 官方表示」。 传播这么广,可能是因为同时抓住了 Coding Agent、Pi,DeepSeek、Claude Code 热点。毕竟,「爆了」比「事实」更吸引眼球。 也许更值得警惕的是,评论区看不到有人核查原始来源和这些结论。
顯示更多
0
69
237
16
轉發到社區