<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Funpaid的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Funpaid</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Funpaid]]></copyright><item><title><![CDATA[RAG从入门到精通(二)：文本分块——递归分隔符凭什么成为工业标准]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162263765</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162263765</guid><author>Funpaid</author><pubDate>Wed, 24 Jun 2026 11:00:09 +0800</pubDate><description><![CDATA[上篇我们搞定了RAG数据清洗的脏活累活，这篇接着啃硬骨头——文本分块。别小看"切文本"这件事，分好了召回精准，分不好直接翻车。我会从固定大小、滑动窗口，一路走到递归分隔符、语义分块，再到底层的Parent-Child小块变大块模式，五种策略逐级对比，优劣一目了然。重点掰开揉碎讲递归分隔符算法，尤其是中文场景下的分隔符优先级设计，这才是它横扫工业界成为默认方案的核心原因。最后拉上Dify和KMS的分块源码实操对比，不空谈原理，带你看生产代码到底怎么写。前端转AI的兄弟们别慌，全程代码驱动，边学边写就能上手。]]></description><category></category></item><item><title><![CDATA[RAG从入门到精通(一)：数据清洗做不好，你的向量库就是垃圾场]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162261740</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162261740</guid><author>Funpaid</author><pubDate>Wed, 24 Jun 2026 10:57:43 +0800</pubDate><description><![CDATA[上篇我们搞定了RAG数据清洗的脏活累活，这篇接着啃硬骨头——文本分块。别小看"切文本"这件事，分好了召回精准，分不好直接翻车。我会从固定大小、滑动窗口，一路走到递归分隔符、语义分块，再到底层的Parent-Child小块变大块模式，五种策略逐级对比，优劣一目了然。重点掰开揉碎讲递归分隔符算法，尤其是中文场景下的分隔符优先级设计，这才是它横扫工业界成为默认方案的核心原因。最后拉上Dify和KMS的分块源码实操对比，不空谈原理，带你看生产代码到底怎么写。前端转AI的兄弟们别慌，全程代码驱动，边学边写就能上手。]]></description><category></category></item><item><title><![CDATA[前端工程师的 RAG 入门实战：从零构建一个知识库问答系统]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162223880</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162223880</guid><author>Funpaid</author><pubDate>Tue, 23 Jun 2026 09:48:37 +0800</pubDate><description><![CDATA[这篇文章以我在金融科技 KMS 知识管理平台的真实实践为例，从前端视角手把手带你从零搭建一个完整的 RAG 知识库问答系统。不堆术语，不用懂 Transformer 架构，用"搜索引擎 + AI 总结"的类比讲清楚 Embedding、向量检索、Rerank 三个核心概念。技术栈选的是 Chroma + LangChain + OpenAI，开箱即用。]]></description><category></category></item><item><title><![CDATA[Dify 企业级工作流实战：把 KMS 知识管理接入 AI Agent]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162223785</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162223785</guid><author>Funpaid</author><pubDate>Tue, 23 Jun 2026 09:45:27 +0800</pubDate><description><![CDATA[这篇文章记录我作为 KMS 前端负责人，用 Dify 给公司知识管理平台加上 AI 智能问答的完整落地过程。不讲空泛的"AI 赋能"，而是从三个真实痛点出发（关键词搜不准、知识难复用、权限边界模糊），一步步讲清楚：为什么选 Dify、知识库怎么配置（父子分段 + BGE 模型选型对比）、工作流怎么设计（检索→条件判断→LLM→兜底的全链路）、前端怎么集成（fetch + ReadableStream 手动解析 SSE + useDifyChat Hook + Ant Design ChatPanel 组件）]]></description><category></category></item><item><title><![CDATA[一个 3 年前端开发者的 AI 转型之路：从写组件到搭 Agent 工作流的半年复]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162128700</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162128700</guid><author>Funpaid</author><pubDate>Fri, 19 Jun 2026 20:41:43 +0800</pubDate><description><![CDATA[3 年经验的前端开发，在 AI 时代应该往哪个方向走？本文是作者半年 AI 转型的真实复盘：从自我技能诊断（识别 AI 替代风险），到四阶段学习路线（RAG基础→AI平台对比→Claude Code深度使用→自建全栈AI应用），每阶段包含时间投入、学习资源、实际产出和踩坑复盘。核心观点：前端没有死，但"纯写UI"在式微，"前端工程化能力 + AI 知识"将成为稀缺组合。适合正在规划 AI 转型方向的 3-5 年经验前端开发者阅读。]]></description><category></category></item><item><title><![CDATA[Claude Code 多 Agent 并行实战：管理一个 1900 文件前端项目的真实体验]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162128689</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162128689</guid><author>Funpaid</author><pubDate>Fri, 19 Jun 2026 20:40:09 +0800</pubDate><description><![CDATA[面对一个 1930 个文件的前端 Monorepo 项目，单 Agent 串行处理效率瓶颈明显。本文记录了作者从单 Agent 到多 Agent 并行调度的完整演进过程：三种调度模式（独立并行/Pipeline/Judge Panel）的适用场景和代码示例、四维决策框架（依赖关系/复杂度/作用域/多视角）、三个真实踩坑案例（worktree冲突/Schema不严谨/Token预算失控）。附量化对比数据，适合正在探索 AI Agent 工作流最佳实践的开发者阅读参考。]]></description><category></category></item><item><title><![CDATA[我在金融科技公司用 AI 辅助开发的得与失：一个 3 年前端开发者的边界感思考]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162106076</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162106076</guid><author>Funpaid</author><pubDate>Thu, 18 Jun 2026 18:10:54 +0800</pubDate><description><![CDATA[在金融科技行业用 AI 辅助开发，到底靠不靠谱？本文作者以 KMS 知识管理平台前端负责人的身份，记录了半年来使用 AI 编程工具的真实体验。文章不是单纯吹捧或否定，而是建立了一套"三问决策框架"：这段代码错不起？需要多少项目上下文？我自己能不能写对？配合真实代码示例和团队规范，帮你找到 AI 辅助开发的"安全区"。适合所有在合规严格行业做技术转型的前端开发者阅读。]]></description><category></category></item><item><title><![CDATA[RAG 从入门到落地：我在企业级知识管理平台中集成大语言模型的完整实践]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162105970</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162105970</guid><author>Funpaid</author><pubDate>Thu, 18 Jun 2026 18:08:06 +0800</pubDate><description><![CDATA[RAG（检索增强生成）是当下大模型落地最热门的方向，但把概念跑通和在企业级系统中真正用好，中间隔着无数细节。本文以 KMS 知识管理平台（15万文档、2000+用户）为真实场景，从架构设计、Chunking策略、向量数据库选型到混合检索调优，完整记录 RAG 从 0 到 1 的落地过程。代码可运行，踩坑有复盘，适合正在将 LLM 集成到业务系统中的全栈开发者阅读参考。]]></description><category></category></item><item><title><![CDATA[Nuxt 4 Server Components 从入门到理解：不写 API 的前端长什么样]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162066970</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162066970</guid><author>Funpaid</author><pubDate>Wed, 17 Jun 2026 13:49:08 +0800</pubDate><description><![CDATA[还在为 SSR 项目里"服务端写一遍 API、客户端再调一遍"的割裂感头疼？Nuxt 4 Server Components 来了——通过一个 `.server.vue` 后缀，就能让组件只在服务端运行，零 JavaScript 下发到浏览器。本文从传统 SSR 的痛点出发，带你理解 Server Component 的核心概念，手写完整示例（服务端列表 + 客户端点赞），并附上 5 个真实踩坑记录和安全版本建议。读完你会知道：什么时候该用 Server Component]]></description><category></category></item><item><title><![CDATA[AI 帮你写 UI，为什么总是同一个味道？——一个前端开发者的设计品味课]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162066807</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162066807</guid><author>Funpaid</author><pubDate>Wed, 17 Jun 2026 13:46:28 +0800</pubDate><description><![CDATA[AI 写的 UI 为什么总是紫色渐变、Inter 字体、居中布局？不是 AI 不会做设计，而是你没有给它设计方向。本文拆解一套五维设计体系——Typography、Color、Motion、Space、Texture——每个维度讲清楚"决定什么、怎么做、避什么坑"。文末附两组 A/B 实证对比（同一需求，有/无设计约束），以及一份可复用的设计决策 Checklist，拿来就能用。
]]></description><category></category></item><item><title><![CDATA[前端 Docker 实战：从构建到部署的 CI/CD 全流程]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162026770</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162026770</guid><author>Funpaid</author><pubDate>Tue, 16 Jun 2026 09:50:29 +0800</pubDate><description><![CDATA[这篇文章是KMS知识管理平台前端CI/CD全流程的实战记录。作者从手动部署翻车的教训讲起，手把手带你用多阶段构建把Docker镜像从1.2G瘦到121MB，配合GitLab CI搭出一条代码push即自动lint、测试、构建、部署的完整流水线。文中拆解了Nginx缓存策略、SPA路由配置、运行时环境变量注入等关键环节，真正实现"一次构建，多处部署"。更难得的是，作者分享了Docker Compose零停机滚动更新和自动回滚方案，以及5个真实踩坑案例，从源码泄露到缓存失效，每一个都能帮你少走弯路。]]></description><category></category></item><item><title><![CDATA[前端 Docker 实战：用 Docker 统一团队开发环境]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/162026644</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/162026644</guid><author>Funpaid</author><pubDate>Tue, 16 Jun 2026 09:46:32 +0800</pubDate><description><![CDATA[团队总被"我本地能跑，你跑不了"折磨？本文记录用 Docker 统一开发环境的完整实战：docker-compose 一键拉起 React 前端、Flask 后端和 MySQL，Dev Container 标准化 IDE。全是线上真实配置。重点拆解 5 个血泪坑——node_modules 覆盖、端口冲突、构建缓存失效、Docker 内存不足、环境变量 build 与 runtime 差异——每个带"现象→根因→解决"。新人只需 docker compose up，环境搭建从半天变一杯咖啡。
]]></description><category></category></item><item><title><![CDATA[用 MobX 写一个可复用的 FormStore，告别 1700 行的表单组件]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161997142</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161997142</guid><author>Funpaid</author><pubDate>Mon, 15 Jun 2026 10:30:16 +0800</pubDate><description><![CDATA[这是从 1700 行组件重构中得到的最大的教训。JSX 中的useEffect中的条件判断、onChange中的联动逻辑——这些都不是 UI 该管的事。UI 的工作是"把 FormStore 中的值渲染出来，把用户的操作通知给 FormStore"。一旦接受了这个分工，组件一下子从 1700 行掉到了 400 行，而且 400 行全是和布局代码，一眼看到底。]]></description><category></category></item><item><title><![CDATA[从 0 到 1：KMS 平台大文件上传全链路方案实战]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161996962</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161996962</guid><author>Funpaid</author><pubDate>Mon, 15 Jun 2026 10:27:58 +0800</pubDate><description><![CDATA[市面上讲大文件上传的文章，大多止步于前端file.slice()。本文从KMS知识管理平台的生产实践出发，给出了一套覆盖全链路的方案：前端分片（5MB最佳实践）+ Web Worker哈希计算 + Promise并发池（上限3）+ 指数退避重试 + useChunkedUpload可复用Hook，后端对接分片合并、Redis状态管理、MinIO存储，完整覆盖秒传、断点续传、进度监控。文中还复盘了五个生产踩坑：Nginx 413、浏览器卡死、上传任务丢失、重复存储、连接耗尽，每个都按"现象→根因→解决"拆解。]]></description><category></category></item><item><title><![CDATA[Antd Table 万级数据不卡顿的 6 条救命法则]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161950496</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161950496</guid><author>Funpaid</author><pubDate>Sat, 13 Jun 2026 12:06:42 +0800</pubDate><description><![CDATA[Ant Design Table 是 B 端后台标配，但数据上万就卡顿、白屏、筛选迟钝——这些问题你大概率都踩过。这篇文章不讲虚的，直接给 6 条生产环境验证过的优化法则：虚拟滚动把渲染耗时从 3.2 秒压到 0.3 秒，列缓存避免海量重计算，权限列动态显隐是 B 端最易忽略的性能陷阱，列宽自适应告别拖拽卡顿，筛选排序直连后端减压，分页策略在体验与性能间取最优解。每条法则都有真实性能数据和可复用代码，全部基于 React + Antd 5.x 实测。如果你也在维护表格重度的中后台系统，这 6 招能救你的命。]]></description><category></category></item><item><title><![CDATA[前端团队 Git 分支管理：我们踩过的 5 个坑，个个致命]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161950633</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161950633</guid><author>Funpaid</author><pubDate>Sat, 13 Jun 2026 12:05:09 +0800</pubDate><description><![CDATA[团队里有没有人因为 package-lock.json 冲突把整个 MR 搞崩过？有没有人不小心把 dist 目录推到生产环境？这些不是段子，是我们团队过去一年真实踩过的坑。本文复盘了前端团队 Git 分支管理中 5 个最致命的坑：锁文件冲突让合并变成噩梦、构建产物污染代码仓库、hotfix 流程缺失导致线上事故响应慢半拍、依赖版本漂移悄无声息地引入 Bug、分支命名混乱让新人看代码像破案。每个坑都附带了我们的落地规范和实践方案，包括 .gitignore 模板、分支命名强制约定、hotfix 开箱即用]]></description><category></category></item><item><title><![CDATA[从Lerna到Turborepo：shadcn/ui双components.json教你做大仓治理]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161933508</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161933508</guid><author>Funpaid</author><pubDate>Fri, 12 Jun 2026 18:04:57 +0800</pubDate><description><![CDATA[从 Lerna 到 Turborepo，不只是换一个构建工具，而是整个大仓治理思路的升级。本文以 shadcn/ui 官方 Monorepo 模板为案例，拆解其最巧妙的设计——双 components.json 协作模式：apps/web 的配置负责"消费"（通过 workspace alias 跨包引用组件），packages/ui 的配置负责"生产"（告诉 shadcn CLI 组件写到哪里）。两者通过 pnpm workspace 协议和 tsconfig paths 桥接，各司其职、互不干扰。]]></description><category></category></item><item><title><![CDATA[components.json：一份配置文件如何适配 5 种框架——shadcn/ui 的配置驱动设计]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161933408</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161933408</guid><author>Funpaid</author><pubDate>Fri, 12 Jun 2026 18:01:30 +0800</pubDate><description><![CDATA[一份 components.json 配置文件，凭什么能同时适配 Next.js、Vite、Astro、Remix、Gatsby 五种框架？答案不是"很多 if-else"，而是一套精心设计的五层配置级联体系。本文从 shadcn/ui CLI 源码出发，逐层拆解：第一层硬编码内置默认值兜底，第二层根据检测到的框架自动套用模板，第三层用户显式声明的 components.json 生效，第四层路径解析将 @/ 别名映射为真实文件路径，第五层命令行参数以最高优先级覆盖一切。配合框架检测、路径解析和防御式校验]]></description><category></category></item><item><title><![CDATA[7个变换器管中窥豹：shadcn CLI如何用AST安全修改你的源码]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161902051</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161902051</guid><author>Funpaid</author><pubDate>Thu, 11 Jun 2026 20:54:12 +0800</pubDate><description><![CDATA[shadcn/ui CLI 如何在添加组件时不破坏你的业务代码？本文深入源码，拆解其 AST 变换管道——解析、变换、生成三阶段的安全设计，以及 RTL 文本的三种处理策略。带你理解"手术刀式"代码修改背后的架构思想。]]></description><category></category></item><item><title><![CDATA[AI 对话流式输出：从前端架构到生产落地]]></title><link>https://blog.youkuaiyun.com/Funpaid/article/details/161882295</link><guid>https://blog.youkuaiyun.com/Funpaid/article/details/161882295</guid><author>Funpaid</author><pubDate>Thu, 11 Jun 2026 10:03:10 +0800</pubDate><description><![CDATA[AI 对话的流式输出不止是"打字机效果"——它是一套从前端 SSE解析到状态管理再到渲染管线的完整架构。本文以 KMS 知识管理平台的 AI对话模块为实践案例，分享手写 SSE 解析器、三条流式路径统一设计、Zustand 双层 Store、增量渲染管线以及生产环境竞态处理的真实方案。如果你想做生产级AI 对话产品，这篇文章会比"用 EventSource 写个 demo"更有参考价值。]]></description><category></category></item></channel></rss>