Build. Learn. Document. Repeat.
持续学习,持续实践,持续沉淀。

欢迎来到我的数字花园 🌱。

我习惯将学习、实践与思考沉淀为可复用的笔记,希望把零散的信息整理成系统化的知识,也希望它们能在未来的某一天再次帮助自己,或帮助正在阅读的你。

我相信知识不是一次性整理完成的文档,而是在学习、实践和复盘中不断生长的网络。

如果某篇文章帮助到了你,希望它也能成为你知识网络中的一个节点。

🕰️ 最近笔记

最近 20 篇查看全部
  1. CLAUDE.md 使用指南,从创建、加载到规则生效

    AI / Workshop

    作为前端开发者,我们对 .eslintrc、.prettierrc、tsconfig.json 这些文件已经非常熟悉了。

  2. Claude Code 为什么成了编程工具的标杆

    AI / Workshop

    在2025年2月,Anthropic 发布了Claude Code 的 “受限研究预览版”, 它在短短一年内成为了开发者社区公认的最佳编程智能体。

  3. Prompt 工程管理流程

    AI / Workshop

    把 Prompt 当作代码管理,每次修改有版本、有测试、有评审,上线后能追踪,出问题能回滚。

  4. 结构化输出是什么:拿到 JSON 不等于拿到有效业务数据

    AI / LLM

    让模型从一段文字里提取订单信息,返回下面这样的 JSON,程序就能直接创建订单了吗?

  5. 普通响应与流式响应:同一份答案如何交付

    AI / LLM

    调用模型接口时,普通响应会等答案全部生成后再返回;流式响应则在生成过程中陆续返回文本片段,客户端收到一段,就可以展示一段。

  6. 上下文窗口是什么:为什么输入不长也会超限

    AI / LLM

    用户只问了一小句话,请求却提示上下文超限,可以先看应用实际发了什么:除了当前问题,可能还有历史对话、检索资料、工具说明和执行结果。

  7. temperature、top_p 与输出长度分别控制什么

    AI / LLM

    调用模型时,经常会设置 temperature、top_p 和输出长度上限。前两个影响每一步怎样选 Token,最后一个限制最多生成多少。它们不是同一个作用,也不直接决定回答是否正确。

  8. Token 是什么:为什么字数不能直接换算模型用量

    AI / LLM

    “你好,世界”有 5 个字符,用 cl100k_base 编码会得到 6 个 Token,换成 o200k_base,又只需要 3 个。

  9. 一次模型调用的输入究竟包含什么

    AI / LLM

    聊天时,前面已经说了目的地、预算和人数,后来只补一句“住哪儿合适?”,模型为什么还能接着回答?

  10. 用 Python Decimal 计算 Token 费用:单位、缓存与金额精度

    AI / LLM

    假设一次模型调用用了 1000 个输入 Token,其中 800 个命中缓存,又生成了 200 个输出 Token。总共用了 1200 个 Token,但计算费用时,不能把这个总数直接乘一个单价。

  11. 用 Cloudflare Tunnel 发布 Docker 容器网站

    Infrastructure / Http

    家中服务器没有公网入口时,可以用 Cloudflare Tunnel 对外发布容器网站。服务器上的 cloudflared 主动连接 Cloudflare,浏览器访问公开域名,再由这条连接把请求送到本地服务,不需要在家庭路由器上开放入站端口…

  12. Cloudflare DNS、代理与访问速度有什么关系

    Infrastructure / Http

    把域名交给 Cloudflare 管理,不等于把网站文件迁到了 Cloudflare,也不保证网页一定更快。DNS 决定域名解析到哪里,网站请求实际经过哪条路径,还要看代理状态和部署方式。

  13. 一个 SSH 连接转发多个 Docker 服务端口

    Infrastructure / Linux

    远程服务器运行 PostgreSQL、Redis 和 Weaviate 时,可以用一个 SSH 连接转发多个端口。服务器上的 Docker 端口只绑定本机,管理电脑上的客户端统一连接自己的 127.0.0.1。

  14. 用 Tailscale 和 SSH 远程管理家中 Mac

    Tools / MacOS

    从外面的电脑管理家里的 Mac,可以让两台设备加入 Tailscale,再通过 macOS 自带的 SSH 服务登录。配置好以后,日常执行 ssh home-mac 就能进入服务器终端,不需要家庭公网 IP,也不需要在路由器上转发 22 端…

  15. Hugging Face 模型缓存目录存在,为什么仍然无法离线加载

    AI / Agent

    在我的一次部署排查中,应用首次使用时才加载 Embedding,并设置了 local_files_only=True。检查缓存后发现:主模型有 refs/main,却没有 snapshot;自定义实现的 snapshot 只剩 __pyca…

  16. 初识 Jev:让 AI 帮程序做判断

    AI / Agent

    Jev 是 TypeSafe AI 推出的模型,用来做分类、打分和判断。比如,读一条客服消息,判断用户是不是要求退款,再把结果交给程序处理。它不负责写客服回复,返回的是选项、分数或概率。

  17. Python 对象相等判断:从 JavaScript 理解 ==、!= 与 is

    Engineering / Python

    在 JavaScript 中,两个分别创建的对象,即使属性完全一样,a === b 也会得到 false。带着这个经验读 Python,下面的代码就容易让人困惑:

  18. Python 懒加载:初始化究竟在什么时候发生

    Engineering / Python

    一个搜索服务可能需要加载模型,但程序启动后,不一定马上有人搜索。如果创建服务时就加载模型,即使最后没有执行搜索,也已经付出了加载的时间和内存开销。

  19. 为什么更换 Embedding 模型后需要重建向量索引

    AI / Agent

    文档已经做成向量索引后,如果把查询时使用的 Embedding 模型换掉,可能出现两种情况:搜索报错,或者搜索没有报错,返回的内容却不相关。

  20. 用 LangChain 和 FAISS 为 Markdown 建立语义检索

    AI / Agent

    这里用 LangChain 和 FAISS 给一份 Markdown 加上搜索功能。建库脚本读取文档、生成向量并保存,查询脚本再加载索引,按问题找出相关的原文。


📝 关于这些笔记

这里的大部分内容都来自实际学习和开发过程。

为了方便长期维护,每篇笔记都会尽量按照统一的知识结构整理,例如:

类型说明
Theory概念讲解、原理分析、成因对策
Practice实践指南、实现方案、最佳实践
Snippet代码片段、实用函数
Reference学习笔记、语法参考
Tutorial上手教程、快速入门、搭建指南
Cheatsheet命令备忘、配置速查
Experience踩坑记录、FAQ、排查过程

希望每一篇笔记不仅能解决当前的问题,也能成为未来可以快速检索和复用的知识资产。


📖 知识导航

  • 🤖 AI 大模型、AI 应用开发以及相关技术实践。

  • 💻 Engineering 记录软件开发、编程实践与工程设计思考。

  • ☁️ Infrastructure 沉淀开发环境、部署流程与基础设施相关知识。

  • 🛠 Tools 分享提升效率的工具、配置与个人工作流。