
小册
成体系的连载,一章一章往下写。
小记
一些问题,一些实验,还有沿途的发现。
告诉模型输出 JSON,就一定能得到正确的 JSON 吗?
从 A2UI 的一个疑问出发,分清模型训练、提示词、约束解码和应用校验各自负责什么,以及结构化输出能保证到哪一步。
Agent 应用中的界面决策层:让后端只算数据、前端只管渲染
把「这批数据该长什么样」从业务推理里拆出来,交给一层只做翻译的模型;用组件目录约束它只能用你已有的组件,再经 SSE 把描述流式送到前端查表渲染。讨论目录怎么产生、渲染如何才算稳定,以及这条路线在什么情况下不该用。
DSL 决定表达什么,YACC 决定怎样读懂
从一条设备告警规则出发,区分 DSL、Lexer、YACC、AST 与执行后端,用可运行的 Bison 实验观察 token、shift/reduce、语法冲突和语义边界。
A2A 不只是思想:从 Agent 互操作到一条可运行协议
区分宽泛的 Agent-to-Agent 思想与 Linux Foundation 的 Agent2Agent 协议,拆开 Agent Card、Message、Task、Artifact 和三种绑定,并用一个可运行的多轮任务说明如何落地与何时不该使用。
AST 不只是前端工具:把一条设备规则变成可检查的程序
从一条工业设备告警规则出发,区分文本、CST、AST 与 IR,用 Python 标准库实现解析、语义收窄、内存执行和 SQL 编译,并说明这套思想何时值得采用。
LangGraph 的状态如何延续:Checkpointer 原理与业务 ID 设计
从通道、版本和检查点恢复机制出发,理解 thread_id 在业务中的位置;用重试、重新生成和工作流分支,推导对话、消息、命令、运行与请求 ID 的设计和生成方式。
元编程的价值与代价:一处规则,多个函数生效
围绕给计算器统一加日志这一件事,理解为什么使用元编程、函数包装如何工作、需要守住哪些约定,以及何时收益值得付出代价。
MCP 是什么:让 AI 连接工具之前,先看懂这条协议
从一个 AI 助手无法访问业务数据的现场出发,拆开 MCP 的 Host、Client、Server、Tools、Resources 和 Prompts,再用一次完整调用解释它与函数调用、Agent、REST API 的区别。
浏览器里的可运行代码:从 Python 落地到多语言架构
从浏览器中的运行按钮出发,先解释代码运行器的四个阶段,再用 Python、Pyodide、Web Worker 和独立仓库完成一条可复现的实现路径。


