我推荐所有刷到这条视频的人都去给我了解一下 web coding, 我 只能说新时代以来现在就是风口,如果大家不去了解这个东西的话,很可能就像当年的互联网风口一样,你抓不着 就错过了。 bb note 是 我花三个月时间用 web coding 生产出来的产品,在此之前我是一个一点代码都不知道的一个人, 那么我是通过询问 ai 和 webcoloring, 从零到一造出了一个可以登录到 app store 的 一个产品,然后现在有这么多人在使用,所以说大家一定要去抓紧抓紧了解一下 webcoloring 之后我也会在我的这个频道里面分享一些我自己的 webcoloring 经验,一定要一定要抓紧了解。
粉丝1.8万获赞51.3万

最近 ai 领域有一个非常热闹的话题, vibe coding 体验最差的语言到底是谁? type script 和 python 到底谁才是最适合 agent 开发的工具?首先问大家一个问题,试想一下,如果你作为管理者或者老板,你的面前有两个员工,你对 a 员工说,现在通过这十种工具来完成你的工作。你对 b 员工说,把这件事搞定,别超预算,别违规。 那么问题来了,谁更像一个聪明的人,而你更愿意把任务交给谁?这个问题的答案就是 agent 的 工具发展的分水岭。 现在各种五花八门的 agent 工具给我的感觉就好比你在一九五零年代用造马车的工艺去设计今天的汽车。 这是我最近在构建我自己的 scream code 的 时候冒出的念头。现在的 agent 工具的发展开始趋于畸形,这不是选择什么语言导致的, 而是当大家在设计 agent 的 工具时,为了让 agent 发挥出想要的结果,往往会给他增加很多机制与约束。当我开始发现 agent 开始能调用大模型达成我的需求时,我很开心。但随之而来的一个问题也开始出现,如果在我的约束下,我的 agent 完成了我下达的需求,那本质上不是利用大模型的创造力, 而是基于工程师们的认知所创造的高阶辅助工具而已。那么我们是否可以理解为,在 ai 大 模型越来越聪明的时代,设计的越精密的 agent 工具,也许是在扼杀大模型的创造力。现在很多 ai 工具的主流做法大部分是通过约束和各种状态及偷斗以及接口,说明 ai 解决一个问题的难易度随工具数量限性增长。如果说有另一种机制,一种放手机制,尝试只给一个目标加安全边界,他自己决定怎么达成。 token 集中在高价值推理上 是否更合理?站在 token 消耗的角度,你可能会说,与其让 ai 自行探索,倒不如约束工具,这样能降低消耗。但如果 token 本身也是一种约束呢? 与其争论哪种语言更适合去 web coding, 不 如去思考 agent 如何激发更棒的机制。我们精心设计的工具链条可能在下一次模型迭代中直接被解决。如果说人工智能发展的终极目标是 a d m, 那 么所有的 ai 工具届时都会被彻底淘汰。我们现在用 type script, 用 python, 用 rust, 层层约束 ai, 是 不是正确的呢?我个人的看法是,放手不等于不管告诉你的 agent 做什么和不能做什么,而不是怎么做。 全线配额文件隔离,用状态机焊死子, agent 之间只交换必要数据,坚决不污染干涉,而且上下文一定要执行物理清理。以上的观点是来自于我在构建 scream code 时的构想。 我们是否在用工程惯性代替产品?思考 agent 框架的进化方向不是哪些唯一的语言,也不应该是更复杂的类型系统,而应该是更聪明的放手。也许在未来模型越来越强的明天,你越想强行约束它,它反而越笨。也许学会克制,学会松绑,才能让硅基智能真正释放。

经常在 coding 的 朋友们一定发现了这个问题,自从 open ai 发布了 g t 五点五模型之后, codex 的 额度消耗的非常快。之前我在用五点四模型的时候,额度好像永远都用不完,经过五点五更新之后,发现刚恢复了五个小时的额度之后,紧接着又被周额度限制住了。 我相信有很多朋友被这个问题所困扰,今天我们就用一条视频来解决这个问题。 hello, 大家好,我是南希,之前在快手做过测的运营银行代码都不懂的纯小白,我的视频都是从纯小白的视角来分享 web coding 的。 要知道 web coding 最怕的就是被中途打断思路,刚捋顺任务,刚推进了一点,但是额度却没了。那么应该怎么解决这个问题 呢?我发现其实我是没有用对模型的,我平时在用 codex 的 时候,会把五点五默认当成产品经理、前端、后端等多个角色,不管是写 p r d, 写功能啊,改页面、修 bug, 还是补文档调样式,全部都让它来做。但是五点五不应该用来干杂活,它最强大的能力在于做规划和做判断, 比如说这个需求到底该怎么拆?这一段代码为什么总修不好?按照现在这个框架,代码后面会不会越写越乱?这次改动有没有潜在的风险?这条路线值不值得继续做? 说白了,五点五更适合做的是大脑应该做的事情,而不是简单的执行。那大量执行的事情应该交给谁来做呢?我现在的分工是,五点五负责判断、拆解,负责做关键的工作,五点四迷你 打杂,第三负责做质检,比如说正常的写功能,接接口,改前后端的逻辑,我会交给五点四,比如说像修改文案,调样式,补测试数据整理 redmi 这种小事,我就交给五点四 mini, 最后再让五点三来过一遍,看看有没有明显的风险遗漏或者是低级的问题。这样一套下来,我发现基本不会被额度限制。 如果你觉得今天的内容对你有帮助的话,可以点个关注收藏赞我。下一条内容可以直接继续讲。我现在具体怎么分配五点五、五点四迷你和审查模型的来搭一套日常的考勤工作流。

今天给大家说一种方法,能让你以最快的速度体验到网上天天都在捧吹的 cloud code 格式等编程工具,让你也能以最快的速度成为 webc 定大神。 我们就直接用腾讯出的马维斯去官网下载,下载好了之后就直接让他来帮你下载,省去很多的命令行,全部都让他来做,你自己什么都不要动。 除此之外,像什么下载 github 上的项目呀,整理桌面呀啊,卸载什么你一直卸载不掉的那个三六零,清理 c 盘,解压文件啊等等之类的这些繁琐的操作全部都可以交给它来执行,你自己完全不需要动任何手,任何脑子,直接让它来做就可以了。 更重要的是,现在马维斯每天都有一千万的 token, 我 说实话,就我用了一下午,一直在让他做任务,才用了五百多万,将近六百万。这一千万对于我们普通人来说根本用不完,你就疯狂用上。 我的感受是他的出现让 ai 离我们普通人又更近了一大步,从此这世上再无电脑小白。

open code 现在终于不卡了,这个最新的版本,它把那个之前我说的问题都给修复掉了,现在就是你点击的话切换也是非常的丝滑,给大家点下,现在已经好用多了。这个为什么我要用它呢?是因为这个 deepsea v 四呀,它是那个一个新的模型,它需要带那个上下文去访问这个辅 服务器。但是呢,这种像科室啊,还有什么别的插件啊,它不支持这个 deepsea v 四的协议,就导致你需要在这个科室和 deepsea v 四之间里做一个代理。当然这个 github 上面有这样的代理软件已经人家已经做好了 的,但是我实在是懒得折腾,所以说我还是喜欢用这个 open code, 然后挂这个 v 四 pro 啊。今天主要是跟大家说一下这个 open code, 如果说以前有大家用过,就是界面挺流畅的。

一个团队用 web coding 很 快做出了一个百万级社交系统 demo, 跑得很顺。结果一上线,通知开始变慢,首页开始变卡,有人能收到,有人收不到, 你第一反应可能会是,是不是团队水平不行?还真不一定。因为这类问题很多时候不是低级 bug, 而是 ai coding 项目特别容易踩的一个坑。功能链路跑通了,但规模链路根本没验证, 就是这个系统在小规模下能工作,不代表他在真正有人用,真正有流量冲上来的时候还扛得住。 我们先把需求说的简单一点,用户可以关注别人,用户可以发动态,粉丝能收到通知,打开首页还能刷到关注的人发了什么? 很多人拿到这个需求,第一反应都差不多。这不难,有人发一条动态,系统先把他的粉丝都找出来,然后给每个粉丝写一条 feed, 或者写一条通知,如果这个粉丝正在线,就再通过 web socket 实时推过去。 这个思路蠢吗?不蠢。恰恰相反,他在小规模下甚至挺合理,因为数据提前写好了,用户一打开首页,看到的内容会很快,在线用户也能第一时间收到提醒。 比如一个普通用户只有五十个粉丝,他发一条动态也就是五十次 feed 或通知处理,如果再加一点实时推送,服务器通常也没什么压力。所以单某阶段,他很容易显得完全没问题。 问题就出在,你设计的是一个普通用户发帖,可线上真正发生的未必是这个场景。如果发帖的不是普通用户,而是一个大 v 呢?五十个粉丝的时候,这就已经不是一条动态了, 它在系统里更像是一次瞬间扩散的连锁事件。因为同样一条内容,可能一下子就要触发五十万级别的 fad 或通知处理。如果其中还有大量在线用户,还会继续触发实时推送。 这个时候数据库写入会开始飙升,消息队列会开始堆积, website 推送会开始延迟。最后用户看到的结果就是最熟悉的那几种,通知慢了,首页卡了,有人收到了,有人一直收不到。 所以系统很多时候不是被总用户数直接打爆的,而是被一个事件会一下子波及多少对象打爆的。 这件事架构里有个名字叫 fanout 删除,你可以把它理解成一个事件发出去到底会炸到多少下游。 刚才那个最直觉的方案,本质上就是一种 push。 fanout 也可以叫写入时删除,意思是内容一发出来,系统立刻开干,立刻把它分发给所有粉丝。 它的优点非常直接快,粉丝少的时候体验特别好,因为用户一打开 feed 基本已经准备好了。但它的缺点也同样直接,粉丝越多,写入越容易爆。那另一种思路呢?另一种思路叫 pull fanout 也可以叫读取时删除。 它不是用户一发内容,系统就立刻给所有粉丝分发,而是先把内容文文写进主存储, 等用户真正打开首页,系统再根据关注关系去拉这个用户关注的人最近发了什么,然后现场组装出 fit。 你 可以把它理解成 push, 是 把压力尽量前置到写入时。 push 的 好处是读得快, push 的 好处是写得稳,但这里最重要的一点是, push 和 po 都不是标准答案,它们只是两种分配压力的工具。 真正应该先问的问题其实只有一个,这条事件的爆炸半径到底有多大?如果爆炸半径很小, push 可以 很好用。如果爆炸半径很大,你就不能还按小规模 demo 的 手感来设计。 所以,成熟系统真正看的不是一句小号 push 大 号噗,那样记还是太粗。他更关心的是,这个作者到底有多少粉丝,现在有多少粉丝在线?这条内容是不是必须强实时?还有,当前系统本身是不是已经很忙了? 这些条件不一样,分发策略就不该一样。这也是 web coding 最容易让人误判的地方。不是因为 ai 写不出代码,而是它特别擅长帮你把最直觉、最顺手、最像 demo 的 方案快速实现出来, 但它不会自动追着你问。如果这个作者有五十万粉丝怎么办?如果十个大 v 同时发帖怎么办?如果 web socket 断了怎么办?如果消息队列已经堆住了怎么办?如果系统压力上来了,哪些用户可以稍微晚一点收到 这些问题?如果你不主动问,代码本身通常也不会提醒你,他只会在上线之后用延迟、堆积、丢消息甚至崩溃来提醒你。所以这一期你先记住一句话, demo 能跑只说明功能链路成立,但高病发系统真正要验证的是规模链路能不能扛 下一期我们继续拆。为什么成熟通知系统往往不是直接把完整内容推给所有人,而是先推一个更轻的信号,告诉你有新东西了,你自己来拉。

我不得不说,这玩意绝对比打游戏好玩多了。你在这种创造的过程中的快感,蜂蜜多半远远大于游戏。好吧,根本停不下来。

ok, 那 上一期聊了多部门的写作,这一期我们来聊一下如何在这个框架之下让 agent 更高效的去工作。 那很多人的 agent 应该最开始都是处于一个慢卡停的状态,就是说首先我问他一个问题,他要很久才能告诉我,其次呢,他只能慢慢吞吞的把这个工作给做完。最后呢,就是他经常会停下来来问我要一些判断,比如说我们应该走 a 还是走 b, 我们最后任务的完成度就会比较低,所以今天主要是想来解决这几个问题。首先我们先来看一下这个同步 vs 一 步, 那目前呢,如果说你有一个 a 证,他默认的情况就是当你问他一个问题之后,他会开始进行这方面的工作,他做完了之后呢,会回来告诉你,然后你才可以问下一个问题,如果你提前问了呢,他就会打断最开始的那问题,就导致你最后的产出不好。 那如果你的任务比较重的话,可能你需要等三十分钟,那这三十分钟之间呢?呃,你就没有任何可操作的空间。所以为了防止这件事情的发生呢,我们就需要把同步处理给改成异步处理。那我现在自己处理的逻辑是这样子的, 我把一个任务交给我的这个 personal assistant, 之后呢,我会让 personal assistant 把所有的东西直接写到这个 com 里面, 然后呢他就应该回来了,他就应该跟我说这个东西已经被记录下来,具体这个任务的执行呢,都是由后台部门去做的,这样就可以保证说我的助理本身最多可能也就只有一分钟的时间是在处理这个事情的,其余时间他还是在听我的这个任务,然后可以帮我去记录不同的东西。 为了保证这一套东西的一步实现呢,我其实是做了三层的这个 illustrator。 第一层是在这个文档规则里面的,我是写在了这个 skill 点 m d 里面,我告诉他谁是这个 illustrator 这个角色。然后我就在这里面写了说, 呃,不要去实际的执行这个工作,你只需要把这个东西写到这个 com 棒里面就可以了。 然后第二层呢,我是在这个 prompt 的 时候注入了,也就是当你启动了这个 orchestra 模式的 agent 的 时候,你就会在这个,呃 system prompt 里面加上这一段话。 呃,你只需要在 com 里面写上你的 task, 你 的任务就结束了,之后的东西就交给别的 agent 去完成就可以了。最后呢,是我有一个工具的白名单,这个就是在 harness level, 我 定义了说,你如果是我的 pa coordination, uh coordinator, 你 就只能用以下这一些的 tools。 那 么这些 tools 呢,其实只分了两类, 第一种是可以去读取一些相关的信息,因为有时候如果我问我的私人助理说,哎,我们现在公司状态怎么样啊?哪些数据怎么样?这个时候我是不,我是不希望你把这个任务交给别人之后就回来说,哎,这个任务我已经完成了,我希望你给我一个确切的答案。 所以关于一些读的东西呢,我依旧会给他一些权限,让他去做。但是关于任何要写的东西,比如说你去做一个 怎么样类的工具,那这种工具呢?他就没有办法实际去写,因为他自己的错会限制他说我不能去做这样子的事情,我只能把这个写到这个看板上,然后就没有了。 这是第一步啊,通过同步和异步的方式,让我们可以更好地去跟我们的 agent 交流,把所有的任务都交给他们。那第二个问题呢,就是 agent 的 并发,我们之前在用命令行的时候呢,如果我们用命令行加 ghosty, 就可以非常简单地开启多个窗口,然后再同时使用多个 agent 去帮我们做很多的事情。那现在因为可能微信呃或者一些别的工具成了我们的唯一入口默认呢,我们就只有一个 agent 了,这个怎么处理呢?其实如果你看了我上一期的 呃 hermes combo 的 这个多部门写作呢,这一步你就不需要做任何事情了,因为 combo 直接帮你完成了这整一个多 agent 并发这件事情。 呃, combo 呢,就是决定了说你会把这个东西写到看板之后,你就结束了,然后每六十秒钟 get away, 就 会有一个定时任务,去看有哪些东西 是可以在当前背去执行的,它就会起新的 o s 进程去帮我们自动完成这件事情。所以通过用这个 hermes combo 的 这个方式呢,其实我们已经完成了这个 agent 的 并发症,也让我们的 agent 呢更加高效了。

大家现在用 ai 写代码的时候,是否上来一同描述?看着 ai 哐哐输入密密麻麻的代码,自信满满且兴奋的想要测一把,但结果 反倒需要人工过来帮他收拾摊子,毕竟我们理想中的样子是躺着看他干活吗? ok 啊各位,那我们上干货啊!如果你受够了给 ai 当保姆,那就是让 ai 给你当团队。今天给大家演示一个借助 ai 来快速搭建一个点评项目啊。 演示的工具呢,是使用的是非算的 java ai, 非算 java ai 的 智能体模式的全流程工程化输出,就能很好解决给 ai 擦 pig 的 问题啊。我们话不多说,演示一下,在 id 二的插件市场里去搜 java ai, 然后就可以看到这个插件我已经安装过了,所以说 install, 然后这边一安装应用就 ok 了,然后在你的右边就会出现这个窗口了。接下来我们就开始吧,让我们大胆向 ai 提需求啊。 输入完你的需求后一个回车,接下来我们就可以看到它结构化的输出,它从你的输入去尝试理解需求,然后去帮你分析你需要去完成哪些东西。然后我们点击下一步到设计接口去实现这些功能,它可能会涉及哪些相关的业务接口, 以及底层支撑它的数据结构,它的表格式, sim 设,再到这些接口具体的业务逻辑含义,它需要和你对齐,以避免它出现一个开发商的一个偏差。大家可以看它根据我的需求生成了用户账户信息以及商家入住、审核查询等等等这些功能来实现我对他提的需求。 最后一步呢,就是实现功能,点击开启生成,他就开始对你的需求进行编码了。大家可以看到,从你提需求到他可以去理解需求设计接口,再到表结构的设计,他每个环节都是支持你自定义的去编辑的,这样也就避免你的需求实现出现了偏差。这边你还可以看到他你需求完成实时的一个进度, 重点是 java ai 深度集成了企业级专用模型,生成代码质量非常高。你看 ctrl 了的这个接口分层,再到 dto 的 一些实体定义以及封装各种各样的工具类,非常符合企业标准,真的是我们程序员大大的福音。而且它不止这些功能非算 java ai, 其实还对 java 项目做了深度优化,它不仅仅只能帮你写需求,它可以帮你做一些比如你看 sql 的 chat, 去帮你写一些 sql 脚本, 以及还有各种开箱即用的这种工具反应的单元测试,还有各种拉起来项目之后的一些依赖的修复,这都是开箱即用,运行即可使用。这次升级它的智能体模式,从流程去弄到自主协通。像我们刚实验这个需求,它核心就是把复杂的问题变成清晰可控的流水线,各 个子专家 a 阵的各司其职,当然你得用过才知道嘛,所以非常推荐大家使用一下,然后完成自己各种各样的需求。 ok, 那 今天分享就到这里,希望大家有所收获,然后可以用 webcoding 玩的六六六六,下次再见吧,拜拜!

别再听网上那个,人家说那个一个小时,然后完扣顶就把那个所有的产品做出来了,是不可能的。 实际我用实际情况来告诉大家,我不前段时间不是做了一个小程序吗?然后总共耗时一个月时间,然后用用了将近十个 tf 免费版的、免费国际版的账号才把它给做出来。 就是并不是说大家说一个小时,我一个小时做出来的东西,什么就是一个 demo, 就是 一个可以看的 demo, 你 不要前端做出来的,那你后端逻辑都要实现呀?你整套的逻辑,支付逻辑,那你做一个小程序是不是要对接支付?你对接完支付你是不是要上架小程序?上架小程序的话是不是要审核? 那审核你肯定做的东西有一些不符合人家审核人员的要求的,那肯定要被驳回吧?这就花费很多时间,然后要小程序要认证, 然后又要域名认证,然后又要 ssl 证书申请,然后要服务器部署,然后运维,他怎么可能说一个小时就把东西给做出来呢?东西一个小时做出来,东西只能是 demo, 只能这样跟大家说。

今天这条视频送给所有想用 web coding 做产品的普通人,不敢说这五个坑,百分之九十的人都踩过。最近 web coding 火出圈了,很多人觉着有了 ai 就 能分分钟做一个 app。 今天我以一个十年程序员的经验帮你避坑。一、把 ai 当做神仙。很多人一上来就给 ai 一 句,给我写一个像淘宝一样的 app。 ai 不 会读心术,它只是你的执行外包,你的需求越模糊,它写出的东西越像一坨屎山。所以,正确的做法是,先做一个最小的功能,把一个点做好,再谈其他宏伟的梦想。二,一口气想吃成个大胖子, 一上来就想把所有的功能全盘托出,指望 ai 一 次性生成完毕几千行甚至几万行的代码,结果往往是代码跑不起来,甚至 ai 自己都逻辑错乱了。正确的做法是, mvp 最小可精细化产品,有思维。先让 ai 帮你写一个只有输入框和按钮的极简版,跑通了之后呢,再加第二个功能,然后是第三个功能, web 是 跟着感觉走,但步子咱得一步步去迈。三、遇到报错就崩溃,代码跑不起来,满屏英文报错。很多非技术出身的朋友瞬间就慌了,觉得自己果然不是这块料,直接放弃。但是报错才是 web coding 的 精髓, 直接把屏幕上的报错信息全部复制,然后甩回给 ai, 跟他说报错了看着怎么修复, ai 会自己排查问题,并给出修改建议,不要害怕报错,把它当做跟 ai 对 话的筹码。第四,盲目复制粘贴,完全不看逻辑。很多人觉得,既然是 web coding, 就 不用看代码了, ai 给什么我就复制什么, 结果越改越乱,最后找不到最初能跑回的版本。正确的做法是,哪怕你不懂具体的语法,也要让 ai 给你加上中文注示。 你要做的是理解代码大概的股价和逻辑流向,记得随时做好版本控制,搞砸了还能一键撤回。第五,没有测试,直接发,普通人最容易激动。哎,我做好了,发朋友圈,然后评论第一条,兄弟,你这个打不开啊。正确的做法是,至少做三个测试,自己连用三天,然后找三个朋友体验,看他们卡在了哪一步。 百分之八十的问题根本不是代码,是流程。所以,普通人到底能不能做 web coding 产品呢?能,而且机会很大,因为它确实打破了技术壁垒。但不要总想着一步登天,你总得知道你要画什么,怎么一笔笔去画完,把你脑子里的想法说清楚,讲具体,这才是 ai 时代最值钱的生产力。

前两期我们聊了 playrite 和 master, 分 别是测网页端和移动端的工具,但是工具会用呢,不代表我们的产品就没有问题了。最终怎么去写我们的测试案例其实是一件非常重要的事情,我在一开始的时候就遇到了问题, 很多的测试都通过了,但是产品哪里都有问题,按键不能点,或者说整个链路是不通的。 那这一期呢,我就会分三个方向来和大家聊一下我自己在做测试中的一些心得,分别是怎么样去保证覆盖率够大,怎么样去保证我们的测试质量,以及怎么样去保证测试的稳定度。 先聊一下怎么样保证覆盖率够大这件事情呢,我是通过两个方面来解决的。第一呢,我会让 ai 去帮我读一遍我所有写的代码,然后呢把其中所有会和用户互动的组建全部都抓出来,比如说这个地方如果有个按钮,它就会把它抓出来,它会有一整个 list, 然后呢我会告诉他,所有这个 list 中的东西,你都需要保证覆盖在一个 playwrite test 或者一个 master test 中,保证每个样式都会被至少测试一遍。那除此之外呢,我还会让他去帮我们做一个截图, 做了截图之后呢,他会把所有看上去可点击的元素全部都给抓出来,然后同理对于这些元素呢,也会需要包含在最起码一个测试中,为什么需要这个截图员呢?其实有两个点, 第一,如果说你是按照严格的 test driven 的 方式去做的话,其实在写测试的时候你是没有代码的,那这个时候你只能靠你设计稿的截图。 第二呢,是我也遇到过一些比较奇怪的事情,有时候 ai 会帮你写一个前端的 ui, 这个 ui 呢就会有一些看上去可以点击的元素,但实际上在代码端它并没有被写成一个 button, 或者是写成一个可点击的组建。在这个情况下,如果我们按照代码源去覆盖呢,就会漏掉这个东西,然后用户体验就会非常差, 因为这个按键一看就是可以点击那种,但实际上点击了之后是没有任何效果的。这两步呢,可以帮我们找到所有我们需要被测试的组建,然后保证说我们的测试覆盖率是可以呃,照住所有的需要点击的东西。 那么到第二步,我们怎么样去保证这个测试的质量呢?这里呢,其实我总结了几个我自己常遇到的问题。第一个呢,就是很多时候,当我们的 playwrite 测试在找不到一个组建的时候,它就会默认通过,这其实是一件非常不好的事情。 在测试方面呢,我们其实可以接受这个 false alarm, 但是我们绝对不能让它偷偷地把这些错误的东西,错误的信息全部给吃掉。 那么第二个点呢,就是对于用户点击后发生的事,我们一定要保证去做一些 search。 我 之前有看到 ai 会写一些非常差的测试案例, 比如说他会说我们去点击一下这个元素,然后呢我们就等一会他就结束了。那这个时候呢,这个测试大概率是过的,但实际上他什么都没有验证,他并没有验证点击之后会发生什么,所以我们在给 ai 去写一个提示词的时候呢,就必须要告诉他, 你需要对所有你进行的操作都会进行一些 assertion, 要保证说我们会去测试这个结果。 第三个点呢,就是 ai 如果加了一些 fallback, 我 们一定要去看一下是什么情况,那比如说一个错误的方式,这里呢, ai 就 用了一个 try catch 的 方式,他先会去点击这个新的 button, 但如果他找不到这个新的 button 呢,他就会直接去找一个这个旧的 button。 这个情况下呢,测试大概率是过的,但实际上并没有任何的意义啊,因为我们本质上就是要去测试这个新的 button 可不可以点。所以这种 ai 加上 fallback 其实只是为了让你的测试去通过,而没有让你的测试本身更加的具有意义。 这种事情呢,我们其实也是要去避免的。在我们的 test principle 里面呢,一定要告诉 ai 尽量不要去加这一类的 fallback, 我 们的原则呢,是要抓出所有的问题,而不是让测试尽可能的去过。 第三呢,是怎么样去保证这个测试的稳定性?呃,测试的稳定性,首先第一个是一定要 reset 环境, 打卡小圣中呢,其实有一个漂流瓶的这么一个应用,那这个漂流瓶中呢,其实我会定一个上限,当你已经有三个漂流瓶,你就不能去发第四个了。所以我之前自己遇到的一个问题就是,我在测试的时候,我写了一个完整的 play right, 它一开始都是过的,但是当我后期去跑它的时候,它就持续的挂掉,原因并不是因为功能有问题,而是因为我已经有三个进行中发出的瓶子了。 所以呢,我写测试的时候,一定要告诉 ai, 在 每次测试之前都要帮我们去 reset 这个环境,保证说我们是从一个比较干净的状态开始,以防遇到这一类的问题。 那第二个点呢,是我自己在测试的时候,我会在双环境跑,一个是我自己本地的 local house。 第二个呢,就是我的测试环境,那 这种情况下呢,我们就需要让我们的测试去尽可能的灵活一些,所以对于一些 url 呢,不要完完全全的写死,还是要尽可能的根据我们的环境去做一些调配。 除此之外呢,还有一些别的原则总结,比如说啊,每个用户能点击的按钮,它同时需要有一个 playwrite test 和一个 master test, 然后我们要尽量的避免去只测一个独立页面,呃,尽可能的从入口一路走到目标页面,这样能保证我们去覆盖完整的链路。呃,测试呢,必须要基于真实互动。 那以上呢,就是一些我自己觉得可能会对大家有帮助的比较 general 的 test principle。 呃,当然大家在实际操作的过程中呢,一定是会加很多和自己项目有关的东西,比如像我的项目里面,我就会有很多一致性的检查,比如说每个居民 我们需要它的体验是一样的,那就会有很多的单居民的一致性检查,包括说网页端和我们的移动端也需要有一些一致性。 那么这些 project specific 的 项目测试呢?其实呃,大家就可以在后期慢慢地去微调,然后最终把你的一个测试框架做成一个适合你自己的框架,然后有一个比较好的 test principal 这么一个 markdown 的 文件。每次写测试之前呢,你就让 cloud 去读取这个文件, 就可以知道你的整一个平台的测试需要怎么样去写,慢慢的可能测试的案例就会呃,越来越好,越来越贴近你自己想要的东西。那今天就到这里,谢谢。

我现在讲一个最重要的 web coding 这个工作范式, web coding 这个东西,它不是某一个软件,它是一种工作的方法,一个流程,它权威的意思就是说你用自然语言说,然后 ai 写代码,你只管看结果,快速迭代。 我这几天就是靠这种工作范式,然后完成了一个我自己的一个黑暗森林模拟器的一个想法。如果说组一个团队的话,哈,自身团队,一个程序员做前端,一个程序员做后端,还有一个呃,搞美工,搞 ui 设计的,那他就需要一个两到三人的团队, 成本都在十多万以上。但现在 web coding 这个工作的范式,他让我花了十八块,我就把这种十几万的效果给做出来了, 这意味着什么呢?因为我用的方案,我用的方案是通过 vs code 的, 在里面安装了一个插件叫 local 的, 然后我在这个插件里面接入了一个呃, deepsea v 四 flash 的 模型,大模型,它很便宜,所以我用这个 webcode 点去做,去开发这个项目的时候,可以做到只十只花十八块钱啊。如果是接 cloud code 或者 codex 以及其他,它可能更贵,它可能还得翻十到二十倍,所以只有 deepsea v 四可以这么便宜啊,别的模型便宜不了,然后我用十八块就给它做了出来 方式。然后我的工作呢,就是设置两个 ai, 一个是顾问 ai, 一个是工程 ai。 顾问 ai, 我 用的是 deepfake, deepfake 我 用它来干什么?就是我首先会先把我自己模糊的需求和想法用自然语言告诉他, 然后让他帮我翻译成可执行的那种技术参数和标准。这个方案确定了以后,一套一整套需求方案确定了以后,然后我会让顾问顾问 ai 翻译成那种比较清晰的技术指标,再发给那个工程 ai, 直接发给工程 ai 复制粘贴,然后让他去操作那个工程文件, 修改哪些代码,哪些不动,这样一个方式哈,可以极大地减少我的工程 ai 的 它那个推理成本。如果说用 cloud code 或者说 codex 那 种的话,你直接去自然语言告诉他,他可能 收到了你的需求之后,他还要翻一下,想一想你到底需要实现什么功能,所以他在推理上是是要花费一些 token 的。 但是如果说我提前用这种顾问 ai 方案讨论的方式,提前去把这种翻译的过程用免费的网页 chat 去解决了的话,那么我就可以极大地减少那个工程 ai 的 推理成本,同时尽可能地减少它在写代码的过程中,呃,包括多余的修改啊,或者说因为模糊不清晰,呃需求模糊不清,然后造成的那种功能溶于或者说功能不达标,这样这样的情况 就可以极大地减少那个工程 ai 推理头推理的成本,那就可以减少 token 的 费用,所以我才可以花十八块钱做出十几万的效果。如果说用 cloud code 或者用其他的模型的话,那还得花到几百块钱, 还得更贵。但是这个东西其实很有意思的一点就是用 web coding 这种工方式工作,他真的会上瘾,我真的很想说他真的很上瘾,我就像古代皇帝批折子一样,我现在就是这种感觉,我我用 web coding 开发项目的时候就感觉就是在批折子, 我我我给顾问 ai 提需求,然后,然后顾问 ai 给我方案,我确认了以后,我修改了以后把这个方案 哎批红,然后直接交给工程 ai 去执行。工程 ai 执行完了以后,他会给出一个执行完成的一个简要的报告,然后我再我再看哪里还没有达标,哪里达标了,然后再批红,再去跟 ai, 再去跟顾问 ai 讨论这样的工作不会,完全不会,而且会让人觉得非常爽, 一种让人感到实现自身价值和快感的这个需求。如果说以后每个人都都都是用 web 这种方式去工作的话,那么每个人工作这种事情就成了每个人的需求,硬性需求,就一个人一天不工作,他浑身难受, 开发那个模型那几天十几个小都在去搞那个东西,完全不累,因为当这个 web coding, 它相当于是扩大了我这个人能实现的功能的一个边界,当这个边界一扩大了之后, 我发现我的想法就变得非常的多,发现我能做的事多了以后,我想做的事也跟着变多了,就是这个 ai 工具,它激发了我的一个创意和想法。一开始我用这个这个东西,我是完全没有想到说要去做一个这样 包括拍子模拟器,然后随机 s 播放器,再来一个调用 a p i, 然后接入 ai 决策的这样一些功能。我我其实一开始都完全没有想到的,本来一开始只是想写写一个清凉的小脚本,自己玩着的,结果写着写着发现这个项目越来越复杂,越来越复杂,他把一切的 复杂的、枯燥的、无聊的,没有意义的工作全 ai 全给我干了,我只需要负责,我只需要负责那里面最有意义的一部分,最有创意,完成之后最有成就感的工作。对于人来说,这种爽感是日常上班那种标准化流水作业完全体会不到的,在这个过程中完全感觉不到累,非常上瘾, 就十几个小时,你全部投入在这里面,太爽。而且如果我们用发展的、联系的、动态的眼光来看这个事情的话,就会发现 现在只有程序员在用 web coding, 那 以后呢?会不会有什么 webworking 啊, web producing 啊, web everything, 什么都可以用 web, 用用 web 的 工作方式来进行,来进行生产。以后每个人的工作按照这样的,按照这样的发展方式的话,我认为以后的 ai 时代,他的那个工作一定是 一定是去中心化的,一定是去中心化的,就是每个人可以通过极低成本的技术门槛,然后去实现,去创造自己想要的,去创造自己想创造的价值,实现自己真正的想法。就前一段时间我还是比较焦虑的 啊,因为觉得什么 ai 发展的时代比较快了哈,就现在就业还很难找,工作也越来越难找。那现在我完全不焦虑,我是觉得这个 ai 发展速度太慢了,他应该发展的更快一点,取代更多的工作,这样大家以后都不用去做那种枯燥乏味,不能激发创造力的工作了,就每天一身 那种做那种流程化的工作,又无聊又枯燥,还没什么意义,要不是为了混混口饭吃,谁愿意干那样的工作呢?没有人愿意的,但是现在在 ai 来了,他那个技术成本,他那个技术门槛降到极低之后,我们每个人都有一个选择, 就你以前上班那是为了生存而不得不上的班,我们每个人把一千种最有精力、最有价值的时间打包廉价的卖给你的老板,然后一个月就挣那么几千块钱。 那我现在觉得这样的一个一个实现价值的方式非常不值。但是如果选择外部的工作方式,那未来的社会工一定是去中心化的,不像现在一个大公司招一堆人集中在一起劳动,未来每个人都可以为了实现自己的想法而激情的创造。我今天就分享到这里,如果你也想试试 web coding 这种 这种这种工作方式,或者说你想了解我是怎么搭建我的工作流的。嗯,你们评论区可以出一期一些东西告诉你们。

做 web 编辑的都知道,跟 ai 对 话最拖节奏的往往不是模型不够聪明,而是手速跟不上脑速,说话每分钟两三百字,打字可能只有五六十,所以经常在 web 编辑的时候把字敲到一半,刚才想好的逻辑就算了,最后发出去的经常是简化版指令, ai 返回的结果自然也是打 折的。语音跟 ai 对 话,想跟你 follow up 一下上这种迷题啊。对对,因为我们起码已经看完了砍片的技巧,我觉得有些地方不是很 make sense。 自动化运作,依靠 macbook 高效完成开发调试,直接用嘴写代码是真的快了不少。现在在说话,然后他在不断的帮我们转,哪怕有这个口音啊, 错别字都不担心。然后很重要的是,他还会帮我们自动断句。我用的是豆包输入法 mac 版,按住一个快捷键,像跟同事聊需求一样,把脑子里那套东西原原本本倒出来,这样就不用一边打字一边担心逻辑断掉。 抓住那一瞬间的灵感,有时候就是那一闪而过的想法,决定了最终作品的质量。以前打字要半天才能给出的超长指令,比如给 cloud 描述一个地归函数的实现逻辑,或者 解释一段复杂的状态管理,现在用语音三两分钟就能讲完,而且整个过程完全贴合编程的心流。一边说豆包输入法,一边出字,不需要等录音结束再发送指令,实时生成思路不会断,用久了就会发现他会越来越懂你。高频词发音习惯都被记住,像是说到某个函数名或第三方库的名字时,嘴瓢了他也会自动纠正,哪怕晚上窝在椅子上小 小声复盘代码,它也能精准识别周围,机械键盘的敲击声、风扇声都会被自动过滤掉,全程不会打断编程思路。那几天看到红山二零二六 ai 峰会消息的时候,我第一反应是,不就是投资机构要办一 场 ai 大 会吗?其实跟 ai 对 话输入的信息量远比精准度和结构化程度更重要,而语音输入比文字能提供的信息量多的多。说白了,嘴跟得上脑子想法就能更完整的传给 ai, ai 返回的代码就越贴近你想要的效果,整个过程会顺很多。

朋友们,你们觉得什么是 web 扣顶啊?你是不觉得用 ai 写几行代码,这个就是 web 扣顶了? no! no! no! no, 这个太 low 了,现在 web 扣顶已经发展到一个让人瞠目结舌的地步,不知道有没有朋友们玩过三角洲行动这个游戏啊?这是现在很火的一款 fps 射击类的游戏, 这个游戏呢,现在就因为一款 obs 吸附的外挂出圈了,简单来说就是制造了一个外挂程序,让你在游戏里面可以为所欲为,让别人毫无游戏体验。 但这事儿有趣的是什么呢?就在于这个 obs 吸附外挂的原理,非常的好玩,甚至官方想进都进不掉。 它的基础思路是什么呢?就是通过 obs 这个很多主播都在用了这么一款免费的软件,在这个软件里面加一个这样的插件,通过这个插件就可以来抓取你的游戏画面,然后把这游戏画面会发给远段一个模型,这个模型就会通过 url 进行图形识别, 来分析你的实时分析画面里面哪些地方是敌方,对吧?然后,然后呢会下载一些指令,这些指令就会在你这个客户端的电脑上,通过一个特定版本的逻辑鼠标的驱动来模拟你的鼠标进行操作, 所以最终你能看到的就是他模拟了用户移动鼠标的过程,把鼠标移动到一个具体的地方,点击射击操作,所以这个过程呢,你会发现官方想要封这个游戏外挂,怎么封啊?很难封,因为整个这个外挂的过程就是模拟你正常的鼠标操作,模拟你客户端的操作, 他没有修改你任何的数据,不管你是游戏客户的内存的数据,还是网络传输的数据,他都没有改,那你怎么去封吗?你总不能说因为人家太厉害了,玩的太好了,你把人家封了吧?所以如果就有很多关注这个游戏的朋友,你会发现在现在各大直播平台, 现在这个直播三角洲这款游戏的主播数量都比以前下降了好多,这其中呢,有这个外挂的原因,但其实也有很多是官方误封的原因,因为官方一定要下手整治这一款 这个外挂。那怎么整治呢?他们有一些这种比如简单出宝的方式,就是检查你这个客户端电脑上有没有跑 obs, 检查到这个进程了,他不管你抓没抓画面,直接给你把账号封了, 因为你没法分析人家客人别的软件有没有抓你画面这种行为嘛。所以也造成很多账号的误封,造成很多主播也感觉是玩不下去了。 而且在这个背后你会发现啊,这其实就是 web 的 一种典型的思路,因为这个外挂的思路其实并不是原创,其实很早我们就能看到其他的一些影子,比如说像早前那个豆包手机, 它能够自动帮你完成很多手机的操作,比如说去查网页啊,去呃,去点外卖啊,去进行比价这些操作,对吧?它的思路是不是和这个外挂其实是一脉相承的嘛?豆包手机也是通过实时抓取你手机的画面,发给远端的模型,模型分析之后下载一些指令,最多这些指令通过你手机系统级的一些底层的接口,模拟人类操作,完成整个过程嘛? 哎,你看同样的这一种思路,哎,我从手机上现在就移植到了 obs 吸附这个外挂上面, 那意味着以后我是不可以把这种思路移植到更多的场景。我可以做游,做欧三角洲这个游戏的外挂,未来我可不可以去做别的游戏的外挂?那如果游戏外挂都做成了,我可不可以去抓取画面来帮你完成一些特定的操作,比如说做 ppt, 比如说做 excel 表格, 可以吗?其实你看到未来都是有这样一个方向的嘛,对吧?但怎么从以往的这种成功的经验上去吸取别人的这种设计模式啊,设计理念,然后去做成自己的东西,这就是我经常给他强调一个东西叫做什么架构思维。 所以你看什么是 web coding, 并不只是简简单单的写几行代码而已,它最终突破的是人的想象。而我常说技术其实是个圈,这个圈子里面博弈的永远是人,而程序员就是站在这个博弈最前锋的最前方的战士。这一层你看懂了吗?

hello, 大家好,这里是六七的数字生活,今天想跟大家聊一个话题,是关于要不要转行做外部编码。嗯, 呃,其实我作为有很多朋友啊,在以前也问过我说要不要转行做外部编码,呃,我给他们建议都是不要转,为什么呢?因为大多数人想转外部编码的话,大概是这么想的,一是开发嘛, 普遍来说的话工资要高一些,然后再有呢,现在有 ai 辅助,好像做编码的话也很容易,因为一句话 ai 可能就把代码都生成完了,而且都能跑起来, 就感觉这件事情是很容易的,就是这个借钱赚的很容易,所以说都想转行做外汇口令。可是其实这里有一个很基本的一个常识,就是如果一件事情很容易做,钱还多的话,那你觉得这件事情他应该存在吗? 我想我想大部分人听这么说的话会觉得,嗯,这个事情可能是有蹊跷,其实就是这样的。呃,首先说这两点吧,再逐个来说一下。首先是 webc 的 英子话是否容易, 现在 ai 的 话确实能够提效,嗯,就特别是在一些比较简单。嗯,然后 啊,比较基础的一些开发工作上,或者说你问他一些什么新领域,你不想了解个新领域,他可能很快的能给你说出来一个大概在这方面的话, ai 确实能够很大很大的提升那个效率, 但是就以我这么多年开发经验,再加上最近也是在深度使用这个 ai 的 话,我觉得就是在一些架构很复杂,然后, 嗯,很需要一些业务相关的经验,或者一些编码方面的经验,就需要深入的去编程的话,或者是一些重要的线上的一些场景里面,其实 ai 也能起到一定的辅助作用,但是 能起到的,实际上能起到的作用是有限的,大部分还是需要这个开发人员的自己的作用是有限的,大部分还是需要这个开发人员的自己的作用是有限的,大部分还是需要很重的去参与进去。 因为 ai 本身他在这种场景下就会有一些短板,比如说他的那个总容易遗忘一些重要的东西, 或者说他会把这个代码改的越来越复杂,或者说他本身会偷懒,或者他本身有一些幻觉,他总觉得自己做了做挺好的,其实并没有做等等,有很多方面的问题。这方面的问题的话在一些比较简单场景中的话 还不容易出现,而且就算出现了的话其实也不重要,但是在一些比较严苛的比较复杂的场景里面的话,就会出很大的问题。 呃,所以说你说外部口令是不是让编码变得简单了?我觉得在一定范围之内。是的。嗯,但是绝大部分的一些场景里面的话,能起到的作用是有限的。 ok, 那 第二个问题就是说这个编码啊,开发的钱是不是好做好挣? 嗯,程序员的工资的话,普遍应该算是各个领域中算是比较高的了,但是在这个外部开外部定制流行起来之后,然后大部分人也要转外部定制的,这种情况下, 嗯,这个钱是否还好挣?这个我觉得就得画一个问号吧,其实我觉得可能也不算一个问号了,在我看来的话,这个钱肯定会变得越来越难挣, 尤其是那种,嗯,入门级别的这种岗位,就比如说,呃,以我个人觉得,比如说, 呃从毕业到从事软件开发三年,三年以内吧。嗯,这相对保守一些。三年以内吧, 就是非常容易被这个 ai 取代掉的,或者是能够被这个外部 coding 的 外来人员取代掉。所以在这种在这些人群里面,我觉得钱会变得越来越难挣。 嗯,但是在一些,嗯,比较资深的一些领域,我觉得应该是没有什么太大的变化,或者说会 变得越来越钱,会越来越容易挣,或者变得越来越重要,这也说不定。嗯,这个是我的一个看法。