<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Agent Engineering on 卓琪的开发笔记</title>
    <link>https://zhuoqidev.com/categories/agent-engineering/</link>
    <description>Recent content in Agent Engineering on 卓琪的开发笔记</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>zh-CN</language>
    <copyright>© 2026 Liu ZhuoQi</copyright>
    <lastBuildDate>Thu, 30 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://zhuoqidev.com/categories/agent-engineering/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>OpenClaw in Practice: One File Path Eliminated 84% of Tool Calls — A Cron Job Debugging Story</title>
      <link>https://zhuoqidev.com/en/posts/openclaw-cron-skill-optimization/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/openclaw-cron-skill-optimization/</guid>
      <description>OpenClaw&amp;rsquo;s daily-ai-news cron job kept timing out. The root cause: a missing absolute path in the SKILL.md caused the Agent to spend 15 exec calls searching for a tool every run. Messages 165→54, exec calls 44→7 — one file path beat any algorithm optimization.</description>
      
    </item>
    
    <item>
      <title>OpenClaw Memory in Practice: From &#39;Vector Search Is Down But Everything Still Works&#39; to Zero-Cost NVIDIA Embeddings</title>
      <link>https://zhuoqidev.com/en/posts/openclaw-memory-text-to-vector/</link>
      <pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/openclaw-memory-text-to-vector/</guid>
      <description>OpenClaw&amp;rsquo;s vector retrieval silently failed — but BM25 text search kept the memory system running for two weeks unnoticed. Should you even bother fixing it? Here&amp;rsquo;s how I used NVIDIA&amp;rsquo;s free embedding API to complete the picture at zero cost.</description>
      
    </item>
    
    <item>
      <title>Claude&#39;s Tool Calling Paradigm Shift: A Deep Dive into Programmatic Tool Calling and Dynamic Filtering</title>
      <link>https://zhuoqidev.com/en/posts/claude-programmatic-tool-calling-dynamic-filter/</link>
      <pubDate>Sat, 13 Jun 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/claude-programmatic-tool-calling-dynamic-filter/</guid>
      <description>&lt;div class=&#34;lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl&#34;&gt;&#xA;  The important change is not “two more tool features.” It is the movement of multi-step orchestration into a code-execution environment, with only a compact result returning to model context.&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Background: The Cost Problem in Agent Tool Calling&#xA;    &lt;div id=&#34;background-the-cost-problem-in-agent-tool-calling&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#background-the-cost-problem-in-agent-tool-calling&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;In traditional agent tool-calling, every tool invocation requires a full cycle of &amp;ldquo;model inference → tool execution → result return → model re-inference.&amp;rdquo; This seemingly natural loop breaks down at scale in three ways:&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>OpenClaw in Production: When the Most Advanced Memory System Meets the Quietest Failure</title>
      <link>https://zhuoqidev.com/en/posts/openclaw-pitfalls/</link>
      <pubDate>Wed, 27 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/openclaw-pitfalls/</guid>
      <description>A full-chain production battle log: from startup failures and Feishu message silent drops to production stability — compaction safeguard, five-layer debugging, model-harness fit, and memory system comparison.</description>
      
    </item>
    
    <item>
      <title>Why We Moved from Celery to Temporal for Production Agent Pipelines</title>
      <link>https://zhuoqidev.com/en/posts/why-temporal-not-celery/</link>
      <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/why-temporal-not-celery/</guid>
      <description>&lt;div class=&#34;lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl&#34;&gt;&#xA;  In April 2026, we migrated seo-project&amp;rsquo;s task queue from Celery to Temporal. We dropped exactly one dependency (&lt;code&gt;celery&lt;/code&gt;), wrote 11 new files (&lt;code&gt;src/infrastructure/temporal/&lt;/code&gt;), and renamed our containers from &lt;code&gt;api/worker/beat&lt;/code&gt; to &lt;code&gt;api/temporal_worker_blue/green&lt;/code&gt; with blue-green deployment.&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;The most common question afterward: &lt;strong&gt;why not just keep using Celery? If it&amp;rsquo;s already running, what&amp;rsquo;s the point?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This article is the answer. It doesn&amp;rsquo;t come from documentation comparisons. It comes from production bugs we hit running Agent pipelines at scale.&lt;/p&gt;</description>
      
    </item>
    
    <item>
      <title>RAG vs LLM Wiki vs Plain Text — A Decision Framework for Agent Long-Term Memory</title>
      <link>https://zhuoqidev.com/en/posts/memory-choice-framework/</link>
      <pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
      
      <guid>https://zhuoqidev.com/en/posts/memory-choice-framework/</guid>
      <description>&lt;div class=&#34;lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl&#34;&gt;&#xA;  Every Agent builder hits this question eventually: &lt;em&gt;where do I store user data so the agent remembers it next session?&lt;/em&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Three approaches dominate the landscape: RAG (vector retrieval), LLM Wiki (structured knowledge injection), and plain-text context memory (the CLAUDE.md / Cursor Rules pattern). Each has vocal advocates. But picking wrong is expensive — do RAG too light and it&amp;rsquo;s a noise generator; do plain text too heavy and it&amp;rsquo;s a token incinerator.&lt;/p&gt;</description>
      
    </item>
    
  </channel>
</rss>
