- 博客(139)
- 资源 (1)
- 收藏
- 关注
原创 Agent 开发岗面试问答手册(口述版)
本文系统梳理了Agent相关核心概念与工程实践,强调“执行路径由谁决定”为判断工具、工作流与Agent的本质标准。提出选型原则:优先使用可测可控的Workflow,仅在路径不确定、依赖强或代价高时启用Agent。深入解析Harness核心模块(持久化、权限、护栏、上下文压缩、可观测、评测),指出其对生产稳定性的关键作用。详解Function Calling的原理与优化策略,强调描述清晰、参数规范与多层兜底机制。最后阐释MCP协议的价值——实现工具跨模型复用,降低集成成本。整体突出“可验证、可控制、可回归”的
2026-10-20 18:55:23
194
原创 WorkBuddy小技巧:临时文件一律进temp
Agent勤快却让根目录变脏,频繁删除询问影响效率。为平衡安全与效率,设定统一临时目录temp/:过程不打断,收尾统一确认。路径约定降低判断成本,权限留给人,实现“安全”与“顺滑”的双赢。
2026-10-19 18:24:48
209
原创 大模型只会输出token,是怎么“调用工具“的?
模型仅通过输出特定格式的文本“调用”工具,外部程序通过解析其输出中的标记(如<tool_call>)识别工具调用请求。服务端在流式输出中检测结构化字段,客户端按chunk逐次拼接并判断是否完成。MCP封装的是工具接口,而非模型本身,整个过程依赖文本格式约定与分段解析,模型从未真正执行系统调用。
2026-10-10 11:23:53
194
原创 AI IDE 踩坑记录:为什么写进 AGENTS.md 的重启规则还是会失效?
文章摘要:作者在使用AI IDE开发个人项目时,发现AI经常忘记按要求重启后端服务。通过实践发现,仅将规则写入长期记忆文件效果不稳定,关键问题在于规则表达不够工程化。作者提出分层解决方案:1)在记忆文件中只保留简洁明确的入口指令;2)将复杂流程封装到可复用的脚本中;3)建立健康检查机制。最终形成"AI判断+脚本执行+检查验收"的工作模式,显著提升了稳定性。核心启示是:AI开发需要将自然语言规则转化为确定性工程流程,通过脚本固化操作步骤,减少AI的自由发挥空间。这种"规则入口+脚本实现"的分层模式,比单纯依赖
2026-06-19 21:26:32
311
原创 提问时,先问问题本身,而不是问自己脑补出来的步骤
摘要: 工作中常遇到"伪技术问题"——提问者只呈现方案中的卡点(如OSS权限报错),却隐藏了真实需求(如导出订单数据)。这种提问方式效率低下,因为回答者无法判断方案是否合理。更好的做法是:1)先交代完整背景(需求、目标、约束);2)说明当前方案及卡点;3)主动询问方向是否合理。提问模板应包含五要素:需求描述、业务目标、当前方案、具体卡点和验证请求。核心原则是:先确认"该不该做",再解决"怎么做"。(149字)
2026-06-19 21:16:40
231
原创 我做了一个 Agent Learning Lab:把 AI 应用开发过程做成白盒实验台
摘要: Agent Learning Lab 是一个专注于AI应用开发学习的实验项目,通过模块化设计拆解Prompt、结构化输出、RAG等核心能力,提供可观察、可调试的白盒化实验环境。项目定位为开发者学习平台,强调过程展示(如模型原始输出、检索来源、耗时等)和技术文档沉淀。目前已实现基础模块,未来计划扩展联网搜索、Function Call、Workflow Agent等功能,逐步构建完整的Agent学习系统。项目核心价值在于将抽象概念转化为可运行的工程实践,助力开发者深入理解AI应用开发全链路。 关键词:
2026-06-11 23:56:31
276
原创 Agent Harness 框架深度浅出 —— 大模型落地的“操作系统“
摘要 本文揭示了AI编程助手的核心挑战——模型能力与工程落地的差距,并系统介绍了解决这一问题的"Harness驾驭框架"。文章首先指出单纯依赖ReAct模式的局限性,强调需要构建完整的基础设施来支撑AI稳定工作。随后对比了ReAct与Harness的本质区别:前者是思维模式,后者是工程操作系统。重点拆解了Harness的核心组件,包括TAOR对话循环、极简工具调度系统和设计哲学。文章通过Claude Code的实践案例,阐明了"运行时保持简单、智能交给模型"的设计理念,指出这是实现AI编程助手稳定产出的关键
2026-06-02 15:28:52
623
原创 我用 Claude Code 搭了一个远程 Claude web:手机发指令,本地电脑自己写代码
本文介绍了作者开发的一个"Claude Web"项目,旨在解决Claude Code工具在移动端使用不便的问题。该项目通过Web界面将原本只能在终端使用的Claude Code功能迁移到浏览器,并利用Cloudflare Tunnel实现内网穿透,让用户可以通过手机浏览器远程操作本地电脑上的代码项目。文章详细阐述了项目的设计思路、技术架构和关键功能点,包括访问控制、工作目录设置、代理配置、API对接和模型选择等。该项目不是重新开发AI编程工具,而是通过组合现有工具(Claude Code+DeepSeek+
2026-06-01 22:50:07
852
原创 【RAG 3/3】做 RAG 最重要的不是模型,而是检索质量
如果答案看起来对,但引用错了,也不合格。会员 7 天内可以退款。会员权益说明会员退款规则这说明系统的引用追踪有问题。RAG 不只是要答对,还要能证明自己为什么这么答。RAG 做不好,很多时候不是模型不会回答,而是系统没有把正确资料交给模型。做 RAG 最重要的不是模型,而是检索质量。检索质量又不是只由向量数据库决定。用户问题理解→ 文档切片→ Rerank→ 上下文拼接正确资料有没有被找出来?正确资料排在第几位?最终上下文里有没有正确资料?模型有没有基于资料回答?
2026-06-01 08:15:00
323
原创 【RAG 2/3】自己搭建 RAG:从最简单的知识库问答,到复杂 RAG 系统
自己搭建 RAG,不是上来就选一个向量数据库,然后接一个大模型。RAG 是一条从数据处理到检索生成的工程链路。文档切片→ 向量检索→ 大模型回答文档解析→ 清洗→ 结构化切片→ 向量库→ rerank→ 引用来源→ 权限→ 版本→ 日志→ 评测每一步升级,都是为了解决一个具体问题。文档解析:解决资料不是干净文本的问题切片:解决长文档无法直接检索的问题Embedding:解决语义相似检索的问题Metadata:解决版本、权限、分类过滤的问题。
2026-05-31 16:44:04
363
原创 【RAG 1/3】RAG 不只是上传文档:从原理到应用讲清楚 RAG 怎么用
RAG 不是简单的“上传文档让 AI 聊天”。用户提问→ 系统从外部资料中检索相关内容→ 大模型基于这些资料生成答案模型不知道私有资料模型知识可能过时模型容易编造长文档不能全部塞进上下文如果只是想先体验 RAG,不需要一开始就研究向量数据库和开发框架。DifyRAGFlowOpen WebUIFastGPT上传资料后,AI 怎么基于资料回答什么问题能答准什么问题容易答错为什么引用来源重要为什么文档解析重要。
2026-05-31 16:27:35
385
原创 从 Prompt 对话到 OpenClaw:Agent 是怎么一步步发展出来的?
Agent 的发展,不是简单从“聊天机器人”变成“更聪明的聊天机器人”。文本生成→ 中间推理→ 外部知识→ 工具调用→ 循环执行→ 工程框架→ 协议标准→ 真实工作流其中每一步都在解决一个实际问题。Prompt 对话:模型只生成答案CoT:让模型生成推理步骤RAG:让模型接入外部知识ReAct:让模型把推理和行动交替起来Toolformer / Function Calling:让行动变成工具调用AutoGPT:让工具调用进入目标驱动循环。
2026-05-30 09:30:00
1092
原创 AI 产品模型评测工具怎么选?用 Promptfoo / DeepEval / Ragas 找到最低可用模型
市面上确实有 LLM 评测工具。如果你的目标是:接入多个模型,用同一批数据集测试,最后得出对比数据。PromptfooDeepEvalRagas工具负责自动化执行,标准必须由业务定义。先用 Promptfoo 跑出第一版模型横向对比,再用 DeepEval 做工程化回归测试,等产品上线后再接入观测工具。这样才是从验证、上线到长期优化的完整评测链路。
2026-05-30 09:15:00
1123
原创 AI 产品怎么选模型最省钱?用真实数据找到最低可用模型
AI 产品选模型,不能靠感觉。分类用小模型复杂任务用大模型同一批真实任务同一套评分标准多个模型横向测试找到第一个达标的小模型在真实业务评测集上,质量达标、成本最低、错误可控的最小模型。同时,真实产品里最好不要只用一个模型。小模型处理高频简单任务中模型处理普通生成任务大模型处理复杂、高风险、长上下文任务规则和人工兜底处理安全边界用大模型探索能力上限,用小模型验证成本下限。真正的模型选型,不是迷信参数,而是用真实数据证明哪个模型刚好够用。
2026-05-29 12:15:00
411
原创 复杂 Agent 一定要用大模型吗?小模型拆任务为什么也能做?
复杂 Agent 不一定全靠大模型。上下文理解复杂语义判断任务规划边界案例处理低信息场景推理成本低速度快适合固定任务适合结构化输出适合高频简单环节工程流程把一个复杂函数拆成了多个简单函数。F(x) = yf1(x) = a每一步复杂度下降,小模型就能参与。工程复杂度上升延迟可能上升错误会传播需要校验和兜底大模型用参数容量处理复杂性。小模型用工程流程处理复杂性。
2026-05-29 08:15:00
463
原创 为什么小模型容易套模板,大模型更容易抓住问题本质?
小模型容易套模板,不是因为它“笨”,而是因为它更容易学到粗粒度相关性。留存差 → 签到积分大模型更容易抓住问题本质,也不是因为它写了更多规则,而是因为它能保留更多上下文特征,表达更复杂的条件关系。情绪分析产品 + 留存差→ 可能不是缺少签到积分→ 而是缺少用户复访理由→ 应该拆情绪触发、长期记录、复盘价值和行动建议小模型更容易输出高频套路。大模型更容易识别细分场景。差异的底层原因,是内部表示空间和条件关系建模能力不同。但也要记住:参数量不是唯一因素。
2026-05-28 14:11:15
420
原创 大模型参数越大,为什么能力越强?不是因为写了更多 if-else
大模型参数量增加并非简单添加人工规则,而是扩展了模型的内部表示空间。本文通过对比小模型和大模型对同一问题的回答差异,揭示了大模型能力的本质: 大模型并非基于if-else规则系统,而是通过上下文预测下一个token的概率分布 模型"理解意图"的本质是上下文改变了内部向量状态,进而影响输出概率 Transformer通过注意力机制融合上下文信息,形成细粒度特征表示 参数量增大意味着模型能同时保留更多细粒度特征,表示更复杂的条件关系 核心结论:模型越大,内部表示空间越丰富,能同时激活更多相关特征,从而产生更精准
2026-05-28 12:59:44
547
原创 DeepSeek 的上下文缓存是什么?它和程序里的 Redis 缓存一样吗?
DeepSeek API最新推出的上下文缓存功能引发关注。该功能并非缓存最终回答结果,而是缓存模型处理重复输入前缀时的中间计算状态,包括重复提示词、长上下文中间结果等。与传统缓存不同,它不固定输出内容,仍受温度参数等影响保持随机性。该技术特别适合多轮对话、长文档问答等场景,能显著降低重复处理相同上下文的计算成本。开发者可通过优化提示词结构(稳定内容前置)来提高缓存命中率,并通过API返回的缓存命中标记来监控效果。这一创新实现了大模型推理过程的局部优化,在保证回答多样性的同时提升了效率和经济性。
2026-05-24 10:35:40
906
原创 AI的“文本压缩”到底是什么?终于有人把核心原理讲明白了
摘要:上下文压缩是AI IDE的核心能力,其本质并非简单删减文本,而是在有限Token内保留模型推理所需的关键信息。文章指出,压缩的真正难点在于判断"哪些信息可以删",而非"删多少"。通过分析代码示例,作者阐明压缩应保留方法名、调用链等推理核心内容,而删除日志、格式等无关信息。文章还揭示了压缩容易出问题的原因(如删除关键注解导致推理错误),并提出了实现压缩的工程思路:从检索、分块到嵌入和轻量结构压缩。最后指出,未来AI IDE的竞争力将转向"动态上下文系统"等Context Engineering能力。
2026-05-22 16:52:15
480
原创 AI IDE:CodeBuddy 对话框三大模式:Craft / Ask / Plan 到底怎么选?
腾讯CodeBuddy AI编程助手通过Ask(问答)、Plan(规划)、Craft(精编)三种模式构建完整开发流程:Ask解决即时技术问题,Plan负责架构设计,Craft生成可运行代码。三者组合形成"规划→执行→答疑"的工作闭环,Ask模式适合代码片段和错误分析,Plan模式输出结构化方案,Craft模式注重代码质量和规范。使用时需明确模式边界,及时切换并验证AI输出,才能最大化提升开发效率。
2026-05-21 10:10:07
1895
原创 AI全自动写代码后,我发现以前以为自己懂产品,直到开始真正思考“用户为什么会来用”
摘要:作者反思了自己作为开发者的认知误区,原以为既懂技术又懂产品就能做好产品,但AI的出现让他意识到真正的产品能力在于发现真实需求而非功能优化。在公司环境中,开发者接触的是已验证需求,而独立创业需要面对"需求是否存在"这一更本质的问题。AI降低了技术门槛,使"理解用户"成为核心竞争力。作者认为未来稀缺的是用户洞察能力,而非实现能力,建议开发者从"实现需求"升级到"发现需求"。(149字)
2026-05-20 09:42:17
407
原创 用户增长的“海盗秘籍”:AARRR模型全解析
摘要: AARRR模型(海盗模型)是互联网用户增长的核心框架,将用户生命周期分为五个环节:获取(Acquisition)、激活(Activation)、留存(Retention)、变现(Revenue)和推荐(Referral)。该模型强调通过低成本获客、快速触发用户“啊哈时刻”、提升留存率、平衡变现与体验,以及裂变式传播实现可持续增长。随着市场变化,衍生出更注重留存的RARRA模型。AARRR不仅是工具,更是一种以用户为中心的商业思维,适用于产品、运营及技术人员优化增长策略。
2026-05-17 17:18:30
2231
原创 通义灵码Lingma IDE:解决你的提示词焦虑
Lingma IDE:从代码补全到项目理解的AI开发搭档 摘要:阿里云推出的Lingma IDE突破了传统AI编码工具的局限,通过规则系统(个人/项目规则)、MCP协议和Skill功能,实现了从简单代码补全到真正理解项目的转变。其核心优势在于:1)通过规则系统长期记忆开发习惯和项目规范;2)MCP协议让AI具备操作环境的能力;3)内置浏览器支持实时学习最新文档;4)智能提示词优化能结合项目上下文转化需求。这些特性使Lingma IDE更像一个"懂项目的AI开发搭档",而非简单的代码生成器
2026-05-13 10:48:17
733
原创 MCP(四):Python 实战 + MCP 调用原理(Java 开发者视角)
本文介绍了如何用Python开发一个最小MCP Server并模拟Client调用MCP的过程。作者从MCP的认知和底层原理出发,强调理解协议思想比语言更重要。文章详细拆解了MCP Server和Client的开发步骤,包括Tool注册、Schema生成、请求路由等核心机制,并类比Java开发者熟悉的SpringBoot和RPC概念。最终指出MCP本质是连接函数调用与自然语言的翻译层,通过结构化协议实现AI能力的暴露与调用。
2026-05-11 14:41:09
397
原创 MCP(三) 原理:为什么模型会“主动调用工具”?JSON 参数是怎么来的?
本文深入解析了LLM(大语言模型)调用工具(Tool)的工作原理,澄清了三个核心问题:1)工具能被调用是因为其描述被转化为文本并注入提示词(Prompt),而非模型直接感知;2)模型调用工具的行为是通过训练学习在特定场景生成结构化调用格式;3)严格的JSON参数输出是训练数据、Schema约束、提示词限制和解码策略共同作用的结果。文章强调,LLM本质上只是处理文本输入和生成,所有"智能"行为都是通过语言接口间接实现,系统设计的关键在于将函数调用转化为语言问题,再由模型转化为结构化调用。最
2026-05-05 14:40:56
433
原创 MCP (二)原理深度解析:一次工具调用到底发生了什么?
这篇文章深入解析了MCP工具调用的底层机制。核心观点是:MCP本质是一个工具调度协议,而非AI能力本身。整个流程分为四个关键步骤:1)工具通过Schema声明注册到MCP Server;2)Client通过发现机制获取工具列表;3)LLM基于工具描述自主决策调用哪个工具;4)MCP系统执行具体调用并返回结果。文章特别强调,LLM仅负责决策"做什么",MCP负责"怎么做",而工具描述的质量直接影响调用成功率。最后指出MCP只是一个无脑的调度管道,所有智能都来自于LLM。
2026-05-04 17:13:58
515
原创 MCP (一)是什么?一文讲清 AI 如何连接现实世界
摘要: MCP(Model Context Protocol)是一种标准化协议,旨在解决AI调用外部工具的碎片化问题。不同于Function Calling或Plugin等方案,MCP通过统一工具接入、发现和调用方式,构建了AI与外部能力的"接口标准层"。其核心包含Client(LLM)、Server(能力提供方)和Tool(执行单元)三个角色,形成"LLM→MCP Client→MCP Server→Tool"的调用链路。MCP显著改善了工具接入混乱、Agent扩展
2026-05-04 16:31:59
609
原创 为什么 OpenClaw 更适合具备工程系统思维的人?一次实际使用后的思考
OpenClaw不是简单的AI聊天工具,而是一个需要系统思维的AI自动化平台。与传统工具不同,它的使用更像构建系统:从需求分析到能力组合,再到自动化流程设计。具备工程思维(如架构师、高级开发者)的人更容易掌握其核心价值——通过整合Agent、Skill等模块来构建AI系统,如信息监控、招聘筛选等技术方案。OpenClaw代表了一种新趋势:AI工程师需要从系统设计角度,将各种能力组合成解决方案,而非单纯使用工具。
2026-03-07 20:47:42
350
原创 分布式唯一ID生成策略对比与选型
摘要:本文探讨分布式系统中全局唯一ID生成方案,分析四种主流技术的特点与适用场景。UUID实现简单但无序,适合日志追踪;数据库自增适合低频业务;Redis方案性能优异但依赖中间件;雪花算法在高并发核心业务中最具优势。文章提供了Java代码示例,并建议生产环境采用Leaf等成熟框架解决时钟回拨问题。最后强调应根据业务特点选择最适合的方案,在高并发主键场景推荐雪花算法,简单追踪场景则适用UUID。
2026-02-26 16:59:40
787
原创 AI分析不同阶层思维11:计算服务器成本
摘要:不同薪资段位的工程师对服务器成本的理解存在显著差异。月薪1-2万者只关注机器性能,3-5万者会分析资源利用率,而年薪百万+的工程师则将成本视为商业决策问题。这种认知差异反映了工程师是否具备成本视角和商业思维。建议初级工程师建立成本量级感,中级工程师将技术优化转化为量化收益,高阶工程师则需将成本分析与业务增长挂钩。服务器成本认知的差异本质上是技术决策视角的差异,提升成本意识的关键在于将技术选择与实际商业价值挂钩。
2026-01-21 23:26:28
471
原创 AI分析不同阶层思维 十:MQ从概念、底层原理到选型
本文从工程视角剖析了主流消息队列(RabbitMQ、Kafka、RocketMQ)的底层设计差异与适用场景。RabbitMQ以强语义保证可靠性但性能受限,Kafka通过日志模型实现极致吞吐但牺牲消息语义,RocketMQ则在性能与业务需求间寻求平衡。文章指出不同薪资工程师对MQ的理解层次差异:功能使用者(1-2万)、系统风险管理者(5万)和业务兜底设计者(年薪百万),强调技术成长是从"怎么用"到"为什么这样设计"的认知跃迁。最后提出MQ选型应基于业务场景需求,理解底层
2026-01-20 23:08:43
631
原创 AI分析不同阶层思维 九:上线一个项目时,你在想什么
摘要:工程师薪资差异的核心不在于技术深度,而在于对项目上线的责任认知差异。初级工程师关注代码实现,中级工程师考虑系统风险,高级工程师权衡业务影响与时机选择。薪资分水岭对应着从"交付代码"到"为业务兜底"的思维升级路径。要突破薪资瓶颈,需主动扩展责任边界,培养风险预判能力,从解决问题升级为预防问题,最终成为能对上线结果全面负责的工程师。
2026-01-17 17:06:02
502
原创 AI分析不同阶层思维 八:同样是用 Spring,为什么有人写 CRUD,有人设计平台?
摘要: 薪资差距的核心在于工程师对Spring框架的理解层级差异。初级工程师(1-2万/月)仅关注功能实现,中级(3-5万/月)开始思考设计风险与扩展性,而高阶(100万+/年)则将Spring视为“运行时系统”,关注架构稳定性和长期演进。差异体现在问题定位、风险预判和抽象能力上:初级依赖注解和模板,中级优化Bean设计,高阶则掌控底层机制(如IOC容器、代理原理)。升级路径建议:初级需理解生命周期和代理机制,中级应阅读源码并设计模块边界,高阶需突破框架限制,实现系统自主可控。本质是认知深度决定薪资天花板。
2026-01-17 00:21:42
857
原创 AI分析不同阶层思维 七:DCL 单例不加 volatile,迟早出事故
本文分析了配置中心客户端单例模式中出现的空指针异常问题。通过还原事故现场,揭示了经典"双重检查锁"写法在没有volatile修饰时,由于JVM指令重排序导致对象可能被提前发布,造成"半初始化"状态被其他线程访问的根本原因。文章从薪资差异视角,对比了不同级别工程师在问题定位、根因分析和解决方案上的思维差异,指出高薪工程师更关注对象发布模型和系统级规范。最后提出了针对不同级别工程师的刻意练习方案,强调理解并发问题的关键在于关注"看不见的步骤",而非简单
2026-01-15 22:55:11
532
原创 从本地 Demo 到私有化部署:AI 应用开发环境的正确打开方式
本文针对AI应用开发中的环境选择问题,提出了一套高效的分阶段解决方案:在本地开发阶段推荐使用Mac+Ollama快速验证业务逻辑和Prompt调试,强调通过抽象接口层保持代码灵活性;在私有化部署阶段则转向Linux+NVIDIA GPU+vLLM的组合,满足高性能推理需求。文章对比了不同工具的特性差异,指出Ollama适合开发调试而vLLM专为生产环境设计,并提醒避免过早陷入复杂环境配置的误区。最终建议开发者遵循"先效率后性能"的渐进式学习路径,实现从本地验证到企业级部署的平滑过渡。
2026-01-14 23:49:17
1133
原创 AI分析不同阶层思维 六:final 写了也不安全?
本文通过订单系统中一个偶发的空字段问题,揭示了final字段在多线程环境下的安全隐患。分析表明,问题根源在于对象未安全发布——在构造完成前被其他线程访问,导致final语义被破坏。文章对比了不同薪资段工程师在问题定位、根因分析和解决方案上的思维差异,指出认知深度和抽象能力是区分工程师水平的关键。最后提出针对性的刻意练习建议,强调并发编程中顺序和边界的重要性,而非单纯语法掌握。核心观点:final字段的安全保障依赖于对象的安全发布,正确理解对象生命周期比关键字本身更重要。
2026-01-14 22:00:59
572
原创 AI分析不同阶层思维 五:并发 Bug 为什么天生“不留证据”
摘要: 电商系统出现订单重复扣减库存问题,日志显示一切正常但实际并发时出错。分析发现并发Bug本质是线程执行交错,日志无法还原这种非线性关系。不同薪资段工程师的思维差异体现在:初级依赖日志定位,中级预判并发风险,高级从设计规避问题。解决并发Bug的关键在于识别共享状态和临界区,而非依赖日志排查。建议通过刻意练习时间线分析和代码结构审查来提升并发问题解决能力。真正的并发问题必须在设计阶段解决,而非事后追查日志。
2026-01-13 23:03:10
414
原创 AI分析不同阶层思维 四:指令重排在业务里制造的那些怪现象
摘要: 电商订单初始化场景中,共享变量initDone和order在多线程环境下因指令重排导致initDone=true时order未初始化,引发NPE或脏数据问题。该问题本质是状态标志与数据对象非原子发布的设计缺陷。不同薪资段工程师的应对差异显著:初级仅关注NPE偶发,中级能定位并发可见性,高级则直接识别状态发布模型问题。解决方案包括volatile、同步或重构发布方式,关键在于建立并发编码规范,避免依赖隐含顺序。业务代码中指令重排的典型表现是“状态已完成但数据未就绪”,识别这种风险模式是工程师能力的重要
2026-01-12 21:20:38
645
原创 AI分析不同阶层思维 三:volatile它为什么解决不了原子性
支付回调开关失效事故分析:当管理员关闭回调开关后,部分订单仍被处理。问题根源在于使用volatile变量判断回调状态时,"读+判断+执行"并非原子操作,导致并发场景下必然出现竞态条件。不同薪资水平的工程师展现出思维差异:初级仅关注变量可见性,中级考虑并发执行顺序,高级则从业务一致性角度否定热切换设计。解决方案需区分业务场景,可采用请求拦截、状态版本化或拒绝热切换等策略。关键启示:技术工具的正确使用只是基础,预见系统在真实环境中的行为才是核心竞争力。
2026-01-12 17:57:30
562
原创 AI分析不同阶层思维 二:Spring 的事务在什么情况下会失效?
摘要: 本文通过一个真实线上事故案例,揭示了Spring事务失效的核心原因——事务注解在内部方法调用时不生效,导致并发场景下数据不一致。案例中,单例Bean的成员变量共享状态与事务边界未覆盖完整执行路径,造成“看似回滚实则脏数据”的必然结果。文章对比了不同层级工程师的视角:初级者纠结注解配置,资深者关注执行路径与系统设计,架构师则反思团队对事务边界的认知偏差。关键结论在于,事务是兜底机制而非业务隔离方案,真正的能力差距在于能否识别系统在“安全假象”下的失控风险。
2026-01-09 12:38:42
557
dbcode.jar
2019-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅