ARCHIVE
아카이브
기존에 공개한 글을 원래 주소 그대로 보관합니다.
과거의 글에는 작성 당시의 기술과 관점이 담겨 있습니다.
356개 글 · 3 / 12 페이지
· ZH
用 robots.txt 精准控制 AI 爬虫 — 拒绝训练、放行引用的 2026 策略
很多站点用一行屏蔽 GPTBot 就以为"AI 已挡住"。我实际写了一份把训练、搜索、用户请求爬虫分开控制的 robots.txt,并用标准解析器验证。还包括 Google-Extended 挡不住 AI Overviews 的陷阱,以及 llms.txt 的真实现状。
· ZH
无障碍分数从55到100 — 用Lighthouse实测并修复WCAG违规
把一个虚构的面包店落地页扔进Lighthouse无障碍审计,得了55分。这里是逐条修复6个WCAG违规、做到100分的实测日志,以及自动化工具始终没能发现的键盘陷阱。
· ZH
给一个本地LLM同时接8个代理 — Ollama并发吞吐量实测
我以为并行触发子代理会让本地模型也随之变快。实测发现默认的Ollama会把请求排队处理,接8个和接1个的总吞吐量一样。我在M1 16GB上实测了调高OLLAMA_NUM_PARALLEL带来的吞吐增益,以及它的代价。
· ZH
LocalBusiness结构化数据:JS注入可行,但服务端输出更可靠
用JS注入店铺页的LocalBusiness JSON-LD,原始HTML里ld+json块为0。本文与服务端输出直接对比,并梳理Google官方立场与排名的边界。
· ZH
本地推理模型值回票价吗 — 用gemma4:12b实测thinking开/关的记录
上一篇文章里我把gemma4:12b的空回复断定为打包bug。错了,它其实是推理模型。于是我用推理开/关跑了13道题。 推理多答对了1题,却多花了68倍的输出token和19倍的时间。本文用实测整理在代理里该何时开、何时关。
· ZH
本地智能体为什么忘了系统提示 — 实测 Ollama num_ctx 的无声截断
本地智能体在长输入下突然无视指令。我把一段秘密代码藏在提示开头,逐步加长输入直到 recall 崩掉。 一旦超过 num_ctx,Ollama 就不报错地砍掉提示前半段。而且"默认值是 4096"这个说法,在我的 MacBook 上是错的。
· ZH
本地LLM的首次响应为何有时要等10秒 — 我实测了冷启动(load_duration)
离开一会儿再叫回代理,第一条响应就格外迟钝。我把Ollama每次响应都返回的load_duration按模型大小拆开看:2GB是1.5秒, 9.6GB最高9.7秒。而且"冷"原来有两种。keep_alive一个开关如何决定这笔开销,我做了实测整理。
· ZH
本地LLM为何对话越长越慢 — 我把prefill和generation拆开测了一遍
同样一段9,700 token的提示词,在我的笔记本上第一个token要等55秒,而第二次相同调用只用了65毫秒。我直接取出Ollama的时间戳,分离测量prefill与generation,弄清prefix缓存为何快了396倍,以及如何把它用到代理的上下文设计上。
· ZH
同一篇文章,韩语却要1.4倍token — 我用自己博客的285篇实测了非英语token税
我把同一篇文章以ko/ja/en/zh四语发布的博客285篇,用三种真实分词器逐一分词,测量非英语的token成本。 韩语是英语的1.38倍,日语1.34倍,而且分词器的代际更替实质上是给非英语文本的一次打折。
· ZH
本地LLM会两次给出相同答案吗 — 用temperature和seed实测输出可复现性
我把同一个提示词向本地Gemma 4发送了数十次,测量输出的可复现程度。temperature=0是确定性的, 即使提高temperature,只要固定seed,输出也会收敛成一行。文末给出可直接用于评估和CI的结论。
· ZH
别把原始JSON直接喂给LLM — 我实测了9种数据格式的token成本
把同样的50条记录序列化成JSON、YAML、CSV、TSV、XML等9种格式,用tiktoken实测token。平坦数据下TSV比pretty JSON便宜62%,而数据一旦嵌套,结论就反转。
· ZH
用 TypeScript 构建 MCP 客户端 — @modelcontextprotocol/sdk v1.29
我亲自安装了 @modelcontextprotocol/sdk v1.29.0,构建了一个 TypeScript MCP 客户端。 不依赖 Claude Desktop,通过编程方式调用 MCP 服务器工具和读取资源的实战指南,包含真实运行日志和错误处理模式。
· ZH
用 Agno 构建 AI Agent — 结合 Gemini 与内置工具的实战运行记录
在沙盒中安装并验证了从 phidata 更名的 Agno v2.6.17,包含 Calculator、Wikipedia、结构化输出和多智能体团队的实际执行日志。同时诚实记录了亲历的各种陷阱:output_schema 与 output_model 混淆、废弃的模型 ID、Team API 参数变更。
· ZH
Ollama结构化输出实战指南 — 用Pydantic安全解析本地LLM的JSON响应
将Ollama 0.3+的JSON Schema强制模式与Pydantic结合,实现本地LLM响应的类型安全解析。 实测结果:结构化输出比普通文本快6倍,JSON解析成功率接近100%。
· ZH
用sentence-transformers实测RAG嵌入 — 韩语查询准确率为何下降67%
在本地安装all-MiniLM-L6-v2,直接测量余弦相似度、运行迷你RAG,并比较英语与多语言嵌入模型。 用英语优化模型构建韩语RAG系统时,准确率下降67%的实测结果与解决方案。
· ZH
我为什么做InsightForge:把AI消费者研究变成验证优先级工具
这是一篇产品构建记录,说明InsightForge是什么、为什么要做,以及把synthetic panel和SSR式方法做成负责任产品时遇到的困难。
· ZH
Mastra.ai 实战指南 — 用TypeScript在5分钟内运行AI代理
我亲自安装了Mastra.ai TypeScript AI代理框架,将其连接到Google Gemini并构建了一个天气代理。从安装到实际工具调用的完整实验记录。
· ZH
Anthropic和OpenAI在同一个月申请了IPO — Token价格战对开发者意味着什么
2026年6月,Anthropic(6/1)和OpenAI(6/8)分别向SEC提交了保密S-1文件。两家AI巨头同时申请上市,正在怎样改变API的Token定价?本文给出模型级实际单价对比,并说明开发者现在应当锁定哪些应对方案。
· ZH
Claude Fable 5发布分析 — Mythos终于公开,API费用翻倍值得吗?
Anthropic于2026年6月9日发布Claude Fable 5。SWE-bench Pro达80.3%,定价$10/$50/百万Token。本文从API变更、安全路由机制和实际成本结构分析,Mythos Preview的公开版本Fable 5是否值得比Opus 4.8多付一倍费用。
· ZH
Claude Code 2026年6月更新分析 — Safe Mode、Opus 4.8默认、限制翻倍
全面解析2026年6月Claude Code更新:Safe Mode权限隔离、/cd命令新增、Opus 4.8默认化、/usage成本细分、速率限制翻倍。 开发者需立即了解的所有变更内容与实务迁移清单。
· ZH
Drizzle ORM 完全指南 — 不用 Prisma 也能构建类型安全的 TypeScript 数据库层
用 Drizzle ORM 0.45 和 drizzle-kit 在 TypeScript 中类型安全地操作 SQLite 和 PostgreSQL。从 schema 定义到 migration、transaction 的 async 陷阱,附实际运行日志。
· ZH
Node.js 内置 SQLite 完全指南 — 无需外部包,直接上手实战数据库
Node.js 22.5.0 起可用的 node:sqlite 内置模块,无需 npm install。从 DatabaseSync、StatementSync、事务处理到自定义函数,全部基于实际运行代码和日志整理。
· ZH
LlamaIndex vs LangChain vs Haystack — 2026年RAG框架实测对比
亲自安装测试了LlamaIndex 0.14、LangChain 1.3和Haystack 2.30。包含langchain-community弃用警告、代码复杂度测量和InMemory检索实际运行结果的实测比较指南。
· ZH
Amazon Kiro 实战分析 — 规格驱动AI IDE能取代Claude Code吗?
通过官方文档和社区评测深度分析AWS开发的规格驱动AI IDE Kiro。涵盖EARS记法需求生成、Agent Hooks、Steering Files的实际价值,以及与Claude Code的关键差异的坦诚评估。
· ZH
Deno 2 vs Bun 1.3 — 2026年Node.js替代运行时实战对比:TypeScript、速度与安全
我实际安装了Deno 2.8.2和Bun 1.3.14,测量了启动时间、HTTP吞吐量、npm兼容性和安全模型。这是我会在哪种场景下选择哪个的具体结论。
· ZH
用 Hono.js + TypeScript 构建边缘 REST API — Cloudflare Workers 实战指南
我用 Hono v4、Bun 1.3 和 Zod v4 实际构建了一个类型安全的 REST API。本文涵盖路由定义、Zod 输入验证、CORS/日志/计时中间件,以及 Cloudflare Workers 部署配置——包含真实终端日志和分步骤代码示例。
· ZH
TypeScript Zod v4 + Claude API 结构化输出指南 — LLM响应类型安全解析
通过实际测试Zod v4的safeParse()和更新的schema API处理Claude API响应,构建类型安全的LLM输出解析方案。涵盖v3性能对比、z.string().check()新API、嵌套schema设计策略和生产级错误处理模式。
· ZH
用 Vitest 4 测试 AI 代理 — LLM 调用模拟、流式响应测试实战模式
我在 Vitest 4.1.7 中直接验证了模拟 Anthropic SDK messages.create() 和流式响应的实战模式。涵盖 vi.fn().mockImplementation(function(){...}) 与箭头函数的区别、用 async function* 生成器重现 SSE 流的方法,以及 9 个测试在 142ms 内通过的完整过程。
· ZH
用TypeScript构建自己的MCP服务器 — @modelcontextprotocol/sdk实战教程
用@modelcontextprotocol/sdk v1.29.0和Zod v4从零构建TypeScript MCP服务器的实战教程。逐步讲解工具注册、InMemoryTransport测试、公共API集成,30分钟内完成一个可运行的服务器。
· ZH
Gemini API Managed Agents 实战指南 — 用一行代码在隔离沙箱中运行AI智能体
实际动手体验Google I/O 2026发布的Gemini Managed Agents。一次API调用即可启动智能体,对比Claude和OpenAI的差异,并用代码演示多轮对话实现,同时指出官方文档与SDK实际行为的出入。