自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大模型入门:训练、微调、量化精度与模型选型

训练过程中,经常出现在相似位置的词——比如「我养了一只 ___」里的「猫」和「狗」——它们的向量会被推到相近的位置。这个模型的实际磁盘占用是 522MB——看着「碰巧接近」,但两者毫无关系:参数量 6 亿是「有多少个数字」,522MB 是「这些数字存下来占多大」。要注意的是,交叉验证给出的是「某套超参数或方法」的平均泛化能力,不是某一个最终模型的分数——每一折训练出来的都是独立模型。推理的本质是大量的矩阵运算,如果权重矩阵中数字的精度降低,那么计算结果难免有偏差,体现出来的就是模型的回答质量下降。

2026-09-26 09:43:44 319

原创 如何写好 Skill

Skill 是为 AI 编程助手(如 Claude Code)定制的结构化能力包,本质是标准化的 Prompt Engineering。它通过 SKILL.md 文件封装指令、上下文与工具,将团队知识、流程规范转化为可复用的自动化技能。核心优势在于解决知识分散、重复劳动、标准不一等问题,提升开发效率与一致性。其加载机制分三层:元数据常驻,主体按需触发,资源动态引用,需关注 Token 消耗以保障性能。适用场景包括代码迁移、审查、文档生成、项目初始化等。编写时注重 description 精准、内容精简,区分

2026-09-19 09:22:13 248

原创 上下文是什么?Token 怎么计费?从 messages数组到 Prompt Cache

HTTP 接口 + messages JSON 数组 + 一次请求和一次响应ChatGPT、Claude 和各种 AI 编程工具,底层都可以抽象成这个结构。它们主要替用户维护messages数组,再加入上下文压缩、历史保留和信息裁剪等策略,让模型在有限的上下文窗口内继续工作。LLM 是负责预测和生成内容的基础模型。Agent 是围绕 LLM 组织上下文、调用工具和完成任务的一套工程系统。messages数组是连接两者的核心载体。token 既影响模型的上下文容量,也直接影响调用成本。

2026-09-05 15:37:17 455

原创 知识图谱入门:从「字符串」到「事物」,机器是怎么开始「懂」我们的?

我们每天都在用搜索、推荐、语音助手,它们看起来能「听懂」我们的问题。但如果把一段陌生的文本原样丢给一台没有先验知识的机器,它其实和一个不认识这个词的人一样——完全不知所云。知识图谱就是为了让机器而设计的。

2026-08-22 13:55:31 360

原创 从商品推荐到 Agent:RAG 与长期记忆为什么都像一套召回排序系统

做商品推荐时,我们面对的是一个经典问题:商品很多,但用户在当前时刻真正感兴趣的只有少数几个。系统需要从海量商品中找出候选,过滤无效内容,按用户兴趣排序,并通过后续点击和购买持续修正结果。RAG 和 Agent 长期记忆看起来属于大模型应用,但从工程结构上看,它们与推荐系统高度相似:区别只在于推荐的对象和优化目标。因此,推荐系统的“数据采集、召回、过滤、排序、反馈闭环”是一套可迁移的工程范式,而不是某一种只能用于电商的算法。

2026-08-08 19:24:34 362

原创 YoudaoNoteLM:长期记忆、回答反馈与有道笔记导入优化

本文介绍了YouDaoNoteLM本周的三项技术实践:长期记忆V1、回答反馈V1/V1.1和有道云笔记导入优化。长期记忆V1允许用户显式维护跨会话输出偏好,通过MySQL存储并注入生成过程。回答反馈V1/V1.1建立了质量闭环,支持用户对持久化回答进行评分,并新增管理员报表功能。有道云笔记导入链路通过移除Python脚本和Cookie依赖,直接使用CLI返回内容,简化了流程并减少了故障点。这些改进分别解决了系统个性化不足、反馈渠道缺失和导入链路复杂的问题。

2026-08-07 15:22:40 383

原创 Agent 记忆机制设计:你必须要回答的11个问题

Agent记忆机制的设计核心在于高效治理而非无限存储。其核心架构分为四层: 短期记忆(会话连续性):存储最近对话、工具结果等临时信息; 长期记忆(跨会话个性化):通过MySQL+向量库双存储,记录用户偏好、稳定事实,需严格过滤写入; 上下文编译:动态召回记忆后,经权限、相关性等规则筛选注入Prompt; 写回治理:最终输出阶段结构化提取候选记忆,通过冲突检测、置信度校验等流程更新存储。 关键原则: 向量库仅作索引,MySQL为事实源; 记忆按Agent角色隔离访问; 新旧冲突以最新用户明确指令为准; 支持主

2026-07-31 14:49:47 222

原创 HTTPS(TLS 1.3)完整流程及原理

HTTPS 本质是 HTTP + TLS。客户端首先发起 ClientHello,双方通过 ECDHE 交换临时公钥,各自计算出相同的共享会话密钥。随后服务器发送数字证书,客户端验证证书的 CA 签名、域名和有效期。接着服务器使用证书对应的私钥对握手消息摘要进行数字签名(CertificateVerify),客户端使用证书中的公钥验证,确认服务器确实拥有私钥。双方再通过 Finished 使用共享会话密钥验证整个握手过程未被篡改且共享密钥一致。

2026-07-25 21:15:12 443

原创 从“能跑”到“可运营”:Agent Harness 工程化建设指南

Harness”原本有“线束”和“控制装置”的含义。在 Agent 工程里,它可以理解为包裹 Agent 的运行时外壳:向内为模型和工具提供稳定执行环境,向外为 API、用户和运维系统提供一致的生命周期协议。Run、Attempt、Step 的生命周期;上下文装配和 token 预算;短期工作记忆与长期用户画像;暂停、继续、取消和超时;Checkpoint 与故障恢复;重试、幂等和并发控制;消息派发和多实例接管;事件流、日志、指标、Trace 和审计;

2026-07-18 18:21:22 378

原创 Docker 部署踩坑实录:一个 NAT 公网 IP 引发的血案

一次看似简单的 Docker Compose 部署,因为一个 NAT 公网 IP,牵扯出 MinIO 预签名 URL、nginx 反代、AES-GCM 加密密钥、健康检查端点等多个坑。本文记录完整的排查过程、部署级 workaround。

2026-07-04 21:09:48 269

原创 大模型微调入门:从理论基础到 LLaMA-Factory 实战全指南

微调(Fine-tuning)就是在预训练好的模型基础上,继续调整模型参数。训练方式参数初始化方式特点从头训练随机初始化参数从零开始,训练时间长、成本高微调加载预训练模型的参数站在巨人肩膀上,省时省力通俗类比:如果目标是到达罗马,微调相当于直接把你送到意大利,而从头训练是从世界任意角落出发。

2026-06-27 21:03:34 223

原创 Transformer 的核心:注意力机制

步骤公式回答的问题算相关度QK^T该关注谁?变概率关注多少?取信息×V拿什么过来?一句话:查相关度 → 变概率 → 取信息。公式看着唬人,拆开就三步。Q 问路,K 指路,V 带路。QK^T 决定「让谁说、说多少」,×V 决定「说了什么」。权重决定跟谁走,×V 决定走到哪。

2026-06-20 20:49:29 344

原创 Claude Code常用技巧

可以把当前输入的内容丢到你的默认编辑器里打开,编辑完保存关闭,内容会回填到 Claude Code 的输入框。另外 memory 目录是按项目路径存的,如果你把项目文件夹改了名或者挪了位置,Claude 会把它当成一个新项目,之前积累的 memory 就找不到了。查看和切换当前使用的模型。我个人觉得这套机制挺有用,它能帮你积累那些自己都没意识到的习惯,比如某个项目的特定测试命令、某个库的坑点等。命令,它会自己扫一遍项目,总结架构和命令,生成一份初版 CLAUDE.md,你在这个基础上改就行。

2026-06-14 17:37:28 400 1

原创 Pull Requests(PR)

本文介绍了GitHub上提交Pull Request(PR)的完整流程:1)Fork目标仓库到个人账户;2)Clone项目到本地并创建功能分支;3)进行代码修改并推送更新;4)提交PR并填写规范的描述模板(包含背景、改动和测试说明)。特别强调了提交前的必要检查(代码格式、静态检查、编译测试)和保持fork仓库同步更新的重要性(通过"Sync fork"按钮同步原仓库变更)。整个流程规范了开源协作中的代码贡献方式,确保PR质量并减少冲突。

2026-06-07 15:41:53 262

原创 Agent Harness 到底是什么?一篇文章讲透 Agent圈最火的工程概念

如果你只是调用一个 API(应用程序接口,简单说就是让两个软件互相"对话"的通道)让模型吐字,那只是"用了个 LLM 服务";Harness 这个英文单词,本义是"马具、鞍具"——就是套在马身上那一整套缰绳、笼头、鞍子,让骑手能驾驭一匹马的装备。你可以把它想成:给一个"裸大脑"配齐它在真实世界生存所需的一切——双手、神经、工具、工作台、管理制度。大家看完什么是Harness之后,其实可以联想到,那些我们现在"用起来特别神奇丝滑"的 AI 产品,背后的秘密不是模型多厉害,而是 Harness工程做得好。

2026-05-30 13:37:22 479 1

原创 Agent开发必知:三大推理模式

Agent 智能体是当前大模型落地的核心方向,而推理模式决定了 Agent 能否完成复杂多步骤任务。本文从隐式推理的缺陷出发,详细对比基础推理、CoT 思维链、ReAct 推理 + 行动三种模式,拆解 ReAct 核心运行闭环,同时整理工程落地与面试高频考点,帮助开发者快速理解 Agent 底层思考逻辑。

2026-05-23 15:34:03 455

原创 # 学习AI Agent中了解到的几个概念

懒加载、循环依赖、Code Review、动态检测、CI/CDROI、灰度发布渐进式披露、ReAct。

2026-05-02 20:35:25 456

原创 Go程序员学习AI大模型项目实战02:给 AI 装上“大脑”:从配置解包到流式生成的深度拆解

本文深入解析了ZerolanCore中大语言模型(LLM)的核心实现机制。文章首先介绍了Python中通过@dataclass和字典解包实现的轻量级配置管理,对比了Go和Python在配置处理上的差异。随后揭示了Tokenizer与Model的协作原理,展示了大模型从序列化到推理再到反序列化的完整流程。重点剖析了使用yield关键字实现的流式生成机制,以及Web层采用NDJSON协议实现的数据推送方案。最后提出了构建多模态系统面临的三大挑战:语音识别碎片处理、语音合成的时机控制,以及资源密集型模型的隔离策略

2026-04-11 15:15:08 414

原创 Go程序员学习AI大模型项目实战:从环境管理到核心架构抽象

摘要: ZerolanCore是一个AI模型集成框架,采用类Go的工程化设计解决Python项目常见的依赖冲突、接口混乱等问题。核心机制包括:1)使用uv工具链管理虚拟环境,确保依赖隔离;2)通过AbstractModel抽象类统一不同AI模型的接口规范;3)基于Flask构建应用层,实现MVC架构;4)动态加载机制优化资源使用。该框架强调解耦设计,配置驱动和确定性部署,为LLM、ASR等多模态模型提供标准化开发范式。

2026-04-04 15:40:17 445

原创 异步消息队列:Web系统中必不可少的一环到底是什么?

本文探讨了异步消息队列的核心概念与应用场景。首先通过电商下单案例揭示同步处理的痛点:响应延迟、系统耦合和抗压能力弱。随后厘清"消息"本质是业务事件而非聊天内容,区分即时与非即时消息处理方式。介绍了消息系统的三大角色(生产者、消费者、代理)和主题分类机制。重点阐述了异步处理的三大优势:解耦核心与非核心业务、削峰填谷应对流量洪峰、动态负载均衡。最后以Go语言伪代码展示了订单创建和积分处理的实际应用,体现了消息队列在分布式系统中的关键作用。全文通过类比邮局系统,帮助读者构建完整的异步消息处理认

2026-03-21 15:21:58 370

原创 听起来高大上的“依赖注入“到底是个什么东西?

本文通过手冲咖啡的类比,形象解释了依赖注入(DI)的核心概念及其优势。文章指出传统编码方式存在"硬编码"和"高耦合"问题,而DI通过"控制权反转"将依赖对象的创建与管理交给外部容器,实现组件间的松耦合。作者特别强调DI在单元测试中的关键作用,能方便地注入模拟对象进行测试。同时文章也提醒避免过度使用DI,并指出DI与控制反转(IoC)的关系:IoC是思想,DI是实现手段。最后用"插座供电"的比喻总结DI的本质:只需定义接口,具体实

2026-03-01 21:24:18 979

原创 如何降低代码耦合、消除冗余:从“注册用户”理解代码设

本文探讨了代码质量的核心问题:耦合过高和冗余过多。作者指出,单纯拆分函数并不能降低耦合,关键在于模块间清晰的边界和依赖控制。文章详细解释了耦合的本质(模块间依赖细节)和冗余的深层含义(业务规则重复),并以用户注册功能为例,展示了如何按职责划分模块(校验、数据访问、业务逻辑)。最后强调高内聚和低耦合相辅相成,建议通过接口隔离变化,确保每条业务规则有单一可靠来源。

2026-02-02 10:39:06 451 1

原创 从聊天室项目中理解异步消息队列:认知提升

本文通过开发网络聊天室项目的实践,阐述了作者对消息系统的认知转变。最初将消息简单等同于聊天内容,后认识到消息实质是系统事件;区分了即时与非即时消息处理;纠正了对异步和消息队列的误解,指出其核心价值在于解耦模块、快速响应和保证可靠性。文章还澄清了Redis的正确使用方式、消费者组的实际含义,并强调了系统可靠性的实现条件。这些经验教训对构建高效可靠的消息系统具有重要指导意义。

2026-01-24 13:49:52 608

原创 服务器的安全防护(基于Centos7)【超详细,能解决你90%的配置问题】

任何人只需要知道【IP 地址】+【端口】+【用户名】+【密码】这四个要素,就能登录你的 VPS 服务器。那很显然,这四要素的安全就是我们要防护的底线。我们来逐一分析:【IP 地址】:恶意脚本会随机尝试和扫描 IP 段,可以简单认为是公开信息、无法隐藏【端口】:如果使用默认端口,那么【端口 =22【用户名】:如果使用默认用户,那么【用户名 =root【密码】:密码不存在默认值,一定是由 VPS 后台随机生成或由你自行设置的。

2026-01-09 18:20:19 721

原创 go中http包详解

Go语言的HTTP服务器实现基于两个核心组件:Conn和ServeMux。通过goroutine处理每个Conn的读写事件,确保高并发性能。ServeMux作为路由器,存储路由规则并分发请求:当请求到达时,匹配URL路径找到对应handler,调用其ServeHTTP方法处理请求。用户可自定义路由器,只需实现Handler接口并在ServeHTTP中定义路由逻辑。代码执行流程包括注册路由规则、启动监听、为每个请求创建Conn并启动goroutine处理、最终通过ServeMux路由到对应handler。这种

2025-12-20 14:23:14 919

原创 从新手到上手:团队级 Git 工作流与分支速成

是从master创建的分支,一般作为开发部门的主要开发分支,如果没有其他并行开发不同期上线要求,都可以在此版本进行开发,阶段开发完毕后,需要的是合并到master分支,准备上线。从develop创建的分支,一般是同期并行开发,但是不同期上线时创建的分支,分支上的研发任务完毕后合并到develop分支上。从master派生的分支,一般作为线上bug修复使用,修复完需要合并到master,test,develop分支。还有一些其他分支,比如test分支(用于测试代码),pre分支(预上线分支)等等。

2025-12-07 17:01:21 666

原创 从零到上线:一次真实的 Docker 部署问题记录

本文记录了在Linux服务器上使用DockerCompose部署Go聊天系统时遇到的一系列问题及解决方案。主要挑战包括:服务名冲突、YAML语法错误、MySQL启动顺序问题、Redis域名解析失败、MySQL表初始化失败、环境差异导致的Go命令缺失,以及Windows客户端连接DockerMySQL的问题。通过分析错误日志,逐一解决了容器冲突、网络配置、端口映射等问题,最终实现三大服务(MySQL、Redis、GoChatServer)的稳定运行。关键经验包括:服务间通信需使用服务名而非IP、必须正确映射端

2025-11-29 14:45:38 1164

原创 设计模式详解之工厂模式和策略模式(理论+实例,包你听懂!)

本文介绍了工厂模式和策略模式的设计模式应用。工厂模式通过统一创建对象来隔离业务逻辑与对象创建,解决if-else创建逻辑污染业务代码的问题;策略模式则将不同行为抽象为策略接口,使业务流程稳定且行为可插拔。两种模式常配合使用:工厂负责选择策略对象,策略负责执行具体行为。这种组合能有效提升系统的可扩展性和维护性,适用于需求迭代快、渠道多的复杂系统。文章通过支付系统和营销系统的实例,展示了如何运用这些模式来构建干净、稳定的业务架构。

2025-11-22 14:34:47 581

原创 LLM 文本处理进阶:从 BPE 分词到滑动窗口取样详解

本文系统介绍了大型语言模型(LLM)处理文本的两大核心技术:BPE分词和滑动窗口采样。首先分析了传统词汇级分词器的局限性,重点阐述了BPE(BytePairEncoding)如何通过子词拆分解决OOV问题,并演示了tiktoken库的实际应用。然后针对上下文长度限制问题,详细讲解了滑动窗口采样方法,包括其重叠机制的设计原理和具体实现代码。这两种技术的结合构成了LLM文本处理的基础架构,使模型能够高效处理任意长度文本并保持语义连贯性,为构建LLM数据处理流水线提供了关键支持。

2025-11-15 14:05:00 345

原创 大型语言模型(LLM)的基础:分词机制的原理与演进(深度解析)

本文解析了一个基础的词级分词器(SimpleTokenizeV1.py)实现,展示了从原始文本到ID序列的转换过程。该分词器通过正则表达式将文本切分为词元(包括标点和空白),构建词汇表映射,实现编解码功能。虽然简单直观,但存在无法处理未知词汇(OOV)的致命缺陷。这促使了后续改进方案:引入特殊标记解决OOV问题(SimpleTokenizeV2)以及采用更先进的子词分词机制(BPE)。该基础实现为理解现代分词技术奠定了基础,凸显了分词器在自然语言处理中的核心作用。

2025-11-08 14:09:26 923

原创 MySQL常用命令大全

GUI 很美,但命令行让你像个巫师:精确、可复现、自动化简单。下面把日常用到的命令按场景整理:连接、数据库与表的管理、CRUD、索引、备份恢复、用户与权限、事务与性能排查,还有一些实战小贴士。每段都给出常见示例,照着敲就行。

2025-11-01 14:45:45 478

原创 MySQL连查询:从拼表到调逻辑,掌握高性能JOIN的真本事

本文深入解析MySQL中JOIN操作的底层逻辑与正确使用方式。首先指出多表连接查询变慢的根源在于对JOIN执行机制的理解不足,而非MySQL本身。文章详细比较了INNER JOIN、LEFT JOIN和RIGHT JOIN三种连接类型的语义差异,强调LEFT JOIN在业务场景中的实用性。重点讲解了多表连接时的顺序选择和"先过滤后连接"的性能优化原则,并列举了重复行爆炸、WHERE条件误用等常见陷阱及解决方案。最后总结JOIN的核心在于精确表达数据关系,高效的SQL查询源于对连接逻辑的清

2025-10-26 16:22:50 700

原创 Go 并发编程:深入理解 select 语句及其多路复用本质

Go语言中的select语句是实现并发多路复用的核心机制,它允许一个Goroutine同时监听多个Channel操作。select具有阻塞和非阻塞两种模式,当多个case同时就绪时会随机选择执行,确保公平性。相比传统方案需要嵌套Goroutine的复杂实现,select能以简洁优雅的方式解决并发协调问题,避免Goroutine泄露和资源浪费。其经典应用包括多通道监听、优雅退出、超时控制和非阻塞通信等场景,是Go并发编程中不可或缺的利器。

2025-10-18 15:21:54 720

原创 从零开始:用Go语言构建一个TCP网络聊天室(内附完整源码和详细解析)

本文介绍了使用Go语言构建TCP网络聊天室的过程,主要包括三个核心部分: 通信协议设计:定义了Message结构体作为消息格式,采用"长度前缀帧"技术解决TCP数据流边界问题,通过4字节长度标识+JSON消息体的方式实现可靠传输。 服务器实现:采用多goroutine架构,每个客户端连接由独立的ClientConn实例管理,通过读写锁保护共享的在线用户列表,使用Dispatch方法集中处理各类消息(登录、聊天、用户列表等)。 客户端设计:分离网络IO和用户输入处理,通过select语句实

2025-10-12 17:35:19 711

原创 数据库入门全指南:从基础概念到常用 SQL 操作(基于MySQL)

本文系统介绍了数据库的基础知识,包括关系型与非关系型数据库的特点、常见数据库管理系统(如MySQL、Oracle等)以及SQL基本操作。从SELECT查询、运算符使用到多表连接、子查询和常用函数,涵盖了数据库入门所需的核心内容。关系型数据库适合结构化数据存储,支持复杂查询;NoSQL则灵活扩展,适合大数据场景。通过掌握SQL语法和函数,可以高效实现数据增删改查、聚合计算和条件筛选,为开发各类应用提供数据支撑。

2025-10-04 11:54:17 874

原创 # Docker 从零到大牛(超详细讲解,零基础入门必看,更新到Docker容器编排)

编写Dockerfile(参考上述语法)执行构建命令:docker build -t your-username/your-image:tag . # -t指定镜像名,`.`表示当前目录为构建上下文示例:docker build -t alice/web-server:v1 . # 构建名为web-server的镜像。

2025-09-27 11:41:59 721

原创 Linux实操篇常用命名大全(超详细讲解,零基础入门必看)

Linux常用命令大全

2025-09-21 15:32:09 1140

原创 计算机网络问题汇总?(持续更新)

而子网其实就相当于一个国家, 在该局域网的每一个分配的IP都是他的“城市”。这也就解释了为什么子网地址是必须的,且任何主机都不能使用子网地址作为本身的iP,一个国家的名字不能同时也是一个城市的名字一样。代表的是该子网掩码的一种表示,表示的是该子网的前16位指的是该局域网的网络地址,只有后面余下的位数是该局域网的主机地址。而除了子网作为网络本身的标识无法分配给任何设备外,还有一个地址也是不能分配给任何设备和容器的,以上面的。:计算机只能识别二进制的编码,所以该地址其实是真实ip地址。的十进制表示,便于阅读。

2025-09-14 15:01:17 362

原创 在Docker中部署tomcat过程中的问题

问题1:外网无法通过IP+端口直接访问基于tomcat的docker容器.问题2:外网可以访问对应的网页,但是显示404。本文讲的内容都是基于已经学会简单的部署镜像到容器的人,有些简单的指令和选项不会讲解用法。

2025-09-14 09:17:33 409

原创 Linux学习笔记基础篇(超级详细,零基础入门必看)(文件系统,VIM编辑器, 网络配置)

Linux系统采用"一切皆文件"的设计理念,其目录结构以单根目录/为核心,与Windows多盘符结构不同。基础篇重点介绍了bin目录,该目录存放可直接执行的二进制命令文件(如ls命令),当用户调用命令时系统自动定位执行。典型特征包括:树形分层结构、命令文件集中管理、统一访问路径机制。通过目录结构图展示了Linux与Windows的根本差异,并配以bin目录截图说明命令文件的实际存储形态。

2025-09-06 11:52:29 360

Java路线的第一步:简单了解计算机网络

Java路线的第一步:简单了解计算机网络

2025-03-22

空空如也

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

TA关注的人

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