<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FantasyNovelAgent - Tag - Shengxu · Cloud Architecture &amp; DevOps</title><link>https://shengxu.pages.dev/en/tags/fantasynovelagent/</link><description>Cloud architecture &amp; DevOps notes by Shengxu: Kubernetes, Cilium, observability, LLM infra, AI agents.</description><generator>Hugo 0.153.2 &amp; FixIt v0.4.0-alpha.3-20251225101113-8ffb9a95</generator><language>en</language><lastBuildDate>Thu, 05 Feb 2026 16:00:00 +0800</lastBuildDate><atom:link href="https://shengxu.pages.dev/en/tags/fantasynovelagent/index.xml" rel="self" type="application/rss+xml"/><item><title>Hands-On · Building a Memory-Enabled AI Writing Partner (Part 4): Observability (Metrics + Logs + Trace + Cost)</title><link>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-observability/</link><pubDate>Thu, 05 Feb 2026 16:00:00 +0800</pubDate><guid>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-observability/</guid><category domain="https://shengxu.pages.dev/en/categories/ai/">AI</category><category domain="https://shengxu.pages.dev/en/categories/devops/">DevOps</category><category domain="https://shengxu.pages.dev/en/categories/observability/">Observability</category><description>&lt;p&gt;In the previous post, we discussed the security of RAG systems and prompt injection protection. Today, let&amp;rsquo;s dive into another engineering deep-water zone: &lt;strong&gt;Observability&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;When a system evolves from &amp;ldquo;it works&amp;rdquo; to &amp;ldquo;it works reliably long-term,&amp;rdquo; you will inevitably encounter three types of problems:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Slow&lt;/strong&gt;: Is retrieval slow? Is the LLM slow? Or is some Agent stuck in a retry loop?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expensive&lt;/strong&gt;: Is token consumption being silently drained by a specific chain? Why doesn&amp;rsquo;t this month&amp;rsquo;s API bill add up?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Strange&lt;/strong&gt;: Intermittent bugs that can&amp;rsquo;t be reproduced, leaving you to fix code based on &amp;ldquo;gut feeling.&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this stage, I chose to build a complete &lt;strong&gt;Metrics + Logs&lt;/strong&gt; system, rather than just sprinkling in a few &lt;code&gt;print&lt;/code&gt; statements.&lt;/p&gt;</description></item><item><title>Practical · Building a Memory-Enabled AI Writing Partner (Part 3): Security Architecture (RAG Protection, Fact Guard, and BYOK)</title><link>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-security/</link><pubDate>Wed, 04 Feb 2026 10:00:00 +0800</pubDate><guid>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-security/</guid><category domain="https://shengxu.pages.dev/en/categories/ai/">AI</category><category domain="https://shengxu.pages.dev/en/categories/security/">Security</category><category domain="https://shengxu.pages.dev/en/categories/devops/">DevOps</category><category domain="https://shengxu.pages.dev/en/categories/observability/">Observability</category><description>&lt;p&gt;In the previous 2.5 articles, I&amp;rsquo;ve already laid out the backbone of &lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-architecture-evolution/"&gt;FantasyNovelAgent&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-architecture-evolution/"&gt;Building a Memory-Enabled AI Writing Partner (Part 1): Multi-Agent Architecture Evolution&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-database-evolution/"&gt;Building a Memory-Enabled AI Writing Partner (Part 2): Database Evolution&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-retrieval-evolution/"&gt;Building a Memory-Enabled AI Writing Partner (Part 3): Retrieval System Evolution&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This article dives deep into the most overlooked yet critical aspect of AI systems: &lt;strong&gt;Security&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re thinking, &amp;ldquo;I&amp;rsquo;m just writing a novel, what security issues could there be?&amp;rdquo;, consider this:&lt;/p&gt;</description></item><item><title>Practical Guide: Building a Memory-Enabled AI Writing Partner (Kun) – Retrieval System (Vector Search, Hybrid Search &amp; Cloud Deployment)</title><link>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-retrieval-evolution/</link><pubDate>Wed, 28 Jan 2026 10:30:00 +0800</pubDate><guid>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-retrieval-evolution/</guid><category domain="https://shengxu.pages.dev/en/categories/ai/">AI</category><category domain="https://shengxu.pages.dev/en/categories/devops/">DevOps</category><description>&lt;blockquote&gt;
&lt;p&gt;In &amp;ldquo;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-architecture-evolution/"&gt;Practical · Building a Memory-Enabled AI Writing Partner (Part 1): Multi-Agent Architecture Evolution&lt;/a&gt;&amp;rdquo;, I clarified how multiple agents collaborate and how memory is chained together. In &amp;ldquo;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-database-evolution/"&gt;Practical · Building a Memory-Enabled AI Writing Partner (Part 2): Database Evolution (From JSON to Single Database to Relational Tables)&lt;/a&gt;&amp;rdquo;, I reviewed the evolution of the &amp;ldquo;fact layer&amp;rdquo; from JSON to &lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-database-evolution/"&gt;SQLite&lt;/a&gt; and then to relational tables.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;However, when the text length reaches hundreds of thousands of words, what truly determines the experience is often not &amp;ldquo;whether the data exists,&amp;rdquo; but &amp;ldquo;whether I can retrieve it&amp;rdquo;: exact lookup (did it appear or not), structured filtering (who belongs to whom), and semantic association (is it similar, is it the same atmosphere) must all work simultaneously. So I added a clear &amp;ldquo;index layer&amp;rdquo; to &lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-architecture-evolution/"&gt;FantasyNovelAgent&lt;/a&gt; and expanded retrieval from &amp;ldquo;chapters&amp;rdquo; to the &amp;ldquo;full knowledge graph.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Practical · Building a Memory-Enabled AI Writing Partner (Part 2): Database (From JSON to Single Table to Relational Tables)</title><link>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-database-evolution/</link><pubDate>Wed, 28 Jan 2026 10:00:00 +0800</pubDate><guid>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-database-evolution/</guid><category domain="https://shengxu.pages.dev/en/categories/ai/">AI</category><category domain="https://shengxu.pages.dev/en/categories/devops/">DevOps</category><description>&lt;blockquote&gt;
&lt;p&gt;If you&amp;rsquo;ve already read &lt;em&gt;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-architecture-evolution/"&gt;Building a Memory-Powered AI Writing Partner (Part 1): Multi-Agent Architecture Evolution&lt;/a&gt;&lt;/em&gt;, you likely have a high-level understanding of how multiple agents collaborate and how memory is chained together. But what truly makes a system viable long-term isn&amp;rsquo;t just a pretty architecture diagram—it requires a data foundation that can withstand growth: one that supports querying, modification, and rollback.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This article focuses on the evolution of the &amp;ldquo;fact layer&amp;rdquo; (the database): &lt;strong&gt;JSON files → SQLite single database (KV) → SQLite single database (relational tables)&lt;/strong&gt;. Semantic search, hybrid search, full graph indexing, and cloud migration are covered separately in the next article, &lt;em&gt;&lt;a href="https://shengxu.pages.dev/posts/fantasy-novel-agent-retrieval-evolution/"&gt;Building a Memory-Powered AI Writing Partner (Part 2): Retrieval Systems (Vector Search, Hybrid Search, and Cloud Migration)&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>Practical Guide · Building a Memory-Enabled AI Writing Partner (Part 1): Multi-Agent Architecture Evolution</title><link>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-architecture-evolution/</link><pubDate>Sun, 25 Jan 2026 10:00:00 +0800</pubDate><guid>https://shengxu.pages.dev/en/posts/fantasy-novel-agent-architecture-evolution/</guid><category domain="https://shengxu.pages.dev/en/categories/ai/">AI</category><category domain="https://shengxu.pages.dev/en/categories/devops/">DevOps</category><description>&lt;p&gt;When writing a long novel, the most painful part isn&amp;rsquo;t &amp;ldquo;not being able to write,&amp;rdquo; but &amp;ldquo;forgetting what you&amp;rsquo;ve already written&amp;rdquo;: Did I set up that foreshadowing properly? Was the character already injured in the last chapter? When exactly was that specific rule established? Once the word count reaches hundreds of thousands, relying solely on human memory and scattered notes quickly spirals out of control.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;FantasyNovelAgent&lt;/strong&gt; grew out of this very need, evolving step by step: starting as a simple Python script, then adding dynamic memory and automatic archiving, followed by multi-device sync support, and finally moving toward a front-end/back-end separation with a cloud-native storage prototype. This article reviews that evolutionary path and explains the key trade-offs made along the way, offering a reference for similar projects.&lt;/p&gt;</description></item></channel></rss>