avatar
文章
12
标签
14
分类
7
首页
标签
分类
时间轴
Noodles
首页
标签
分类
时间轴

Noodles

什么是Agent Skills
发表于2026-03-26|AI
前言随着 AI Agent(智能体)的兴起,越来越多的开发者开始使用 AI 助手来辅助日常工作。但通用的大模型在面对特定领域的任务时,往往缺乏专业的知识和标准化的操作流程。 Agent Skills 就是为解决这个问题而生的——它就像是给 AI 助手安装的”插件”,让通用的 AI 助手瞬间变成某个领域的专家。 什么是 Agent SkillsAgent Skills 是一种模块化的知识包,用于扩展 AI Agent 的能力。每个 Skill 本质上是一个包含特定领域知识、工作流程和工具说明的文档包,告诉 AI Agent 在面对某类任务时应该如何思考和操作。 你可以把 Skill 理解为: 📖 一本操作手册 —— 告诉 Agent 做某件事的标准流程 🧠 一段专业记忆 —— 让 Agent 掌握某个领域的专业知识 🔧 一套工具指南 —— 教 Agent 如何正确使用特定工具 为什么需要 Agent Skills1. 通用模型的局限性大语言模型虽然知识面广,但在具体领域往往”样样通、样样松”。比如: 让它写测试用例,可能不知道项目用的是 JUnit5 还是...
WebSocket的基本概念以及在Spring Boot中的应用
发表于2025-08-26|Java
什么是 WebSocketWebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。它解决了传统 HTTP 协议”只能由客户端发起请求”的局限,让服务器可以主动向客户端推送数据。 简单来说:HTTP 是”你问我答”,WebSocket 是”随时都能聊”。 核心特性1. 双向通信HTTP 请求只能由客户端发起,服务器无法主动推送。WebSocket 建立连接后,双方可以随时互发消息,非常适合聊天、协同编辑等场景。 2. 实时性强WebSocket 连接是持久的,数据一旦产生就可以立即发送,无需像 HTTP 那样每次重新建立连接,延迟极低。 3. 开销小HTTP 每次请求都要携带完整的 Header(Cookie、User-Agent 等),而 WebSocket 在连接建立后,数据帧的头部最小只需 2 字节,非常适合高频、小数据量的场景。 工作原理握手阶段(HTTP Upgrade)WebSocket 连接始于一次特殊的 HTTP 请求: 123456GET /ws HTTP/1.1Host: example.comUpgrade:...
MCP协议入门
发表于2025-05-03|AI
MCP协议(Model Context Protocol,模型上下文协议)是由人工智能公司Anthropic于2024年11月推出的开放标准协议,旨在为大型语言模型(LLM)与外部数据源、工具及服务提供统一的通信框架。其核心目标是打破数据孤岛限制,通过标准化接口实现AI模型与多源数据的无缝集成,可类比为”AI领域的USB-C接口”。 在MCP协议出现之前,AI大模型与外部世界的交互的模式十分有限,我们只能通过对话的方式从大模型中获取信息,这无法完全发挥AI大模型的能力。而MCP的出现打破了这种限制,它使AI大模型能够统一访问本地数据库、文件系统及远程API等,打破数据孤岛限制。 MCP协议架构概览MCP主机(Host) 是运行MCP的主应用程序(如Cursor 、Cline或其他AI工具),为用户提供与LLM交互的接口,同时集成MCP Client链接MCP Server。 MCP客户端(Client) 作为LLM和MCP Server之间的桥梁,嵌入在主机程序中,主要负责以下几个工作: 接收来自LLM的请求。 将请求转发到相应的MCP Server。 将MCP...
Spring AI简单应用
发表于2025-04-13|Java
SpringBoot提供了AI相关的starter,只需要简单的配置便可以高效地与AI模型进行对接。本篇文章将简单介绍如何通过Spring AI对接DeepSeek。 环境准备 jdk-21 SpringBoot 3.4.3(Spring AI Starter要求的SpringBoot的最低版本是3.2) Maven 3.9.9 获取AI模型配置 Siliconflow 给我们提供了免费的 DeepSeek-R1 模型。访问模型广场,筛选出免费的模型。 本次Demo选择 deepseek-ai/DeepSeek-R1-Distill-Qwen-7B。 新建API密钥:点击侧边栏的API密钥,在该界面中新建一个API密钥,留着待会在项目配置中填入。 创建项目 通过idea新建一个Maven项目。 修改Maven配置文件 pom.xml...
docker-compose安装Prometheus
发表于2024-11-28|Linux
准备配置文件docker-compose.yml1234567891011121314151617181920212223242526272829services: prometheus: container_name: prometheus image: prom/prometheus ports: - "9090:9090" environment: - TZ=Asia/Shanghai volumes: - /usr/local/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml networks: - apm # restart: always# grafana作为可视化界面 grafana: container_name: grafana image: grafana/grafana ports: - "3000:3000" ...
消息队列常见问题及应对策略
发表于2024-05-13|消息队列
消息队列作为分布式系统中的核心组件,广泛用于系统解耦、削峰填谷和异步通信。然而在实际使用过程中,消息队列也伴随着一系列典型问题,如消息重复消费、消息丢失、消息乱序、消息积压等。本文将从消息的生产、传输和消费上出发,系统性分析这些问题产生的原因与解决方案。 消息重复消费产生原因 消息重复消费是消息队列系统的常见问题之一。在消息从生产端发送到消费者确认ACK 的整个流程中,任一环节的异常都可能导致消息被重新发送或重新消费。 生产端重试发送导致消息重复。 消费端未能及时ACK,消息中间件误认为消费失败。 消费端逻辑处理超时或失败重启后重试。 解决方案 为了避免重复消费带来的业务问题,最核心的原则是:消费端逻辑必须具备幂等性,即同一消息无论被处理多少次,业务效果应一致。 实现方式包括但不限于: 依赖数据库的唯一性约束(如订单号、流水号)。 使用Redis缓存唯一业务标识。 Kafka可通过设置 enable.idempotence=true 保证生产端幂等性(但仅限单个...
策略模式
发表于2023-10-03|设计模式
策略模式的定义策略模式是一种行为型模式,它定义了一系列算法,并将每个算法封装起来,使他们可以相互替换。在实际的使用中,可以在运行时根据实际情况选择不同的策略。 策略模式有这些优点: 避免使用多重条件语句。 策略模式可以把一些重复的算法写到父类中,由继承这个父类的子类去调用,避免了重复的代码。 策略模式的缺点:由于每一个策略的实现都需要新增一个策略类,所以可能会造成出现很多的策略类。 模式的结构策略模式主要有以下这几种结构: 抽象策略类:定义了一个公共接口,接口定义了策略方法交给子类去实现。抽象策略类一般是接口或者抽象类。 具体策略:是对抽象策略类的实现,对抽象策略类的不同方法提供具体的实现。 上下文类(Context):包含了对策略对象的引用,交给我们去调用。 模式的类图 模式的实现在平常的Java项目开发中,我们都是依赖于Spring或者SpringBoot的,为了便于理解,以及更加贴近我们的日常开发,下面的实现将采用Spring的BeanFactory来作为我们的上下文类,也就是我们把具体的策略都交给Spring容器去管理。 抽象策略类123public...
MySQL的并发控制
发表于2023-02-05|MySQL
在实际开发中,数据库并发控制问题往往是性能瓶颈与数据一致性问题的根源。MySQL 通过其默认的存储引擎 InnoDB,通过事务机制、MVCC、多级锁和日志系统,为开发者提供了强大的并发控制能力。但这些机制的底层实现原理往往被忽略,导致在出现脏读、死锁或性能下降等问题时难以定位。本篇文章将从事务的 ACID 特性出发,系统梳理 InnoDB 如何实现隔离性与持久性,深入解析 MVCC、undo/redo log、锁机制与隔离级别的协作原理。 事务的四大特性(ACID) 原子性(Atomicity):指事务中的所有操作要么全部成功,要么全部失败。 InnoDB 引擎通过 undo log (回滚日志)保证原子性:事务启动后,对数据的任何修改都先记录原始版本,若事务回滚,可根据 undo log...
MySQL索引:原理、分类与优化策略
发表于2023-01-16|MySQL
...
HashMap源码解析
发表于2022-12-20|Java
本篇文章将从源码的角度去分析 HashMap 的 put,resize,get 流程。如果只想了解这三个方法的原理的小伙伴,可以只看这三个方法末尾的总结部分。 部分变量说明1234567891011121314151617181920212223242526/** * 1.默认初始化容量,默认是16 * 2.必须是2的幂次方,便于通过位运算 (n - 1) & hash 快速定位桶索引。较小的初始容量平衡了内存占用和哈希* 碰撞概率。*/static final int DEFAULT_INITIAL_CAPACITY = 1 << 4;/*** 最大容量,2的30次方 */static final int MAXIMUM_CAPACITY = 1 << 30;/*** 装载因子,0.75是统计出来的,能够平衡时间和空间成本 */static final float DEFAULT_LOAD_FACTOR = 0.75f;/*** 由链表转成红黑树的阈值,即当链表的长度 >= 8的时候触发 */static final int...
12
avatar
Noodles
文章
12
标签
14
分类
7
Follow Me
最新文章
什么是Agent Skills2026-03-26
WebSocket的基本概念以及在Spring Boot中的应用2025-08-26
MCP协议入门2025-05-03
Spring AI简单应用2025-04-13
docker-compose安装Prometheus2024-11-28
分类
  • AI2
  • Hexo1
  • Java4
  • Linux1
  • MySQL2
  • 消息队列1
  • 设计模式1
标签
WebSocket Hexo Agent AI 消息队列 Spring Boot docker 实时通信 Java JVM MySQL OpenClaw 设计模式 监控
归档
  • 三月 2026 1
  • 八月 2025 1
  • 五月 2025 1
  • 四月 2025 1
  • 十一月 2024 1
  • 五月 2024 1
  • 十月 2023 1
  • 二月 2023 1
网站信息
文章数目 :
12
本站访客数 :
本站总浏览量 :
最后更新时间 :
©2025 - 2026 By Noodles框架 Hexo 7.3.0|主题 Butterfly 5.4.0-b1