<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/posts/</link><description>Recent content in Posts on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Mon, 12 Oct 2026 16:54:53 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>The Next Phase of AI Coding: Rebuilding the SDLC</title><link>https://blog.baifan.site/en/agent-native-sdlc/</link><pubDate>Sun, 11 Oct 2026 20:41:17 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/agent-native-sdlc/</guid><description>&lt;p&gt;Everyone on the team writes code several times faster, but delivery cycles haven&amp;rsquo;t gotten any shorter. The surge of newly generated code simply overwhelmed the downstream review queue and integration pipeline. The bottleneck didn&amp;rsquo;t vanish; it moved from the text editor to code review and release verification.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Coding Got Faster, Delivery Didn&amp;rsquo;t&#10; &lt;div id="coding-got-faster-delivery-didnt" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#coding-got-faster-delivery-didnt" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;AI has not made software delivery faster overall, and empirical industry data still fails to back that claim.&lt;/p&gt;</description></item><item><title>When git add Exits 0 but Stages Nothing: Debugging Git Stat-Cache</title><link>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</link><pubDate>Fri, 09 Oct 2026 15:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</guid><description>&lt;p&gt;When writing automation scripts or working in the terminal, developers assume a simple rule: as long as &lt;code&gt;git add &amp;lt;file&amp;gt;&lt;/code&gt; exits with code 0, the change is staged. Today, while updating author metadata on the blog, I hit an elusive silent failure: real file modifications on disk, &lt;code&gt;git diff&lt;/code&gt; clearly printing the hunk, &lt;code&gt;git add&lt;/code&gt; returning 0, yet &lt;code&gt;git status&lt;/code&gt; stubbornly insisting the file was untracked, with &lt;code&gt;git diff --cached&lt;/code&gt; remaining completely empty.&lt;/p&gt;</description></item><item><title>How I Actually Judge Whether an Agent Skill Is Worth Keeping</title><link>https://blog.baifan.site/en/evaluating-agent-skills-first-principles/</link><pubDate>Thu, 08 Oct 2026 18:18:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/evaluating-agent-skills-first-principles/</guid><description>&lt;p&gt;By the time I was maintaining the fifteenth or so skill in &lt;code&gt;dev-skills&lt;/code&gt;, I realized I had no reliable way to tell whether any of them actually worked. Every demo produced clean output. But the output had no control group, no causal grounding — I knew what happened with the skill mounted, not what would have happened without it.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;How I Was Judging at the Start&#10; &lt;div id="how-i-was-judging-at-the-start" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-i-was-judging-at-the-start" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;The original method was simple: write a skill, load it into Claude Code, run a task, check whether the output looked right. The first version of &lt;code&gt;grill&lt;/code&gt; passed this way — I fed it a service design with a concurrency bug, the agent flagged a lock contention issue, I marked it valid.&lt;/p&gt;</description></item><item><title>Pi's CodeMode vs. DeepSeek Harness PTC Mode</title><link>https://blog.baifan.site/en/pi-codemode-vs-deepseek-harness-ptc/</link><pubDate>Sun, 04 Oct 2026 22:06:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/pi-codemode-vs-deepseek-harness-ptc/</guid><description>&lt;p&gt;When designing runtime architectures for modern coding agents, the traditional single-step tool-calling loop hits a hard engineering ceiling. In multi-file refactoring and cross-module codebase exploration, discrete JSON RPC turn-taking leads to interactive round-trip explosions and runaway context bloating. It also fails to express asynchronous dependencies between tool invocations. To overcome this scheduling bottleneck, Pi Coding Agent&amp;rsquo;s CodeMode and DeepSeek Harness&amp;rsquo;s (CLI: &lt;code&gt;dsh&lt;/code&gt;) Programmatic Tool Calling (PTC) mode represent two divergent code-execution paradigms.&lt;/p&gt;</description></item><item><title>The Classifier Is the Savior Again</title><link>https://blog.baifan.site/en/the-classifier-returns/</link><pubDate>Sun, 20 Sep 2026 13:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/the-classifier-returns/</guid><description>&lt;p&gt;In any enterprise tech team that claims to be “fully AI-powered,” the bill nobody wants to look at closely is usually not production inference — it’s the &lt;strong&gt;evaluation pipelines&lt;/strong&gt; we run to deceive ourselves.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;Over the past three years, the biggest, most sacred, and least defensible totem in the enterprise stack has been the “private enterprise knowledge base” — first repackaged as RAG, then upgraded again as GraphRAG with a knowledge-graph label. Every architect, when drawing the final architecture diagram for the CTO, dutifully adds the last box: “Closed-loop evaluation and continuous alignment.”&lt;/p&gt;</description></item><item><title>OpenAI Gave Me Six Months of ChatGPT Pro for Maintaining Open Source</title><link>https://blog.baifan.site/en/codex-for-open-source/</link><pubDate>Sat, 19 Sep 2026 23:02:35 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/codex-for-open-source/</guid><description>&lt;p&gt;An email popped up in my inbox today: &amp;ldquo;You can just build things, enjoy 6 months on us.&amp;rdquo;&lt;/p&gt;&#10;&lt;p&gt;Sender: the Codex team at OpenAI. The first line, in big letters: &amp;ldquo;You&amp;rsquo;re in.&amp;rdquo; Then: &amp;ldquo;Thanks for maintaining open source projects.&amp;rdquo;&lt;/p&gt;&#10;&lt;p&gt;I stared at that line three times and couldn&amp;rsquo;t help laughing out loud.&lt;/p&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/posts/codex-open-source-email.png" alt="Free ride: secured" style="max-width: 800px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;Free ride: secured&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;A while back I filled out their Codex for Open Source application on a whim. Didn&amp;rsquo;t expect much — I just listed the PRs I&amp;rsquo;d submitted to context-mode, plus my own byf and dev-skills.&lt;/p&gt;</description></item><item><title>Cursor Local (Private Inference) Downloads for All Platforms</title><link>https://blog.baifan.site/en/cursor-local-download/</link><pubDate>Tue, 18 Aug 2026 14:42:15 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/cursor-local-download/</guid><description>&lt;p&gt;The direct links below always point to the latest local build:&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Windows&#10; &lt;div id="windows" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#windows" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Link&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;x64 (user installer)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/win32-x64-user/cursor-local/latestWindows" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/win32-x64-user/cursor-local/latestWindows&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ARM64&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/win32-arm64-user/cursor-local/latestWindows" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/win32-arm64-user/cursor-local/latestWindows&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&#10;&lt;h2 class="relative group"&gt;macOS&#10; &lt;div id="macos" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#macos" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Link&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Apple Silicon (M-series, recommended)&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/darwin-arm64-user/cursor-local/latestMac" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/darwin-arm64-user/cursor-local/latestMac&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Intel chips&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/darwin-x64-user/cursor-local/latestMac" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/darwin-x64-user/cursor-local/latestMac&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Universal&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/darwin-universal-user/cursor-local/latestMac" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/darwin-universal-user/cursor-local/latestMac&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Linux (Ubuntu/Debian)&#10; &lt;div id="linux-ubuntudebian" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#linux-ubuntudebian" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Version&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Link&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;x64 AppImage&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/linux-x64-user/cursor-local/latestLinux" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/linux-x64-user/cursor-local/latestLinux&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ARM64 AppImage&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;a href="https://api2.cursor.sh/updates/download/golden/linux-arm64-user/cursor-local/latestLinux" target="_blank" rel="noreferrer"&gt;https://api2.cursor.sh/updates/download/golden/linux-arm64-user/cursor-local/latestLinux&lt;/a&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;</description></item><item><title>Multi-Agent Collaboration: Value From Structure, Not Concurrency</title><link>https://blog.baifan.site/en/multi-agent-technical-core/</link><pubDate>Wed, 12 Aug 2026 14:33:59 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/multi-agent-technical-core/</guid><description>&lt;p&gt;Conclusion first: the value of multi-agent doesn&amp;rsquo;t come from more models; it comes from the right structure. Multi-agent without structure is just more expensive concurrency — burn 2 to 3 times the tokens to watch a group of models nod at each other. Multi-agent with structure is an execution system that can delegate, parallelize, and verify.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Why a Single Agent Fails at Long Tasks&#10; &lt;div id="why-a-single-agent-fails-at-long-tasks" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-a-single-agent-fails-at-long-tasks" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Diagnosis first. A single agent executing complex tasks has five structural defects — blame the execution structure, not the model&amp;rsquo;s intelligence:&lt;/p&gt;</description></item><item><title>Give AI a Rulebook: From Wishing Upon It to Making It Behave</title><link>https://blog.baifan.site/en/give-ai-a-rulebook/</link><pubDate>Wed, 05 Aug 2026 14:28:39 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/give-ai-a-rulebook/</guid><description>&lt;p&gt;Let me start with something that actually happened.&lt;/p&gt;&#10;&lt;p&gt;In early 2025, I added a feature to an internal system: export to Excel. Small requirement — I didn&amp;rsquo;t even write it up, just typed &amp;ldquo;add an export button to the list page&amp;rdquo; into the chat box.&lt;/p&gt;&#10;&lt;p&gt;The AI delivered in ten minutes. Frontend changes, new endpoint, SQL — all in one pass. I was pleased when I opened the PR, right up until review revealed: the export columns didn&amp;rsquo;t match the list page, a hundred thousand rows would hang the service outright, there was no permission check, and the tests only covered the happy path.&lt;/p&gt;</description></item><item><title>Rethinking Team Division of Labor</title><link>https://blog.baifan.site/en/team-roles-evolution-ai-era/</link><pubDate>Mon, 03 Aug 2026 10:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/team-roles-evolution-ai-era/</guid><description>&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;The conclusion first, so you don&amp;rsquo;t waste your read&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;We used to split teams by craft: frontend, backend, product design.&#10;Now we split teams by stage:&#10;&lt;strong&gt;Prototyper&lt;/strong&gt; — grabs the first idea and fails fast&#10;&lt;strong&gt;Builder&lt;/strong&gt; — turns the prototype into a product you can take to market&#10;&lt;strong&gt;Maintainer&lt;/strong&gt; — holds the fort once the software reaches scale&#10;&lt;strong&gt;Scaler&lt;/strong&gt; — takes a proven product and scales it 10x, 100x&#10;&lt;strong&gt;Finisher&lt;/strong&gt; — polishes the product and the code, sands off the burrs&#10;As for why we&amp;rsquo;re only splitting this way now — the answer involves AI. Read on.&lt;/p&gt;</description></item><item><title>Thoughts on Dynamic Intervention in AI Agent Runtimes</title><link>https://blog.baifan.site/en/ai-agent-runtime-dynamic-intervention/</link><pubDate>Mon, 27 Jul 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-agent-runtime-dynamic-intervention/</guid><description>&lt;h1 class="relative group"&gt;Thoughts on Dynamic Intervention in AI Agent Runtimes&#10; &lt;div id="thoughts-on-dynamic-intervention-in-ai-agent-runtimes" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#thoughts-on-dynamic-intervention-in-ai-agent-runtimes" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;A few weeks ago, late at night, I stared at the agent logs scrolling through my terminal, frustrated enough to want to smash the keyboard. It was dutifully generating a requirements analysis report — it had been running for a dozen-plus minutes, pulling loads of data and drawing charts, clearly on the verge of wrapping up — when I suddenly realized the requirements were missing a key dimension: &amp;ldquo;Don&amp;rsquo;t split by region, split by user age group.&amp;rdquo; If I interrupted it now, all the context, intermediate results, and tool call state would be thrown away and it would start over. If I didn&amp;rsquo;t, it would soon produce a wrong report that would cost me just as long to fix by hand.&lt;/p&gt;</description></item><item><title>AI Agent Skills and MCP: Which Ones Are Worth Installing</title><link>https://blog.baifan.site/en/ai-agent-skills-mcp-review/</link><pubDate>Mon, 20 Jul 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-agent-skills-mcp-review/</guid><description>&lt;p&gt;Conclusion first: plenty of tools out there can be installed, but most of them sit there gathering dust after installation. Below is what I filtered out of the things I actually use, sorted into five scenario categories, with a few genuinely used picks in each.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;First, One All-Rounder Recommendation&#10; &lt;div id="first-one-all-rounder-recommendation" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#first-one-all-rounder-recommendation" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;If you want a single install that covers most scenarios, take a look at this one:&lt;/p&gt;</description></item><item><title>Agent Interview Questions: Who Has Actually Done the Work</title><link>https://blog.baifan.site/en/agent-interview-questions/</link><pubDate>Mon, 13 Jul 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/agent-interview-questions/</guid><description>&lt;!-- more --&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Attachment download&lt;/strong&gt;: &lt;a href="https://blog.baifan.site/files/agent-interview-questions.pdf" &gt;Agent Interview Questions.pdf&lt;/a&gt; — handy for printing or offline reading&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;h2 class="relative group"&gt;Why Would You Need Multiple Agents&#10; &lt;div id="why-would-you-need-multiple-agents" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-would-you-need-multiple-agents" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;An opening question to separate people who have &amp;ldquo;read the articles&amp;rdquo; from people who have &amp;ldquo;actually built one&amp;rdquo;.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The bad answer:&lt;/strong&gt; &amp;ldquo;Multi-agent enables parallel processing, which improves system throughput and robustness.&amp;rdquo;&lt;/p&gt;&#10;&lt;p&gt;Every word of that is correct, but if you follow up with &amp;ldquo;so after splitting into two agents, did throughput actually double?&amp;rdquo;, they stall. The reality: inter-agent communication has overhead, coordination has complexity, and after the split total throughput may well drop. Adding agents is not like adding CPU cores.&lt;/p&gt;</description></item><item><title>The Future of AI Coding Tools: From Copilot to Autonomous Agent</title><link>https://blog.baifan.site/en/ai-coding-tools-future-copilot-to-autonomous-agent/</link><pubDate>Mon, 06 Jul 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-coding-tools-future-copilot-to-autonomous-agent/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Twelve articles, from the Think-Act-Observe loop all the way down into the 500,000-line engineering abyss. Now, standing at the end of the series and looking back over the whole evolutionary path, a bigger question surfaces:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;What will AI coding tools ultimately evolve into?&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;A better Copilot? A more powerful IDE plugin? Or something new that we haven&amp;rsquo;t named yet?&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Three Evolutionary Paths&#10; &lt;div id="three-evolutionary-paths" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#three-evolutionary-paths" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Looking back at the development of AI coding tools, you can see three clear stages of evolution:&lt;/p&gt;</description></item><item><title>The Silent War in Central-Local Power: Who Serves as the System's Shock Absorber?</title><link>https://blog.baifan.site/en/petition-new-rules-central-local-cost-shift/</link><pubDate>Fri, 03 Jul 2026 10:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/petition-new-rules-central-local-cost-shift/</guid><description>&lt;p&gt;The foundational calculation behind China&amp;rsquo;s revised petition regulations is a surgical quarantine of political risk. Beijing has sealed the gates to the capital at the provincial and county levels, driving all unresolved social friction squarely back to where it originated.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;While the central ministries erect procedural firewalls under the banners of &amp;ldquo;step-by-step appeals&amp;rdquo; and &amp;ldquo;local jurisdiction,&amp;rdquo; county and township officials are trapped in an inescapable vise of dried-up revenues, exploding municipal debts, and zero-tolerance evaluation metrics, serving as the flesh-and-blood sponges that absorb the system&amp;rsquo;s structural convulsions.&lt;/p&gt;</description></item><item><title>3,000 vs 500K Lines: The Architectural Abyss From Toy to Product</title><link>https://blog.baifan.site/en/claude-code-3000-vs-500k-lines/</link><pubDate>Thu, 02 Jul 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-3000-vs-500k-lines/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;The &lt;a href="https://github.com/saoudrizwan/claude-code-from-scratch" target="_blank" rel="noreferrer"&gt;claude-code-from-scratch&lt;/a&gt; project implements a &amp;ldquo;mini Claude Code&amp;rdquo; in roughly 3,000 lines of TypeScript. It has the Think-Act-Observe loop, a tool system, a system prompt, permission control, memory, Skills, multi-agent, MCP — every core concept we tore down over the previous ten posts.&lt;/p&gt;&#10;&lt;p&gt;And the official Claude Code source? Roughly 500K lines of TypeScript/TSX.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;That&amp;rsquo;s a 100x+ gap between 3,000 lines and 500K.&lt;/strong&gt; What&amp;rsquo;s in it?&lt;/p&gt;&#10;&lt;p&gt;The gap isn&amp;rsquo;t &amp;ldquo;number of features&amp;rdquo;. from-scratch already covers every core concept. The gap is &lt;strong&gt;the road each concept travels from &amp;ldquo;it runs&amp;rdquo; to &amp;ldquo;it&amp;rsquo;s usable&amp;rdquo;&lt;/strong&gt; — that road is called productionization.&lt;/p&gt;</description></item><item><title>The Discrete State Machine of Plan Mode: Decision Tree Pruning, Backtracking Costs, and Diminishing Returns</title><link>https://blog.baifan.site/en/claude-code-plan-mode/</link><pubDate>Tue, 16 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-plan-mode/</guid><description>&lt;p&gt;Autoregressive large language models operating in unconstrained environments suffer from an inherent tendency toward myopic mutation and runaway divergence. Claude Code&amp;rsquo;s Plan Mode attaches an external discrete Finite State Machine (FSM) that projects the action space onto a strictly side-effect-free subset, using an interactive human barrier to prune catastrophic physical backtracking branches from the decision tree.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;In disciplined software engineering, experienced developers instinctively value structural planning: mapping dependency graphs, deriving type signatures, and scoping blast radiuses before modifying a single line of code. Large language models possess no such innate restraint. Shaped by reinforcement learning to generate immediate answers, an agent granted unrestrained write permissions will instinctively mutate files without global context, precipitating an architectural cascade across complex repositories.&lt;/p&gt;</description></item><item><title>The MCP Protocol: USB-C for AI Tool Interconnection</title><link>https://blog.baifan.site/en/claude-code-mcp-protocol/</link><pubDate>Fri, 12 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-mcp-protocol/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Before MCP, every AI tool integration was a &lt;strong&gt;custom build&lt;/strong&gt;. Want ChatGPT to reach a database? Write a plugin. Want Claude to call the GitHub API? Write a Function Calling definition. Want Copilot to access your internal systems? Write a Custom Tool.&lt;/p&gt;&#10;&lt;p&gt;Every time, the same thing: define an interface, write adapter code, handle auth, manage errors. The wheel, reinvented countless times.&lt;/p&gt;&#10;&lt;p&gt;The problem MCP (Model Context Protocol) solves is simple: &lt;strong&gt;give AI agents a standard protocol for connecting tools.&lt;/strong&gt; Just as USB-C gave electronic devices a universal connector, MCP gives AI agents a universal tool interface.&lt;/p&gt;</description></item><item><title>Multi-Agent Architecture: The Art of Fork-Join Collaboration</title><link>https://blog.baifan.site/en/claude-code-multi-agent-architecture/</link><pubDate>Tue, 09 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-multi-agent-architecture/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;There&amp;rsquo;s a counterintuitive phenomenon: take the same model, split it into multiple independent instances, and have them collaborate — the result is often better than a single instance.&lt;/p&gt;&#10;&lt;p&gt;Not more compute (three instances burn more total tokens than one), not more capability (every instance is the same model). The gain comes from &lt;strong&gt;role separation&lt;/strong&gt; — when each agent attends to only one facet of the problem, it works with more focus and more depth than a &amp;ldquo;do-everything agent&amp;rdquo;.&lt;/p&gt;</description></item><item><title>The Nature of Skills: Reusable Encapsulated Expertise</title><link>https://blog.baifan.site/en/claude-code-skills-system/</link><pubDate>Fri, 05 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-skills-system/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;If you&amp;rsquo;ve used Claude Code, you may have noticed the &lt;code&gt;/skills&lt;/code&gt; command listing installed &amp;ldquo;skills&amp;rdquo;. Writing standards, architecture design methods, TDD workflows, code review strategies — it sounds like a plugin marketplace.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Skills are not plugins.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;That&amp;rsquo;s the first and most important thing to understand about the Skill system. A plugin is code — it extends what the program can do. A Skill is a prompt — it extends what the model knows.&lt;/p&gt;</description></item><item><title>AI Memory Systems: Four Memory Types and Semantic Recall</title><link>https://blog.baifan.site/en/claude-code-memory-system/</link><pubDate>Tue, 02 Jun 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-memory-system/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Last time we covered context compaction — solving &amp;ldquo;how much the current session can remember&amp;rdquo;. But a coding assistant needs another kind of memory: &lt;strong&gt;long-term memory across sessions.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;You close Claude Code and reopen it tomorrow. What should it know?&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;You prefer TypeScript over JavaScript&lt;/li&gt;&#10;&lt;li&gt;You said last time &amp;ldquo;don&amp;rsquo;t use the underscore library&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;This project uses Vitest, not Jest&lt;/li&gt;&#10;&lt;li&gt;You once corrected one of its misunderstandings&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Context compaction can&amp;rsquo;t handle these. The session ends, the history clears, tomorrow is a fresh window. If the AI needs you to re-explain everything each time, it isn&amp;rsquo;t an assistant — it&amp;rsquo;s a burden.&lt;/p&gt;</description></item><item><title>The Physical Cost of Context Compression: KV Cache Pressure, Attention Decay, and Lossy Summarization</title><link>https://blog.baifan.site/en/claude-code-context-compression/</link><pubDate>Sat, 23 May 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-context-compression/</guid><description>&lt;p&gt;Large language models possess no biological memory at the hardware tier; they operate entirely on Key-Value Caches that scale linearly in GPU High-Bandwidth Memory (HBM) alongside attention weight distributions that mathematically dilute as sequence length grows. The notion of long-horizon conversations presented by Claude Code is, at its engineering core, an eviction and compaction pipeline operating within the tight margins of memory capacity and numerical precision, trading away information entropy and prefix caching efficiency.&lt;/p&gt;</description></item><item><title>Permissions and Real Security Boundaries: Sandboxes, System Calls, and Approval Escape</title><link>https://blog.baifan.site/en/claude-code-permissions-security/</link><pubDate>Wed, 20 May 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-permissions-security/</guid><description>&lt;p&gt;Any AI agent permission system running in userspace that relies on model self-discipline and application-level regex filtering does not constitute an enforceable security boundary from the perspective of the operating system kernel. Claude Code&amp;rsquo;s 5-level permission model and interactive approval workflow operate as flow-control protocols to mitigate developer mistakes, lacking sandbox containment against adversarial attacks.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;Granting an AI coding assistant filesystem write access and terminal execution rights under the belief that confirmation prompts preserve a safety perimeter is a fundamental category error. Confusing interactive human approval with privileged access control collapses into a cosmetic barrier when confronted with supply-chain poisonings, indirect prompt injections, and shell parser differentials.&lt;/p&gt;</description></item><item><title>System Prompt Engineering: Decisions Behind 800 Lines</title><link>https://blog.baifan.site/en/claude-code-system-prompt-engineering/</link><pubDate>Sat, 16 May 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-system-prompt-engineering/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;If you think a system prompt is just &amp;ldquo;giving the AI a persona&amp;rdquo;, Claude Code&amp;rsquo;s system prompt will upend that notion.&lt;/p&gt;&#10;&lt;p&gt;It isn&amp;rsquo;t a few sentences. It&amp;rsquo;s a &lt;strong&gt;thousand-line template engine&lt;/strong&gt; made of multiple layers, each responsible for something different: identity definition, behavioral constraints, tool documentation, project context, memory injection, skill loading. Some layers are static (identical every time); others are dynamic (injected in real time based on the project, the session, user preferences).&lt;/p&gt;</description></item><item><title>Tools Are Capability: AI Agent Tool System Design Philosophy</title><link>https://blog.baifan.site/en/claude-code-tool-system-design/</link><pubDate>Tue, 12 May 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-tool-system-design/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Last time we talked about the Think-Act-Observe loop — the skeleton of an AI coding assistant. A skeleton can&amp;rsquo;t work on its own; it needs muscle. In Claude Code, that muscle is &lt;strong&gt;tools&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;Without tools, the loop loses the Act between Think and Observe and degenerates into plain Q&amp;amp;A. With tools, the model can touch the real world: read your code, change your configs, run your tests.&lt;/p&gt;</description></item><item><title>The Soul of an AI Coding Assistant: The Think-Act-Observe Loop</title><link>https://blog.baifan.site/en/claude-code-think-act-observe-loop/</link><pubDate>Thu, 07 May 2026 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/claude-code-think-act-observe-loop/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;If you dig through the Claude Code source, you will discover a counterintuitive fact:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;The core of the entire program is a while loop.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;Not a complex state machine, not an elaborate pipeline, not distributed coordination — just a plain &lt;code&gt;while&lt;/code&gt; loop that does three things over and over: let the model think, let the model act, feed the results back.&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;span class="lnt"&gt;4&#10;&lt;/span&gt;&lt;span class="lnt"&gt;5&#10;&lt;/span&gt;&lt;span class="lnt"&gt;6&#10;&lt;/span&gt;&lt;span class="lnt"&gt;7&#10;&lt;/span&gt;&lt;span class="lnt"&gt;8&#10;&lt;/span&gt;&lt;span class="lnt"&gt;9&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;while (user hasn&amp;#39;t quit) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; thinking = callLLM(conversation history + tool definitions)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; if (thinking.wants to call a tool) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; result = executeTool(thinking.toolCall)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; conversationHistory.push(result)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; } else {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; output(thinking.reply)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;That&amp;rsquo;s it? The entire secret of an AI coding assistant lives in this loop?&lt;/p&gt;</description></item><item><title>What Trellis Does, and Whether It Fixes AI Coding Standards</title><link>https://blog.baifan.site/en/trellis-ai-coding-framework-guide/</link><pubDate>Thu, 30 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/trellis-ai-coding-framework-guide/</guid><description>&lt;p&gt;The most annoying thing about coding with AI isn&amp;rsquo;t that it writes bugs — it&amp;rsquo;s that it writes them differently every time. Same requirement, three conversations, three implementations. The standards live in your head; the AI doesn&amp;rsquo;t know them.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;Trellis tries to solve this. It&amp;rsquo;s not yet another AI coding assistant — it&amp;rsquo;s a framework for injecting project standards into AI: the AI reads your standards before writing code, gets checked automatically after writing, and once the check is done, anything newly learned gets distilled back into the standards. The more you use it, the better the AI knows your project.&lt;/p&gt;</description></item><item><title>Dissecting a PPT Agent: From Research to SVG Output</title><link>https://blog.baifan.site/en/ppt-agent-workflow-deep-dive/</link><pubDate>Tue, 28 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ppt-agent-workflow-deep-dive/</guid><description>&lt;p&gt;Conclusion first: this is not another &amp;ldquo;type a topic → force it into a template → output garbage&amp;rdquo; AI PPT tool.&lt;/p&gt;&#10;&lt;p&gt;It runs a complete expert workflow — requirement research, material retrieval, outline planning, layout planning, visual design — where every step allows manual fine-tuning, or the whole thing can run automatically end to end. In terms of output, pages generated with Gemini 3 Flash already reach commercial delivery quality.&lt;/p&gt;</description></item><item><title>All the Tmux You'll Ever Use: Sessions, Panes, Detach</title><link>https://blog.baifan.site/en/tmux-practical-guide/</link><pubDate>Tue, 21 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/tmux-practical-guide/</guid><description>&lt;p&gt;You SSH into a server to run a long task, the network drops, and the task is gone. Tmux exists to solve exactly this — it decouples the terminal session from the window, so the process keeps running after you close the terminal.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/posts/tmux-session-window-pane.svg" alt="Tmux session-window-pane structure diagram" style="max-width: 800px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;Tmux&amp;#39;s three layers: a Session contains Windows, a Window contains Panes&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;The Core Problem It Solves&#10; &lt;div id="the-core-problem-it-solves" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-core-problem-it-solves" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;An ordinary terminal window is bound to its processes. Close the window and the processes die. Same story when SSH drops.&lt;/p&gt;</description></item><item><title>AI API Suffixes: What They Mean and Why They Exist</title><link>https://blog.baifan.site/en/ai-api-suffixes-explained/</link><pubDate>Tue, 14 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-api-suffixes-explained/</guid><description>&lt;p&gt;We often see URLs like these:&lt;/p&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-plaintext" data-lang="plaintext"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/chat/completions&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/messages&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;/v1/responses&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;p&gt;These suffixes are not decoration — they define a complete request and response data structure. Pick the wrong one and your code either errors out or silently loses data.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;This article starts at &lt;code&gt;/v1/completions&lt;/code&gt; and works its way to &lt;code&gt;/v1/responses&lt;/code&gt;, explaining what each suffix stands for, why it was designed that way, and where the common pitfalls are.&lt;/p&gt;</description></item><item><title>Oracle's Free 4-Core 24GB Server: From Signup to Running</title><link>https://blog.baifan.site/en/oracle-free-vps-guide/</link><pubDate>Tue, 07 Apr 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/oracle-free-vps-guide/</guid><description>&lt;p&gt;Oracle&amp;rsquo;s Always Free plan gives you a 4-core, 24 GB ARM server every month — no expiry, no charge. The same specs cost $80–100/month on AWS. This post strings together signup, pitfalls, instance creation, and keep-alive.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/posts/oracle-free-vps-flow.svg" alt="Oracle free VPS full workflow" style="max-width: 800px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;Oracle free VPS: the full path from preparation to running&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;What You Get&#10; &lt;div id="what-you-get" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#what-you-get" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Oracle&amp;rsquo;s free tier is called &lt;strong&gt;Always Free&lt;/strong&gt;. Not a trial, not a limited-time promo.&lt;/p&gt;</description></item><item><title>Codex Keeps Reconnecting? Four Fixes</title><link>https://blog.baifan.site/en/codex-websocket-reconnect-fix/</link><pubDate>Tue, 31 Mar 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/codex-websocket-reconnect-fix/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Codex talks to the ChatGPT backend over WebSocket by default. If your network path involves Clash, a corporate proxy, cross-border transit, or Cloudflare challenge pages, that long-lived WebSocket gets killed easily — and you end up staring at &lt;code&gt;Reconnecting... 1/5&lt;/code&gt; over and over. Turn off WebSocket and switch to plain HTTP streaming requests, and the problem mostly disappears.&lt;/p&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/posts/codex-websocket-reconnect-solutions.svg" alt="Comparison of the four fixes" style="max-width: 900px;" class="rounded-lg shadow-md mx-auto " loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;Comparison of the four fixes&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Why WebSocket Breaks Behind Proxies&#10; &lt;div id="why-websocket-breaks-behind-proxies" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-websocket-breaks-behind-proxies" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;The WebSocket protocol starts with an HTTP Upgrade request; only after the server returns 101 does it switch to the long-lived connection. That long-lived connection is exactly where the problem sits — proxy servers, firewalls, and CDN nodes all run timeout policies on idle connections, and Cloudflare&amp;rsquo;s challenge mechanism can inject an interstitial page mid-path. Any link in that chain kills the connection, and the Codex client starts &lt;code&gt;Reconnecting&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Third-Party Telegram Clients: What to Use and What to Avoid</title><link>https://blog.baifan.site/en/third-party-telegram-clients/</link><pubDate>Tue, 24 Mar 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/third-party-telegram-clients/</guid><description>&lt;p&gt;Conclusion first: there are a lot of third-party Telegram clients, quality varies wildly, and you should avoid the closed-source ones as a rule. Since 2021, Telegram has required first-time registration to receive its verification code on the official mobile client — desktop and third-party clients can&amp;rsquo;t register directly. That&amp;rsquo;s already a signal.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/posts/third-party-telegram-clients-overview.svg" alt="Distribution of third-party Telegram clients" style="max-width: 800px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;Third-party Telegram clients by platform: an overview&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;This post is a curated list. The source is a roundup post by &lt;a href="https://t.me/LCGFX/2794" target="_blank" rel="noreferrer"&gt;Telegram&amp;rsquo;s @LCGFX&lt;/a&gt;; I&amp;rsquo;ve reorganized it by platform and added open-source status and risk judgments.&lt;/p&gt;</description></item><item><title>Foreign Apple ID Registration: Four Paths That Work</title><link>https://blog.baifan.site/en/apple-us-id-registration/</link><pubDate>Tue, 17 Mar 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/apple-us-id-registration/</guid><description>&lt;p&gt;Registering an Apple ID for another region shouldn&amp;rsquo;t be hard, but Apple keeps changing the flow. Most tutorials online record only a single path, and the comments are full of people saying it no longer works. More annoying: after registering, your first App Store login has a chance of being bumped straight back to the China store.&lt;/p&gt;&#10;&lt;p&gt;Here I&amp;rsquo;ve put together all four methods I could find, plus a complete plan to avoid being sent back to the China store. Not just the US store — the same applies to Turkey, Japan, and Nigeria.&lt;/p&gt;</description></item><item><title>SMS Verification Platforms: My Honest, Ad-Free Rundown</title><link>https://blog.baifan.site/en/sms-verification-platforms/</link><pubDate>Tue, 10 Mar 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/sms-verification-platforms/</guid><description>&lt;p&gt;Signing up for services like GPT, Claude, or Telegram needs a number that can receive verification codes — but you may not want to hand over your own phone number. That demand spawned a batch of SMS verification platforms: some free, some paid, some aimed at developers. Here are four I&amp;rsquo;ve actually used; as of May 20, 2026, all were still accessible. Platform status changes at any time, so open the site and check yourself before using one.&lt;/p&gt;</description></item><item><title>The Engineering Reality of Multi-Agent Collaboration: Triggers, Topologies, and Deterministic Merging</title><link>https://blog.baifan.site/en/multi-agent-collaboration-engineering/</link><pubDate>Tue, 03 Mar 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/multi-agent-collaboration-engineering/</guid><description>&lt;p&gt;Packing multiple probabilistically sampled large language model instances into a single codebase or production pipeline is, fundamentally, constructing a distributed system over an unreliable network using stochastic state machines. The axiomatic foundations of classical distributed computing—deterministic state transitions, reproducible failure modes, Byzantine fault tolerance, and atomic commits—collapse almost entirely when applied to modern generative models.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;Tech social media abounds with utopian product demos: one agent searches documentation, another implements business logic, a third writes unit tests, and a fourth conducts code review, while an orchestrator agent glides over the process like an infallible engineering manager. Yet anyone who has pushed such topologies into a 500,000-line monolithic repository or a high-concurrency production environment knows the reality: the system rapidly degenerates into distributed chaos. Unsynchronized modifications cause silent overwrites and split-brain states; non-deterministic rollouts cause cognitive divergence; token consumption explodes in a positive-feedback avalanche; and parent and child processes lock each other in cognitive livelocks.&lt;/p&gt;</description></item><item><title>AI Psychosis: When MTTR Fanaticism Meets Resilience</title><link>https://blog.baifan.site/en/ai-mttr-mtbf-resilience-psychosis/</link><pubDate>Tue, 24 Feb 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-mttr-mtbf-resilience-psychosis/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;I have a strong intuition: some companies in the tech industry right now are going through a full-blown AI psychosis, and inside those companies, rational conversation is simply impossible. I&amp;rsquo;m not talking about strangers — I&amp;rsquo;m talking about personal friends I deeply respect. That leaves me worried about how this ends.&lt;/p&gt;&#10;&lt;p&gt;This fear has a specific source. I lived through the great MTBF (mean time between failures) vs MTTR (mean time to recovery) debate when infrastructure moved from traditional ops to cloud and cloud automation. Now those exact same arguments are resurfacing in a new costume — only the scope has widened from infrastructure to the entire software industry, and possibly to the whole world.&lt;/p&gt;</description></item><item><title>Reverse Engineering Claude Science: From 54 Tables to Modern TCM</title><link>https://blog.baifan.site/en/ai-agent-platform-to-tcm-future/</link><pubDate>Fri, 20 Feb 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-agent-platform-to-tcm-future/</guid><description>&lt;p&gt;A 67 MB DMG installer, 164 MB unpacked, hiding Anthropic&amp;rsquo;s Claude Science (internal codename Operon). After reverse engineering it, I found 54 SQLite tables, a 9-layer security model, 30+ bioinformatics skills, and a complete AI agent platform for computational biology.&lt;/p&gt;&#10;&lt;p&gt;On the other side is TCMSP, an AI-native Traditional Chinese Medicine systems pharmacology platform under active development. Looking at the two projects side by side, some design ideas are worth cross-referencing.&lt;/p&gt;</description></item><item><title>A New Playbook for AI Programming: UI First, Then the PRD</title><link>https://blog.baifan.site/en/ui-first-ai-programming-prd/</link><pubDate>Tue, 17 Feb 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ui-first-ai-programming-prd/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Everyone knows the standard Vibe Coding flow by now: write user stories → produce a PRD → AI generates the backend → AI generates the frontend → demo and verify. It works, but at delivery time the UI interaction experience often falls far short of expectations. Where does it go wrong? In the PRD itself.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;1. The Fundamental Problem with PRDs&#10; &lt;div id="1-the-fundamental-problem-with-prds" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-the-fundamental-problem-with-prds" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;PRDs (Product Requirements Documents) were never that friendly to humans in the first place. Three reasons:&lt;/p&gt;</description></item><item><title>A Guide to SSH Remote Development in the Codex App</title><link>https://blog.baifan.site/en/codex-ssh-remote-development-guide/</link><pubDate>Tue, 10 Feb 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/codex-ssh-remote-development-guide/</guid><description>&lt;!-- more --&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Update note&lt;/strong&gt;: This post is based on the Codex App as of May 2026. SSH Remote is still in alpha, and the configuration methods and UI entry points may change with new releases. If anything here has gone stale, refer to the &lt;a href="https://github.com/openai/codex" target="_blank" rel="noreferrer"&gt;official documentation&lt;/a&gt; for the latest.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;p&gt;The Codex App now supports connecting to remote machines over SSH; the feature is currently in alpha.&lt;/p&gt;&#10;&lt;p&gt;If you develop on remote servers, train models, or run environments there, this is worth a try. It lets you connect to a remote server directly inside Codex and work in the remote filesystem and shell — no more jumping back and forth between a local terminal, VSCode Remote, SSH, and tmux.&lt;/p&gt;</description></item><item><title>TencentDB Agent Memory: Real Layered Memory for AI Agents</title><link>https://blog.baifan.site/en/tencentdb-agent-memory-deep-dive/</link><pubDate>Tue, 03 Feb 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/tencentdb-agent-memory-deep-dive/</guid><description>&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Why AI Agents Need a Memory System&#10; &lt;div id="why-ai-agents-need-a-memory-system" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-ai-agents-need-a-memory-system" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;If you&amp;rsquo;ve spent serious time with AI agents, these scenarios will feel familiar:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Re-explaining the project background, coding conventions, and output format preferences in every new session&lt;/li&gt;&#10;&lt;li&gt;Halfway through a long task, the context fills up with tool logs and the agent starts &amp;ldquo;forgetting&amp;rdquo; earlier instructions&lt;/li&gt;&#10;&lt;li&gt;Wanting the agent to learn your working habits, but having no way to do it except hand-writing a system prompt every time&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Memory isn&amp;rsquo;t about making the AI store everything — it&amp;rsquo;s about making sure humans never have to repeat themselves.&lt;/strong&gt; That&amp;rsquo;s the core idea behind &lt;a href="https://github.com/Tencent/TencentDB-Agent-Memory" target="_blank" rel="noreferrer"&gt;TencentDB Agent Memory&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Linux Out of Memory? ZRAM Compression and Practical Config</title><link>https://blog.baifan.site/en/zram-memory-optimization-linux/</link><pubDate>Sat, 31 Jan 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/zram-memory-optimization-linux/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Running out of memory is the norm on Linux devices — especially small-memory VPSes, Raspberry Pis, and old laptops. The traditional fix is adding a SWAP partition, but many people find the box actually gets laggier after adding one.&lt;/p&gt;&#10;&lt;p&gt;Starting from how things work under the hood, this post compares SWAP and ZRAM so you know exactly &lt;strong&gt;which to use in which scenario, and how to configure them&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>VPS Scene 101: The Complete Dictionary of Hosting Slang</title><link>https://blog.baifan.site/en/vps-glossary-jargon-guide/</link><pubDate>Tue, 27 Jan 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/vps-glossary-jargon-guide/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;The VPS scene runs on a distinctive system of slang that reads like hieroglyphics to newcomers. This post collects the common terms and abbreviations so you can get up to speed fast.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;People and Identity&#10; &lt;div id="people-and-identity" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#people-and-identity" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;MJJ&#10; &lt;div id="mjj" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#mjj" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;Originally referred to users hanging around the Hostloc forum; now a blanket term for anyone obsessed with tinkering with VPSes. It comes from a Hostloc forum meme, short for 买鸡鸡/没鸡鸡 (&amp;ldquo;bought a chicken / no chicken&amp;rdquo; — interpret it however you like). It started as a slur but gradually evolved into a self-deprecating badge of in-group identity, and in most contexts today it carries no malice (though some also use MJJ for players who pay little and demand much).&lt;/p&gt;</description></item><item><title>Prompt Optimizer: An Open-Source Tool for Better Prompts</title><link>https://blog.baifan.site/en/prompt-optimizer-tool-guide/</link><pubDate>Tue, 20 Jan 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/prompt-optimizer-tool-guide/</guid><description>&lt;!-- more --&gt;&#10;&lt;p&gt;Anyone who has used AI knows the feeling: with the same request, a well-written prompt and a badly written one produce wildly different results. The problem is that most people simply aren&amp;rsquo;t good at writing prompts — not for lack of talent, but for lack of a systematic optimization process.&lt;/p&gt;&#10;&lt;p&gt;I recently came across an open-source project, &lt;a href="https://github.com/linshenkx/prompt-optimizer" target="_blank" rel="noreferrer"&gt;Prompt Optimizer&lt;/a&gt; — nearly 29k stars on GitHub — built to solve exactly this.&lt;/p&gt;</description></item><item><title>Pi Coding Agent: The Complete Guide to Minimalist Coding</title><link>https://blog.baifan.site/en/pi-coding-agent-complete-guide/</link><pubDate>Tue, 13 Jan 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/pi-coding-agent-complete-guide/</guid><description>&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Preface&#10; &lt;div id="preface" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preface" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;In the author&amp;rsquo;s own words, Pi Coding Agent is an &lt;strong&gt;opinionated, minimalist&lt;/strong&gt; coding agent. After using it for a while, I consider it one of the best AI agent CLIs available today.&lt;/p&gt;&#10;&lt;p&gt;Projects that blow up tend to attract low-quality issues and AI-generated PRs, and the name &lt;strong&gt;pi&lt;/strong&gt; is a clever touch — it gets associated with the mathematical constant, which is exactly what the author intended: keep the profile low and the community quality high.&lt;/p&gt;</description></item><item><title>Self-Hosted AI API Pipeline: From Domain Email to Sub2API</title><link>https://blog.baifan.site/en/self-hosted-ai-api-pipeline/</link><pubDate>Tue, 06 Jan 2026 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/self-hosted-ai-api-pipeline/</guid><description>&lt;p&gt;I originally wrote this post for a friend; I&amp;rsquo;m just cleaning it up a bit and publishing it.&lt;/p&gt;&#10;&lt;p&gt;I&amp;rsquo;ll assume you&amp;rsquo;ve never touched domain email, Cloudflare Workers, SMS-code platforms, registration bots, or AI API relays before. Wherever possible I&amp;rsquo;ll explain things in terms of &amp;ldquo;why this step exists&amp;rdquo; and &amp;ldquo;how to confirm you did it right&amp;rdquo;. When you get stuck, you can just paste the error into an AI and ask — in my testing, Codex handles this kind of deployment doc and config troubleshooting reasonably well. But sanitize API keys, passwords, cookies, and tokens before sending them to an AI. Don&amp;rsquo;t ask me how I know.&lt;/p&gt;</description></item><item><title>Claude Skills Progressive Disclosure via MCP: Skill in Anywhere</title><link>https://blog.baifan.site/en/mcp-claude-skills-progressive-disclosure/</link><pubDate>Fri, 26 Dec 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/mcp-claude-skills-progressive-disclosure/</guid><description>&lt;figure&gt;&#10; &lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="auto"&#10; alt="Claude Code Skill in Anywhere"&#10; width="2560"&#10; height="1440"&#10; src="https://blog.baifan.site/pictures/note/claudecodeskills_hu_3030e75c3d7e5ea7.png"&#10; srcset="https://blog.baifan.site/pictures/note/claudecodeskills_hu_3030e75c3d7e5ea7.png 800w,/pictures/note/claudecodeskills_hu_48299efe0d2363fe.png 1280w"&#10; sizes="(min-width: 768px) 50vw, 65vw"&#10; data-zoom-src="https://blog.baifan.site/pictures/note/claudecodeskills.png"&#10; /&gt;&#10; &#10; &lt;figcaption&gt;Claude Code Skill in Anywhere&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&#10;&lt;h1 class="relative group"&gt;Implementing Claude Skills&amp;rsquo; Progressive Disclosure via MCP: Reusing Claude Code Skills Anywhere&#10; &lt;div id="implementing-claude-skills-progressive-disclosure-via-mcp-reusing-claude-code-skills-anywhere" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#implementing-claude-skills-progressive-disclosure-via-mcp-reusing-claude-code-skills-anywhere" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&#10;&lt;h3 class="relative group"&gt;— A feasible approach to capability encapsulation and dynamic context extension (technical proposal and verification)&#10; &lt;div id="-a-feasible-approach-to-capability-encapsulation-and-dynamic-context-extension-technical-proposal-and-verification" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-a-feasible-approach-to-capability-encapsulation-and-dynamic-context-extension-technical-proposal-and-verification" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Preface&#10; &lt;div id="preface" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preface" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Claude Skills introduced a remarkably advanced concept:&#10;&lt;strong&gt;encapsulating professional knowledge, process standards, and task methods into &amp;ldquo;skill packages&amp;rdquo; that load dynamically, only when a task actually needs them.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>The Economist, November 15, 2025</title><link>https://blog.baifan.site/en/economist-20251115-taiwan-boom/</link><pubDate>Mon, 22 Dec 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/economist-20251115-taiwan-boom/</guid><description>&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/te/economist-2025-11-15-cover.png" alt="The Economist cover, November 15, 2025" style="max-width: 500px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;The Economist cover, November 15, 2025&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;Haven&amp;rsquo;t had time to read it yet — dropping the link here first.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;p&gt;&lt;strong&gt;Download this issue of The Economist&lt;/strong&gt;&lt;/p&gt;&#10;&lt;div class="my-6 rounded-lg border-l-4 border-sky-500 bg-sky-50 dark:bg-sky-950/20 p-4 shadow-sm not-prose"&gt;&#10; &#10; &lt;div class="font-bold mb-2 flex items-center gap-2 text-sky-900 dark:text-sky-200"&gt;&#10; &lt;span&gt;EPUB format&lt;/span&gt;&#10; &lt;/div&gt;&#10; &#10; &lt;div class="prose dark:prose-invert text-neutral-800 dark:text-neutral-200 text-base leading-relaxed max-w-none"&gt;&#10; &lt;a href="https://blog.baifan.site/files/te/TE-2025-11-15.change" &gt;TE-2025-11-15.epub&lt;/a&gt;&#10; &lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>China's Official 2026 Holiday Schedule</title><link>https://blog.baifan.site/en/china-2026-official-holidays-schedule/</link><pubDate>Fri, 12 Dec 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/china-2026-official-holidays-schedule/</guid><description>&lt;p&gt;The General Office of the State Council has officially released the schedule for public holidays and swapped workdays in 2026, covering New Year&amp;rsquo;s Day, Spring Festival, Qingming, Labor Day, Dragon Boat Festival, Mid-Autumn Festival, and National Day.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Notice of the General Office of the State Council on Certain Holidays in 2026 (Telegram [2025] No. 7)&#10; &lt;div id="notice-of-the-general-office-of-the-state-council-on-certain-holidays-in-2026-telegram-2025-no-7" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#notice-of-the-general-office-of-the-state-council-on-certain-holidays-in-2026-telegram-2025-no-7" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;To the people&amp;rsquo;s governments of provinces, autonomous regions and municipalities directly under the Central Government, and to the ministries and commissions and agencies directly under the State Council:&lt;/p&gt;</description></item><item><title>Immortality Is Just Eternal Loneliness</title><link>https://blog.baifan.site/en/immortality-eternal-loneliness/</link><pubDate>Fri, 05 Dec 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/immortality-eternal-loneliness/</guid><description>&lt;h1 class="relative group"&gt;Immortality Is Just Eternal Loneliness&#10; &lt;div id="immortality-is-just-eternal-loneliness" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#immortality-is-just-eternal-loneliness" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Today I saw a piece in the NT saying that China&amp;rsquo;s longevity industry is advancing at full speed and that people living to 150 is just around the corner. I searched the Chinese domestic news, and every story said people would only live to 120 — which turned out to be the press sparing the honored any embarrassment. Awkward.&lt;/p&gt;</description></item><item><title>Gold Market Trends: Precious Metals Amid Global Uncertainty</title><link>https://blog.baifan.site/en/gold-business-trend-analysis/</link><pubDate>Fri, 28 Nov 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/gold-business-trend-analysis/</guid><description>&lt;p&gt;Is the gold bull catching its breath, or is it over?&lt;/p&gt;&#10;&lt;p&gt;Gold is generally considered a safe-haven asset, typically shining when the economy runs too hot or too cold.&lt;/p&gt;&#10;&lt;p&gt;By Xu Xiaoqing&#10;Chief Macro Strategist, Dunhe Asset Management Co., Ltd.&lt;/p&gt;&#10;&lt;p&gt;Since the start of 2025, gold has climbed steadily from around $2,600 an ounce, at one point approaching $4,400 — a peak gain of nearly 69% for the year. But from October 20, it slid to as low as $3,900 within six trading days, a drop of 11%. Either this gold bull market has ended, or this is merely a pause for breath.&lt;/p&gt;</description></item><item><title>PDF2Markdown: Complete Guide to Smart PDF Article Extraction</title><link>https://blog.baifan.site/en/pdf2markdown-intelligent-pdf-extraction-tool/</link><pubDate>Tue, 25 Nov 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/pdf2markdown-intelligent-pdf-extraction-tool/</guid><description>&lt;h1 class="relative group"&gt;PDF2Markdown - An Intelligent Article Extraction Tool for Large PDF Documents&#10; &lt;div id="pdf2markdown---an-intelligent-article-extraction-tool-for-large-pdf-documents" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#pdf2markdown---an-intelligent-article-extraction-tool-for-large-pdf-documents" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="https://python.org" target="_blank" rel="noreferrer"&gt;&lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt="Python Version"&#10; src="https://img.shields.io/badge/python-3.13&amp;#43;-blue.svg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/a&gt;&#10;&lt;a href="https://github.com/astral-sh/ruff" target="_blank" rel="noreferrer"&gt;&lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt="Code Style"&#10; src="https://img.shields.io/badge/code%20style-ruff-green.svg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/a&gt;&#10;&lt;a href="https://mypy.readthedocs.io/" target="_blank" rel="noreferrer"&gt;&lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt="Type Checking"&#10; src="https://img.shields.io/badge/type%20checking-mypy-blue.svg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/a&gt;&#10;&lt;a href="LICENSE" &gt;&lt;figure&gt;&lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="low"&#10; alt="License"&#10; src="https://img.shields.io/badge/license-MIT-green.svg"&#10; &gt;&lt;/figure&gt;&#10;&lt;/a&gt;&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Project Overview&#10; &lt;div id="project-overview" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#project-overview" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;PDF2Markdown is an intelligent content extraction tool built specifically for large scanned PDF files. It combines traditional OCR technology with modern AI large language models to intelligently extract pure article content from documents, automatically filtering out non-article elements such as images and tables. Mixed Chinese-English documents are fully supported.&lt;/p&gt;</description></item><item><title>Light and Fatigue in the Short Drama Factory</title><link>https://blog.baifan.site/en/short-drama-industry-fatigue/</link><pubDate>Tue, 18 Nov 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/short-drama-industry-fatigue/</guid><description>&lt;figure&gt;&#10; &lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="auto"&#10; alt="Light and Fatigue in the Short Drama Factory"&#10; width="2304"&#10; height="1728"&#10; src="https://blog.baifan.site/pictures/note/shortmovie_hu_ec717783b1984e65.png"&#10; srcset="https://blog.baifan.site/pictures/note/shortmovie_hu_ec717783b1984e65.png 800w,/pictures/note/shortmovie_hu_b50f41833db28fb.png 1280w"&#10; sizes="(min-width: 768px) 50vw, 65vw"&#10; data-zoom-src="https://blog.baifan.site/pictures/note/shortmovie.png"&#10; /&gt;&#10; &#10; &lt;figcaption&gt;Light and Fatigue in the Short Drama Factory&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;The yellow earth of the Bailu Plain in Xi&amp;rsquo;an had been beaten into sticky mud by relentless, cold rain. Thirty-odd crew members huddled under a draughty, faux-antique colonnade, squatting on their heels while shoveling down souring thirteen-yuan boxed meals of stewed cabbage and fat pork. Before the downpour had fully slackened, director Wang Jing ground her cheap cigarette stub into the mud and rasped an order across the courtyard: the call sheet demanded twenty-two scenes wrapped before dawn; miss one, and not a single soul on set would close their eyes tonight.&lt;/p&gt;</description></item><item><title>Twilight of the County Towns: The Silent Curtain on Demographic Drain and Fiscal Retreat</title><link>https://blog.baifan.site/en/china-county-economy-twilight/</link><pubDate>Tue, 11 Nov 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/china-county-economy-twilight/</guid><description>&lt;p&gt;Across more than two thousand Chinese county towns, an irreversible systemic hemorrhaging is underway. This is no cyclical economic dip, but a physical contraction engineered by the dual forces of demographic siphon pumps and the receding tide of land finance.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;The speed of the unraveling outpaces expectation. Once heralded by grand developmental narratives as the &amp;ldquo;sponge of urbanization,&amp;rdquo; the county seat has neither caught the retreating urban youth nor stabilized the foundations of rural society. With the tides of speculative momentum fully ebbed, all that remains is a hollow, decaying shell.&lt;/p&gt;</description></item><item><title>Not Even Your Life Is Wanted: The Lost Bargaining Chip in the Machine Age</title><link>https://blog.baifan.site/en/when-even-death-is-out-of-work/</link><pubDate>Tue, 04 Nov 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/when-even-death-is-out-of-work/</guid><description>&lt;p&gt;The presentation slides at tech keynotes are always immaculate. Bathed in cool hues of cyan and clean white, tailored executives gesture smoothly beneath the spotlights, unveiling high-frame-rate b-roll of six-axis robotic arms dancing across cleanrooms and unmanned shearers cleaving coal seams in the bowels of the earth. The official press releases are draped in immaculate corporate dignity: &lt;em&gt;“Zero-Harm Production,” “Automated Hazard Mitigation,” “Upgrading the Workforce Through Intelligent Infrastructure.”&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;Applause ripples through the auditorium. Commentators celebrate a triumph of humanitarian progress: human beings will no longer be crushed under collapsing rock faces, nor will they gamble their marrow against the freezing crosswinds of high-rise scaffolding just to secure their next meal.&lt;/p&gt;</description></item><item><title>Buffett's 2025 Shareholder Letter: Farewell and Legacy</title><link>https://blog.baifan.site/en/berkshire-hathaway-shareholder-letter-2025/</link><pubDate>Fri, 31 Oct 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/berkshire-hathaway-shareholder-letter-2025/</guid><description>&lt;figure&gt;&#10; &lt;img&#10; class="my-0 rounded-md"&#10; loading="lazy"&#10; decoding="async"&#10; fetchpriority="auto"&#10; alt="Berkshire shareholder letter cover"&#10; width="1622"&#10; height="1024"&#10; src="https://blog.baifan.site/pictures/note/berkshire-shareholder-letter-featured_hu_c60e268d8dc98d37.jpg"&#10; srcset="https://blog.baifan.site/pictures/note/berkshire-shareholder-letter-featured_hu_c60e268d8dc98d37.jpg 800w,/pictures/note/berkshire-shareholder-letter-featured_hu_bffbb18ff565a1ed.jpg 1280w"&#10; sizes="(min-width: 768px) 50vw, 65vw"&#10; data-zoom-src="https://blog.baifan.site/pictures/note/berkshire-shareholder-letter-featured.jpg"&#10; /&gt;&#10; &#10; &lt;figcaption&gt;Selected cover of the Berkshire shareholder letter&lt;/figcaption&gt;&#10; &lt;/figure&gt;&#10;&lt;p&gt;To My Fellow Shareholders:&lt;/p&gt;&#10;&lt;p&gt;I will no longer be writing Berkshire’s annual report or talking endlessly at the annual meeting. As the British would say, I’m “going quiet.”&lt;/p&gt;&#10;&lt;p&gt;Sort of.&lt;/p&gt;&#10;&lt;p&gt;Greg Abel will become the boss at yearend. He is a great manager, a tireless worker and an honest communicator. Wish him an extended tenure.&lt;/p&gt;</description></item><item><title>AI Uncertainty and Carpe Diem: An Ordinary Person's Thoughts</title><link>https://blog.baifan.site/en/ai-uncertainty-and-carpe-diem/</link><pubDate>Tue, 28 Oct 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-uncertainty-and-carpe-diem/</guid><description>&lt;p&gt;After reading the recent magazines and reports, my honest advice is this: while these next couple of years are still livable, seize the day and go enjoy yourself.&lt;/p&gt;&#10;&lt;p&gt;Two assumptions:&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Suppose AI really does keep breaking through and takes over most people&amp;rsquo;s jobs. Society will inevitably enter a turbulent period of painful adjustment, and nobody knows what will happen.&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;Suppose AI fails to break through and, in the end, cannot create that much value. Given the enormous leverage the whole world has piled onto AI today, the fallout when the bubble bursts would be no smaller than the 2008 subprime mortgage crisis. Nobody knows what will happen.&lt;/p&gt;</description></item><item><title>When the World Reshuffles: The Economist, Nov 8, 2025</title><link>https://blog.baifan.site/en/economist-2025-11-world-rebalancing/</link><pubDate>Tue, 21 Oct 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/economist-2025-11-world-rebalancing/</guid><description>&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/te/economist-2025-11-08-cover.png" alt="The Economist cover, November 8, 2025" style="max-width: 00px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;The Economist cover, November 8, 2025: Rebalancing the World&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&lt;p&gt;&lt;em&gt;The Economist&lt;/em&gt; has always excelled at using polished prose to gloss over savage fractures, dressing up the disintegration of the postwar free-trade architecture and superpower zero-sum warfare as a dignified &amp;ldquo;Rebalancing the World.&amp;rdquo; Peel back the magazine&amp;rsquo;s glossy rhetoric, however, and one confronts an unyielding reality: the high priests of globalization are boarding up their doors, tariff iron curtains are slamming down, and major economies are locking each other in a death grip over industrial subsidies and zero-sum geopolitical spheres.&lt;/p&gt;</description></item><item><title>Trump vs the New NYC Mayor: Prelude to a Political Storm</title><link>https://blog.baifan.site/en/trump-vs-mamdani-nyc-showdown/</link><pubDate>Tue, 14 Oct 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/trump-vs-mamdani-nyc-showdown/</guid><description>&lt;h3 class="relative group"&gt;The President&amp;rsquo;s Contradictory Posture&#10; &lt;div id="the-presidents-contradictory-posture" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-presidents-contradictory-posture" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;In public, President Trump has spent weeks deriding Zohran Mamdani as an extremist, a communist, and a threat to New York City. He has also insisted that he is &amp;ldquo;much better looking&amp;rdquo; than the 34-year-old Mamdani.&lt;/p&gt;&#10;&lt;p&gt;But in private, according to two people who disclosed the president&amp;rsquo;s remarks on condition of anonymity, Trump has described the New York City mayor-elect as a talented politician — sharp-minded and quick with an argument.&lt;/p&gt;</description></item><item><title>The Rare-Earth War: China's Confidence and Resource Sovereignty</title><link>https://blog.baifan.site/en/rare-earth-war-china-strategic-confidence/</link><pubDate>Tue, 07 Oct 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/rare-earth-war-china-strategic-confidence/</guid><description>&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/note/20251107-xituzhanzheng.png" alt="The Rare-Earth War" class="rounded-lg shadow-md mx-auto " loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;The Rare-Earth War&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&#10;&lt;h1 class="relative group"&gt;The Rare-Earth War&#10; &lt;div id="the-rare-earth-war" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-rare-earth-war" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;&lt;strong&gt;—— China&amp;rsquo;s strategic confidence and resource sovereignty amid the reshaping of global geopolitics&lt;/strong&gt;&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Preface&#10; &lt;div id="preface" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#preface" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;I studied geology at China University of Geosciences. As an undergraduate, as part of an academic activity organized by the university, I wrote a short paper titled &amp;ldquo;The Rare-Earth War.&amp;rdquo; Back then, the &amp;ldquo;war&amp;rdquo; was mostly a metaphor in the academic sense, an exploration of the relationship between resource competition and technological rivalry. Many years on, the world has shifted beyond recognition, and the scenarios once argued on paper are now playing out in reality. Taking up the pen again to rewrite &amp;ldquo;The Rare-Earth War&amp;rdquo; fills me with emotion.&lt;/p&gt;</description></item><item><title>Distributed Heartbeats and Failure Detection: Partitions, Leases, and Deterministic Design</title><link>https://blog.baifan.site/en/distributed-system-heartbeat-mechanism/</link><pubDate>Sat, 27 Sep 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/distributed-system-heartbeat-mechanism/</guid><description>&lt;p&gt;Anyone who has debugged an early-morning production outage knows that the most dangerous failure in a distributed system is rarely a clean crash (Fail-Stop). It is the gray failure: transient unresponsiveness caused by Stop-the-World garbage collection, virtual machine CPU steal time, packet drops in network switches, or TCP half-open sockets. In an asynchronous network, physical wall-clock time offers no causal order guarantees. Handing a periodic ping packet the unilateral authority to decide node mortality turns that probe into a hair-trigger for cascading failovers and split-brain states.&lt;/p&gt;</description></item><item><title>TikTok Meets Trump: All the Wrong Moves, Somehow Still Alive</title><link>https://blog.baifan.site/en/tiktok-trump-geopolitical-analysis/</link><pubDate>Tue, 23 Sep 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/tiktok-trump-geopolitical-analysis/</guid><description>&lt;p&gt;Along the marble corridors of Washington there are no innocent victims—only priced lobbying invoices and bargaining chips laid out on the cutting block. TikTok&amp;rsquo;s miraculous survival between Capitol Hill and the White House was never a triumph of cross-border corporate virtue; it was an absurd theater of raw power choreographed by Silicon Valley ambushes, K-Street black money, internal corporate purges, and extortion by populist strongmen.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;Silicon Valley&amp;rsquo;s Hidden Daggers and the K-Street Ledger&#10; &lt;div id="silicon-valleys-hidden-daggers-and-the-k-street-ledger" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#silicon-valleys-hidden-daggers-and-the-k-street-ledger" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Behind the endless congressional hearings, the fingers actually pulling the triggers were rival executives lurking in the shadows.&lt;/p&gt;</description></item><item><title>WSJ Deep Dive: Nvidia Chip Ban, Holiday Travel, Economic Signals</title><link>https://blog.baifan.site/en/wsj-nvidia-chip-ban-economic-analysis/</link><pubDate>Tue, 16 Sep 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/wsj-nvidia-chip-ban-economic-analysis/</guid><description>&lt;h2 class="relative group"&gt;📰 WSJ20251104&#10; &lt;div id="-wsj20251104" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-wsj20251104" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;Before we begin&lt;/strong&gt;: If today&amp;rsquo;s news had a soundtrack, it would be the tense, quiet hum of a machine spinning up. From Washington&amp;rsquo;s conference rooms to Wall Street&amp;rsquo;s trading floors to every one of our own bills, a set of critical switches is being flipped. Today we do more than read the news — we try to hear, behind these events, the sound of an era shifting gears.&lt;/p&gt;</description></item><item><title>The Economist, November 2025: Global Trends and Geopolitics</title><link>https://blog.baifan.site/en/economist-202511-global-analysis/</link><pubDate>Tue, 09 Sep 2025 20:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/economist-202511-global-analysis/</guid><description>&lt;p&gt;The November 2025 issue of &lt;em&gt;The Economist&lt;/em&gt; sketches a fractured global architecture: an escalating tech war between Washington and Beijing on one side, and defensive contraction alongside balance-sheet recession risks across major economies on the other.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;figure class="my-6 flex flex-col items-center"&gt;&#10; &lt;img src="https://blog.baifan.site/pictures/te/te-202511.jpg" alt="Economist Magazine November 2025 Cover" style="max-width: 800px;" class="rounded-lg shadow-md mx-auto center" loading="lazy" /&gt;&#10; &#10; &lt;figcaption class="mt-2 text-center text-sm text-neutral-500 dark:text-neutral-400 italic"&gt;The Economist November 2025 cover - a deep dive into global economic trends&lt;/figcaption&gt;&#10; &#10;&lt;/figure&gt;&#10;&#10;&#10;&lt;h2 class="relative group"&gt;Politics and Diplomacy: Strategic Decoupling Without Departure&#10; &lt;div id="politics-and-diplomacy-strategic-decoupling-without-departure" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#politics-and-diplomacy-strategic-decoupling-without-departure" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;US-China rivalry in semiconductors and infrastructure continues to escalate: new export controls meet supply-chain rerouting and localized component substitution.&lt;/li&gt;&#10;&lt;li&gt;Beijing deepens bilateral ties across the Middle East and the Global South through energy and industrial infrastructure pacts.&lt;/li&gt;&#10;&lt;li&gt;Domestic governance doubles down on preserving baseline stability amidst external containment.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;blockquote&gt;&lt;p&gt;US-China &amp;ldquo;decoupling&amp;rdquo; is like a separation where nobody moves out: they shout about breaking up, but deep down they are still calculating chip allocations.&lt;/p&gt;</description></item><item><title>PostgreSQL + pgvector in Docker: A Complete Setup Guide</title><link>https://blog.baifan.site/en/postgresql-pgvector-docker-installation-guide/</link><pubDate>Tue, 02 Sep 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/postgresql-pgvector-docker-installation-guide/</guid><description>&lt;h1 class="relative group"&gt;🐘 Installing and Deploying PostgreSQL + pgvector in Docker&#10; &lt;div id="-installing-and-deploying-postgresql--pgvector-in-docker" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-installing-and-deploying-postgresql--pgvector-in-docker" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;This article shows how to quickly deploy a PostgreSQL database with the &lt;strong&gt;pgvector&lt;/strong&gt; extension in a &lt;strong&gt;Docker Compose&lt;/strong&gt; environment, so your local or development setup can support vector retrieval and AI applications (LangChain, RAG, semantic search, and the like).&lt;/p&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;📦 1. Prepare the Environment&#10; &lt;div id="-1-prepare-the-environment" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-1-prepare-the-environment" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;Make sure your system has:&lt;/p&gt;</description></item><item><title>RAG Complete Guide: Build a Local RAG System from Scratch</title><link>https://blog.baifan.site/en/rag-system-complete-guide-langchain-ollama-pgvector/</link><pubDate>Wed, 27 Aug 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/rag-system-complete-guide-langchain-ollama-pgvector/</guid><description>&lt;h1 class="relative group"&gt;Building a Local RAG with LangChain + Ollama + pgvector: A Complete Hands-On Walkthrough from 0 to 1 (with uv Dependency Management and an Interview Guide)&#10; &lt;div id="building-a-local-rag-with-langchain--ollama--pgvector-a-complete-hands-on-walkthrough-from-0-to-1-with-uv-dependency-management-and-an-interview-guide" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#building-a-local-rag-with-langchain--ollama--pgvector-a-complete-hands-on-walkthrough-from-0-to-1-with-uv-dependency-management-and-an-interview-guide" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;blockquote&gt;&lt;p&gt;This post is a directly actionable document. Follow it top to bottom and you will build a local RAG (retrieval-augmented generation) system from scratch and understand the key concepts and code. All core scripts come with comments to make learning and interview review easier.&lt;/p&gt;</description></item><item><title>CPU, GPU, and Training Large Language Models</title><link>https://blog.baifan.site/en/gpu-accelerated-training-cuda-complete-guide/</link><pubDate>Wed, 20 Aug 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/gpu-accelerated-training-cuda-complete-guide/</guid><description>&lt;h1 class="relative group"&gt;AI Tutorial: CPU/GPU and Large Model Training&#10; &lt;div id="ai-tutorial-cpugpu-and-large-model-training" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-tutorial-cpugpu-and-large-model-training" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;blockquote&gt;&lt;p&gt;This is a highly condensed reference: clearly structured, right to the point — covering CPU/GPU fundamentals, tensors and numerical precision, CUDA and PyTorch in practice, hardware selection, common interview questions, and a debugging checklist.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;0. Quick Overview (30 Seconds)&#10; &lt;div id="0-quick-overview-30-seconds" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#0-quick-overview-30-seconds" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CPU vs GPU&lt;/strong&gt;: CPUs excel at &lt;strong&gt;general-purpose/sequential&lt;/strong&gt; work; GPUs excel at &lt;strong&gt;massive parallelism&lt;/strong&gt; (matrices/vectors).&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Large models need GPUs&lt;/strong&gt;: training/inference is fundamentally matrix multiplication and parallelization — exactly what a GPU&amp;rsquo;s high concurrency + high-bandwidth memory deliver.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Tensors and precision&lt;/strong&gt;: all data becomes tensors; precision (FP16/FP8) and &lt;strong&gt;quantization&lt;/strong&gt; (INT8/INT4) trade speed/VRAM against quality.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;The PyTorch GPU mantra&lt;/strong&gt;: &lt;code&gt;device = &amp;quot;cuda&amp;quot; if ...; model.to(device); data.to(device)&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Pick a GPU by VRAM first&lt;/strong&gt;: VRAM first, then bandwidth/compute; for production, prefer &lt;strong&gt;full-strength high-quality models&lt;/strong&gt; or cloud-hosted APIs.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;1. CPU vs GPU: Differences, Workloads, and Analogies&#10; &lt;div id="1-cpu-vs-gpu-differences-workloads-and-analogies" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-cpu-vs-gpu-differences-workloads-and-analogies" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1.1 The One-Line Comparison&#10; &lt;div id="11-the-one-line-comparison" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#11-the-one-line-comparison" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Dimension&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;CPU&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;GPU&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Architecture&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Few cores, complex control flow&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Massive small cores, SIMT parallelism&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Excels at&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Branching/system tasks/small-scale compute&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Matrix multiplication, convolution, attention, graphics rendering&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Task model&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Time-sliced, low-latency switching&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Batch- and throughput-oriented&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Typical use&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Business logic, scheduling, I/O&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Main training/inference operators (GEMM, Conv, etc.)&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1.2 An Intuitive Analogy&#10; &lt;div id="12-an-intuitive-analogy" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#12-an-intuitive-analogy" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;CPU = a veteran expert&lt;/strong&gt;: meticulous thinking, does one thing at a time with fast switching.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;GPU = a massive army&lt;/strong&gt;: hordes of soldiers working simultaneously — built for parallel &lt;strong&gt;homogeneous small tasks&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1.3 Optional Mermaid Diagram (CPU Execution vs GPU Parallelism)&#10; &lt;div id="13-optional-mermaid-diagram-cpu-execution-vs-gpu-parallelism" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#13-optional-mermaid-diagram-cpu-execution-vs-gpu-parallelism" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 2&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 3&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 4&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 5&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 6&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 7&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 8&#10;&lt;/span&gt;&lt;span class="lnt"&gt; 9&#10;&lt;/span&gt;&lt;span class="lnt"&gt;10&#10;&lt;/span&gt;&lt;span class="lnt"&gt;11&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;flowchart LR&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; subgraph CPU[&amp;#34;CPU (sequential/few cores)&amp;#34;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; A1[Task1-SliceA] --&amp;gt; A2[Task2-SliceB] --&amp;gt; A3[Task3-SliceC]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; end&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; subgraph GPU[&amp;#34;GPU (parallel/many cores)&amp;#34;]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; B1[Element1 compute]:::p&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; B2[Element2 compute]:::p&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; B3[Element3 compute]:::p&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; B4[Element4 compute]:::p&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; end&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; classDef p fill:#e9f5ff,stroke:#3b82f6,stroke-width:1px;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;2. Tensors, Precision, and Quantization (with Examples)&#10; &lt;div id="2-tensors-precision-and-quantization-with-examples" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-tensors-precision-and-quantization-with-examples" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;2.1 Tensor Hierarchy&#10; &lt;div id="21-tensor-hierarchy" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#21-tensor-hierarchy" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;0D&lt;/strong&gt;: scalar &lt;code&gt;3.14&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;1D&lt;/strong&gt;: vector &lt;code&gt;[1,2,3]&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;2D&lt;/strong&gt;: matrix (e.g. a 3×3 table)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;3D+&lt;/strong&gt;: still called a tensor (e.g. &lt;code&gt;batch×channel×height×width&lt;/code&gt;)&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;strong&gt;Image example&lt;/strong&gt;: a batch of 32 224×224 RGB images → &lt;code&gt;32×3×224×224&lt;/code&gt; (or &lt;code&gt;N×H×W×C&lt;/code&gt;, depending on the framework).&lt;/p&gt;</description></item><item><title>Prompt Engineering: From Prompts to Context Engineering</title><link>https://blog.baifan.site/en/prompt-engineering-context-management-complete-guide/</link><pubDate>Wed, 13 Aug 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/prompt-engineering-context-management-complete-guide/</guid><description>&lt;h1 class="relative group"&gt;AI Tutorial: Prompt Engineering&#10; &lt;div id="ai-tutorial-prompt-engineering" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-tutorial-prompt-engineering" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;Prompt engineering focuses on designing, optimizing, and strategizing prompts — helping users mobilize the capabilities of large language models more effectively, and pushing their adoption across real-world scenarios and research domains.&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;1. Basic Concepts&#10; &lt;div id="1-basic-concepts" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-basic-concepts" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1.1 What Is Prompt Engineering&#10; &lt;div id="11-what-is-prompt-engineering" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#11-what-is-prompt-engineering" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;A prompt is simply this: you use natural language to tell the model what to do, how to do it, what it may do, and what it must not do. That is all there is to it.&lt;/p&gt;</description></item><item><title>Transformer Architecture Deconstructed: Attention, Geometric Scaling, and Memory IO</title><link>https://blog.baifan.site/en/transformer-attention-mechanism-deep-dive/</link><pubDate>Tue, 05 Aug 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/transformer-attention-mechanism-deep-dive/</guid><description>&lt;p&gt;The physical barrier modern large language models confront when scaling context length is rarely raw floating-point throughput (FLOPs). It is the memory-access wall between high-bandwidth memory (HBM) and on-chip static random-access memory (SRAM). The standard Scaled Dot-Product Attention operator established by Vaswani et al. (2017) incurs an $O(N^2)$ memory-traffic overhead as sequence length $N$ grows, reducing self-attention primarily to a memory-bound workload.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&lt;p&gt;Understanding the Transformer requires stripping away anthropomorphic cognitive metaphors and grounding the discussion in the geometry of matrix projections alongside the hardware constraints of modern GPUs.&lt;/p&gt;</description></item><item><title>AI Technical Glossary: A Complete Guide to 270+ Terms</title><link>https://blog.baifan.site/en/ai-technical-glossary-complete-guide/</link><pubDate>Wed, 30 Jul 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-technical-glossary-complete-guide/</guid><description>&lt;h1 class="relative group"&gt;AI Technical Glossary&#10; &lt;div id="ai-technical-glossary" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-technical-glossary" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;This reference gathers the core terminology of the LLM field, from basic concepts to advanced technical architecture, to help you build a systematic understanding of the AI technology landscape.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;📚 Fundamentals&#10; &lt;div id="-fundamentals" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-fundamentals" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;AGI (Artificial General Intelligence)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI system with human-level intelligence&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An all-capable AI that can think, learn, and create like a person&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A robot that can write poetry, code, cook, and chat at the same time&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;LLM (Large Language Model)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A large neural network model trained on massive data&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;super brain&amp;rdquo; that understands and generates human language&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPT-4, Claude, ERNIE Bot, and the like are all LLMs&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Training&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The process of fitting neural network parameters on large data&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;study phase&amp;rdquo; — like a person absorbing knowledge from books&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Training a model on all text on the internet until it learns language&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Inference&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A trained model generating output from input&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;application phase&amp;rdquo; — like a person answering questions from what they learned&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The model generating an answer after you ask it a question&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Token&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The smallest unit of text a model processes, a fragment split by a tokenization algorithm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The particles of AI language, processed one at a time&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;我喜欢苹果&amp;quot;&lt;/code&gt; → &lt;code&gt;[&amp;quot;我&amp;quot;, &amp;quot;喜欢&amp;quot;, &amp;quot;苹果&amp;quot;]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🏗️ Architecture&#10; &lt;div id="-architecture" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-architecture" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Transformer&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A deep learning architecture based on self-attention, proposed by Google in 2017&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &amp;ldquo;neural skeleton&amp;rdquo; of modern AI that lets models understand language efficiently&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPT, BERT, and every other large model is built on Transformer&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Encoder&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A neural network component that encodes an input sequence into semantic representations&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;understanding unit&amp;rdquo; — turns text into vectors machines understand&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;BERT uses an encoder for text understanding tasks&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Decoder&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A neural network component that generates output token by token based on context&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;writing unit&amp;rdquo; — generates answers from what it understood&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The GPT series are all decoder-only models&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Self-Attention&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A mechanism that computes how much each element in a sequence relates to the others&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI automatically &amp;ldquo;focuses on what matters&amp;rdquo;, like a person picking out key points while reading&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;In &amp;ldquo;deposit money at the bank&amp;rdquo;, &amp;ldquo;bank&amp;rdquo; attends to &amp;ldquo;money&amp;rdquo;; in &amp;ldquo;fish by the river bank&amp;rdquo;, it attends to &amp;ldquo;river&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Multi-Head Attention&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Several self-attention mechanisms run in parallel to capture different types of dependencies&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI understands text from multiple angles at once&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;One head tracks syntax while another tracks semantics&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Positional Encoding&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Vector representations that add position information to each token&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Lets the model know &amp;ldquo;who comes first, who comes later&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;The dog bit the man&amp;rdquo; and &amp;ldquo;the man bit the dog&amp;rdquo; mean different things&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Query&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The vector that actively asks for related information — what the current word needs&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The numeric expression of &amp;ldquo;what am I looking for&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Apple&amp;rdquo; queries attributes like taste and color&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Key&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The identifier vector for information being queried — what each word can offer&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The label of &amp;ldquo;what I can provide&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Sweet&amp;rdquo; serves as the Key for a taste feature, waiting to be queried&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The representation vector holding the actual content and true semantic information&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;My actual content&amp;rdquo;, in numbers&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The actual semantic representation of &amp;ldquo;sweet&amp;rdquo;: &lt;code&gt;[0.8, 0.2, -0.1]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Attention Weight&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Importance scores expressing how much to attend, usually normalized via softmax&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;How much to pay attention&amp;rdquo;, quantified&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;0.8 means strong attention, 0.1 weak; all weights sum to 1&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Cross-Attention&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Attention across two sequences — Query comes from one, Key/Value from another&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Cross-modal information exchange&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;In image-text matching, text Queries attend to image Keys/Values&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Causal Attention&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Attention restricted to the current position and earlier, preventing future information leaks&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Attention that can &amp;ldquo;only look backward&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;When GPT generates the 5th word it can only see the previous 4&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Softmax Function&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An activation function that turns any real-valued vector into a probability distribution&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Converts scores into &amp;ldquo;importance percentages&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[2,1,0] → [0.67,0.24,0.09]&lt;/code&gt;, preserving relative magnitudes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🔢 Mathematical Representation&#10; &lt;div id="-mathematical-representation" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-mathematical-representation" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Vector&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A mathematical object with magnitude and direction; an ordered list of numbers&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;numeric ID card&amp;rdquo; that describes a thing with numbers&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[25, 180, 70]&lt;/code&gt; can represent a person&amp;rsquo;s age, height, and weight&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Embedding&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The technique of mapping discrete symbols into a continuous vector space&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Turns words into &amp;ldquo;numeric coordinates&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;king&amp;quot;→[0.25, -0.12, 0.78, ...]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Query / Key / Value&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The three core vector matrices in self-attention: what is asked, what is labeled, what is delivered&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Query = what I want, Key = what I can offer, Value = my actual content&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;Query=[0.1,0.2]&lt;/code&gt; asks about taste, &lt;code&gt;Key=[0.8,0.1]&lt;/code&gt; labels sweetness, &lt;code&gt;Value=[0.9,0.05]&lt;/code&gt; is the actual representation of sweetness&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Feed-Forward Network&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Applies an independent nonlinear transform at each position&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Deepens the model&amp;rsquo;s understanding of each word&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;From &amp;ldquo;spring&amp;rdquo; the model further associates &amp;ldquo;warmth, growth&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Layer Normalization&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Standardizes a layer&amp;rsquo;s inputs&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;stabilizer&amp;rdquo; for training&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Prevents gradient explosion or divergence&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Residual Connection&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A cross-layer connection that preserves the original information&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;express lane&amp;rdquo; for information, preventing loss&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Like a shortcut path that keeps deep networks from degrading&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🔄 Processing Pipeline&#10; &lt;div id="-processing-pipeline" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-processing-pipeline" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Tokenizer&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Converts text into a sequence of tokens&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;knife for chopping text&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;Hello world&amp;quot; → [&amp;quot;Hello&amp;quot;, &amp;quot; world&amp;quot;]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Context Window&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The maximum number of tokens a model can process&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;memory limit&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPT-4 has a 128K context&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Decoding&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Generates text token by token from a probability distribution&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI&amp;rsquo;s &amp;ldquo;writing process&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Starts generating from the most probable word&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Temperature&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A parameter controlling generation randomness&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;creativity dial&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;High temperature is more creative, low more stable&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Top-p Sampling&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A sampling strategy based on cumulative probability&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;essence filter&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Only considers candidates whose cumulative probability reaches 90%&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Max Tokens&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Caps the length of generated output&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;word-count limiter&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Keeps the AI from answering too long&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🛠️ Engineering Practice&#10; &lt;div id="-engineering-practice" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-engineering-practice" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;RAG (Retrieval-Augmented Generation)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI approach combining retrieval and generation&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;open-book exam&amp;rdquo; AI&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Look up references first, then answer the question&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The craft of designing and optimizing prompts&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;The art of asking&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Helping the AI understand your needs better&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Fine-tuning&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Training a pretrained model on a specific task&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Targeted job training&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Turning a general model into a medical assistant&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;BPE (Byte Pair Encoding)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A common tokenization algorithm&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;text compression technique&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;quot;unhappiness&amp;quot; → [&amp;quot;un&amp;quot;,&amp;quot;happi&amp;quot;,&amp;quot;ness&amp;quot;]&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Detokenization&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Turns a token sequence back into readable text&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Reassembling the pieces&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;[&amp;quot;我&amp;quot;,&amp;quot;喜欢&amp;quot;,&amp;quot;苹果&amp;quot;]→&amp;quot;我喜欢苹果&amp;quot;&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Streaming&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Generates output token by token in real time&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &amp;ldquo;typewriter effect&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A chatbot thinking while it types&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🧠 Classic Models Compared&#10; &lt;div id="-classic-models-compared" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-classic-models-compared" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;RNN (Recurrent Neural Network)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A neural network that processes sequences step by step&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;read-one-word-at-a-time AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Translating &lt;code&gt;&amp;quot;我爱你&amp;quot;&lt;/code&gt; word by word&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;LSTM (Long Short-Term Memory)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An improved RNN that handles long-range dependencies&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;A better memory&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Can remember content from the beginning&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;CNN (Convolutional Neural Network)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A neural network that excels at image patterns&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;image specialist&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Recognizing cats, dogs, and faces&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Encoder-Decoder Architecture&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A model containing both understanding and generation modules&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;all-round AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Machine translation models&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;📊 Application Scenarios&#10; &lt;div id="-application-scenarios" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-application-scenarios" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Chat product&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A user-facing AI application interface&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;AI chat shell&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ChatGPT, Claude&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;API call&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An interface for program-to-program communication&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &amp;ldquo;AI phone line&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An application calling the OpenAI API&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Context management&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The technique of maintaining conversation history&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &amp;ldquo;AI&amp;rsquo;s memory&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A chatbot remembers what you said&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Multi-turn dialogue&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A continuous human-machine interaction mode&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Ongoing conversation&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Ask about the weather, then what to wear&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Function Calling&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The model invoking external APIs to perform tasks&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &amp;ldquo;AI&amp;rsquo;s ability to act&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI checks the weather or searches automatically&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🧩 Model Optimization and Training Techniques&#10; &lt;div id="-model-optimization-and-training-techniques" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-model-optimization-and-training-techniques" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;LoRA (Low-Rank Adaptation)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Fine-tunes model parameters via low-rank matrices&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Lightweight fine-tuning&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Lets an LLM quickly adapt to a new domain&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Quantization&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Represents model parameters at lower precision&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Slimming the model down&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;FP32→INT8 speeds up inference&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Pruning&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Removes redundant neurons or connections&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Trimming the branches&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Cutting useless parameters&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Distillation (Knowledge Distillation)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A large model teaches a small one&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Teacher trains the student&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPT-4 teaching a small model&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Checkpoint&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A saved intermediate state during model training&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;training save point&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Prevents losing progress on a power cut&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🔍 Vector Retrieval and Knowledge Integration&#10; &lt;div id="-vector-retrieval-and-knowledge-integration" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-vector-retrieval-and-knowledge-integration" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Embedding Model&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A model that converts text into semantic vectors&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;semantic coordinate machine&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;text-embedding-3-large&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Vector Database&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A database supporting vector retrieval&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;semantic warehouse&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Milvus, Pinecone, FAISS&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Cosine Similarity&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Measures how similar two vectors&amp;rsquo; directions are&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;semantic similarity meter&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;A cat is sleeping ≈ The cat is resting&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Knowledge Graph&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Stores knowledge as nodes and relationships&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;knowledge map&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;apple → is a → fruit&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Hybrid Search&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Combines semantic retrieval with keyword matching&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Belt-and-suspenders search&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Searching both &lt;code&gt;cat&lt;/code&gt; and &lt;code&gt;pet animal&lt;/code&gt; at once&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🧩 Multimodal and Agents&#10; &lt;div id="-multimodal-and-agents" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-multimodal-and-agents" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Multimodal Model&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Handles text, images, audio, and other modalities at once&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;full-senses AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;GPT-4V, Gemini&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;VLM (Vision-Language Model)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Vision-Language Model&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI that can &amp;ldquo;see pictures&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A visual question-answering AI&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Speech Recognition&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Converts speech to text&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;dictation AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Voice input methods&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;TTS (Text-to-Speech)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Converts text to speech&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An &amp;ldquo;AI announcer&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The AI reads its answer aloud&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;AI Agent&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI capable of autonomous action and decision-making&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI assistant &amp;ldquo;that can act&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Devin, AutoGPT&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;⚙️ Model Evaluation and Safety&#10; &lt;div id="-model-evaluation-and-safety" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-model-evaluation-and-safety" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Hallucination&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The model generating false information&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Confident nonsense&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Inventing papers or facts&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Alignment&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Bringing the model in line with human values&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Values training&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Tuning a model with RLHF&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;RLHF (Reinforcement Learning from Human Feedback)&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Optimizes a model with human preferences&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Humans teaching AI to speak&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;How ChatGPT was trained&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Red Teaming&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Adversarial testing of model safety&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;security penetration test&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Testing whether the model leaks secrets&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Bias&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Systematic prejudice in model outputs&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;The AI plays favorites&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Preference for a gender or language&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;🧰 Emerging Trends and Future Directions&#10; &lt;div id="-emerging-trends-and-future-directions" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-emerging-trends-and-future-directions" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Term&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Technical definition&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Plain-language explanation&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Example&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Mixture of Experts&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A structure with multiple sub-models activated dynamically&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;panel-of-experts AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;The &lt;code&gt;Gemini 1.5 Pro&lt;/code&gt; architecture&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Context Compression&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Compresses conversation history to save tokens&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;Memory compression&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Summarizing long conversations&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Memory-Augmented Model&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI combined with long-term memory mechanisms&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI &amp;ldquo;with a memory&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;ChatGPT&lt;/code&gt; long-term memory&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Autonomous Agent&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;An AI that can plan and execute tasks on its own&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;A &amp;ldquo;self-managing AI&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;AutoGPT&lt;/code&gt;, &lt;code&gt;Devin&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;Synthetic Data&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Virtual training data generated by AI&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&amp;ldquo;AI-made textbooks&amp;rdquo;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Expanding a training set with AI&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;💡 Study Advice&#10; &lt;div id="-study-advice" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-study-advice" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;🎯 Priority for Mastering Core Concepts&#10; &lt;div id="-priority-for-mastering-core-concepts" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-priority-for-mastering-core-concepts" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Beginner (must know)&lt;/strong&gt;: Token, Embedding, Transformer, LLM&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Intermediate (important)&lt;/strong&gt;: Self-Attention, RAG, Context Window&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Advanced (optional)&lt;/strong&gt;: LoRA, Mixture of Experts, Red Teaming&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10;&lt;h3 class="relative group"&gt;📖 Suggested Learning Path&#10; &lt;div id="-suggested-learning-path" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-suggested-learning-path" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;strong&gt;Understand the basics&lt;/strong&gt;: what a token is, and why vector representation is needed&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Master the core architecture&lt;/strong&gt;: the Transformer encoder-decoder structure&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Practice application techniques&lt;/strong&gt;: combining prompt engineering with RAG&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Go deeper into technical details&lt;/strong&gt;: attention mechanisms and alignment training&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&#10;&lt;h3 class="relative group"&gt;🔗 Concept Map&#10; &lt;div id="-concept-map" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#-concept-map" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;&#10;&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1&#10;&lt;/span&gt;&lt;span class="lnt"&gt;2&#10;&lt;/span&gt;&lt;span class="lnt"&gt;3&#10;&lt;/span&gt;&lt;span class="lnt"&gt;4&#10;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#10;&lt;td class="lntd"&gt;&#10;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Fundamentals → Math → Architecture → Processing → Engineering → Optimization → Retrieval → Agents&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Token → Vector → Transformer → Decoding → RAG → LoRA → Embedding → Agent&#10;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;LLM → Q/K/V → Attention → Context → Prompt → Quant → Knowledge → Memory&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;&lt;/div&gt;&#10;&lt;hr&gt;&#10;&lt;blockquote&gt;&lt;p&gt;🚀 &lt;strong&gt;Tip&lt;/strong&gt;: the AI technology landscape is vast but tightly interconnected. A good approach is to study it systematically along four dimensions: understand → build → optimize → secure.&lt;/p&gt;</description></item><item><title>A Complete Guide to LLMs: Tokens and Vectors in Depth</title><link>https://blog.baifan.site/en/ai-llm-tutorial-token-vector-basics/</link><pubDate>Tue, 22 Jul 2025 14:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/ai-llm-tutorial-token-vector-basics/</guid><description>&lt;h1 class="relative group"&gt;AI Tutorial: A Guide to AI LLMs, from Basics to Depth&#10; &lt;div id="ai-tutorial-a-guide-to-ai-llms-from-basics-to-depth" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ai-tutorial-a-guide-to-ai-llms-from-basics-to-depth" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;p&gt;This article takes you deep into the core concepts of large language models — from basic principles to vector representation — building a complete knowledge system step by step.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;1. Foundations of AI Application Development&#10; &lt;div id="1-foundations-of-ai-application-development" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-foundations-of-ai-application-development" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;1.1 Basic Principles and Concepts&#10; &lt;div id="11-basic-principles-and-concepts" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#11-basic-principles-and-concepts" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&#10;&lt;h4 class="relative group"&gt;In Plain Words&#10; &lt;div id="in-plain-words" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#in-plain-words" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Core mechanism&lt;/strong&gt;: predict the next word from the previous one — like a word-chain game&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;How it works&lt;/strong&gt;: output is generated token by token&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&#10;&lt;h4 class="relative group"&gt;A Deeper Look&#10; &lt;div id="a-deeper-look" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#a-deeper-look" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h4&gt;&#10;&lt;p&gt;A large AI model involves two key stages:&lt;/p&gt;</description></item><item><title>Timeline Recorder: Technical Architecture from MVP to Scale</title><link>https://blog.baifan.site/en/time-line-editor-architecture-design/</link><pubDate>Mon, 14 Jul 2025 09:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/time-line-editor-architecture-design/</guid><description>&lt;h1 class="relative group"&gt;Timeline Recorder: Requirements &amp;amp; Technical Architecture (MVP → Scalable)&#10; &lt;div id="timeline-recorder-requirements--technical-architecture-mvp--scalable" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#timeline-recorder-requirements--technical-architecture-mvp--scalable" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h1&gt;&#10;&lt;blockquote&gt;&lt;p&gt;Target: personal/small-team local or centralized deployment; web + CLI + TUI; text/images/linked audio and video; draft/publish; users may edit only their own content; everyone&amp;rsquo;s content viewable, with mute support; no built-in transcription; decentralization as an optional later capability.&lt;/p&gt;&#10;&lt;/blockquote&gt;&lt;hr&gt;&#10;&#10;&lt;h2 class="relative group"&gt;0. Background and Goals&#10; &lt;div id="0-background-and-goals" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#0-background-and-goals" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: build a &amp;ldquo;local-first, centrally deployable&amp;rdquo; timeline recorder that guarantees data sovereignty and simple deployment; an extremely fast capture experience without sacrificing a clean timeline.&lt;/p&gt;</description></item></channel></rss>