<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AI on Zayn's Blog</title><link>https://blog.treesir.pub/tags/ai/</link><description>Recent content in AI on Zayn's Blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><managingEditor>yangzun@treesir.pub (Zayn)</managingEditor><webMaster>yangzun@treesir.pub (Zayn)</webMaster><copyright>2021-2026 Zayn</copyright><lastBuildDate>Sat, 28 Mar 2026 23:00:00 +0800</lastBuildDate><atom:link href="https://blog.treesir.pub/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>每日技术实践简报 - 2026-03-27：GPU 分层选型与 OpenClaw 安全基线</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-27/</link><pubDate>Fri, 27 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-27/</guid><description>&lt;h2 class="relative group">推荐阅读
&lt;div id="推荐阅读" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8e%a8%e8%8d%90%e9%98%85%e8%af%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-26/">每日技术实践简报 - 2026-03-26&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-25/">每日技术实践简报 - 2026-03-25&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/openclaw-memory-fallback-pattern/">OpenClaw 记忆回退模式：确保知识持久化不中断&lt;/a>&lt;/li>
&lt;/ul>
&lt;h1 class="relative group">今日技术实践
&lt;div id="今日技术实践" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%8a%e6%97%a5%e6%8a%80%e6%9c%af%e5%ae%9e%e8%b7%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h1>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>GPU 选型与分层规划&lt;/strong>：明确了 PVE 虚拟化场景下的硬件方案。针对 Creo 5.0 的 3D 图形需求，确定以 GPU Passthrough 为主，建议配置 NVIDIA T1000 8GB 或 RTX A2000，而 Cadence 和 PADS 等 2D/EDA 工具则优先使用 CPU 渲染或基础 VDI。&lt;/li>
&lt;li>&lt;strong>AirDesk 交付路径收敛&lt;/strong>：硬件方案从“技术可行性分析”转向“可执行采购口径”。剔除了非必要授权费，成本模型更贴合实际落地场景。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>经济型 VDI 策略&lt;/strong>：在 7-8 人共享场景下，按并发使用 Creo 的人数配置 2-3 张 T1000 比全员配置 vGPU 更经济，规避了高昂的 GRID 许可证成本。&lt;/li>
&lt;li>&lt;strong>OpenClaw 安全基线&lt;/strong>：确立了“先读后改”的文件编辑规范，并强化了第三方 Skill 的供应链安全审查流程，自动化运维开始向安全可维护转型。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>自动化推送链路稳定性&lt;/strong>：在实现 AI 论文简报定时推送时，发现 cron + dashboard-pusher 的配合需要更严格的超时处理和环境隔离。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>完成 AirDesk 审批前的最后合规性映射。&lt;/li>
&lt;li>优化 RSS 抓取链路的重试机制。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-26</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-26/</link><pubDate>Thu, 26 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-26/</guid><description>&lt;h2 class="relative group">推荐阅读
&lt;div id="推荐阅读" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8e%a8%e8%8d%90%e9%98%85%e8%af%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-25/">每日技术实践简报 - 2026-03-25&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-24/">每日技术实践简报 - 2026-03-24&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/openclaw-memory-fallback-pattern/">OpenClaw 记忆回退模式：确保知识持久化不中断&lt;/a>&lt;/li>
&lt;/ul>
&lt;h1 class="relative group">今日技术实践
&lt;div id="今日技术实践" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%8a%e6%97%a5%e6%8a%80%e6%9c%af%e5%ae%9e%e8%b7%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h1>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>博客元数据标准化：将每日简报的 categories 统一为“实践记录”，优化归档页聚合口径。&lt;/li>
&lt;li>Git 提交规范：修正 commit message 格式以通过仓库 hook 检查（使用 &lt;code>chore:&lt;/code> 前缀）。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>技术工具约束：确认 &lt;code>bird news&lt;/code> 命令不支持 &lt;code>--hours&lt;/code> 参数。&lt;/li>
&lt;li>替代方案：在需要时间窗口过滤时，应通过搜索能力叠加时间参数实现，而非依赖无效的 CLI 原生参数。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>Git 提交被拒绝：原因在于 commit message 不符合仓库预设的规范（amend 后成功推送）。&lt;/li>
&lt;li>注意事项：发布博客时应遵循“只提交正文文件，不提交 resources/_gen 生成资源”的原则，保持仓库整洁。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>优化 AI 资讯推送的筛选逻辑。&lt;/li>
&lt;li>补全本周其余简报的相互内链（推荐阅读）。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-23</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-23/</link><pubDate>Mon, 23 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-23/</guid><description>&lt;p>今天的技术工作比较像一次集中收口：一边把几类工程软件的虚拟化路线梳理清楚，一边继续留意自动化链路的稳定性问题，同时也顺手整理了几条对 AI 工具落地很有用的判断。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>软件虚拟化路线终于从“都研究一下”变成“按场景拆分”&lt;/strong>：针对不同软件的图形负载和授权约束，今天把结论明确下来。轻量 2D 场景可以优先考虑 RDS 或普通 VDI，重图形建模场景则必须走带 GPU 的 VDI 或远程工作站，避免一开始就把所有软件硬塞进同一套方案里。&lt;/li>
&lt;li>&lt;strong>EDA 工具的可虚拟化判断更务实了&lt;/strong>：从技术上看并不是不能跑，而是不能只看“能启动”。授权、图形性能和稳定性验证要先做小范围 PoC，再决定是否上线，不然前期省下来的部署时间，后面会在故障和兼容性上全部还回去。&lt;/li>
&lt;li>&lt;strong>CI 失败不再当成偶发噪音处理&lt;/strong>：今天把多仓库持续出现的 lint、测试和数据同步失败看成系统性问题，而不是零散报警。这个视角调整很重要，因为只要把它当成“偶尔红一下”，流水线就会长期处在不可依赖的状态。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>虚拟化不是统一平台问题，本质上是工作负载分层问题&lt;/strong>：同样叫“设计软件”，2D 制图、3D 建模、EDA 仿真对资源的要求完全不是一个量级。与其追求一套方案覆盖全部，不如先按图形强度和授权风险分层，再匹配 RDS、VDI 或远程工作站。&lt;/li>
&lt;li>&lt;strong>轻量自动化工具已经进入“随手可做”的阶段&lt;/strong>：今天再次验证了一个趋势——很多运营辅助、校验类、解析类小工具，已经可以用 AI 代码助手在很短时间内做出可执行版本。真正稀缺的不是写代码本身，而是能否把需求边界说清楚。&lt;/li>
&lt;li>&lt;strong>AI 治理开始从“能不能用”转向“能不能被信任”&lt;/strong>：对于企业场景来说，后续评估 AI 系统时，身份说明、审计轨迹和责任边界会越来越重要。只有结果，没有可追溯过程的系统，后面会越来越难进入关键流程。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>想用共享 RDS 一次性兜住所有工程软件，这条路看起来省事，实际风险很高&lt;/strong>：一旦把高图形负载和轻量办公型场景混在一起，性能、体验和授权都会互相拖累。&lt;/li>
&lt;li>&lt;strong>CI 重复失败最怕“看见了，但没升级处理级别”&lt;/strong>：如果同类错误连续出现，还只是逐次修补单个 job，团队会慢慢失去对流水线结果的信任，后续问题定位成本会越来越高。&lt;/li>
&lt;li>&lt;strong>低成本维护项最容易被拖延&lt;/strong>：像版本巡检这种投入不大但能提前发现兼容性问题的任务，如果长期没人接，就会在真正出故障时放大代价。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>把软件虚拟化结论整理成更清晰的选型文档，便于后续验证和落地。&lt;/li>
&lt;li>针对近期反复失败的 CI 链路做一次集中排查，优先看 lint 规则、测试稳定性和依赖一致性。&lt;/li>
&lt;li>补上自动化工具和关键依赖的版本巡检，避免小问题积累成兼容性故障。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-22</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-22/</link><pubDate>Sun, 22 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-22/</guid><description>&lt;p>今天的工作重心比较集中，基本都围绕内部平台迭代、AI 能力验证和汇报方式收口这三件事展开。比起堆更多功能，今天更像是在做“把事情做稳、把表达讲清”的整理工作。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>内部平台迭代开始进入可用性收口阶段&lt;/strong>：这次重点不只是补功能，而是把代码仓库整理、稳定性修复和大文件上传验证一起补齐。这样做的好处很直接，后面继续加功能时，不会反复被基础问题拖住。&lt;/li>
&lt;li>&lt;strong>AI 评审服务正式落到业务链路里&lt;/strong>：今天把评审系统 V2 和 AI 评审服务继续往前推进，同时联动调试了 CI/CD 流水线调度器。相比单点试验，这一步更像是把能力真正接到可运行流程里。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>模型验证不能只看参数，要看落地效果&lt;/strong>：今天对几组模型和方案做了对比，结论不是谁规格更高谁就一定更合适，而是谁在当前任务里输出更稳定、结果更像可交付内容。&lt;/li>
&lt;li>&lt;strong>技术汇报按业务结果分组，比按模块罗列更清楚&lt;/strong>：把内容从“做了哪些技术项”改成“稳定性、能力建设、验证结果、问题处理”这类结构后，整体可读性明显更好，也更方便别人快速抓重点。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>很多技术内容本身没问题，问题出在表达方式太像模板&lt;/strong>：如果汇报里全是“优化、提升、赋能”这类词，读起来很顺，但信息密度其实不高。今天比较明确的一点是，汇报更适合直接写动作、结果和当前状态。&lt;/li>
&lt;li>&lt;strong>验证链路如果没有和真实流程一起调，结论很容易偏乐观&lt;/strong>：单独测试能跑通，不等于接进平台后也稳定。今天继续调度器和评审链路时，这个感受更明显。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续把内部平台剩余的稳定性问题收口，避免后续功能迭代反复返工。&lt;/li>
&lt;li>继续完善 AI 评审链路和调度器联动，优先解决真实流程里的边界问题。&lt;/li>
&lt;li>继续优化技术汇报结构，尽量让输出更自然、更具体，少一点空话。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-21</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-21/</link><pubDate>Sat, 21 Mar 2026 22:05:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-21/</guid><description>&lt;p>今天把注意力放在两个方向：一是让信息流更适合长期使用，二是让自动化系统在扩展时更稳一点。看起来都像工程细节，但本质上都指向同一个问题：系统不是功能越多越好，而是越能长期稳定输出价值越好。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>长期记忆开始真正做“减法”&lt;/strong>：这次重点不是继续往记忆系统里加内容，而是清理低价值信息。像占位模板、一次性播报、运行态重复内容、完成通知这类信息，短期看似有用，长期只会污染检索结果。把这些内容清掉之后，后续搜索和回顾都会更干净。&lt;/li>
&lt;li>&lt;strong>AI 信息流完成结构化收口&lt;/strong>：原本的信息汇总更像“把看到的东西发出来”，现在开始转向“按决策价值组织内容”。换句话说，不再只追求多，而是更强调什么值得关注、什么值得试、什么值得警惕。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>记忆系统的核心不是存储能力，而是筛选能力&lt;/strong>：真正有价值的长期记忆，通常只来自稳定偏好、关键决策、已验证结论、长期计划、重要事实和可复用流程。其余内容如果没有被压缩成方法论，留着只会变成噪声。&lt;/li>
&lt;li>&lt;strong>系统稳定性的关键常常不是功能本身，而是边界是否一致&lt;/strong>：当一个系统开始分层、拆实例、接更多自动化链路后，最容易出问题的往往不是某个单点能力，而是入口、认证、职责划分这些边界没有统一。&lt;/li>
&lt;li>&lt;strong>新能力接入越克制，长期越稳&lt;/strong>：相比一上来就做全量接管，先手动使用、局部验证、逐步扩大范围，往往更适合持续运行的环境。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>搜索词过长会直接拖垮检索质量&lt;/strong>：把整段提示词、上下文说明甚至工作区注入内容一起扔进检索，看起来像“信息更全”，实际上更容易造成召回失真甚至超时。检索系统更喜欢短、准、明确的问题。&lt;/li>
&lt;li>&lt;strong>自动化摘要如果不做过滤，会悄悄把系统变臃肿&lt;/strong>：成功通知、定时任务运行记录、线程同步信息，这些内容在当下有参考价值，但不适合作为长期知识保留。系统越自动，这类噪声越容易积累。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续压缩记忆系统里的边界项和重复主张，让长期记忆更适合检索和复用。&lt;/li>
&lt;li>继续完善 AI 信息流的自动化链路，重点补上去重与防重复触发。&lt;/li>
&lt;li>继续把正在推进的几个方向往“可持续”上收：不是追求一次做完，而是让系统以后少返工、少回退。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-20</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-20/</link><pubDate>Fri, 20 Mar 2026 22:30:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-20/</guid><description>&lt;p>今天的工作更偏向“把系统说明白”。很多时候，工程效率不是来自多写几段代码，而是来自把命名、提醒和选型这些基础问题先梳理清楚。基础一旦清楚，后续很多动作都会顺下来。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>命名体系开始收口&lt;/strong>：围绕一套产品命名方式做了结构化梳理，把原本分散的叫法整理成更清晰的层级关系。命名一旦统一，后续无论是归档、映射还是自动识别，成本都会明显下降。&lt;/li>
&lt;li>&lt;strong>任务提醒链路继续稳定化&lt;/strong>：同一套提醒机制在不同时间点给出了相对一致的结果，说明这条链路已经不只是“能跑”，而是在向“可依赖”靠近。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>好的命名规范本质上是在降低系统沟通成本&lt;/strong>：如果一套命名只能被少数人理解，它就更像内部黑话；如果它能稳定映射到平台、代际和能力差异，它才真正具备长期价值。&lt;/li>
&lt;li>&lt;strong>自动化体系成熟的标志不是任务数量，而是分层是否清楚&lt;/strong>：当提醒、汇总、检测和执行这些能力开始形成稳定分工，系统就会从单点脚本堆叠，演进成更像“运营架构”的东西。&lt;/li>
&lt;li>&lt;strong>硬件选型最怕脱离使用场景&lt;/strong>：同样一颗 CPU，在不同任务下价值完全不同。比起盯着参数高低，更重要的是明确自己的主要负载到底是什么。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>兼容性问题不能只看理论方案&lt;/strong>：纸面上可行的硬件方案，落到具体设备时仍然可能受安装位、接口规格和结构差异影响。越接近实体世界，越要尊重“逐项确认”这件事。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续把命名规范往后续流程里落，验证它是否真的能减少返工。&lt;/li>
&lt;li>继续观察提醒链路在真实使用中的稳定性，而不只停留在单次成功。&lt;/li>
&lt;li>继续把技术选择建立在实际使用场景之上，而不是单看参数表。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-19</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-19/</link><pubDate>Thu, 19 Mar 2026 22:30:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-19/</guid><description>&lt;p>今天更多是在看“系统什么时候该提醒，什么时候该克制”。一个自动化系统如果只会不停报消息，很快就会让人失去耐心；但如果它什么都不说，又失去了存在意义。真正难的是边界感。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>告警范围开始更接近真实风险&lt;/strong>：把关注点从单纯的应用状态，扩展到更广义的自动化运行状态。这样做的意义不在于让告警更多，而在于让真正值得人工介入的问题更早被看见。&lt;/li>
&lt;li>&lt;strong>异常状态识别更完整了一步&lt;/strong>：当某些凭证或访问条件失效时，系统不一定能继续判断全部上下文。这提醒我，自动化系统不只是要处理“正常输入”，还要明确面对“信息不完整”的表现方式。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>提醒系统的价值来自筛选，而不是频率&lt;/strong>：如果什么都提醒，提醒就会失去价值。比起频繁轮询，更重要的是找准哪些任务值得优先看、哪些状态只需要留痕不需要打扰。&lt;/li>
&lt;li>&lt;strong>静默策略是自动化系统成熟的重要标志&lt;/strong>：很多系统会做“能提醒”，但很少认真做“什么时候不该提醒”。真正长期可用的自动化，必须包含安静时段、节奏边界和打扰成本的设计。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>只有告警，没有自愈，系统仍然很脆&lt;/strong>：能发现问题固然重要，但如果后续没有重试、回退或补救机制，很多告警最终还是只能堆成人工负担。&lt;/li>
&lt;li>&lt;strong>依赖单点前提的监控很容易出现盲区&lt;/strong>：一旦某个关键前提失效，系统可能不只是“报错”，而是直接失去判断能力。这类问题往往比普通失败更值得优先补上。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续区分“需要提醒”和“只需记录”的事件类型。&lt;/li>
&lt;li>评估哪些告警链路值得补自动重试或基础自愈。&lt;/li>
&lt;li>继续把监控目标从单点状态扩展到真实可用性。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-18</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-18/</link><pubDate>Wed, 18 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-18/</guid><description>&lt;p>今天的信息输入比较密集，但真正值得留下来的，不是“看到了多少新东西”，而是几个越来越清楚的趋势：模型在分化，助手在贴近个人场景，工具链则在向更专门化的方向走。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>信息监控继续维持可用状态&lt;/strong>：今天的重点不是做大的改动，而是确认几条关键监控链路依旧可靠。对自动化系统来说，稳定地获得输入，往往比增加新能力更重要。&lt;/li>
&lt;li>&lt;strong>工具版本保持收敛&lt;/strong>：没有为了追新而升级，而是先确认当前版本是否足够稳定。很多时候，不升级也是一种工程判断。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>模型正在明显分化成更细的使用形态&lt;/strong>：一部分模型继续追求通用能力，另一部分则越来越强调特定任务、特定负载和特定场景的效率。这意味着以后做技术选型，不能再只看“谁最强”，而要看“谁最合适”。&lt;/li>
&lt;li>&lt;strong>个人助理式 AI 正在更接近真实使用场景&lt;/strong>：当工具开始更深地理解用户的历史行为、个人上下文和长期偏好时，AI 的角色也会从“回答问题的工具”逐渐走向“持续协作的助手”。&lt;/li>
&lt;li>&lt;strong>稳定版本的价值经常被低估&lt;/strong>：如果一个工具当前已经足够稳定、足够满足需求，那么保持版本不乱动，本身就是降低风险的一种方式。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>信息监控最容易滑向“信息堆积”&lt;/strong>：输入越多，越容易把重要和不重要混在一起。系统要真正有价值，核心不是看得多，而是能不能把重点筛出来。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续观察模型和工具链的演进方向，重点关注那些真正改变工作方式的变化。&lt;/li>
&lt;li>继续收敛监控内容，把注意力集中在少量高价值信号上。&lt;/li>
&lt;li>在稳定优先的前提下，再决定哪些工具值得进一步跟进。&lt;/li>
&lt;/ul></description></item><item><title>每日技术实践简报 - 2026-03-17</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-17/</link><pubDate>Tue, 17 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-17/</guid><description>&lt;p>今天更像一次“把系统从能用推向稳用”的过程。很多问题表面看是单点故障，但往下挖，会发现真正需要治理的是配置习惯、安全边界和系统默契。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>索引与可发现性问题得到修复&lt;/strong>：一项影响内容被发现的能力恢复正常。看起来只是一个结果恢复，但背后真正重要的是验证链路是否重新闭环。&lt;/li>
&lt;li>&lt;strong>一项平台能力完成阶段性增强&lt;/strong>：这次推进的重点不在“功能更多”，而在“能力更完整”，包括模型接入、动态配置以及基本的安全防护都往前走了一步。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>安全治理最好在系统早期就做进默认动作里&lt;/strong>：输入校验、认证、输出清洗这类能力，如果一开始没建立边界，后面补起来通常成本更高。&lt;/li>
&lt;li>&lt;strong>静默策略不是附属规则，而是系统体验的一部分&lt;/strong>：深夜只做状态检查、不重复提醒，看似只是交互细节，实际上决定了系统是否长期可用。&lt;/li>
&lt;li>&lt;strong>配置清洁度会直接影响系统稳定性&lt;/strong>：占位符、硬编码、路径约定这些小问题，平时看不起眼，但往往最容易在后续运维里变成真实故障。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>远程依赖的可用性经常卡在认证而不是逻辑&lt;/strong>：很多“拉不下来”“连不上”的问题，最终都不是代码逻辑本身，而是访问边界没有配置对。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续把配置治理、安全边界和运行策略做得更一致。&lt;/li>
&lt;li>继续验证恢复后的链路是否稳定，而不是只看一次成功。&lt;/li>
&lt;li>继续审查外部依赖的访问前提，减少后续中断。&lt;/li>
&lt;/ul></description></item><item><title>2026 AI Agent 工程化全景：从框架选型到生产落地</title><link>https://blog.treesir.pub/posts/ai-agent-engineering-landscape-2026/</link><pubDate>Mon, 16 Mar 2026 14:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/ai-agent-engineering-landscape-2026/</guid><description>从 7 层架构到框架选型、从多智能体协作到记忆系统、从 Coding Agent 到企业工具链的 AI Agent 2026 工程化实践全景。</description></item><item><title>Claude Code + GitLab pr-agent：AI 驱动的持续迭代开发实践</title><link>https://blog.treesir.pub/posts/claude-code-pr-agent-continuous-iteration/</link><pubDate>Mon, 16 Mar 2026 13:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/claude-code-pr-agent-continuous-iteration/</guid><description>32 个 MR 的真实案例，展示 Claude Code + GitLab CI + pr-agent 三位一体的 AI 驱动持续迭代开发工作流。</description></item><item><title>每日技术实践简报 - 2026-03-15</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-15/</link><pubDate>Sun, 15 Mar 2026 23:30:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-15/</guid><description>&lt;p>今天做的事情很多，但核心其实只有一个：把原本零散的博客发布动作，逐步收成一条更稳定的自动化链路。做这类系统时，最耗时间的往往不是“功能写出来”，而是把那些看似不起眼的前提条件一个个踩实。&lt;/p>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>自动化任务的执行前提被补齐&lt;/strong>：一些之前容易被忽略的必要参数和调用约束，这次都被重新确认并纳入固定流程。很多自动化任务不是逻辑错，而是前提没说清。&lt;/li>
&lt;li>&lt;strong>博客渲染规则得到统一&lt;/strong>：围绕图表渲染、正文写法和页面配置，把容易反复踩坑的地方都做了规范化处理。统一写法的价值，不是好看，而是避免下次再被同一类问题绊住。&lt;/li>
&lt;li>&lt;strong>重复发布风险开始被正视&lt;/strong>：内容自动生成一旦没有前置检查，很容易把同一主题发成多个版本。与其事后清理，不如在发布前就建立一层重复检查。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>自动化系统最重要的是“前提显式化”&lt;/strong>：什么字段必须有、什么格式必须对、什么配置必须先开，这些条件如果只存在脑子里，系统迟早会在别的时间点再坏一次。&lt;/li>
&lt;li>&lt;strong>内容系统也需要工程治理&lt;/strong>：博客表面上是内容输出，但一旦接入自动生成、渲染和发布流程，它本质上就是一套工程系统，同样需要规范、去重和失败兜底。&lt;/li>
&lt;li>&lt;strong>好的技能不是功能更多，而是更少重复踩坑&lt;/strong>：当一个技能把超时、重试、格式约束和重复检查都处理好之后，它才算真正变得“能长期用”。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>看似很小的格式问题，会一路放大成发布故障&lt;/strong>：文件命名、大小写、图表写法、正文转义这些细节，只要有一个没处理好，就可能让后面的渲染或发布全部出问题。&lt;/li>
&lt;li>&lt;strong>发布前不做去重，后面就要花更多时间清理&lt;/strong>：自动化一旦缺少“停止条件”，它就会用极高效率把重复问题放大。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">明日计划
&lt;div id="明日计划" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%98%8e%e6%97%a5%e8%ae%a1%e5%88%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>继续补强博客自动化链路的前置检查与失败兜底。&lt;/li>
&lt;li>继续把容易重复踩的格式和配置问题收敛成固定规范。&lt;/li>
&lt;li>继续观察内容生成与发布流程是否真正具备长期稳定性。&lt;/li>
&lt;/ul></description></item><item><title>OpenClaw AI Agent 架构解析：多引擎联动与记忆系统</title><link>https://blog.treesir.pub/posts/openclaw-ai-agent-architecture-v2/</link><pubDate>Sun, 15 Mar 2026 22:30:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/openclaw-ai-agent-architecture-v2/</guid><description>&lt;h2 class="relative group">OpenClaw AI Agent 架构解析
&lt;div id="openclaw-ai-agent-架构解析" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#openclaw-ai-agent-%e6%9e%b6%e6%9e%84%e8%a7%a3%e6%9e%90" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h2 class="relative group">核心架构
&lt;div id="核心架构" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%9e%84" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;div class="mermaid" align="center">
&lt;pre>
graph TB
subgraph Agent["OpenClaw Agent"]
Claude["Claude Sonnet 4.6"]
GPT["GPT-5.2/5.3"]
GLM["GLM-5"]
Gemini["Gemini Pro"]
end
subgraph Router["Model Router"]
Route["路由层"]
end
subgraph Skills["Skills Layer"]
Blog["blog-post-generator"]
Daily["daily-blog-generator"]
Code["coding-agent"]
Others["90+ skills..."]
end
subgraph MCP["MCP Layer"]
Team["Teambition MCP"]
NMem["Nowledge Mem MCP"]
Other["其他 MCP..."]
end
Claude --> Route
GPT --> Route
GLM --> Route
Gemini --> Route
Route --> Skills
Skills --> MCP
&lt;/pre>
&lt;/div>
&lt;h2 class="relative group">1. 多 AI 引擎联动
&lt;div id="1-多-ai-引擎联动" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#1-%e5%a4%9a-ai-%e5%bc%95%e6%93%8e%e8%81%94%e5%8a%a8" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">模型配置
&lt;div id="模型配置" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%a8%a1%e5%9e%8b%e9%85%8d%e7%bd%ae" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;providers&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;anthropic-local&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;models&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;claude-sonnet-4-6&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;openai-codex&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;models&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;gpt-5.2&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="s2">&amp;#34;gpt-5.3-codex&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;zai&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;models&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="s2">&amp;#34;glm-5&amp;#34;&lt;/span>&lt;span class="p">]&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">路由策略
&lt;div id="路由策略" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b7%af%e7%94%b1%e7%ad%96%e7%95%a5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
flowchart LR
A[任务类型] --> B{判断}
B -->|日常对话| C[Claude Sonnet 4.6]
B -->|代码生成| D[GPT-5.3-Codex]
B -->|复杂推理| E[GPT-5.4]
B -->|中文任务| F[GLM-5]
&lt;/pre>
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>任务类型&lt;/th>
&lt;th>推荐模型&lt;/th>
&lt;th>原因&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>日常对话&lt;/td>
&lt;td>Claude Sonnet 4.6&lt;/td>
&lt;td>成本低、速度快&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>代码生成&lt;/td>
&lt;td>GPT-5.3-Codex&lt;/td>
&lt;td>代码能力强&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>复杂推理&lt;/td>
&lt;td>GPT-5.4&lt;/td>
&lt;td>推理能力最强&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>中文任务&lt;/td>
&lt;td>GLM-5&lt;/td>
&lt;td>中文理解好&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 class="relative group">Sub-Agent 编排
&lt;div id="sub-agent-编排" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#sub-agent-%e7%bc%96%e6%8e%92" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
graph LR
Main[主 Agent&lt;br/>Claude Sonnet 4.6] --> S1[Sub-Agent 1&lt;br/>GPT-5.2 搜索总结]
Main --> S2[Sub-Agent 2&lt;br/>Claude 文档处理]
Main --> S3[Sub-Agent 3&lt;br/>GPT-5.3 代码审查]
&lt;/pre>
&lt;/div>
&lt;h2 class="relative group">2. 记忆系统
&lt;div id="2-记忆系统" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#2-%e8%ae%b0%e5%bf%86%e7%b3%bb%e7%bb%9f" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">架构图
&lt;div id="架构图" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%9e%b6%e6%9e%84%e5%9b%be" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
graph TB
subgraph Memory["记忆系统"]
WM["Working Memory&lt;br/>(工作记忆)"]
NM["Nowledge Mem&lt;br/>(知识图谱)"]
LT["MEMORY.md&lt;br/>(长期记忆)"]
TL["Timeline&lt;br/>(时间线)"]
end
WM &lt;--> NM
NM --> TL
NM --> LT
Session[每次对话] --> WM
Session --> NM
&lt;/pre>
&lt;/div>
&lt;h3 class="relative group">三层记忆
&lt;div id="三层记忆" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%b8%89%e5%b1%82%e8%ae%b0%e5%bf%86" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
flowchart TD
A[对话启动] --> B[Working Memory&lt;br/>当日焦点]
A --> C[相关记忆&lt;br/>语义搜索]
A --> D[Timeline&lt;br/>最近活动]
B --> E[构建上下文]
C --> E
D --> E
E --> F[Agent 响应]
&lt;/pre>
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>层级&lt;/th>
&lt;th>存储&lt;/th>
&lt;th>用途&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Working Memory&lt;/td>
&lt;td>Nowledge Mem&lt;/td>
&lt;td>当日焦点、优先事项&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Long-term Memory&lt;/td>
&lt;td>MEMORY.md&lt;/td>
&lt;td>持久化记忆、偏好&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Timeline&lt;/td>
&lt;td>Nowledge Mem&lt;/td>
&lt;td>活动历史、事件记录&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 class="relative group">3. 定时任务系统
&lt;div id="3-定时任务系统" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#3-%e5%ae%9a%e6%97%b6%e4%bb%bb%e5%8a%a1%e7%b3%bb%e7%bb%9f" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">Cron 配置
&lt;div id="cron-配置" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#cron-%e9%85%8d%e7%bd%ae" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;每日博客简报生成&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;schedule&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;kind&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;cron&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;expr&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;0 23 * * *&amp;#34;&lt;/span> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;payload&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;kind&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;agentTurn&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;message&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;执行 daily-blog-generator skill&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;model&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;anthropic-local/claude-sonnet-4-6&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">},&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nt">&amp;#34;sessionTarget&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;isolated&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">任务类型
&lt;div id="任务类型" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%bb%e5%8a%a1%e7%b1%bb%e5%9e%8b" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
flowchart LR
A[Cron 任务] --> B{类型}
B -->|systemEvent| C[注入系统事件&lt;br/>无需 model]
B -->|agentTurn| D[隔离会话执行&lt;br/>需要 model]
&lt;/pre>
&lt;/div>
&lt;h2 class="relative group">4. Skills 体系
&lt;div id="4-skills-体系" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#4-skills-%e4%bd%93%e7%b3%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">目录结构
&lt;div id="目录结构" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e7%9b%ae%e5%bd%95%e7%bb%93%e6%9e%84" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;pre tabindex="0">&lt;code>~/.agents/skills/
├── blog-post-generator/
│ └── SKILL.md
├── daily-blog-generator/
│ └── SKILL.md
├── coding-agent/
│ └── SKILL.md
└── ... 90+ skills
&lt;/code>&lt;/pre>
&lt;h3 class="relative group">Skill 触发流程
&lt;div id="skill-触发流程" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#skill-%e8%a7%a6%e5%8f%91%e6%b5%81%e7%a8%8b" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
sequenceDiagram
participant U as 用户
participant A as Agent
participant S as Skill
participant B as 博客
U->>A: 随机找一篇上传 blog
A->>S: 匹配 blog-post-generator
S->>S: 1. 从远程仓库获取文档
S->>S: 2. 检查博客已有内容
S->>S: 3. 优化文风
S->>B: 4. 发布到博客
B-->>U: 发布成功
&lt;/pre>
&lt;/div>
&lt;h2 class="relative group">5. 最佳实践
&lt;div id="5-最佳实践" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#5-%e6%9c%80%e4%bd%b3%e5%ae%9e%e8%b7%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">模型选择流程
&lt;div id="模型选择流程" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%a8%a1%e5%9e%8b%e9%80%89%e6%8b%a9%e6%b5%81%e7%a8%8b" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
flowchart TD
A[任务] --> B{复杂度}
B -->|简单| C[Claude Sonnet 4.6&lt;br/>省钱]
B -->|复杂| D{类型}
D -->|代码| E[GPT-5.3-Codex]
D -->|推理| F[GPT-5.4]
D -->|中文| G[GLM-5]
&lt;/pre>
&lt;/div>
&lt;h3 class="relative group">配置规范
&lt;div id="配置规范" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e9%85%8d%e7%bd%ae%e8%a7%84%e8%8c%83" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>✅ 模型名必须写完整：&lt;code>anthropic-local/claude-sonnet-4-6&lt;/code>&lt;/li>
&lt;li>✅ 路径必须用绝对路径&lt;/li>
&lt;li>✅ agentTurn 任务必须带 model 字段&lt;/li>
&lt;/ul>
&lt;h3 class="relative group">避坑指南
&lt;div id="避坑指南" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e9%81%bf%e5%9d%91%e6%8c%87%e5%8d%97" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="mermaid" align="center">
&lt;pre>
graph LR
A[问题] --> B{诊断}
B -->|模型回退失败| C[检查 fallback provider]
B -->|Cron 不执行| D[检查 model 字段]
B -->|Skills 加载不到| E[检查绝对路径]
&lt;/pre>
&lt;/div>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>问题&lt;/th>
&lt;th>原因&lt;/th>
&lt;th>解决方案&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>模型回退失败&lt;/td>
&lt;td>fallback 模型的 provider 未配置&lt;/td>
&lt;td>检查 providers 配置&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Cron 任务不执行&lt;/td>
&lt;td>缺少 model 字段&lt;/td>
&lt;td>agentTurn 必须带 model&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Skills 加载不到&lt;/td>
&lt;td>路径用相对路径&lt;/td>
&lt;td>本机必须用绝对路径&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;hr>
&lt;p>&lt;em>这套架构运行稳定，每天自动生成博客简报，任务管理效率提升 49%。&lt;/em>&lt;/p></description></item><item><title>每日技术实践简报 - 2026-03-28：从 MCP 到一键 APK 发布的 Skill 封装</title><link>https://blog.treesir.pub/posts/daily-practice-2026-03-28/</link><pubDate>Sat, 28 Mar 2026 23:00:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/daily-practice-2026-03-28/</guid><description>&lt;h2 class="relative group">推荐阅读
&lt;div id="推荐阅读" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e6%8e%a8%e8%8d%90%e9%98%85%e8%af%bb" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/daily-practice-2026-03-27/">每日技术实践简报 - 2026-03-27&lt;/a>&lt;/li>
&lt;li>&lt;a
href="https://blog.treesir.pub/posts/openclaw-ai-agent-architecture-v2/">OpenClaw AI Agent 架构解析：多引擎联动与记忆系统&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">今日技术实践
&lt;div id="今日技术实践" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e4%bb%8a%e6%97%a5%e6%8a%80%e6%9c%af%e5%ae%9e%e8%b7%b5" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h2 class="relative group">解决的问题
&lt;div id="解决的问题" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%a7%a3%e5%86%b3%e7%9a%84%e9%97%ae%e9%a2%98" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Teambition MCP 全链路打通&lt;/strong>：验证了 &lt;code>BatchGetFileDetails&lt;/code>、&lt;code>ListTaskActivitiesV3&lt;/code>、&lt;code>PostV3MemberQuery&lt;/code> 三个核心 API 的完整调用链路，解决了从任务评论中提取附件信息的需求。&lt;/li>
&lt;li>&lt;strong>成员 ID 映射机制&lt;/strong>：建立了项目成员 ObjectId → 真实姓名的映射表（37人），支持&amp;quot;陌生 ID 自动触发全量刷新&amp;quot;的缓存策略，让任务动态终于可读了。&lt;/li>
&lt;li>&lt;strong>tb-apk-uploader Skill 封装&lt;/strong>：将&amp;quot;TB附件获取 → 下载 → 重命名 → 上传 Nexus → 返回链接&amp;quot;的完整流程封装为独立 Skill，经 skill-creator 规范优化并打包验证通过。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">学到的新东西
&lt;div id="学到的新东西" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%a6%e5%88%b0%e7%9a%84%e6%96%b0%e4%b8%9c%e8%a5%bf" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>mcporter 调用参数格式&lt;/strong>：&lt;code>mcporter call&lt;/code> 必须用 &lt;code>--args&lt;/code> 传参且包在 &lt;code>requestBody&lt;/code> 里，用 &lt;code>--body&lt;/code> 会报 SyntaxError。这是踩了一个小时的坑才找到的。&lt;/li>
&lt;li>&lt;strong>Skill 封装规范&lt;/strong>：frontmatter description 要包含完整触发词，body 只保留工作流程和脚本用法，不要重复 frontmatter 信息。渐进式披露，核心逻辑在脚本里。&lt;/li>
&lt;li>&lt;strong>APK 文件名标准化规则&lt;/strong>：TB 附件下载后经常带 &lt;code>.1&lt;/code> 后缀、&lt;code>(1)&lt;/code> 括号、&lt;code>E&lt;/code> 前缀，需要正则清洗。如 &lt;code>RinoTrack_E4218_3.2.820260326_release(1).apk.1&lt;/code> → &lt;code>RinoTrack_4218_3.2.820260326_release.apk&lt;/code>。&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">实际产出
&lt;div id="实际产出" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ae%9e%e9%99%85%e4%ba%a7%e5%87%ba" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>成功上传了两个 APK 到 Nexus（RinoTrack 85MB + 微信 248MB）&lt;/li>
&lt;li>自动回复了下载链接到 DO-6456 评论区&lt;/li>
&lt;li>tb-apk-uploader Skill 打包为 &lt;code>.skill&lt;/code> 文件，可分发复用&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">踩坑记录
&lt;div id="踩坑记录" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e8%b8%a9%e5%9d%91%e8%ae%b0%e5%bd%95" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>mcporter 参数格式&lt;/strong>：&lt;code>--body&lt;/code> → &lt;code>--args&lt;/code> + &lt;code>requestBody&lt;/code> 包装&lt;/li>
&lt;li>&lt;strong>Nexus 重复上传&lt;/strong>：同一文件重复上传返回 HTTP 400，不是错误而是&amp;quot;已存在&amp;quot;，需要正确处理&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">其他思考
&lt;div id="其他思考" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%85%b6%e4%bb%96%e6%80%9d%e8%80%83" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>骑行语音 AI 助手项目构思（代号备选 CADENCE），核心场景：骑行中记录灵感 + 处理工作任务，已创建滴答清单任务储备。&lt;/li>
&lt;li>讨论了 DevOps/SRE 在 AI 时代的转型方向，核心结论：不需要转行，需要在现有方向上叠加 AI 能力。&lt;/li>
&lt;/ul></description></item><item><title>当 AI Agent 遇上运维自动化：我的实践踩坑之路</title><link>https://blog.treesir.pub/posts/ai-agent-workflow-practice/</link><pubDate>Sun, 15 Mar 2026 22:05:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/ai-agent-workflow-practice/</guid><description>&lt;h2 class="relative group">当 AI Agent 遇上运维自动化：我的实践踩坑之路
&lt;div id="当-ai-agent-遇上运维自动化我的实践踩坑之路" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%bd%93-ai-agent-%e9%81%87%e4%b8%8a%e8%bf%90%e7%bb%b4%e8%87%aa%e5%8a%a8%e5%8c%96%e6%88%91%e7%9a%84%e5%ae%9e%e8%b7%b5%e8%b8%a9%e5%9d%91%e4%b9%8b%e8%b7%af" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;blockquote>
&lt;p>花了几天把 AI Agent 集成到日常运维里，踩了不少坑，记录下来供参考。&lt;/p>&lt;/blockquote>
&lt;h2 class="relative group">1. 为什么要用 AI Agent
&lt;div id="1-为什么要用-ai-agent" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#1-%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e7%94%a8-ai-agent" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>简单说就是：太累了。&lt;/p></description></item><item><title>字节 Coze 平台实战：从零搭建 AI 智能体</title><link>https://blog.treesir.pub/posts/coze-platform-deep-dive/</link><pubDate>Sun, 15 Mar 2026 21:42:00 +0800</pubDate><author>yangzun@treesir.pub (Zayn)</author><guid>https://blog.treesir.pub/posts/coze-platform-deep-dive/</guid><description>&lt;h2 class="relative group">字节 Coze 平台实战：从零搭建 AI 智能体
&lt;div id="字节-coze-平台实战从零搭建-ai-智能体" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#%e5%ad%97%e8%8a%82-coze-%e5%b9%b3%e5%8f%b0%e5%ae%9e%e6%88%98%e4%bb%8e%e9%9b%b6%e6%90%ad%e5%bb%ba-ai-%e6%99%ba%e8%83%bd%e4%bd%93" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;blockquote>
&lt;p>踩过不少坑，花了不少时间，终于把 Coze 这套东西摸透了。本文不整虚的，直接上干货。&lt;/p>&lt;/blockquote>
&lt;h2 class="relative group">1. 先说说为什么选 Coze
&lt;div id="1-先说说为什么选-coze" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#1-%e5%85%88%e8%af%b4%e8%af%b4%e4%b8%ba%e4%bb%80%e4%b9%88%e9%80%89-coze" aria-label="锚点">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>市面上 AI 应用开发平台不少，Coze 几个点比较实在：&lt;/p></description></item></channel></rss>