<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[飞鱼の博客]]></title><description><![CDATA[技术 · 学习 · 分享 · 随想]]></description><link>https://blog.youkuaiyun.com/Marvine</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Marvine]]></copyright><item><title><![CDATA[Spring Boot 集成 Solon MCP Server 实践]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/162879881</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/162879881</guid><author>Marvine</author><pubDate>Tue, 14 Jul 2026 18:11:40 +0800</pubDate><description><![CDATA[要点说明两个框架共存Spring Boot (8080) + Solon (8088)，互不干扰端口隔离通过在中临时设置 Solon 端口三个必要依赖鉴权Solon 的Filter，在 HTTP 层拦截 MCP 端点不动核心代码只需在加一个= null的防重判断。]]></description><category></category></item><item><title><![CDATA[Agent Loop 中的工具调用与 MCP 协议详解]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/161925149</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/161925149</guid><author>Marvine</author><pubDate>Wed, 24 Jun 2026 17:55:49 +0800</pubDate><description><![CDATA[摘要 MCP协议是基于JSON-RPC 2.0的标准化通信协议，用于连接LLM应用与外部工具/数据源。核心角色包括Host(管理者)、MCP Server(执行者)和LLM模型(推理引擎)。协议支持stdio和HTTP+SSE两种传输方式，通过initialize握手和能力发现建立连接。工具定义(inputSchema)会被Host转换为与主流LLM API兼容的格式，每次请求时与messages拼接后发送给LLM。Agent Loop的工作流程包含：用户输入→Host组装请求→LLM推理→判断是否需要工具]]></description><category></category></item><item><title><![CDATA[【 超越 ReAct：手搓 Plan-and-Execute (Planner) Agent】]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/157870397</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/157870397</guid><author>Marvine</author><pubDate>Sun, 08 Feb 2026 11:06:19 +0800</pubDate><description><![CDATA[本文介绍了Plan-and-Execute模式的智能代理实现方法，该模式通过将任务拆分为规划和执行两个阶段来提高复杂任务的完成效率。在规划阶段，Planner Agent会生成详细的步骤清单；在执行阶段，Executor Agent则逐步完成每个步骤。这种分离设计解决了ReAct模式在长链路任务中容易迷失目标的问题，提供了更好的确定性。文章展示了核心实现代码，包括规划阶段的JSON格式输出要求以及执行阶段的上下文管理方法，强调通过简单直接的Prompt设计和状态注入来实现可靠的任务分解和执行。]]></description><category></category></item><item><title><![CDATA[【手搓 ReAct Agent：告别框架，回归本质】]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/157870120</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/157870120</guid><author>Marvine</author><pubDate>Sun, 08 Feb 2026 10:53:41 +0800</pubDate><description><![CDATA[本文介绍了如何用纯Python实现一个生产级可用的ReAct Agent，摆脱对复杂框架的依赖。文章首先阐述了ReAct模式的核心循环：推理(Thought)-行动(Action)-观察(Observation)，并用流程图展示了其工作原理。然后详细讲解了工具系统(ToolRegistry)的实现，通过Python装饰器和类型提示自动生成JSON Schema，简化工具注册和管理流程。该方案强调代码透明性和控制力，避免了黑盒框架带来的复杂性，展示了如何用简洁优雅的方式构建智能代理系统。]]></description><category></category></item><item><title><![CDATA[【源码阅读计划】浅析 Java 线程池工作原理及核心源码]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/128443300</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/128443300</guid><author>Marvine</author><pubDate>Mon, 26 Dec 2022 13:34:56 +0800</pubDate><description><![CDATA[浅析 Java 线程池工作原理及核心源码]]></description><category></category></item><item><title><![CDATA[图解红黑树]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/120420667</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/120420667</guid><author>Marvine</author><pubDate>Wed, 22 Sep 2021 18:52:32 +0800</pubDate><description><![CDATA[红黑树红黑树的基本结构2-3 树2-3 树 -&gt; 红黑树红黑树的创建整体代码参考
红黑树的基本结构

 红黑树(Red-black tree) 是一种自平衡二叉查找树，是在计算机科学中用到的一种数据结构，常用于关联数组、字典等。C++ 中的标准关联容器set、multiset、map、multimap内部采用的数据结构就是红黑树。

红黑树的定义：

每个节点只能是红色的或黑色的
根节点是黑色的
每个叶子节点都是黑色的
如果一个节点是红色的，那么它的孩子节点必须是黑色的
从任意一个节点到叶子节点经过的]]></description><category></category></item><item><title><![CDATA[【论文笔记】The graph neural network model]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/111089388</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/111089388</guid><author>Marvine</author><pubDate>Sun, 13 Dec 2020 11:02:53 +0800</pubDate><description><![CDATA[文章目录2009-IEEE-The graph neural network model概要状态更新与输出不动点理论具体实现压缩映射损失函数实验总结
2009-IEEE-The graph neural network model
概要
 在科学与工程的许多领域中的数据的潜在关系都可以用图来表示，比如计算机视觉，分子化学，分子生物学，模式识别，数据挖掘以及自然语言处理。本论文提出了一种新的神经网络模型称为图神经网络模型，用来处理以图来表示的数据。
 本文中所提到的图均指图论中的图(Graph)。它是一种由若]]></description><category></category></item><item><title><![CDATA[[图解算法]并查集]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/104168391</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/104168391</guid><author>Marvine</author><pubDate>Tue, 04 Feb 2020 13:12:06 +0800</pubDate><description><![CDATA[一文读懂并查集

 假设你现在置身于一个鸡尾酒会中，任何人都不能通过直接搭讪来获得陌生漂亮妹子的微信号。于是你委托你的朋友帮忙，你的朋友委托他的朋友。。。直到找到一位与漂亮妹子认识的人拿到了微信号。因此，你通过这些中间朋友与妹子取得了联系，成功进入了她的社交圈。当然，你可以通过她认识跟多的漂亮妹子，走上人生巅峰。

 但是设想一下这样一个悲剧，那位漂亮妹子刚来到地球，她与地球上所有的人类都没有联系...]]></description><category></category></item><item><title><![CDATA[【图解算法】线段树 (SegmentTree)]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/104168264</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/104168264</guid><author>Marvine</author><pubDate>Tue, 04 Feb 2020 13:03:42 +0800</pubDate><description><![CDATA[线段树

 线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。线段树可以在 O(log⁡2N)O(\log_{2}{N})O(log2​N) 的时间复杂度内实现单点修改、区间修改、区间查询等操作。
线段树的基本结构

为数组（假设下标从1开始）：
a[5]=[1,2,3,4,5]a[5] = [{1,2,3,4,5}]a[5]=[1,2,3,4,5]
构造线段树如下图（采用堆式存储）：

上...]]></description><category></category></item><item><title><![CDATA[[图解算法]Tarjan算法求图的强连通分量]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/103210186</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/103210186</guid><author>Marvine</author><pubDate>Sat, 23 Nov 2019 08:20:55 +0800</pubDate><description><![CDATA[强连通分量简介
  有向图强连通分量：在有向图G中，如果两个顶点Vi,VjV_i, V_jVi​,Vj​ 间有一条从ViV_iVi​到VjV_jVj​的有向路径，同时还有一条从VjV_jVj​到ViV_iVi​的有向路径，则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通，称G是一个强连通图。有向图的极大强连通子图，称为强连通分量(strongly con...]]></description><category></category></item><item><title><![CDATA[[图解算法]LeetCode23 合并 K 个排序链表]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/100700991</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/100700991</guid><author>Marvine</author><pubDate>Tue, 10 Sep 2019 15:35:21 +0800</pubDate><description><![CDATA[题目描述：
 合并 k 个排序链表，返回合并后的排序链表。请分析和描述算法的复杂度。

示例:
输入:
[
  1-&gt;4-&gt;5,
  1-&gt;3-&gt;4,
  2-&gt;6
]
输出: 1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4-&gt;5-&gt;6

题解：
 因为所给链表均有序且头节点指针均在一个数组中，可以将当前数组中的头节点指针所指向的链表节点的...]]></description><category></category></item><item><title><![CDATA[[图解算法]LeetCode1178 猜字谜]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/100582610</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/100582610</guid><author>Marvine</author><pubDate>Fri, 06 Sep 2019 16:49:05 +0800</pubDate><description><![CDATA[题目描述：
外国友人仿照中国字谜设计了一个英文版猜字谜小游戏，请你来猜猜看吧。

字谜的迷面 puzzle 按字符串形式给出，如果一个单词 word 符合下面两个条件，那么它就可以算作谜底：

单词 word 中包含谜面 puzzle 的第一个字母。
单词 word 中的每一个字母都可以在谜面 puzzle 中找到。
例如，如果字谜的谜面是 “abcdefg”，那么可以作为谜底的单词有 “face...]]></description><category></category></item><item><title><![CDATA[[图解算法] [LeetCode 295] 数据流中的中位数]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/100139513</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/100139513</guid><author>Marvine</author><pubDate>Thu, 29 Aug 2019 15:40:39 +0800</pubDate><description><![CDATA[[LC295] 数据流中的中位数(类设计）
题目描述：
中位数是有序列表中间的数。如果列表长度是偶数，中位数则是中间两个数的平均值。
例如：
[2,3,4] 的中位数是 3
[2,3] 的中位数是 (2 + 3) / 2 = 2.5
设计一个支持以下两种操作的数据结构：
void addNum(int num) - 从数据流中添加一个整数到数据结构中。
double findMedian() - ...]]></description><category></category></item><item><title><![CDATA[机器学习原来这么有趣 Part3: 深度学习与卷积神经网络]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/93310936</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/93310936</guid><author>Marvine</author><pubDate>Sat, 22 Jun 2019 11:34:53 +0800</pubDate><description><![CDATA[最近看了Adam Geitgey的机器学习系列文章。寻思着闲着也是闲着，干脆翻译以下，顺便学习下英语啥的哈哈哈。第一次做这种事，有不到位的地方欢迎指教噢。


前言

 你是否已经厌倦了在查阅了无数有关深度学习的文章之后仍然不能参透其中深意的无力感。如果有的话，现在，是时候改变现状了！
 现在，我们将学习如何应用深度学习知识编写一个程序去识别图像中的物体。换句话说，我们将试着去清楚地解释谷歌相册...]]></description><category></category></item><item><title><![CDATA[人工神经网络学习笔记（3）]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/91127935</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/91127935</guid><author>Marvine</author><pubDate>Fri, 07 Jun 2019 15:07:48 +0800</pubDate><description><![CDATA[Python-numpy编码实现人工神经网络

前面的几篇文章我们熟悉了人工神经网络的数学原理及其推导过程，但有道是‘纸上得来终觉浅’，是时候将理论变为现实了。现在我们将应用Python语言以及其强大的扩充程序库Numpy来编写一个简单的神经网络。

准备数据：

训练集and测试集：Mnist手写数字数据集(复制git链接克隆)MINST数据库是由米国机器学习大佬Yann提供的手写数字数据库文件...]]></description><category></category></item><item><title><![CDATA[人工神经网络学习笔记（2）]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/90769060</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/90769060</guid><author>Marvine</author><pubDate>Tue, 04 Jun 2019 15:02:04 +0800</pubDate><description><![CDATA[如何更新权重
在上一篇文章中我们算出了各个层的误差，现在是时候利用这些误差来指导链接权重的修改了。那么该如何修改？

暴力枚举： 对于一个三层的神经网络，每层有3个神经元结点，有两个3×33\times 33×3的链接权重矩阵，共有18个权重值。假设每个权重在1和-1之间共有1000种取值，那么我们有1000181000^{18}100018种权重组合，这个数字已经很大了。但是，如果是每层有500...]]></description><category></category></item><item><title><![CDATA[人工神经网络学习笔记（0）]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/90761724</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/90761724</guid><author>Marvine</author><pubDate>Tue, 04 Jun 2019 00:57:51 +0800</pubDate><description><![CDATA[何为人工神经网络
人工神经网络是模拟人脑的神经网络，用以实现人工智能的机器学习技术。我们知道，人脑可以说是世界上最复杂最精妙的系统之一，它由千亿计的神经元细胞组成。各个神经细胞相互链接，彼此之间传递电信号。从而造就了人类高于其他物种的思维能力。科学家受到人脑神经元的启发从而提出了人工神经网络的设想，使得人工智能的实现不再遥不可及。

生物神经元

关键部件： 树突 &amp; 胞体 &amp; ...]]></description><category></category></item><item><title><![CDATA[人工神经网络学习笔记（1）]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/90761715</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/90761715</guid><author>Marvine</author><pubDate>Tue, 04 Jun 2019 00:56:11 +0800</pubDate><description><![CDATA[如何让网络可以学习
上一篇文章中的神经网络还没有学习能力，这好比如说该网络只接收外部输入并输出结果，却没有反馈机制没有对结果进行正确性分析，让我们以小明与老师之间的对话来比喻这种情况：

老师：1+1=？
小明：6
老师：1+2=？
小明：2
…

可以发现，当小明给出答案后老师并没有给于他反馈。因此小明可能某一次猜中了正确答案，但只是凑巧而已，他不具备学习能力。
现在让老师给点反馈：

老师：1...]]></description><category></category></item><item><title><![CDATA[浮点数在计算机中的表示]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/89817146</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/89817146</guid><author>Marvine</author><pubDate>Sat, 04 May 2019 20:03:05 +0800</pubDate><description><![CDATA[一道C语言题：

#include &lt;stdio.h&gt;
int main()
{
    int num = 9;
    float *pFloat = &amp;num;
    printf("num 的值为：%d\n",num);
    printf("*pFloat 的值为：%f\n",*pFloat);

    *pFloat = 9.0;
    printf("nu...]]></description><category></category></item><item><title><![CDATA[Hexo+Github搭建个人博客]]></title><link>https://blog.youkuaiyun.com/Marvine/article/details/89817104</link><guid>https://blog.youkuaiyun.com/Marvine/article/details/89817104</guid><author>Marvine</author><pubDate>Sat, 04 May 2019 19:58:59 +0800</pubDate><description><![CDATA[开始


对于萌新来说，Hexo是一个非常容易上手的轻量级博客平台，只需简单的配置便可以打造令人满意的博客页面，下面是我自己搭建博课的流程，在此记录以备后续的需要。


Step1:
前期准备:

 安装Node.js : Download
 安装git for win: Download
 注册GitHub账号: Github.com


Step2:

 在GitHub中新建（New）一个库（...]]></description><category></category></item></channel></rss>