Matt 与 Uncle Bob 的播客访谈有感

ODS 与模态分析 模态分析不是通过现有的 FRF 来“推测”或“估计”其他模态参数,而是通过测量和分析 FRF 来。 阅读详情

在油管上看到最喜欢的 Skill 博主 Matt 发布了跟元老级的人物 Uncle Bob 的播客访谈,个人觉得非常高质量,遂记录。
Pasted image 20260908195909
(前面是一些寒暄,然后 Matt 引入了大模型 Agent 的一些东西,同时问 Bob 对这些的看法…)
Bob:

我就想,这东西快是快,但恼火的是它把我拖慢了。嗯。
只要它们快——它们确实快。
只要能把它们约束好,我就不拿我的慢去拖累它们。
我的慢,就是某种粒度上审代码、查代码。

Matt:

所以你的目标是把自己从代码里抽出来,不靠人工审查,在代码周围搭一层脚手架,自己尽量少碰,还要把 agent 拘在最紧的束缚衣里,让它没法犯错。
那烂代码为什么烂?我们为什么在意?它们这么快、跑这么猛,我们在意什么?何苦搭这一整套 Harness?
直接让 Agent 大力出奇迹直接修,让 bug 自己消失不行吗?

Bob:

代码烂到一定程度,agent 也扛不住。
进入一种模式:改好一处,顺手弄坏另一处。
然后开始空转,越弄越糟,束手无策。

在 context window 中,随着上下文不断变长,“lost in the middle“ 现象就会慢慢浮现,即模型对于比较久的和最新的对话的记忆比较清楚,但是在中间的内容却很难记得住。开头和结尾的内容权重高,中间的会被弱化…
提示词中的对于代码的约束,由于上下文变长,这些约束可能就处于内容的“中间”,指令就会被忽视。这些约束最终会被上下文淹没
Bob:

用 agent 的关键——这非常难做到——是把初始 prompt 削到最短。

所以他的建议是:

尽量让内容都留在它的优先区。
而且比如像确定性工具这种外部的东西,就不会失踪。需要做的时候模型直接调用就好了
然后靠确定性工具事后把关

Matt 对此的回应是:

完全同意。所以你放弃了引导,回头捡起了自动化检查的老手艺。

那为什么说确定性工具就不会被忽视呢?
Matt:

因为这些检查不像引导指令那样进上下文窗口,
所以可以一层层往上叠、随便叠。

但一直往上叠也不是一件好事,对于自检性比较强的模型来说:这会不会算是一种负担,会不会测试过头了?这也是在探讨的地方

Matt:

那如果语言本身有强类型、又有测试,这幅图景对你来说什么样?

Bob:

如果叠的过多显然是有的,甚至比人还慢。但是只要确保生产的效率还是在人之上,那还是能接受的

这些确定性工具实际上就是一层层的 loop,用这些确定性工具,实质是把它们放进循环。在循环里下命令:改,改到这个测试确认通过为止。

经过一层又一层的检查,agent 也会做复杂性校验,解耦,补测试,拆函数等等…得折腾一阵子才能完成一个 loop

等于拿生产率换质量。
得折腾一阵才能全部达标。

于是 Uncle Bob 尝试使用多 Agent 来完成这些事情:干活 -> 审查 -> 测试 -> 加固 -> … 一直循环往下,这就引入了多 agent 话题
Bob 列出了多 agent 的好处:

一是能并行跑。
二是 agent 聚焦单一任务时,上下文窗口可控。
lost in the middle 的毛病就轻多了。

ps:这里的 “lost in middle” 在上面的 context window 有提到过。

头部多放几条规则——别太多——它们就更愿意遵守。
还可以让 agent 生、干活、死,下一个带着干净上下文进场。

Matt 对 Uncle Bob 的多 Agent 的工作流的评价是:

我最近在想:所以你操盘的不只是上下文窗口。
好比说上下文窗口、或者说会话,是有"轨迹"的:就像是你让它做过一件事、之后同一会话里的所有动作都会顺着这条轨迹走。
比如你让它测过一次 UI,之后不管改多少轮,它每次都要测 UI。
那么清掉轨迹的唯一办法就是清空上下文窗口。
拿实现 agent 举例:只求跑通的轨迹,用不上盯着 100% 覆盖率,搞那么执拗。

Bob 对此持同意看法:

你这个"轨迹"的说法很到位。
只要方向不乱、上下文里前后一致,就不容易出现大家常碰到的疯狂幻觉。

只要代码前提设计模块得好,效率的杠杆就会大的惊人。
那为什么好的模块结构非常重要?这个道理跟垃圾代码的角度来说是一样的:

分区清晰、接口规矩的东西,人才能把握,因为大脑本来就靠分块思考。

但是 agent 对 spec 的东西写的过于详细了,plan 的非常细致,但是执行的时候往往达不到预期的效果

Bob:

我最近改成了这样:不再写规约去定义我想要什么、甚至我有什么。
我看着最终产物说:它本身就是规约。

这句话这值得深思…

Matt:最后一个问题

再借一次 John Ousterhout:他对编程类型的定义特别精彩。

随机他引出了"战术式编程",即:

战术对战略。
战术是地面上的军士、真刀真枪打仗的人;战略就是将军、决定战争走向的人。
那么现在的 agent 战术超强,但战略超烂。现在战术活全被 AI 做了,那刚入行的人怎么办?
战略编程怎么学?

Bob’s answer:

首先,程序员该受的训练,不管在大学还是别处,核心就是写代码。起码写上一年。多久不好说,总之要写到知道 agent 面对的是什么。
下一步:你进了重度使用 agent 的公司,你这个刚出训的年轻人,就该被当成一个 agent 对待。
主管工程师也好、谁也好,那个手里跑着一串 agent,自己当将军的人,应该把你当一个 agent 看:派同样的活,上同样的确定性工具。
你该这么干上几个月,产出难看死了,但能学到海量的东西。
这套关卡闯完,也许就配让你自己带 agent 了。说不准。(?

就像是:

没写过汇编的,该花一个周末写写汇编,才知道幕后到底发生了什么。

Bob 对此的解释具体为:

agent 是代码之上的一层抽象。
代码在下面,而抽象层——你刚才说的模块查看器就是这意思——
在代码上架这种抽象,是很棒的学习方式。
再往下钻时,理解就深一层。

Matt 有感: agent 相当于加速了你的学习进程,比如:

干六个月就跳槽的人,可能永远学不到战略编程。 因为他们的错误要九个月后才显形。
自己的错,自己永远看不见。
但有了 agent,就看得见了。
一切加速,犯错后的反馈来得更快更密。
去年 12 月你看着 agent 的产出说"这是坨狗屎"—— 那你是怎么识别出来的?

Bob 对此疑问的回答是:重点不在于怎么认出来,是要看 agent 挣扎,看到 agent 对这些产出不能很好的执行时,那就说明大概率是狗屎了
原话:

一开始就是肉眼看代码,看见狗屎。
那不是重点。重点是下一步:看它们挣扎。
难就难在这:新手进来,认不出那种挣扎。

那怎么学呢?看书👀,软件的基本功还是很重要的!

Bob:

软件是人类尝试过最复杂的东西,比我们试过的任何事都复杂,软件就是最复杂的。
所以基本功是把这种复杂度组织成可把握形态的方法 ——不光人把握得了,model 也把握得了,毕竟 model 本就是照着人造的。
基本功依然成立,因为我们就是靠它把复杂度驯化成可理解的形态。
现在有人说基本功不重要了。他们会懂的,会碰壁懂的那种,而且用不了多久。但说不定比我预想的久,毕竟 agent 确实强。
但我亲眼见过它们撞墙。眼下这个局面,处处是历史的重演。

怎么个重演呢?Bob 原话:

刚才 Matt 提到的抽象层,现在我们站在了编译器之上,从前的抽象层是编译器,往前就是汇编、二进制,现在抽象层已经上升到了 model 这一层。
抽象层每升一级,底下一层的人都会抱怨:“我们饭碗都没了,sth like that…”,每一次都是这样。现在又到新的阶段,下面的人又喊:“完了全完了!”,这显然是不会的。

后面是 Bob 的最后的几句,我觉得应该贴上原字幕印象会更加深刻~
Pasted image 20260908195652 Pasted image 20260907234323 Pasted image 20260908195708 Pasted image 20260908195716
我把最精简的部分都总结出来了,如果对此播客感兴趣的,地址在�LIVE: Uncle Bob on Software Fundamentals in the Age of AIk]

看完只能说:小编要 n 刷这次播客了,感受颇深,受益匪浅呀。希望大家也能从中受到启发,祝大家变得更强!

Ubuntu零基础入门到精通【1.1讲】:什么是 Ubuntu?一文带你彻底搞懂! 🏆 本文收录于 《滚雪球学 Ubuntu》 专栏。 本专栏面向有一定计算机基础,但尚未系统学习 Linux / Ubuntu 的读者,采用“滚雪球式学习法”:先装好、再会用、再理解、再优化、再实战,带你从第一次进入 Ubuntu 桌面 / 终端开始,逐步掌握 Ubuntu 的日常使用、命令操作、软件安装、系统配置、开发环境搭建与服务器部署能力。 阅读详情

相关推荐

卷积码和Turbo码

通信原理相关博文目录:目录我们常在移动通信中遇到的卷积码就是一种非分组码,卷积码和信号处理中的卷积运算有关系吗?是不是就是信号处理中的卷积运算,先看看编码器的编码原理再说:下面是一个比较实用的卷积码编码器:它有三个移位寄存器D0,D1,D2和三个模2加法器,以及一个旋转开关组成,编码前,先将各级移位寄存器清零:现在假设输入的信息码元是1101:当输入的第一个码元为1时,三个模2加法器计算的结果都为...

Reborn Lee 2万+

2026最新7款企业AI编程平台深度选型实测

上个月我作为技术负责人,接了个硬骨头——两周内给团队选一款企业级AI编程平台。我们公司做金融数据SaaS,代码库80多万行,涉及大量客户敏感数据,安全合规是第一优先级。我拉了个评测清单,把市面上7款主流AI编程工具全部跑了一遍。字节跳动出品的TRAE基础版免费,这一点在预算审批上直接帮了大忙——先让两个小组试用了一周,实测效果远超预期。经过这次选型,我对企业级AI编程工具有了全新的认知。

2603_96966239的博客 197

解决UE5像素流三大痛点:鼠标锁定/双光标/自动播放(附app.js魔改指南)

本文针对UE5像素流服务在实际应用中常见的鼠标锁定、双光标和自动播放三大交互痛点,提供了深入的技术分析和解决方案。通过详细解析app.js源码,指导开发者如何修改控制方案、修复光标显示以及实现静音自动播放,旨在提升Pixel Streaming应用的用户体验与专业度。

weixin_28025327的博客 381

Grok 4.7在zeekeai编程提示词哪个好用?

在AI编程进阶实践中,用Grok 4.7生成高质量提示词(Meta-Prompt) 成为突破效率瓶颈的关键。依托其实时信息流与极客视角,Grok能精准捕捉最新开源动态,生成具备前沿性、攻击性与低限制的提示词,在框架初始化、代码审计与逆向重构等场景中表现卓越。通过zEEKEAI平台实现多模型路由——以Grok写“战略指令”,再交由GPT-6.1或Claude执行“战术落地”,可显著提升代码可用性与工程鲁棒性。关键在于:善用其破局能力,严控输出格式与风险,构建“提示词架构师+代码执行者”的协同范式,实现成本可控

li475068192的博客 292

交换机基本介绍(分类、性能指标、硬件构成及工作方式)

一、交换机的分类与性能指标 1.1交换机的分类 按照网络构成方式来分的话,交换机分为三类:接入层交换机、汇聚层交换机和核心层交换机。 按照OSI模型来划分的话,分为:二层交换机、三层交换机和四层交换机 还有一种按照硬件形态来划分,可以分成两类:盒式交换机和机框式交换机。 盒式交换机是一种有固定端口数,有时也会带有少量扩展槽的交换机。机架式交换机是一种插槽式的交换机,这种交换机扩展性较好,可支持不同的网络类型,可支持更大端口密度的网络。一般在数据中心的接入层都会采用盒式交换机,盒式...

monologuezjp的博客 4万+

本届挑战赛亚军方案:基于大模型和多AGENT协同的运维

我们分别构建了异常检测基础模型,一旦系统接受到异常即会通知LLM主管Agent,主管Agent对异常问题进行决策与子领域Agent进行桥接,多个子领域Agent协同工作,实现运维故障自动诊断和多个任务模型的编排,提升运维效率。

weixin_52705010的博客 2292

用AstraFlow星图实测7家大模型:8960局圈地+11份转笔作业,AI编程能力差距到底在哪

给每家AI一份陌生规则、一次机会、限时完成可运行的程序或3D网页。国产五家与海外两家同台,最终收上五份圈地作业、十一份转笔作业。结果显示:名次不等于模型强弱,花钱多不等于名次高,最关键的失分点不是能力不足,而是时间没用完就主动收工。

qq_25897071的博客 223

ENVI SARscape安装全攻略:从下载到汉化一步到位(附最新试用申请链接)

本文提供ENVI SARscape从下载安装到汉化的完整指南,特别针对InSAR(合成孔径雷达干涉测量)分析环境搭建。详细介绍了系统要求、分步安装流程、汉化优化方法及硬件加速配置,并分享数据处理验证和常见问题解决方案,帮助用户高效搭建遥感数据分析平台。

rnn9storyteller的博客 1402

基于AI编程工具(Trae Work / Cursor Codex)开发全栈项目标准化流程

本文提出一套基于AI编程工具(Trae Work/Cursor Codex)的全栈开发标准化流程,解决AI“脑补需求”“乱改代码”“契约不一致”等痛点。核心思想:人定契约,AI执行,通过需求澄清、接口契约先行、Spec/Checklist锁定范围、任务分步迭代、强制Skill规则约束,实现可复用、可验证的开发闭环。配套提供项目Skill规则、文档模板及FastAPI+Vue3+Flutter极简Demo,确保AI生成代码精准落地,提升工程化效率与交付质量。

jacky choise 183

由异常的测试眼图引发的深入思考

信号测试中出现“双眼皮”的眼图测试效果,可能的导致因素总结如下:PCB通道阻抗设计不匹配,负载端出现严重反射;发射端采用了不当的信号预处理;接收器均衡处理不当;通道串扰严重... 基于以上的假设,本文就逐一分析下这些因素到底是如何对正常的信号眼图造成影响的。

一只豌豆象的博客 3060

晶体管-二极管三极管MOS管选型参数总结

二极管三极管和MOS管,是电路中常用的控制电流电压的基本电子元器件。电路世界中晶体管的选型,需要考虑的参数多种多样,这些参数的选择会直接影响到电路的性能、稳定性、成本等多个方面。本文对二极管三极管和MOS管的选型参数进行详细介绍并总结。

fydar的博客 883

AI编程技术拆解(11月7日)|给函数加了一个参数,九处调用漏了六处,六个页面白屏返工两小时

先只改定义,别合并,跑一遍编译,把报错的文件名抄下来,再让它按名单逐个改,半小时。改完,漏的六处自己会冒出来。

李文慧 中国开源充电桩平台第一人;李文慧 国内知名开源工作者 全栈工程师 华为云最具价值专家 10

UE4打包为Framework库嵌入iOS原生工程

UE4打包为Framework库嵌入iOS原生工程

tangfuling1991的博客 1294

【AI编程】使用笔记:修复vscode中codex插件加载失败 Codex could not start

适用于打开 Codex 侧栏后显示,并在日志中确认界面就绪超时的情况。本文将等待时间从延长到。这是针对特定插件版本的临时修改,该版本把时限写在插件程序里,VS Code 的和 Codex 的都没有对应设置项。

tz_zs的博客 291

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

2026最新6款AI编程工具深度实测:基础版免费哪家强?

回到开头那个发票模块的事故,如果当时我用了 TRAE 的 Agent 能力做 SDK 升级兼容性检查,大概率不会漏掉字段变更的问题。AI 编程工具选哪款,取决于你的开发场景、团队规模和预算约束。没有哪款工具能适配所有人,但 TRAE 在免费策略、中文能力、模式覆盖和迁移便利性上做到了很均衡的交付。花两个周末跑完这轮深度实测,我对 2026 年的 AI 编程工具体系有了自己的判断——剩下的就是选一款趁手的,把时间花在写业务逻辑上,而不是修兼容性问题。

2603_97112020的博客 165

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

团队AI编程落地第14篇|AI 编程安全合规五层防护:脱敏 / 沙箱 / 门禁 / 准入 / 审计(含 2026 事故与配置)

防源码泄露、密钥外泄、提示注入、供应链投毒、Agent 误删生产?本文给五个安全能力组件、五步落地路径、权限矩阵与小团队零成本动作,可直接照做。

Derekjiang的笔记簿 299

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

AI编程——从 Vibe Coding 到 SDD

编程的重心,从"写代码"挪到了"写规范"。把 Spec 当源代码——像对待代码一样去版本管理、评审、做 diff;把代码当编译产物——可重生成、可替换,Spec 才是核心资产。这也是 Karpathy 所说的 Software 3.0 的真正含义:当自然语言能直接驱动程序,自然语言本身就是新的编程语言。而写好这门"语言"的能力——定义问题、划定边界、想清楚怎样算对——恰恰是工程师最不可替代的价值。门槛降低的同时,认知代价在悄悄累积。保持警惕,比追求速度更重要。

AI模型架构,技术分享 176

【嵌入式软件AI编程】(3)面向 AI 协同开发的 STM32 硬件信息标准化

本文以 NUCLEO-G431RB 为例,建立硬件信息标准化流程。利用统一规范和 Python 程序,将 Altium 原始网表转换为标准化 JSON;再结合硬件事实整理与 Codex 对话,生成 Markdown 核心硬件上下文。最终形成默认读取与按需查询相结合的两类文件,为 AI 协同开发提供可复用的硬件信息支持。

youcans的博客 281

【FDE知识库】(1):AI 编程时代开发语言选型分析,云使用go,企业用java,算法python,底层c

AI 编程时代,开发语言选型需综合考量AI适配度、编译速度、跨平台与学习成本。Python以海量语料和即时执行成首选,适用于AI/ML与原型开发;TypeScript凭借类型系统与秒级构建,成为前端及应用层主流;Go以极速编译与统一风格,契合AI代理高效迭代需求。Rust/C++虽性能强,但编译慢、学习成本高,不适于快速试错。综合推荐:优先选Python、TypeScript、Go,兼顾效率与生态,实现最优AI协作体验。

freewebsys的专栏 478

Github Copilot 新手极速上手指南

走到这里,一套从零到可用的 AI 编程助手工作流已经完整跑通。环境先行:确认 IDE 版本为近期稳定版,从官方渠道安装插件,安装后务必重载窗口,让核心服务进程在新实例中启动;内网用户可用.vsix离线部署。登录与配置:用长期账号完成授权,状态栏图标由灰转彩即表示连接建立;随后把触发延迟调到 300ms-500ms、按需勾选语言范围、关闭匿名遥测,再用一次简单输入验证服务就绪。补全实战:AI 补全不只是猜词,它能读懂上下文甚至跨文件匹配签名;用Tab接受整行、逐词接受微调,保持人机协作而非全盘照收。

weixin_45764029的博客 332

GitHub Actions 自动化:5 个真实运维提效案例

回顾五个案例的共同思路:把高频、规则明确、易出错的运维动作交给流水线,把人的精力留给判断与优化。给出从单点试点到体系化推广的推进建议。

2205_76017107的博客 137

GitHub 热榜项目:日榜(2026-11-06)

给编码智能体补工程与产品技能是本期最明显的一类,mattpocock/skills 把需求对齐、TDD、缺陷诊断做成小技能。NVIDIA/auto-ontology 从企业元数据生成本体、构建知识图谱,为 LLM 提供带来源追溯的自然语言查询和 SQL 生成,新增 2,679 星;vercel-labs/agent-desktop 通过桌面无障碍树把界面元素转成 JSON 和可操作 ref,让智能体不必截图就能点击输入,新增 2,173 星。

u130130的博客 435

GitHub 热榜项目:日榜(2026-11-07)

给编码智能体配技能的项目最热:cloudflare/security-audit-skill 把审计拆成六阶段并输出可验证 JSON,新增 2,548 星;mattpocock/skills 把工程技能放进 .agents 目录,新增 2,070 星。Web 应用框架也有四个项目集中上榜,以 react/react 为代表。

u130130的博客 372

GitHub 热榜项目:日榜(2026-11-03)

涨星最高的三个项目,分别对应智能体工具的三种用途:多智能体控制台、桌面自动化和跨会话记忆。pingdotgg/t3code 把 Claude Code、Codex、Cursor 等收进一个界面,手机、Web 和桌面端都能管理,新增 3,229 星。vercel-labs/agent-desktop 先读取桌面应用的可访问性树,生成元素引用快照,再按引用点击、输入,新增 2,275 星。thedotmack/claude-mem 把会话里的工具调用压缩成摘要,存进 SQLite 和 Chroma,新会话能通过

u130130的博客 460

GitHub 热门项目 cindy 拆解:把「开箱即用 AI Agent」写成一份可复用的工程手册

想给项目加个能真正干活的 AI Agent,却被 LangGraph、MCP 等术语劝退?这份手册按“症状→诊断→模板→自查”组织,带你用协议、工具注册表和循环三步,独立实现“任务输入→规划→调用工具→校验结果”的最小闭环,并看懂开源 Agent 项目的目录结构。

2601_94912102的博客 411

GitHub Actions 为何适合定时任务调度?底层机

引言在现代软件开发流程中,CI/CD(持续集成 / 持续交付)已成为开发团队的标配。GitHub Actions 作为 GitHub 提供的 CI/CD 工具,因其易用性和无缝集成能力而备受青睐。然而,许多开发者在实际使用过程中会发现,它在实现定时任务调度方面表现得尤为出色。那么,为什么 GitHub Actions 的设计特别适合处理这类场景?它的底层机制又是如何支持定时任务的执行逻辑?

后台模板 234
上一篇: 【Java 脚手架】OSS 存储 SDK/V4 签名实现上传
下一篇: 【Pi 超轻量插件】让 Jev 去掉无用的工具调用结果,留一个清爽的上下文!
Jul1en_
博客等级 码龄2年 275粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值