<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Twincoal 技術文章</title><description>AI 應用、系統設計、測試與產品工程的實作筆記。</description><link>https://www.twincoal.com/</link><language>zh-TW</language><item><title>LINE Bot 多模態輸入：為什麼我們先把媒體轉成文字</title><link>https://www.twincoal.com/blog/line-bot-multimodal-text-pipeline/</link><guid isPermaLink="true">https://www.twincoal.com/blog/line-bot-multimodal-text-pipeline/</guid><description>照片、語音與位置進入 LINE Bot 後，不一定要直接送進大型語言模型。本文拆解先轉文字再進對話管線的設計與取捨。</description><pubDate>Sat, 22 Aug 2026 00:00:00 GMT</pubDate><category>AI 工程</category><category>LINE Bot</category><category>多模態 AI</category><category>Gemini</category><category>系統設計</category></item><item><title>用 Redis 做對話記憶：TTL、隱私與成本怎麼一起設計</title><link>https://www.twincoal.com/blog/redis-conversation-memory/</link><guid isPermaLink="true">https://www.twincoal.com/blog/redis-conversation-memory/</guid><description>短期對話記憶不只是把訊息存進 Redis。本文整理 TTL 邊界、fail-open、字元上限與工具摘要如何共同控制隱私和成本。</description><pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate><category>系統設計</category><category>Redis</category><category>對話記憶</category><category>LLM</category><category>隱私設計</category></item><item><title>E2E 測試不該全塞進 E2E：一套部署後分層策略</title><link>https://www.twincoal.com/blog/layered-e2e-testing-after-deploy/</link><guid isPermaLink="true">https://www.twincoal.com/blog/layered-e2e-testing-after-deploy/</guid><description>從單元測試、跨服務契約、部署後 smoke 到真實模型行為，如何依環境變異與失敗代價安排測試，而不是讓 E2E 變慢又不可信。</description><pubDate>Thu, 20 Aug 2026 00:00:00 GMT</pubDate><category>測試工程</category><category>E2E 測試</category><category>CI/CD</category><category>部署驗證</category><category>LLM 評測</category></item></channel></rss>