安全混沌工程:把安全事故演练成消防演习

Posted on 五 24 4月 2026 in Tech • Tagged with security, chaos-engineering, incident-response, resilience, tabletop-exercise, game-day

混沌工程不该只服务于稳定性。面对密码泄漏、账号被盗、数据外泄、勒索加密等安全事故,团队也需要像消防演习一样,在平时用可控、低风险的方式反复演练发现、响应、隔离、恢复和复盘。


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

从 Cursor 迁到 Codex:别急着抄配置,先把脑回路迁过去

Posted on 四 23 4月 2026 in Tech • Tagged with Cursor, Codex, AGENTS.md, hooks, AI coding, workflow

很多人以为从 Cursor 迁到 Codex 只是把 .cursor/ 改成 .codex/,结果第一天就撞墙。真正难迁的不是目录,而是概念:Rules、Commands、AGENTS、Skills、Hooks、Sandbox、Approval 在两边的含义并不一样。结合官方文档和我在博客仓库里的真实迁移痕迹,聊聊怎么迁、先迁什么、哪些坑最容易踩。


Continue reading

AI 时代,别只囤笔记:我是怎么把知识库做成一部活的 Wiki

Posted on 三 22 4月 2026 in Tech • Tagged with AI, knowledge-base, wiki, PKM, RAG

AI 很强,但它并不了解你的项目、你的经历和你的判断。真正有用的知识库,不是把笔记堆起来,而是把原始材料、结构化页面、治理规则、来源与校验串成一条流水线。结合我最近折腾的一套私人原型,聊聊我是怎么搭自己的知识库,以及怎样让它不只是一个"仓库"。


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

AI Agent 会越来越像人吗?从 Tool、Skill、Memory 到 Soul 和 Rules

Posted on 日 05 4月 2026 in AI • Tagged with AI, agent, memory, skills, rules, MCP, multi-agent, governance, multimodal

AI Agent 的演化,表面上看越来越拟人,技术上看其实是在一层层补齐“器官”:从思考与推理、多模态感知,到工具、技能、记忆、人格、规则、身体接口,再到多 Agent 协作与治理。它未必先替代人,但一定会先重写很多知识工作的分工边界。


Continue reading

蒸馏:AI 世界里的"吸星大法"

Posted on 日 05 4月 2026 in AI • Tagged with AI, distillation, LLM, agent, skill, knowledge-distillation, DeepSeek, OpenAI

大模型能蒸馏,Agent 的 Skill 也能蒸馏。蒸馏到底是什么?为什么 DeepSeek 能把 671B 的推理能力塞进 1.5B 的小模型?为什么你的 Agent 技能越写越臃肿时,也需要来一轮"蒸馏"?这篇把模型蒸馏和技能蒸馏串起来讲,一次搞懂。


Continue reading

AI Agent 为什么会越用越懂你?从 OpenClaw 的“养龙虾”聊起

Posted on 三 01 4月 2026 in AI • Tagged with AI, agent, OpenClaw, memory, personalization, context-engineering

很多人觉得 OpenClaw 这类 AI Agent 用久了会“自我进化”。真相没那么玄:多数时候,不是模型偷偷变聪明了,而是记忆、偏好画像、工具调用、反馈回路和工作流沉淀一起把它越养越顺手。


Continue reading