<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Tianliang Zhang — Writing</title><description>Engineering notes from real projects — production LLM systems, coding agents and computer vision.</description><link>https://tianliangzhang.com/</link><item><title>Grade the grader: an eval harness for an LLM IELTS examiner</title><link>https://tianliangzhang.com/blog/easyielts-eval-harness/</link><guid isPermaLink="true">https://tianliangzhang.com/blog/easyielts-eval-harness/</guid><description>My last post claimed a rubric-as-contract makes LLM grading reproducible. This one tests that claim on real production data — and finds the grader is a distribution, the fallback model is +0.34 band more lenient, and top scores drifted almost a full band in three weeks.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Evals</category><category>AI Engineering</category><category>EdTech</category><category>Production</category></item><item><title>Seed-first AI: serving LLM explanations at near-zero cost</title><link>https://tianliangzhang.com/blog/act-learner-seed-first/</link><guid isPermaLink="true">https://tianliangzhang.com/blog/act-learner-seed-first/</guid><description>How ACT Learner serves grounded AI explanations to real users while calling the live model on only a fraction of requests — and why the prompt is the cache key.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><category>LLM</category><category>AI Engineering</category><category>Caching</category><category>RAG</category><category>Production</category></item><item><title>One library, every agent: syncing AI-agent skills across 15+ tools</title><link>https://tianliangzhang.com/blog/skills-manager-one-library/</link><guid isPermaLink="true">https://tianliangzhang.com/blog/skills-manager-one-library/</guid><description>Coding agents each store skills in their own folder, their own way. Skills Manager normalises all of them behind one central library — the architecture, and why it&apos;s a Rust filesystem program wearing a GUI.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate><category>AI Agents</category><category>Developer Tools</category><category>Rust</category><category>Architecture</category><category>Open Source</category></item><item><title>From speech to band score: grading IELTS speaking with an LLM</title><link>https://tianliangzhang.com/blog/easyielts-speech-to-band/</link><guid isPermaLink="true">https://tianliangzhang.com/blog/easyielts-speech-to-band/</guid><description>IELTS speaking is a subjective exam graded by a human on four criteria. EasyIELTS does it with an LLM — here&apos;s everything you have to pin down to make a fuzzy human judgement reproducible, and honest.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate><category>LLM</category><category>Speech</category><category>EdTech</category><category>Prompt Engineering</category><category>Production</category></item></channel></rss>