自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 基于Anthropic+OpenAI官方agent搭建指南:Workflow为主,辅以Agent

Anthropic和OpenAI官方指南指出,90%的“Agent”概念被误用,明确区分了Workflow(预设流程)和Agent(自主决策)两类系统。官方强调优先选择最简单方案,仅在必要时使用Agent,尤其避免在流程固定、高合规要求或单轮LLM可解决的场景中使用。Agent本质是“感知-思考-行动”循环,核心组件包括模型、工具和指令规则。示例代码展示了最小Agent实现(如计算器),验证了官方定义的可操作性。落地时应遵循复杂度阶梯原则(规则>单轮LLM>Workflow>Agent),避免技

2026-06-17 22:55:08 575

原创 Agent的核心:ReAct循环,让AI不再瞎编,而是真的“干活”

ReAct循环(推理+行动)是AI Agent的核心机制,解决大模型“一次性生成答案”的缺陷。通过“思考→行动→观察”的循环,Agent能动态获取新信息并修正错误,如查询竞争对手定价时,先确认目标、搜索官网、提取数据,而非直接输出理论。ReAct补足了LLM信息过时、无法验证的短板,需配置终止条件(预算/轮数限制)避免无限循环或过早放弃。生产落地需注意Token控制、防脱节等问题,不同框架(LangChain/LangGraph等)实现方式各异。ReAct的价值在于将黑箱回答转化为可追溯

2026-06-01 09:00:00 405

原创 Agent的本质:不止是更聪明的Chatbot,而是能自主干活的AI

文章摘要: Agent的核心是能自主完成任务的AI系统,而非被动回应的Chatbot。其四大组件包括LLM(决策大脑)、Tools(执行工具)、Memory(记忆存储)和Autonomy(自主决策)。与传统软件和Chatbot不同,Agent通过多轮“思考-行动-观察”循环动态解决问题,自主性分为6个等级(L0-L5)。适合Agent的任务需目标明确、步骤可拆解且可验证,但开放性创意或高风险决策仍需人类介入。技术演进从规则驱动转向多Agent协作,生产级应用需平衡自主性与安全性。常见误区包括混淆插件与Age

2026-05-29 17:47:19 361

原创 揭秘AI Agent评估:从理论到落地的完整指南

本文基于Anthropic工程实践与前沿客户合作经验,系统拆解了AI Agent评估的核心方法论、技术选型与落地路线图,是目前行业内最具实操性的Agent评估指南之一。

2026-05-19 10:03:52 477

原创 不是再做一个知识库,而是给 Agent 建一套会生长的知识操作系统

用户投喂一篇文章,系统不能只生成「本文讲了什么」。它要判断这篇文章对现有知识体系产生什么影响。它应该问,新增了什么概念?强化了哪个旧观点?和哪个旧结论冲突?适合沉淀成事实知识、经验知识,还是行动指南?有没有值得变成 Skill 的流程?有没有可以成为项目假设的洞察?

2026-05-14 17:50:54 531

原创 第一章 初识智能体

本文系统介绍了智能体的概念与发展历程。首先定义了智能体的四个基本要素:环境、传感器、执行器和自主性。然后梳理了传统智能体的演进路径,从简单的反射智能体到基于模型、目标和效用的智能体,再到强化学习驱动的学习型智能体。重点对比了传统智能体与基于大语言模型(LLM)的新范式智能体的差异,指出LLM智能体具有更强大的自然语言处理、任务分解和动态调整能力。最后从决策架构和时间反应性两个维度对智能体进行分类,展示了智能体技术从规则驱动到数据驱动的发展趋势。全文为理解智能体的本质特征和技术演进提供了系统性框架。

2026-04-21 18:23:00 403

原创 Skill深度揭秘:AI的“专业技能包“如何重塑开发体验

定义Skill是一个封装了"专业知识、工作流程、最佳实践"的Prompt包,让AI像领域专家一样工作。AI = 通才什么都会一点,什么都不精AI = 专家团队- /commit → Git专家- /code-review → 代码审查专家- /database-helper → 数据库架构师- /frontend-design → UI设计师同一个AI,不同的"人格"和"专业"

2026-04-18 14:00:00 626

原创 MCP深度揭秘:AI的“通用接口协议“如何连接万物

《MCP:AI与外部世界的统一接口协议》 摘要: Model Context Protocol (MCP)是解决AI"信息孤岛"问题的开放标准协议,它通过三层架构实现AI与外部服务的统一交互。相比传统API和Plugin方案,MCP具有标准化、双向通信、自动发现等优势。其核心价值在于:1)统一协议降低开发成本;2)支持实时数据访问;3)提供完善的权限管理机制。MCP如同AI世界的USB接口标准,使各类AI应用能通过单一协议访问多样化服务,显著提升开发效率和使用体验。 (字数:149字)

2026-04-17 14:29:14 501

原创 AI Tools的本质揭秘:从“只会说话“到“能做事“

AI只是输出一个JSON真正的执行是你的代码做的AI是"建议者",不是"执行者"Tools不是魔法,是精心设计的Prompt工程AI不执行代码,只是生成结构化的调用指令真正的执行由框架和你的代码完成关键突破是AI学会了何时输出什么格式的JSON革命性意义是让AI从"说"变成了"做"(通过指挥代码)

2026-03-24 08:35:01 462

原创 Prompt工程深度揭秘

一句话定义Prompt是你告诉AI"要做什么"以及"怎么做"的指令文本。Prompt工程 =明确需求(50%)+结构化表达(30%)+示例引导(15%)+迭代优化(5%)不是一次性写完,而是不断优化Prompt是AI的使用说明书越详细,输出越可控AI不理解,只匹配基于训练数据的模式匹配好Prompt的四个层次L1: 基础指令L2: 结构化L3: 角色+示例L4: 系统级约束六大设计模式角色扮演思维链少样本学习自我验证结构化输出约束限制优化方法A/B测试。

2026-03-17 08:15:00 703

原创 一文搞懂爆火的SKills原理及实践案例

本文探讨了AI时代Skills(技能)的开发与应用。作者从"中台"复用理念出发,提出公共Prompt即为Skills的观点,建议将软件开发全流程的Prompt分类封装。Skills设计强调"恰好而非更多",采用渐进式加载避免信息过载。文章指出AI使文字承载的经验得以沉淀和共享,建议通过归纳法(从案例总结)和演绎法(应用规律)开发Skills,关键在于"向外洞察"问题和"向内觉察"解决过程。实践案例包括逆向建模、问题定位和AI辅助

2026-03-13 10:10:21 1777

原创 一文带你搞懂Prompt、Tools、Workflow、Skill、MCP等AI概念之间的区别

本文从AI助手Claude的视角解析了Prompt、Tools、Workflow、Skill和MCP五个核心概念: Prompt是用户指令,决定AI做什么; Tools赋予AI实际操作能力; Workflow将多步骤任务标准化; Skill封装专业领域知识; MCP提供连接外部服务的统一接口。 文章通过类比(如Prompt是任务指令、Tools是"手和腿")和实际开发案例(ArticleKeeper项目)展示了这些概念如何协同工作,使AI从简单应答升级为能完成复杂任务的智能助手。最后通过

2026-03-12 09:25:40 3019 2

原创 Java业务层单元测试通用编写流程(Junit4+Mockito实战)

Java业务层单元测试通用流程(JUnit4+Mockito) 本文介绍了Java业务层单元测试的通用编写流程,基于JUnit4测试框架和Mockito模拟框架组合。核心原则是只测试当前类业务逻辑,通过Mock模拟依赖组件,排除外部干扰。流程分为5个步骤: 环境准备:引入JUnit4和Mockito依赖 创建测试类:使用@RunWith、@InjectMocks和@Mock注解 前置初始化:准备测试数据并通过when().thenReturn()设置模拟返回值 编写测试方法:执行被测方法并进行断言验证 执行

2026-01-29 14:21:42 2249 1

原创 Redis 为什么这么快?从线程模型到底层优化全解析

Redis 之所以能实现极致的高性能,并非依靠某一项“黑科技”,而是从基础存储到上层设计,从核心流程到细节优化纯内存操作是基础,让Redis脱离了磁盘IO的性能瓶颈,为后续优化提供了前提;核心单线程+辅助多线程的线程模型是核心,扬长避短,既发挥了内存操作的高速性,又解决了单线程的IO阻塞问题,无额外性能开销;IO多路复用技术是关键,让单线程能高效处理高并发客户端连接,避免了连接管理的资源浪费;定制化底层数据结构是底层支撑,让每个操作都保持低时间复杂度,最大化利用内存的高速性;细节轻量级优化。

2026-01-29 11:38:39 1764

原创 深入理解Spring Bean:生命周期、作用域与线程安全全解析

本文深入解析了Spring Bean的三大核心特性:生命周期、作用域和线程安全。首先详细介绍了Bean从实例化到销毁的完整生命周期流程,包括9个关键阶段及执行顺序,并通过代码示例演示了各阶段的触发时机。其次分析了6种Bean作用域(singleton/prototype/request/session/application/websocket)的定义、存活时间和适用场景,以及作用域的配置方式。最后探讨了不同作用域Bean的线程安全问题及解决方案。通过全面理解这些核心特性,开发者可以更合理地设计和管理Spr

2026-01-27 09:04:23 1980

原创 Git的使用看这一篇就够了

Git常用命令速查表

2026-01-16 08:30:00 2601

原创 final关键字底层原理

摘要:final关键字的不可变性由JVM在编译期、类加载期和运行期共同保障。编译期进行语法检查和常量折叠优化;类加载期完成final变量赋值并标记ACC_FINAL标志位;运行期通过JMM保证可见性和有序性,反射修改final常量会因常量折叠失效。final的实现基于编译器约束、JVM标志位校验和内存模型三层机制,确保字段不可修改、方法不可重写、类不可继承。

2025-12-26 14:17:37 1508

原创 Java中的锁:从基础到高级的全面解析

本文全面解析Java中的锁机制,涵盖锁的分类、实现原理和使用场景。锁可分为内置锁(synchronized)和显式锁(ReentrantLock),公平锁和非公平锁,可重入锁和不可重入锁,独占锁和共享锁等类型。synchronized基于对象头和Monitor实现,具有偏向锁、轻量级锁、重量级锁的升级路径;ReentrantLock基于AQS实现,支持可中断、可超时等特性。不同锁适用于不同场景,如synchronized适合简单同步,ReentrantLock适合复杂并发控制,读写锁适合读多写少场景。合理选

2025-12-26 11:43:43 1878

原创 深入理解AQS:Java并发编程的基石

AQS(AbstractQueuedSynchronizer)是Java并发编程的核心框架,为ReentrantLock、Semaphore等并发工具提供底层支持。其设计基于模板方法模式,将通用同步逻辑封装为final方法,同时通过抽象方法让子类实现特定同步规则。AQS支持独占式和共享式两种同步模式,通过volatile state变量和CLH双向队列实现线程同步。state表示同步资源状态,CLH队列管理等待线程。这种设计解耦了通用逻辑与业务逻辑,使子类只需关注同步规则,无需处理底层线程排队、阻塞等细节。

2025-12-26 11:31:23 1985

原创 深入浅出volatile:基于 JMM 与缓存一致性的底层原理及实践

摘要: volatile 是 Java 中保证共享变量可见性和有序性的关键字,通过强制线程读写主内存(而非工作内存)实现可见性,并借助内存屏障禁止指令重排序。其底层依赖 CPU 缓存一致性协议(如 MESI)同步多核缓存。但 volatile 不保证原子性,例如 count++ 仍需配合 synchronized 或原子类实现。典型应用包括双重检查锁(DCL)单例模式,需用 volatile 防止指令重排序导致的半初始化问题。正确使用 volatile 需严格匹配其特性场景。

2025-12-23 08:00:00 1907

原创 一文搞懂Java BIO、NIO、AIO的核心区别

简单应用、低并发场景,选 BIO 足够,编程成本低;高并发网络编程场景,选 NIO,多路复用能大幅提升性能;高并发且 IO 操作耗时较长的场景,选 AIO,异步通知能最大化利用线程资源。掌握这三种 IO 模型的核心区别,能帮助我们在实际开发中做出更合理的技术选型,写出更高效的 Java 程序。

2025-12-19 08:00:00 2355

原创 Docker项目部署

本文详细介绍了使用Docker部署Java项目的完整流程。首先需要确保服务器已安装Docker,并完成Java项目的打包。核心步骤包括:编写Dockerfile配置基础镜像、工作目录和启动命令;构建Docker镜像;运行容器并配置端口映射和日志挂载;最后验证部署结果。文章还提供了容器管理常用命令,并推荐了生产环境的优化方案,如配置容器自启和使用Docker Compose管理多服务。通过Docker部署可实现"一次构建,到处运行",有效解决环境差异问题。

2025-12-19 08:00:00 1427

原创 HashMap 底层原理全景解析:从结构到机制的深度拆解

本文深度解析了Java中HashMap的底层原理,从JDK7到JDK8的结构演进、核心机制到操作流程。HashMap基于数组+链表+红黑树(JDK8)实现,通过哈希计算和扩容机制保证高效存取。JDK8引入红黑树优化查询效率至O(logn),修复了多线程问题。文章详细剖析了哈希计算的扰动函数、位运算映射等关键设计,以及扩容流程和put/get方法实现。同时指出了使用注意事项:必须重写hashCode()和equals()、线程安全问题及初始容量优化策略。HashMap的高效性源于精心设计的底层机制,是Java

2025-12-18 08:00:00 1808

原创 常见限流算法及选型

本文介绍了三种常见的限流算法:固定窗口限流、滑动窗口限流和漏桶算法。固定窗口限流实现简单但存在临界问题,适用于流量平稳场景;滑动窗口限流通过拆分小窗口解决了临界问题,精度更高但计算开销较大;漏桶算法以固定速率处理请求,能平滑突发流量但响应可能延迟。每种算法各有优缺点,需根据实际场景选择,如后台管理系统可用固定窗口,API接口适合滑动窗口,对稳定性要求高的场景可选择漏桶算法。

2025-12-18 08:00:00 1588

原创 消息队列核心特性解析

消息队列在现代分布式系统中具有异步处理、系统解耦和流量削峰三大核心优势。消息重复消费需通过幂等性保障,可采用Token验证、参数锁定或SpEL表达式等方式实现。消息可靠性需从生产、存储、消费三个阶段保障,包括同步发送、持久化存储、主从复制和消费确认机制。消息顺序性可通过队列分区和串行消费实现。针对消息堆积问题,可通过扩容消费者、优化消费逻辑、消息分流等方法解决。RocketMQ通过CommitLog持久化、ConsumeQueue索引和主从同步等机制,确保消息处理的可靠性和性能。

2025-12-16 08:00:00 1911

原创 深入理解Synchronized:Java并发编程的基石

本文深入探讨了Java并发编程中的synchronized关键字,解析其解决线程安全问题的原理与应用。首先阐述了线程安全的核心概念,包括临界区资源、临界区代码段和竞态条件,并通过自增运算案例说明线程不安全的根源。接着详细介绍了synchronized的两种使用方式:同步块(指定锁对象)和同步方法(隐式锁对象),分析其优缺点及适用场景。最后通过生产者-消费者模型实战,展示如何结合synchronized与wait()/notify()实现线程间通信,确保并发操作的安全性和资源优化。全文从理论到实践,帮助开发者

2025-12-15 08:00:00 3222

原创 深入理解CAS与JUC原子类:Java无锁并发编程的核心

本文深入探讨Java并发编程中的CAS(比较并交换)技术及其在JUC原子类中的应用。CAS作为一种无锁编程的乐观锁机制,通过硬件级原子指令实现线程安全,相比synchronized在低冲突场景下性能更优。文章详细解析了CAS原理、实现示例和性能对比,并介绍了JUC原子类的分类(基本类型、数组类型、引用类型和字段更新器)。针对CAS的ABA问题,提出通过版本号(AtomicStampedReference)或标记(AtomicMarkableReference)的解决方案。最后总结了CAS的适用场景和局限性,

2025-12-15 08:00:00 1654

原创 ThreadLocal深度解析:线程私有变量的实现、场景与避坑指南

本文全面解析ThreadLocal在多线程编程中的应用与原理。ThreadLocal通过为每个线程创建变量独立副本,实现线程隔离,解决共享变量并发问题。其核心机制是每个线程内部的ThreadLocalMap存储变量,JDK8后优化为线程自主管理。典型应用场景包括线程资源隔离和跨方法传参,如用户会话管理、事务处理等。但ThreadLocal存在内存泄漏风险,主要因Value强引用未被释放,尤其在线程池复用线程时更需警惕。规范使用需遵循两大原则:用private static final修饰ThreadLoca

2025-12-11 08:00:00 1210

原创 深入解析 Java 线程池:原理、实践与最佳实践指南

Java线程池是并发编程的核心组件,通过复用线程降低创建销毁开销,提升系统性能和稳定性。文章深入解析线程池架构(Executor接口体系、ThreadPoolExecutor实现类)、Executors工具类的风险(无界队列导致OOM)及生产环境推荐的手动配置方案(7大核心参数优化)。重点强调合理设置线程数、队列容量和拒绝策略的重要性,为高并发场景提供可靠解决方案。

2025-12-09 00:42:49 2000

原创 缓存数据一致性

Redis 缓存数据一致性的核心是在 “性能” 与 “一致性” 之间寻找平衡—— 不存在万能方案,需根据业务的一致性要求、读写比例、并发量等因素综合决策。实际落地时,建议遵循 “基础策略 + 进阶机制 + 兜底保障基础策略:优先采用 “先更数据库 + 后删缓存”,简单高效;进阶机制:分布式场景下引入消息队列或 Canal 同步,提升一致性可靠性;兜底保障:必设缓存 TTL,配合布隆过滤器、互斥锁等,避免极端问题。

2025-12-08 00:14:55 1588

原创 JDK 8 核心新特性

JDK 8 是 Java 的重要里程碑版本,引入了多项革命性特性。核心改进包括:Lambda 表达式通过 invokedynamic 指令实现函数式编程,替代传统匿名内部类;函数式接口作为 Lambda 的载体;接口新增默认方法和静态方法增强扩展性;Stream API 提供声明式集合操作,支持并行处理;全新的 java.time 包解决了旧日期 API 的线程安全问题。这些特性从底层重构了 Java 语言,使其更简洁高效,同时支持现代编程范式。

2025-12-04 21:23:03 2337

原创 java面试核心知识点合集(持续更新~~~)

本文整理了Java面试核心知识点,涵盖JVM、内存管理、垃圾回收、性能调优等核心内容。详细解析了JVM内存模型(方法区、堆、栈等)、垃圾回收算法(标记清除、复制、分代回收等)、常见GC类型(Minor/Full GC)及触发条件。介绍了CMS、G1等主流垃圾回收器特点,提供了JVM调优参数配置建议。还包含类加载机制、双亲委派模型等高级主题。适合Java开发者系统复习面试重点知识,帮助深入理解JVM工作原理和性能优化方法。

2025-11-30 21:30:27 1681

原创 深入浅出JVM垃圾回收机制

JVM垃圾回收机制深入解析:从基础原理到实践优化。文章首先介绍垃圾判断方法,对比引用计数法的缺陷与可达性分析的优势,详细解释GC Roots概念。然后探讨并发环境下的三色标记法及解决方案(增量更新与原始快照)。系统讲解标记-清除、复制、标记-整理三大回收算法特点,分析分代收集策略在新生代和老年代的应用差异。最后比较主流回收器(串行/并行/CMS/G1)的工作机制,重点剖析G1回收器的Region分区设计和记忆集技术。全文贯穿技术难点与解决方案,为理解JVM内存管理提供系统指南。

2025-11-28 11:08:05 1380

原创 说一说ArrayList和LinkList的区别

每个节点包含数据 + 指针(单向链表一个指针,双向两个),空间开销大。缓存不友好:节点分布在堆中不同位置,导致大量缓存未命中。中间插入/删除为O(1)(前提是已定位到位置)。访问任意元素需O(n)遍历,无随机访问能力。

2025-11-26 23:57:29 1279

原创 SpringBoot的启动流程

摘要:SpringBoot启动流程分为三个阶段:1)启动准备阶段,加载配置和初始化环境;2)创建应用上下文,根据应用类型构建容器;3)刷新容器,完成Bean加载和自动装配。整个过程结合了IOC容器初始化和自动装配机制,通过@EnableAutoConfiguration注解和条件判断实现组件自动配置,最终启动内嵌服务器。

2025-11-25 23:10:03 1185

原创 请你讲一下TCP的三次握手和四次挥手,双端状态如何变化?

一块叉烧讲解,TCP三次握手和四次挥手的具体流程,将图片转化成文字具体描述

2025-11-24 23:06:24 1187

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除