SPIRE 系列之二:架构深度解析

Posted on 五 24 4月 2026 in Journal • Tagged with SPIRE, SPIFFE, Zero Trust, Architecture, Kubernetes

SPIRE 系列第二篇:在理解 Workload Identity 与 Zero Trust 目标之后,拆开 SPIRE Server、Agent、Registration Entry、Workload API、部署模式与插件体系。


Continue reading

SPIRE 系列之一:从 Workload Identity 到 Zero Trust

Posted on 四 23 4月 2026 in Journal • Tagged with SPIRE, SPIFFE, Workload Identity, Zero Trust, Kubernetes

SPIRE 系列第一篇:从为什么需要 Workload Identity 开始,解释 SPIFFE/SPIRE 的核心概念、落地路径、部署模式和资源成本,为后续架构、安全与实战 Lab 打基础。


Continue reading

一次 HTTPS 证书报错排查:为什么会出现 `unable to get local issuer certificate`

Posted on 三 22 4月 2026 in Journal • Tagged with Python, SSL, TLS, HTTPS, Requests, Certificate, Debugging

这篇文章用一个脱敏后的 Python HTTPS 报错为例,讲清楚 unable to get local issuer certificate 到底是什么意思,为什么很多时候不是客户端代码写坏了,而是证书链没接上;正文讲排查主线,完整脚本与可运行示例放到独立仓库里。


Continue reading

从 AWS KMS 到用户私钥托管:把加密这条链路一次讲清楚

Posted on 三 22 4月 2026 in Journal • Tagged with AWS, KMS, Encryption, Security, Secrets Manager, Private Key

这篇文章把 AWS KMS、data key、encrypted data key、EncryptionContext 以及“为特定用户托管私钥”的工程设计串成一条完整链路,尽量用人话讲清楚它们各自该放在哪里、由谁负责、什么时候该用、什么时候别乱用。


Continue reading

把文章一键变成播客:我的 side project `lazy-podcast-mate`

Posted on 二 21 4月 2026 in Journal • Tagged with Podcast, TTS, Python, Side Project, ffmpeg, CLI, Markdown

写完一篇文章,常常只活在博客里一次。我做了一个叫 lazy-podcast-mate 的小工具,想把本地 Markdown/TXT/HTML 文章,一条命令变成可发布的播客 MP3。本文聊聊它解决什么问题、内部怎么设计,以及一个 side project 真正该补齐哪些工程细节。


Continue reading

驾驭 AI 工程的一些最佳实践:从 Meta-Harness 论文到可落地的工程手册

Posted on 二 21 4月 2026 in Journal • Tagged with AI Engineering, Context Engineering, Meta-Harness, Harness Engineering, AGENTS, CLAUDE, PDCA, TerminalBench

AI 系统的表现,很多时候取决于 harness,而不只是模型权重。本文结合 Meta-Harness 论文,讨论为什么应该把 AGENTS.md、外化记忆、skills、协议、质量门禁和 PDCA 视为可优化的 harness,并给出一套真正可落地的技术栈与路线图。


Continue reading

CGM 论文讲了什么,咱们又该怎么落地

Posted on 二 21 4月 2026 in Journal • Tagged with CGM, Code Graph, LLM, RAG, SWE-bench, Repository, Ant Group, CodeFuse, 论文笔记

解读 arXiv:2505.16901(Code Graph Model): 这篇论文不是简单地做代码检索,而是把仓库建成一张"文本富图",再把语义和结构一起送进模型。文末给出按投入递增的技术栈与落地路线图。


Continue reading

什么是 Louvain 算法——graphology-communities-louvain 背后的那点事

Posted on 一 20 4月 2026 in Journal • Tagged with Graph, Algorithm, Community Detection, Louvain, Modularity, graphology

一张关系图摆在你面前,几万个节点、几十万条边,你被问:"这里面有几个圈子?谁和谁是一伙的?" 你总不能靠肉眼画圈吧。这时候 Louvain 算法就派上用场了——它不是万能药,但在"社区发现"这个活儿上,它是工业界用得最多的那把瑞士军刀。本文从直觉讲到模块度公式,再到 graphology-communities-louvain 的实战用法,以及它什么时候该用、什么时候别用。


Continue reading

给 Cursor、Codex、Claude Code 用的 AI Skill,到底该怎么测

Posted on 一 20 4月 2026 in Journal • Tagged with AI, Agent Skills, Cursor, Claude Code, Codex, Testing, Evaluation, CI

上一篇讲过用 promptfoo 测 LLM API 类的 AI skill。可咱们日常写的更多是另一种——给 Cursor、Codex、Claude Code 用的本地 skill,它没有 endpoint,没有固定 prompt,调用方是另一个 agent。这种 skill 该怎么测?本文给一套从结构 lint 到行为回归的完整方案。


Continue reading

RRF 倒数排名融合:RAG 里那个看起来土、却一直没被换掉的小公式

Posted on 日 19 4月 2026 in Journal • Tagged with RAG, RRF, Reciprocal Rank Fusion, BM25, Vector Search, Hybrid Search, Reranker, Retrieval

RRF(Reciprocal Rank Fusion)是 RAG 检索里一个长得土、却几乎没人舍得换掉的小公式。不需要训练,不挑分数尺度,一行代码就能把 BM25 和向量检索揉到一起。本文把公式拆开,给一个手算例子,再聊聊它什么时候好用、什么时候该让位给 reranker。


Continue reading

给代码仓库造一个 DeepWiki:Tree-sitter + Embedding + 图谱 + LLM 的方法论

Posted on 四 16 4月 2026 in Journal • Tagged with RAG, Code Knowledge Base, Tree-sitter, Embedding, Memgraph, pgvector, sqlite-vec, LLM, DeepWiki, AI Coding

把一个陌生代码库变成可问可答的 DeepWiki 知识库,靠的不是"把 README 喂给 GPT",而是 Tree-sitter 解析 + Embedding 向量 + 图数据库 + LLM 生成 四件套。本文不谈具体实现代码,只讲方法论、流程与取舍,并进一步讨论:代码作为 source of truth 之后,文档如何分层,以及如何让知识库反过来 harness AI 编码。


Continue reading

用 Promptfoo 给 AI skill 做体检:评估、测试、质量与安全把关

Posted on 三 15 4月 2026 in Journal • Tagged with Promptfoo, AI, LLM, Agent, Skill, Evaluation, Red Team, Security, CI/CD

很多团队做 AI skill,还停留在“这次跑通了,看起来不错”的阶段。可真正上线之后,问题往往不在第一次回答,而在波动、成本、工具调用路径和安全边界。本文借 Promptfoo 这把尺子,聊聊怎么系统地评估、测试并给 AI skill 做质量与安全把关。


Continue reading

在 Kubernetes 里用 cert-manager + Venafi 自动签发和轮换证书

Posted on 三 15 4月 2026 in Journal • Tagged with Kubernetes, cert-manager, Venafi, TLS, certificate, security, DevOps

很多团队把 TLS 证书当成一次性配置,直到某个周五晚上证书快过期了,才想起这件事不能靠日历提醒。本文以 Kubernetes 服务为例,讲清楚怎么把 cert-manager 当执行层,把 Venafi 当策略和 CA 门卫,做到声明式签发、自动续期、私钥轮转,以及应用侧平滑 reload。


Continue reading

Obsidian 加 LLM,个人知识库的正确打开方式

Posted on 三 08 4月 2026 in Journal • Tagged with Obsidian, LLM, 知识管理, AI, MCP, RAG

笔记散落各处,AI 却帮不了你?聊聊怎么用 Obsidian 的本地 Markdown 文件,配合 LLM 插件、MCP 和编译式知识库,把"一堆文件"变成"能回答问题的第二大脑"。


Continue reading

Gevent 是什么,和 asyncio 一起用有什么坑

Posted on 二 07 4月 2026 in Journal • Tagged with Python, Flask, Gevent, asyncio, 并发

从 Flask 老项目里的聚合接口说起,聊聊 gevent 和 asyncio 到底差在哪里,各自适合什么场景,又各有哪些坑。


Continue reading

证书这活儿:PEM/JKS/P12 怎么选、免费证书哪家强、自动轮换怎么搞

Posted on 二 24 3月 2026 in Journal • Tagged with certificate, TLS, SSL, PEM, JKS, PKCS12, Let's Encrypt, cert-manager, security, DevOps

以我自己的个人网站证书过期为引子,讲清楚 Root CA、Intermediate CA、Leaf Certificate 的职责、格式与验证过程,再把 PEM/JKS/P12 的选择和自动轮换这件事说透。


Continue reading

AI Agent Loop 讲透:以一个会自己写博客的 Python Demo 为例

Posted on 四 19 3月 2026 in Journal • Tagged with agent, agent-loop, AI, LLM, python, tool-calling, memory, planning

以 lazy-rabbit-agent 里的 agent_loop_demo.py 为例,讲清楚 AI Agent Loop 的本质:它不是玄学,而是由规划、记忆、工具调用、观察回流、格式约束与失败恢复组成的一台小发动机。


Continue reading

演讲的认知科学:别再浪费彼此的时间了

Posted on 四 19 3月 2026 in Journal • Tagged with 演讲, 演示, 认知科学, 沟通, 方法论, presentation

你精心准备了 40 页 PPT,讲了 45 分钟,台下却只记住了你那句"下一页"。问题不在你的内容不好,而在你忽视了一件事:人脑不是硬盘,它有带宽限制、有注意力衰减曲线、有情绪开关。本文从认知科学的角度,拆解演讲中"听懂"这件事的底层逻辑,给你一套可落地的演讲清单。


Continue reading

Workload Identity:别再把云上身份塞进 Secret 里了

Posted on 四 19 3月 2026 in Journal • Tagged with journal, blog, security, cloud, kubernetes, iam, workload identity

讲清楚 workload identity 是什么、为什么它比长期凭证更靠谱,以及在 Kubernetes 和云平台里如何落地。


Continue reading

职场工具箱之 Radical Candor:怎样既不当老好人,也不当刺头?

Posted on 二 17 3月 2026 in Journal • Tagged with 职场工具箱, Radical Candor, 反馈, 管理, 沟通, 方法论

你要么什么都不说(老好人),要么一开口就得罪人(刺头)。Radical Candor(彻底坦诚)告诉你:好的反馈 = 关心对方 + 直接挑战。两个维度画出四个象限:彻底坦诚、恶意攻击、虚伪客套、过度同情。本文教你怎么在"关心"和"直接"之间找到那个甜蜜点。


Continue reading