MH (Frank) Tsai | AI Solutions Architect
MH (Frank) Tsai氏は、本番環境で稼働するAIシステムの設計を専門とするAIソリューションアーキテクト。マルチエージェントアーキテクチャ、RAGパイプライン、クラウドネイティブな生成AIインフラなどを手掛ける。ブログでは自身の知見やプロジェクトの教訓を公開している。
📋 記事の処理履歴
- 📰 発表: 2026年4月8日 15:00
- 🔍 収集: 2026年4月8日 15:30(発表から29分後)
- 🤖 AI分析完了: 2026年4月9日 09:03(収集から17時間33分後)
MH (Frank) Tsai | AI Solutions Architect Blog Labs Agents Tools MH (Frank) Tsai AI Solutions Architect I design production AI systems — multi-agent architectures, RAG pipelines, and cloud-native GenAI infrastructure View Architecture Work Read Blog My Agents Enter the Control Room Blog 01 M MH (Frank) Tsai AI Solutions Architect Designing a Production Multi-Agent Architecture How we built a hierarchical agent system that routes customer intents across specialized agents — and the architectural tradeoffs we made along the way. Read Article 2025 Mar 15 02 M MH (Frank) Tsai AI Solutions Architect RAG with Hybrid Search in Production: Lessons from Serving Millions of Queries Combining Elasticsearch BM25 with vector embeddings for retrieval-augmented generation — what worked, what didn't, and how we tuned it. Read Article 2025 Feb 15 03 M MH (Frank) Tsai AI Solutions Architect LLM workflows vs. AI agents Discover the key differences between LLM workflows and AI agents in modern applications. Learn when to use structured workflows for regulated tasks versus autonomous agents for dynamic problem-solving. Explore real-world examples in customer service, comparing predetermined routing with adaptive decision-making. Read Article 2025 Feb 01 04 M MH (Frank) Tsai AI Solutions Architect Building AI Safety Infrastructure: Red-Teaming, Guardrails, and Evaluation How we built layered safety infrastructure for a production AI platform — from input guardrails to output evaluation and continuous red-teaming. Read Article 2025 Jan 20 05 M MH (Frank) Tsai AI Solutions Architect Maximizing LLM for SaaS Success: Cost Savings, Time Efficiency, and Revenue Growth Three categories of LLM features that can significantly enhance client satisfaction and willingness to pay, ultimately driving business growth. Read Article 2024 Mar 15 06 M MH (Frank) Tsai AI Solutions Architect Website Accessibility Checklist Unlock the full potential of your website for all users with our essential Website Accessibility Checklist. This comprehensive guide focuses on key elements like keyboard navigation, focus indicators, ARIA roles, alt text for images, accessible forms, and semantic headings. Whether your visitors are using mobile devices, TVs, watches, or older tech, our checklist ensures seamless navigation and interaction for everyone. Enhance your site's accessibility and boost your SEO score by implementing these crucial accessibility features. Learn how to make your website universally accessible and user-friendly, no matter the device or context. Read Article 2023 Nov 12 View All Projects LennyBot The bot serves as the official chatbot for Lenny’s Newsletters. It has been trained on all of the newsletters and podcasts, and was built using ReactJs, NodeJs, and PostgreSQL + PGVector for storing the embeddings. rGPT Built with Rust, rGPT allows you to run a pre-configured prompt in the terminal. It enables users to perform their daily GPT-related tasks through short-hand commands in their terminal. 2026 ❤️ MH (Frank) Tsai GitHub Twitter Instagram LinkedIn Home Blog Labs Agents Tools #nprogress { pointer-events: none; } #nprogress .bar { background: #228dff; position: fixed; z-index: 99999; top: 0; left: 0; width: 100%; height: 2px; } /* Fancy blur effect */ #nprogress .peg { display: block; position: absolute; right: 0px; width: 100px; height: 100%; box-shadow: 0 0 10px #228dff, 0 0 5px #228dff; opacity: 1.0; -webkit-transform: rotate(3deg) translate(0px, -4px); -ms-transform: rotate(3deg) translate(0px, -4px); transform: rotate(3deg) translate(0px, -4px); } (self.__next_f=self.__next_f||[]).push([0]);self.__next_f.push([2,null]) self.__next_f.push([1,"1:HL[\"/_next/static/media/e4af272ccee01ff0-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:HL[\"/_next/static/css/49148596ad07e591.css\",\"style\",{\"crossOrigin\":\"\"}]\n0:\"$L3\"\n"]) self.__next_f.push([1,"4:I[7690,[],\"\"]\n6:I[4040,[\"250\",\"static/chunks/250-e0aae0f5abf64d15.js\",\"460\",\"static/chunks/460-ea807169ab11410b.js\",\"847\",\"static/chunks/847-5b4793312fc15922.js\",\"414\",\"static/chunks/414-4eeb714deac7938b.js\",\"931\",\"static/chunks/app/page-91ecd3e6e23ddefc.js\"],\"\"]\n10:I[8955,[],\"\"]\n7:T1ec8,"]) self.__next_f.push([1,"\nWhen we first shipped our AI assistant, it was a single LLM call with a long system prompt. It worked — for about two weeks. Then the feature requests started piling up: handle restaurant search, process bookings, answer FAQs, manage customer support escalations. One agent trying to do everything meant it did nothing well.\n\nThis post documents how we redesigned the system into a hierarchical multi-agent architecture, the decisions that shaped it, and what we'd do differently.\n\n#### The Problem with Monolithic Agents\n\nA single-agent approach seems elegant until you hit these walls:\n\n- **Context window bloat.** Every capability adds instructions, examples, and tool definitions. The system prompt grew past 8,00