0%

前言

你有没有试过让 ChatGPT 直接调用你们公司的内部 API?大概率会碰壁——模型不知道你们的接口长什么样,不懂业务规则,甚至会编造不存在的参数。这就是 Skill(技能)+ MCP(Model Context Protocol) 要解决的问题。

本文不会罗列概念定义,而是带着你从零开始,用一套完整的伪代码示例,搭建一个能真正跑通的 AI 业务助手。读完之后,你应该能够:

  • 理解 Skill 的加载机制和编写规则
  • 掌握 MCP 协议的核心原理与服务端开发方法
  • 用 Skill + MCP 组合完成一个端到端的业务场景

我们选用的示例场景是:一个简单的待办事项管理助手——创建、查询、修改、删除待办,覆盖 CRUD 全流程。

阅读全文 »

前言

golang.org/x/sync/singleflight 是 Go 扩展库中提供的一个并发原语,用于抑制对相同 key 的重复请求。当多个 goroutine 同时请求同一个资源时,singleflight 只让其中一个执行,其余等待并共享结果。这在缓存击穿、防止 DB 重复查询等场景非常实用。

阅读全文 »

前言

defer 是 Go 语言中一个独特的关键字,用于注册函数调用,使其在当前函数返回之前(无论正常返回还是 panic)按 LIFO(后进先出) 顺序执行。理解 defer 的执行机制、参数求值时机以及与 recover 的配合使用,是编写健壮的 Go 程序的基础。

阅读全文 »

前言

append 是 Go 中操作切片(slice)最常用的内置函数,看似简单,但背后涉及切片的底层结构、扩容机制,在并发场景下更是容易踩坑。本文系统梳理 append 的使用方式、常见陷阱、相关方法扩展以及并发安全问题的分析与解决。

阅读全文 »

前言

使用了一段时间gorm,看他的官方文档发现有很多功能没用到,所以做一个学习笔记总结一下。
本章首先了解下gorm中模型的定义,字段标签等功能。

阅读全文 »

前言

本章来了解下 golang 中 select 和 channel 的使用。Channel 是 Go 并发模型的核心——goroutine 之间通过 channel 进行通信和同步;而 select 则是多路 channel 操作的调度器,类似于网络编程中的 select/epoll

阅读全文 »

前言

在使用gorm查询单个int类型的字段值时,遇到了库里有数据但是查不到的诡异情况。
这里记录一下排查结果。

阅读全文 »