Blog
Prompt injection in an authoring pipeline
内容编排流程中的提示注入
In a composer, the person pasting the material is the one being attacked. What typed output and deterministic validation remove, what the prompt handles, and what only a human reviewer can catch.
Two days, in order
两天,按顺序
AIBlog went from an empty folder to a deployed site in two working days. A record of what happened when, because the order mattered more than the speed.
Fencing the one public model call
为唯一的公开模型调用设栏
The question box on the search page is the only model call a visitor can trigger. This release treats it as a cost surface: cheap gates first, no answer without relevant excerpts, and site-wide daily caps on both count and dollars.
One document, four designs
同一份文档,四套设计
The site now has a Theme menu: Plain, Institute, Desert light and Linen and poppy. The same stored data, four faces — and what building three real packs against the DOM contract turned up.
A page for clients: you only have to do three things
给客户的一页:您只需要做三件事
How a non-technical client maintains the site after handover: paste the text, upload the photos, say one sentence and publish. Plus what editing looks like once a page is live, what cannot be broken, and roughly what a post costs.
What a page costs
一个页面的成本
The figures we quote for composing a page, revising it, describing a photo and answering a question — where they come from, what prompt caching changes, and why the number is an estimate rather than an invoice.
A block is already a chunk
区块本身就是切片
Adding embeddings to a content system usually starts with a chunking problem. AIBlog skipped that step, because its documents are already cut into typed blocks with stable ids — and four features fell out of one index.
Save and publish, not staging
保存即发布,而非暂存
Strict staging or live editing: two honest defaults for editing a page that is already public, and the one AIBlog picks for non-technical clients.
Block identity across AI regeneration
AI 重新生成时的区块身份
The composer returns a whole page every turn. Short per-page ids and a three-step reconciliation keep each block's identity — even if the model drops every id.
Why blocks, not HTML
为什么用区块,而不是 HTML
The client edits content, the composer proposes structure, and the site keeps design authority. How that split works underneath, and what a page costs to produce.