Archive
All posts by category, 20 in total.
Thoughts
What Anpai Calendar Actually Does: Month/Week/Day, Goals, Review, Agent
Anpai.Life is a personal rhythm system: month/week/day calendar, a daily AI image-calendar poster, yearly goals and milestones, weekly review + AI insights, and an Agent that schedules and breaks down goals — synced across PC and phone. TickTick free is a fair hook; this post still stands if you never used TickTick.
How to Get Traffic to a Personal Site: SEO, GEO, Content Engineering, and Bilingual
Traffic to a personal site isn't "post and wait for indexing" — it's four layers: technical foundation (sitemap/rss/structured data, so content is findable), content engineering (topic + writing pipeline, so content is worth searching), GEO (llms.txt + citable content, so AI engines cite you), and bilingual (to reach a bigger market). This is my full record.
Thinking About Intent Recognition: Plan + Tool Design
After many rounds of intent recognition I realized the problem may not be classification at all — it's agent architecture. This post explains Plan + tool design: let the model understand, and let code do the work.
Loop Engineering Has No Silver Bullet: Vertical Skills, spec/TDD, and the Coding Agent
Chasing one big "fully autonomous" loop doesn't work. After half a year of intensive coding-agent work, my conclusion: the right carrier for Loop Engineering is per-vertical Skills, with spec + TDD at the core.
AI
A2A — Agent-to-Agent Protocol
A2A lets agents in different processes, orgs, and vendors collaborate via a task state machine. This post covers Agent Cards, the four-step flow, and a runnable TypeScript sample.
RAG — Retrieval-Augmented Generation
RAG lets an agent answer questions from a private knowledge base. This post covers chunking, embeddings, vector stores, hybrid BM25+vector+RRF, rerank, OpenSearch, and ACL / Permissions Collapse.
MCP Dual Role: Client and Server Together on an AI Testing Platform
An AI testing platform in both MCP roles — Client and Server: a three-layer protocol primer, dual-sided engineering notes, and a postmortem of wiring a gateway from errors to the spec-compliant path.
MCP — Model Context Protocol: Build a Custom Server Cursor Can Call
MCP pulls tools out of the agent into a standalone process and exposes them over a standard protocol. Starting from the limits of ordinary in-process tools, this post walks through a custom MCP Server that clients like Cursor can call directly — plus remote MCP, auth, and the 2026 stateless spec.
Hybrid Retrieval for Agent Memory: Dense, Lexical, and RRF
How to build hybrid retrieval for agent memory: dense + lexical recall fused with RRF, plus an async write path and four-state governance so retrieval stays accurate without slowing chat.
Intent Recognition: Unbounded to the Model, Bounded to Code
Intent recognition (and intent parsing) isn't a classification problem — it's an observable, verifiable execution chain that can admit uncertainty. Give unbounded language to the model; keep bounded facts in code.
How to Stop an LLM Agent from Faking "Created": Exit Validation That Checks Facts, Not Wording
The model claimed "schedule created" without calling any write tool. Blocking phrases like "created" fails because the model rewords endlessly. Use an exit invariant: only a real database write counts as success.
Slot Extraction in Intent Recognition: The Pitfalls of Chinese Time Parsing
Intent recognition isn't just classifying intent — you still have to extract slots like time. Chinese time is the easiest slot to get wrong: is "7点半" 7:30 AM or 7:30 PM?
Why We Deleted 530 Lines of Intent Regex: A Calendar Agent's Architecture Rewrite
Rebuilding a calendar agent from real user feedback: from 530 lines of intent regex to a single large-model call, keeping the safety boundary with a state machine, tool constraints, exit validation, and real-model evaluation.
Agent Intent Recognition: From Classifier to Executable Control System
How to design an agent's intent recognition. The core: intent recognition isn't labeling a sentence — it's a control system deciding whether to call tools, which tool, whether side effects are allowed, and whether the last sentence can be trusted.
I Gave Up the Ops Workbench and Generated a Thousand Calendar Images with a Few Sentences
I batch-generated a thousand calendar images with a skill and dropped the ops workbench. In the AI era, if you can finish something by talking, don't fall back into the old 'build a system' mindset — minimal investment is how things actually ship.
Why I Built an AI Gateway: Model Routing, Cost, and Rate Limits for Indie Developers
For indie developers, an AI Gateway isn't showing off — it's the smallest engineering unit that unifies model access, cost, rate limits, and stability. This post covers the five capabilities a production gateway needs, and the traps behind each.
What Separates AI Development from Demo to Production
The real gap isn't model quality, it's engineering: observability, regression, cost, permission, and failure recovery. This post walks through the five things you must add to go from demo to production, and the trap each one hides.
Engineering
Data Overload and Distributed Refactoring: Sharding, Read/Write Split, Snowflake IDs, and Transactions
Sharding, read/write splitting, globally unique IDs (Snowflake), and distributed transactions often arrive together. This is a practical map of when to use each — and why cheaper moves should come first — when data volume and concurrency outgrow a single database.
One Person Can Ship a Product Too: My OPC Software Development Practice
How can a solo developer ship a product alone? Using "Arrange Life" as the case, this is how I turn real pain points into a complete software production system — from requirements, design, dev, and test to release and operations — with AI, coding agents, and Skills.
Sync Architecture for a Todo App: Client and Desktop
The hard part of a todo app isn't the UI, it's multi-device sync and conflict handling. Get the design right and sync feels as natural as local. This post covers the key designs and the traps that break them.