Shawn's Blog

Shawn's Blog · 个人技术博客

分享我的知识、经验、生活与感悟

160 篇文章 · 83 个标签 · RSS

最近文章

查看全部 →

2026 年的 LLM/AI 入门教程

0X00 Intro 已经 2026 年了,别人都在写什么 OpenClaw 或者 Agent 相关的 AI 内容,再不济也是写一些 Skill 和 MCP 相关的东西,而我还在写“古法 AI 教程”。主要是因为我发现很多人虽然知道 AI 很厉害,但是完全不知道从哪儿下手去使用 AI,更不知道如何更好的使用 AI。甚至是搜索引擎都快要被 AI 取代了,还是有很多人并不会正确使用搜索引擎呢。 下面是我自己总结出来的一些用法或是技巧,能够比较大幅度的提升我们使用 LLM 的效率和它的产出效果,那么就开始吧。 你说你不知道 LLM 是什么?LLM 就是 Large Language Model,也就是「大语言模型」,我们平时说的 AI 多半就是指的这个东西,比如豆包、DeepSeek、GPT 之类的。后面的文章里 AI 和 LLM 也会混用,虽然他们本质上是两回事。 0X01 提示词多写几个字效果直接翻倍 AI 没有你想的那么聪明,他不知道你脑子里的潜台词是什么,所以当你需要让 AI 帮你解决问题的时候要把你的问题清晰明确的说出来。例如当你需要 AI…

2025 年度总结

0X00 Intro 兄弟们,又活了一年~ 这是我的第七个年度总结,在 2019年度总结 年度总结的开头我说:“2020年要来了,听起来这是个多科幻的年号啊。《银翼杀手》里说2019年底人类就有强人工智能了,可以穿梭宇宙了,甚至可以星际殖民了。然而现在就是2019年最后一天了,我的小爱同学还是像智障一样经常听不懂我说话。” 现在 2026 年已经来了,如果有机会对当时写 2019 年度总结的我说点什么的话,我估计会说:<del>“告诉所有信任自己的朋友,多多多多囤口罩、食材、水和各种必需品”</del> 不开玩笑了,现今虽然普通的小爱同学还是不太能听懂我们说话,但是如今的大语言模型已经极大的融入了我们的生活,应该没有人会说 ChatGPT 和豆包听不懂人话了吧。 说起来今年发生在我身上的变化还是非常多的,年初的订婚、找房搬家、装修、装修公司跑路、搬家、辞职、换工作、三十“大寿”...... 我的年终总结文章是每年最长的博客内容,但也是最没有章法的,主打一个意识流,那么现在总结开始。 0X01 压力/大事件…

2025 开发者 AI 扫盲:从 LLM 到 Agent

0X00 Intro 现在是 2025 年末,所有人都在聊 AI,不管是一线科研人员还是开发者甚至是楼下卖瓜的大叔。但是在我的观察中,即便是很多开发者也其实对 AI 的了解也比较肤浅,仅限于使用成品的豆包、Deepseek 等产品,对时下热门的技术关键词并不了解。所以我自己重新整理了一下,假设目标用户是不懂什么是 LLM、Agent、MCP、Function Call 的我自己,写了一篇介绍文章。远远算不上由浅入深,但勉强可以做一个纯粹的介绍。 <!-- more --> 0X01 LLM 首先 LLM 的意思是大语言模型(Large Language Model),重点是语言和模型。所以我们搞清楚一个问题就是很多玩家自己部署的 Stable Diffusion 并非 LLM,因为它并不是语言模型。另外我们常用的 Deepseek 和豆包 App 也并非 LLM,因为它们并非语言模型。 最常被人们接触到的其实都不是模型,而是在模型上构建的产品,例如:ChatGPT 和豆包。模型指的是给这些产品提供 AI 能力的诸如 GPT-5.2、Claude Sonnet 4.5、GLM 4.7…

如何高质量的接入AI - Developer

0X00 Intro 今年年初的时候,写过一篇名为如何高质量地接入AI的文章,现在十个月过去了,经过这一年的探索和总结,现在我已经找到了一个非常适合开发者的 AI 接入方案(至少非常适合我自己),现在打算在这里跟大家做一个简单的分享。 我个人使用这些 LLM 的经历主要是分成三个阶段: 最开始是 2023 年,注册了一个 ChatGPT 的账户,就只用 GPT-3.5 这种模型。不过那段时间 LLM 的能力还比较有限,使用量也并不大,很多时候都是以玩的心态在用; 后面随着模型能力上升,需求也跟着上升了,索性订阅了 POE,每个月要花掉 $20。不过当时 GPT-o1 和 Claude 3.5 这些模型还是给我工作学习明显提供了帮助的 POE 的年度订阅过期之后我试图找到一个比 POE 更合适我自己的技术方案,也就是下面将会介绍的这个了 <!-- more --> 0X01 Struct 当时在探索方案的时候我的需求就是:按量计费、多平台统一、多模型可用、高度定制化、显得高级(满足虚荣心 🤣)。那么最终得到的就是下面这样一个结构。 先来简单介绍一下这个方案的优势: 按量计费:因为是用…

Base64 究竟是什么

0X00 前言 为什么要写这么一篇文章?按理说大家工作了一段时间之后肯定有一个最基础的认知:md5 不是加密,base64 也不是。起码我最开始以为大家应该都知道,但是后面发现有些人对这两个东西的理解真的有很大的问题。所以才打算写这么一篇文章。 事情的起因是这样的: 所以我接下来打算首先介绍一下 base64 究竟是怎么得到的(算法本身),再来说明白 base64 为什么不可以通过前面加 32 个随机字符来实现“加密”(随机长度也不行)。 <!-- more --> 0X01 常识性的知识 首先我们明确一个事情,就是「编码」「加密」「哈希」之间的区别: | 名称 | 是否可逆 | 是否安全 | 典型 | | | | | | | 编码 | 是 | 否 | base64 | | 加密 | 是 | 是 | AES | | 哈希 | 否 | 不总是 | md5 | 编码,是将一段内容通过某种算法直接转换成另一段内容,只是形式发生了变化,在明确编码算法的情况下是可以轻松解码获得原始内容的 加密,是将一段内容通过某种算法和 密码…

编写 Python 程序的 10 个典型错误

0X00 开头 最近买了本书,叫做《100个Go语言典型错误》,发现这样的总结很有意思。决定自己也写一个,不过以我的水平写本书还是有点离谱了,但是写一篇博客还是没什么问题的,所以就有了这篇文章。 0X01 函数默认值传递空列表 这是一个典型错误,很多很多的 Python 程序员都犯过这个错误。一般在定义一个函数且给它设置默认值的时候我们都会写成 def foo(a=0, b="", c=None) 这个样子,这种写法是完全没有问题的。但是有时候也会写成:def foo(d=[]),这就完犊子了~ 我们看下面这段代码 你以为会输出 10 个 ['x']?那就大错特错了,真正的输出是这样的: 为什么呢?因为函数在定义的时候就将空列表初始化了,并且记录下了引用,以后每次都会对同一个列表进行操作。另外不只是列表,字典作为默认值也会有这个问题的。 0X02 对闭包的无意识理解 很多人对闭包的理解就是粗浅的「函数里定义函数」,当然这是没错的,但是缺少了一些东西。如果只是函数里定义函数的话,下面这段代码会发生什么? 没错,这段代码是会正确输出 2…

一种简单的 Linux 内存不足抢救方案

0X00 正文 前几天尝试用自己的服务器通过 docker 启一个新服务,没注意这个服务需要的内存比较大(我的服务器只有 2G 内存),导致 docker compose up -d 命令敲下去不到一分钟服务器直接卡死了...... 当时还没意识到是内存不足导致的问题,以为是 CPU 卡住了,毕竟一般情况下服务刚启动的时候确实会占用比较多的资源。所以直接摆烂,等它一会儿好了。半个小时之后发现服务器还是卡死状态,ssh 也上不去,所以干脆去云平台重启。发现云平台的监控上已经看不到CPU/内存的占用率了,意味着装在服务器里的 agent 也已经完蛋了。而且,重启服务器也没有什么效果。 好在云平台可以通过类似 IPMI 的方式直接接入到服务器的 console,所以可以通过 console 登陆。虽然每一步的操作都非常非常卡,敲一串命令要等很久才能回显。使用 free -h 检查了内存占用情况之后发现确实是内存瓶颈,并且系统没有配置交换分区,所以才出了下面的这个骚招: 1. 使用 free -h 确认当前内存使用情况,发现内存爆满且没有交换分区 2. 意识到 Linux…

苹果里的虫子:macOS 的几个臭毛病

0X00 叠甲 开局先叠甲,我到现在为止用过一台 Mac mini,一台 Intel 的 MacBook Pro 和一台 M2 Max 的 MacBook Pro,自费购买 MacBook 花费超过 3W 元,累计使用超过 5 年,是个不折不扣的 macOS 用户。我认可很多 MacBook 和 macOS 的设计理念,如果我现在只能保留一台电脑,那极大可能我会选择一台 MacBook Pro。 😡 好了现在开始输出 😡 0X01 难用的包管理器 首先就是这个 homebrew,我在买 MacBook 之前看攻略的时候就看到很多人在吹 homebrew 有多好用,有多厉害,有多方便。他们的说辞一般是:一个命令就可以更新系统里很多的组件、一个命令就可以安装好开发环境、一个命令就可以XXXX。当时我作为一个 Archlinux 用户是有些懵逼的,但是看在这么多人吹捧的份上我也就相信了,心想着「这么多人都这样推荐,应该确实会很好用,如果能像 pacman 或者 apt 或者 dnf 这样的话那确实是很好的」。 结果呢?这个 homebrew…

如何高质量地接入 AI

0X00 没有什么意义但我就是想写的前言 有一说一现在的大模型发展太快了,最开始我列这个大纲的时候是把 deepseek 作为「凑合能用但超级便宜」的一个国产替代品来介绍的,没想到过了个年它直接翻身了,现在甚至能打 GPT-4o。所以我决定现在立刻马上把这篇文章写完,否则没准又杀出来个什么模型,会导致我永远写不完了 🤣 这篇文章的主要受众群体如下: 1. 知道最近 AI 很火,想用用看但是不知道怎么上手的朋友 2. 尝试用过一些大模型,但是觉得接入不方便或者价格高的朋友 3. 想全面接入 AI,让 AI 成为自己得力助手的朋友 这篇文章会介绍这些内容: 1. 成品工具:只需要一个浏览器或者一个 APP 即可访问的最大众化的 AI 接入模式 2. 模型选择:列举常见模型的特点,根据你的需求选择合适的大模型 3. API 接入:不方便接入原生 Claude/OpenAI API 时的优秀替代品 4. 三方工具:通过 API 接入后能大幅改善日常使用体验的一些工具 5. 本地部署:有关本地部署的一些个人看法 那么废话少说,现在开始正文了 0X01 商业化成品工具 想要最快速的接入 AI…

2024 年度总结

0X00 碎碎念 数数看这已经是我的第六篇年度总结了,每当回过头去看之前的总结就感觉写这些也还挺有意义的。虽然写日记对我来说太困难了,但是写「年记」好像还行,甚至有点乐在其中 🤔 廖凡_饺子_姜文.mp4 说起来小学时候大家都不喜欢家庭作业里有日记这一项,因为要写好多字,而且都没什么可写的。我就不一样了,因为我小学时候的日记全文都是:今天去XXX玩了,很高兴/今天去XXX家写作业,很开心。 🤣 回到正题。今年的生活完全被打乱了,比疫情还在的时候更乱,以至于我第一次 delay 了我的年度总结。哦不是,是完全没有去检查年初制定的计划到现在完成了多少(估计有个 30% 就谢天谢地了),具体是什么情况导致的我后面再说吧。这次给博客列的大纲就是零零散散不成体系,只能说尽力拼凑了一个年度总结出来,不管是长度还是质量肯定是不及去年和前年的万字长文了。那么就直接开始吧。 0X01 专业能力 今年本来的计划是更多的去深入学习之前已经掌握的知识和技能,结果完全没深入哪里去。反倒是之前两年多次「下定决心」要学的 Go…