Practice

专家和熟练工

最近,我经历了一段非常特殊的人生阶段:失业、找工作,同时,家里迎来了新的小生命。 坦白说,最初的几周是很混乱的。照顾一个精力无限、需求“实时响应”的小宝宝,我怎么可能有时间去准备面试?我过去的工作模式,是需要大块的、不受打扰的时间,沉浸下去做系统的调研和学习的。 但现实是,小宝宝不允许。他成了我生活中最大的约束条件,并且拥有极高的优先级。 我只能见缝插针。在宝宝睡着的40分钟里,我冲过...

构建企业级 AI Code Review 协作体系

在软件工程实践中,Code Review 始终面临着一个经典的”不可能三角”:我们需要评审速度,追求代码质量,但资深工程师的时间永远是稀缺资源。 传统工具链已经覆盖了部分领域。Linter 解决代码风格问题,静态分析工具(SAST)识别已知漏洞。但仍有许多关键问题无法被自动化:这段代码是否符合架构规范?实现是否匹配业务需求?这个函数是否重复造轮子? 许多团队尝试过直接将 Diff 提交给...

自动化测试框架设计

一个非常专业且易于扩展的自动化测试框架,需要从软件工程的角度去设计和构建,而不仅仅是编写一些测试脚本的集合。它应该像一个成熟的产品一样,具备高内聚、低耦合、高可维护性和高扩展性的特点。 一、 核心设计原则 (Core Design Principles) 这是框架的灵魂,决定了其未来的发展方向和生命力。 分层架构 (Layered Architecture):将框架代码严格分层,...

找 Bug

找 Bug 的本质是修正开发者对系统的心智模型,Bug 源于期望和现实的偏差,有人认为 Bug 是 Feature,有人认为 Bug 是缺陷。 但无论是 Bug 还是 Feature,这个过程都是去重新理解系统的行为,理解之后不一定是为了修复,而是为了更好地做出未来的决策。 心智模型 解释一下心智模型,心智模型是开发者用来管理复杂性,预测系统行为并做出的决策。简单说,心智模型就是内心和...

理解 RAG

RAG 的核心思想,是将大语言模型 LLM 从一个封闭的“知识库”转变成一个开放的“信息处理器”。它通过解耦模型的参数化记忆(训练语料)和非参数化记忆(外部知识库),从根本上解决了LLM 知识固化、容易幻觉和缺乏溯源性的问题。 它本质上是将一个困难的开卷考试问题,转化成了一个阅读理解任务,不要求模型知道一切,只要求它根据提供的相关材料,进行归纳总结。 因此,RAG 系统能力的上限,并非由...