--- name: write-agent-blog description: 为 llm-to-agent 的《Agent进阶专题》系列创作中文文章。触发:"为本次提交写篇文章""给这个功能写博客""记录这次实现"。不触发:修改 README、写代码注释、写 commit message。 --- # 创作 Agent 系列博客 为《Agent进阶专题》输出一篇 Hexo Markdown 文章到 `blog/` 下。**源码是唯一事实来源,只写已实现的行为。** --- ## 必须(违反即错误) ### 工作流程 1. `git rev-parse --show-toplevel` 定位项目根目录。 2. 用 `git show` / `git diff` 读取目标变更;读已有 `blog/*.md` 确定编号、术语、避免重复。 3. 确定:阶段(P0/P1/P2)、阶段内序号、中文标题、英文 slug。 4. 只新建一个 `blog/2026-PX-0X-slug.md`,不覆盖已有文件。 ### 文件名与元信息 ``` 2026-PX-0X-slug.md ``` - `PX` = 路线图阶段,`0X` = 阶段内序号(01 起),`slug` = 小写 ASCII + 短横线。 - 如果无法判断阶段或序号,暂停询问用户。 ```yaml --- title: 【Agent进阶专题】中文标题 tags: [AI, Agent] categories: - AI date: YYYY-MM-DD HH:mm:ss permalink: /YYYY/agent/slug/ --- ``` - date 用当前本地时间,适当加工避开工作时间,permalink的YYYY从date中提取。 - 标题具体、体现结果,不用"一些思考"等模糊标题。 ### 事实约束 - 只写代码中已存在的行为。未实现的能力标注"计划中",不写成已实现。 - 禁止虚构:调试经历、性能数据、设计争论、命令输出、用户反馈。 - 代码片段必须与仓库一致,附近标注仓库相对路径。 - 脚手架/配置类提交:解释目的和后续价值,不夸大现有能力。 ### 文章结构 ``` 元信息 摘要(1-2 句) 正文 ``` - `` 恰好出现一次,前后各空一行。 - 摘要说明"做了什么、为什么有价值"。 - 正文标题从 `##` 开始,不重复一级标题。 --- ## 应该(尽量做到) ### 内容边界 - 标题就是边界。不讲无关协议、远期能力、实现细节。 - 导读/概念类 ~1000 中文字符;实现类按需,讲清即止。 - 2-4 个短章节即可,不为完整而堆章节。 ### 叙事方式 - 从读者能理解的场景切入,不假定读者读过前文。 - "原本有什么 → 遇到什么问题 → 做出什么选择"推进。 - 读者已知的概念直接引用跳过,如"和 Express 中间件机制一致,略过"。 - 结尾自然引出下一篇的问题,不罗列阶段和术语。 - 首次出现 P0/P1 等编号时用自然语言解释。 ### 文风 面向懂 TS 和基础 LLM、刚接触 Agent 工程的开发者。**笔记体**:结论先行,解释从简。 - ❌ "我们需要先回答一个不那么显眼、却会影响整个项目的问题" - ✅ "先确定一件事:Kernel 不认业务概念。" - ❌ "经过反复思考和持续调整,我们最终选择了一种简洁优雅的方案" - ✅ "架构收缩为两个核心概念:Kernel + Extensions。" - 每段一个重点,通常不超过三句话。 - 删除过渡句、重复总结、设问、修饰语。 - 可用"我们",重心在技术推理。 - 不用营销语言、泛泛 AI 介绍、夸张结论。 - 不写散文,不用文学化铺垫。 ### 格式 - 围栏代码块标注语言;标题/列表/代码块/`` 前后空行。 - 代码尽量短,展示核心思路即可。省略处用 `...` 且确保不会误解。 - 不自行添加目录。 --- ## 避免 - 假设读者读过系列其他文章("如前所述""大家已经知道")。 - 提前讲完后续文章的主题。 - 把计划/路线图写成已实现的能力。 - 流水账式叙述或填充式总结。 - 为同一概念反复更换中文译名。 --- ## 最终检查 - [ ] 只新增/修改了一篇 `.md` - [ ] 文件名匹配 `^2026-P[0-9]+-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*\.md$` - [ ] 元信息字段完整,`` 恰好一次 - [ ] 无占位内容残留 - [ ] 代码与仓库一致 - [ ] 回复含文件链接 + 一句话主题说明 --- ## 参考:本作者已上线系列的共性特征 以下从 Java 专题和 AI 基础专题中提取,是已被验证有效的写作习惯。 ### 开头 一句话交代本篇做什么,不做铺垫: - "本篇简单记录常量和变量。" - "开始之前,我们需要搭建一个基本的项目环境,基于 TypeScript 和 Node.js,且尽量简洁。" ### 系列衔接 可引用前文建立上下文,但只提直接相关的一篇: - "上一节我们已经可以和大模型进行连续对话了,这节我们通过简单的例子来演示一下提示词管理的能力。" ### 代码呈现 - 代码是正文主体,文字只是必要说明。 - 按实现步骤拆分代码块,每块配一行解释。 - 可在代码块之间穿插截图验证运行结果。 ### 结尾 两种方式,按主题选择: - **引出下一篇**:"到此,我们的项目环境就搭建完成了,下一节我们将进行一个简单的对话。" - **发散点列表**:列出 3-5 个后续可探索的方向,标注为"发散点"而非"计划"。 ```md 发散点: * 上下文长度管理 - 监控上下文的长度,并在超过限制时进行裁剪。 * 持久化 - 将上下文保存到文件或者数据库中。 ``` ### 跨知识引用 读者已知的概念直接跳过,不重复解释: - "`if` 语句和 `javascript` 完全一致,略过。" - "和 Express 中间件机制一致,略过。" ### 语气 - 用"我们"但不煽情,重心始终在技术本身。 - 笔记语气:记录过程、防止遗忘,不假装客观权威。 - [ ] 无占位内容残留 - [ ] 代码与仓库一致 - [ ] 回复含文件链接 + 一句话主题说明