feat(blog): a Perspectives category and three posts on harness design and agent infrastructure (#45)

Adds three bilingual posts, each grounded in primary sources rather than
secondary summaries, plus a new blog category to hold them.

Simple Harness Is All You Need — opens on the counter-intuitive result in
the Databricks coding-agent benchmark: on their cost-versus-pass-rate Pareto
chart, the highest score on the board belongs to Opus 4.8 on the minimal Pi
harness, ahead of the same model on Claude Code at maximum effort for
roughly half the cost per task. Keeps Databricks' own caution and notes that
Pi at max effort lands well below Claude Code at comparable spend. Maps the
result onto PenguinHarness's measured design: six built-in tools with no
file tools, a 72-line system prompt, a 16,000-character output cap, and
compaction into a fresh context.

The Easiest Way to Build AI Agents in 2026 — argues the cost of building an
agent has moved out of the agent and into the stack around it: LangChain to
build, LangGraph to orchestrate, LangSmith or Langfuse to observe and
evaluate, LangGraph Platform to deploy. Five products, two or three vendors,
and a person who becomes the optimization loop.

AI Infrastructure: Past, Present, and Future — the stack used to build AI
(PyTorch, vLLM, Ollama, LlamaFactory) assumes a human operator who carries
state in their head and treats errors as a starting point. It needs no
reinventing for agents; what was missing is the operating knowledge, which
the ollama, vllm and llamafactory skills encode.

Both benchmark comparisons disclose the results we lose as well as the ones
we win, and the framework post names two cases where you should pick
something else.

Also adds the Perspectives / 观点 category with a teal badge, filter chip and
both dictionaries, keeping Tech practice for the hands-on AMD walkthroughs.
This commit is contained in:
Yaowei Zheng authored and GitHub committed 2026-07-23 05:04:54 +08:00
1 parent 9767fe60e9
commit 7617374d58
15 files changed
+723 -11

No files matched your search

+6 -2
View File
@@ -7,7 +7,7 @@
import { parseFrontmatter } from "./frontmatter";
import type { Locale } from "../state/locale";
export type BlogCategory = "news" | "practice" | "changelog";
export type BlogCategory = "news" | "practice" | "perspectives" | "changelog";
/** Byline used when a post has no `author` frontmatter. */
export const DEFAULT_AUTHOR = "Yaowei Zheng (PrismShadow AI)";
@@ -53,7 +53,11 @@ function toPost(path: string, raw: string): BlogPost | null {
if (!match) return null;
const { meta, body } = parseFrontmatter(raw);
const category: BlogCategory =
meta.category === "changelog" || meta.category === "practice" ? meta.category : "news";
meta.category === "changelog" ||
meta.category === "practice" ||
meta.category === "perspectives"
? meta.category
: "news";
return {
slug: match[1]!,
lang: match[2] as Locale,
+2 -1
View File
@@ -414,10 +414,11 @@ export const en: Strings = {
blog: {
title: "Blog",
subtitle: "Product news, tech practices and release notes",
subtitle: "Product news, tech practices, perspectives and release notes",
all: "All",
news: "Product news",
practice: "Tech practice",
perspectives: "Perspectives",
changelog: "Release notes",
pinned: "Pinned",
copyLink: "Copy page link",
+2 -1
View File
@@ -408,10 +408,11 @@ export const zh = {
blog: {
title: "博客",
subtitle: "产品动态、技术实践与更新日志",
subtitle: "产品动态、技术实践、观点与更新日志",
all: "全部",
news: "产品动态",
practice: "技术实践",
perspectives: "观点",
changelog: "更新日志",
pinned: "置顶",
copyLink: "复制页面链接",