<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Posts on TPOW Lab</title><link>https://tpow-001.netlify.app/post/</link><description>Recent content in Posts on TPOW Lab</description><generator>Hugo</generator><language>en</language><copyright>Copyright &amp;copy; 2025-2026 TPOW-001. All Rights Reserved.</copyright><lastBuildDate>Tue, 14 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://tpow-001.netlify.app/post/index.xml" rel="self" type="application/rss+xml"/><item><title>BioDiscoveryAgent 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-biodiscoveryagent-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-biodiscoveryagent-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/BioDiscoveryAgent" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/BioDiscoveryAgent<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 113 | <strong>Forks</strong>: 26 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>最後更新</strong>: 2026-07-12 | <strong>論文</strong>: <a href="http://arxiv.org/abs/2405.17631" target="_blank" rel="noopener noreferrer">arXiv:2405.17631<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>BioDiscoveryAgent 是一個由 <strong>大型語言模型 (LLM; Large Language Model)</strong> 驅動的 <strong>AI 代理人 (AI agent; 人工智慧代理人)</strong>，用途是自動設計 <strong>基因擾動實驗 (genetic perturbation experiment; 基因擾動實驗)</strong>。簡單講，它要回答的問題是：</p>]]></description></item><item><title>Biomni 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-biomni-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-biomni-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/Biomni" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/Biomni<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 3399 | <strong>Forks</strong>: 618 | <strong>Language</strong>: Python | <strong>License</strong>: Apache License 2.0
<strong>官網</strong>: <a href="https://biomni.stanford.edu" target="_blank" rel="noopener noreferrer">https://biomni.stanford.edu<i class="fas fa-external-link-square-alt ms-1"></i></a> | <strong>論文</strong>: bioRxiv 2025.05.30.656746</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>Biomni 是史丹佛大學 SNAP（Stanford Network Analysis Project）團隊開發的一個<strong>通用型生物醫學 AI agent (general-purpose biomedical AI agent)</strong>。它的核心主張很簡單：把 large language model (LLM; 大型語言模型) 的推理能力、retrieval-augmented planning (檢索增強規劃) 與 code-based execution (基於程式碼的執行) 三者結合，讓一個 agent 能夠<strong>自主執行</strong>橫跨多個生物醫學次領域的研究任務——從設計 CRISPR screen (CRISPR 篩選實驗)、進行 scRNA-seq annotation (單細胞 RNA 定序註解)，到預測藥物的 ADMET properties (Absorption, Distribution, Metabolism, Excretion, Toxicity; 吸收/分布/代謝/排泄/毒性性質)。</p>]]></description></item><item><title>cs224w-notes 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-cs224w-notes-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-cs224w-notes-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/cs224w-notes" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/cs224w-notes<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 323 | <strong>Forks</strong>: 75 | <strong>主要語言</strong>: CSS（Jekyll 靜態網站；核心內容為 Markdown 講義）
<strong>授權</strong>: MIT License
<strong>Homepage</strong>: <a href="https://snap-stanford.github.io/cs224w-notes/" target="_blank" rel="noopener noreferrer">https://snap-stanford.github.io/cs224w-notes/<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>最後更新</strong>: 2026-07-02</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><code>cs224w-notes</code> 是史丹佛大學 <strong>CS224W: Machine Learning with Graphs（圖機器學習）</strong> 課程的官方講義筆記庫，由該課程的助教（TA）群持續撰寫與維護。這門課由 Jure Leskovec 教授開設，是圖神經網路（Graph Neural Network; GNN）與網路科學（Network Science）領域公認的入門聖經課程之一，全球有大量線上自學者透過公開的講義與投影片來學習這個領域。</p>]]></description></item><item><title>GEARS 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-gears-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-gears-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/GEARS" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/GEARS<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 381 | <strong>Forks</strong>: 85 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>論文</strong>: Roohani, Huang, Leskovec. <em>Predicting transcriptional outcomes of novel multigene perturbations with GEARS</em>. Nature Biotechnology, 2023.</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-專案背景研究團隊與動機" data-numberify>1.1 專案背景、研究團隊與動機<a class="anchor ms-1" href="#11-專案背景研究團隊與動機"></a></h3>
<p>GEARS（<strong>G</strong>enetic <strong>E</strong>ffects <strong>A</strong>nalysis using <strong>R</strong>elational <strong>S</strong>tructure，官方全稱為「Predicting transcriptional outcomes of novel multi-gene perturbations」）出自史丹佛大學 Jure Leskovec 實驗室（SNAP — Stanford Network Analysis Platform），作者為 Yusuf Roohani、Kexin Huang 與 Jure Leskovec。這篇論文於 2023 年發表在 <em>Nature Biotechnology</em>，是 geometric deep learning (GDL; 幾何深度學習) 應用於單細胞擾動預測 (single-cell perturbation prediction; 單細胞擾動預測) 領域的代表作。</p>]]></description></item><item><title>GraphRNN 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-graphrnn-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-graphrnn-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/GraphRNN" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/GraphRNN<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 430 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>論文</strong>: <a href="https://arxiv.org/abs/1802.08773" target="_blank" rel="noopener noreferrer">GraphRNN: Generating Realistic Graphs with Deep Auto-regressive Model<i class="fas fa-external-link-square-alt ms-1"></i></a>（ICML 2018）
<strong>作者</strong>: Jiaxuan You*, Rex Ying*, Xiang Ren, William L. Hamilton, Jure Leskovec（Stanford SNAP Group）</p>]]></description></item><item><title>KGReasoning 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-kgreasoning-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-kgreasoning-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/KGReasoning" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/KGReasoning<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 312 | <strong>Forks</strong>: 63 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Topics</strong>: knowledge-graph, knowledge-base, embedding, reasoning</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-專案背景與研究團隊" data-numberify>1.1 專案背景與研究團隊<a class="anchor ms-1" href="#11-專案背景與研究團隊"></a></h3>
<p>KGReasoning 是史丹佛大學 SNAP (Stanford Network Analysis Platform; 史丹佛網路分析平台) 實驗室釋出的官方程式碼庫，核心作者為 Hongyu Ren 與 Jure Leskovec 教授。這個 repo 是論文《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs (BetaE; Beta 嵌入式多跳邏輯推理)》(NeurIPS 2020) 的官方 PyTorch 實作，同時也整合了同系列另外兩個經典模型 —— Query2box (2020) 與 GQE (Graph Query Embedding; 圖查詢嵌入, 2018) —— 讓使用者能在同一套框架下比較三種 knowledge graph (KG; 知識圖譜) 多跳推理方法。</p>]]></description></item><item><title>med-flamingo 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-med-flamingo-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-med-flamingo-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/med-flamingo" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/med-flamingo<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 451 | <strong>Forks</strong>: 39 | <strong>Language</strong>: Python | <strong>License</strong>: 未標示（repo 未附 LICENSE 檔）
<strong>論文</strong>: <a href="https://arxiv.org/abs/2307.15189" target="_blank" rel="noopener noreferrer">Med-Flamingo: A Multimodal Medical Few-shot Learner<i class="fas fa-external-link-square-alt ms-1"></i></a> (Moor et al., 2023)</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-專案背景與研究團隊" data-numberify>1.1 專案背景與研究團隊<a class="anchor ms-1" href="#11-專案背景與研究團隊"></a></h3>
<p>med-flamingo 是史丹佛大學 SNAP（Stanford Network Analysis Platform，社群網路分析平台）實驗室與相關合作團隊（Jure Leskovec 教授、Pranav Rajpurkar 教授等）在 2023 年發表的醫療多模態基礎模型 (medical multimodal foundation model)。專案核心貢獻者包含 Michael Moor、Qian Huang、Shirley Wu、Michihiro Yasunaga 等人，論文掛名於 arXiv:2307.15189。</p>]]></description></item><item><title>ogb 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-ogb-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-ogb-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/ogb" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/ogb<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 2090 | <strong>Forks</strong>: 409 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Homepage</strong>: <a href="https://ogb.stanford.edu" target="_blank" rel="noopener noreferrer">https://ogb.stanford.edu<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Topics</strong>: graph-machine-learning, graph-neural-networks, deep-learning, datasets</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-專案背景與研究團隊" data-numberify>1.1 專案背景與研究團隊<a class="anchor ms-1" href="#11-專案背景與研究團隊"></a></h3>
<p>OGB（Open Graph Benchmark; 開放圖形基準)是由 Stanford SNAP (Stanford Network Analysis Project; 史丹佛網路分析專案) 實驗室——由 Jure Leskovec 教授領導——所發起的圖機器學習 (graph machine learning; GML) 基準資料集集合。核心作者群包含 Weihua Hu、Matthias Fey（同時也是 PyTorch Geometric 的創建者)、Marinka Zitnik、Yuxiao Dong、Hongyu Ren、Bowen Liu、Michele Catasta 與 Jure Leskovec，論文〈Open Graph Benchmark: Datasets for Machine Learning on Graphs〉發表於 NeurIPS 2020。</p>]]></description></item><item><title>pretrain-gnns 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-pretrain-gnns-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-pretrain-gnns-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/pretrain-gnns" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/pretrain-gnns<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 1067 | <strong>Forks</strong>: 174 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>論文</strong>: Hu, Liu, Gomes, Zitnik, Liang, Pande, Leskovec. <em>Strategies for Pre-training Graph Neural Networks</em>. ICLR 2020. <a href="https://arxiv.org/abs/1905.12265" target="_blank" rel="noopener noreferrer">arXiv:1905.12265<i class="fas fa-external-link-square-alt ms-1"></i></a> | <a href="https://openreview.net/forum?id=HJlWWJSFDH" target="_blank" rel="noopener noreferrer">OpenReview<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-背景與團隊" data-numberify>1.1 背景與團隊<a class="anchor ms-1" href="#11-背景與團隊"></a></h3>
<p><code>pretrain-gnns</code> 是史丹佛大學 SNAP（Stanford Network Analysis Project）實驗室在 2020 年 ICLR 發表的代表作之一，作者群包含 Jure Leskovec（圖神經網路領域重量級學者，也是 GraphSAGE、OGB(Open Graph Benchmark) 的主要推動者）與 Marinka Zitnik（生醫圖學習專家）。這篇論文回答的核心問題是：</p>]]></description></item><item><title>stark 完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-14-stanford-stark-tutorial/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-14-stanford-stark-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/snap-stanford/stark" target="_blank" rel="noopener noreferrer">https://github.com/snap-stanford/stark<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 334 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>論文</strong>: <a href="https://arxiv.org/abs/2404.13207" target="_blank" rel="noopener noreferrer">STaRK: Benchmarking LLM Retrieval on Textual and Relational Knowledge Bases<i class="fas fa-external-link-square-alt ms-1"></i></a>（NeurIPS 2024 Datasets &amp; Benchmarks Track）
<strong>官網</strong>: <a href="https://stark.stanford.edu/" target="_blank" rel="noopener noreferrer">https://stark.stanford.edu/<i class="fas fa-external-link-square-alt ms-1"></i></a> ｜ <strong>PyPI</strong>: <code>stark-qa</code> ｜ <strong>Leaderboard</strong>: HuggingFace Space</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-專案背景研究團隊與動機" data-numberify>1.1 專案背景、研究團隊與動機<a class="anchor ms-1" href="#11-專案背景研究團隊與動機"></a></h3>
<p>STaRK（Semi-structured Retrieval Benchmark，STaRK; 半結構化檢索基準）是由 <strong>Stanford SNAP（Stanford Network Analysis Project; 史丹佛網路分析計畫）實驗室</strong>（Jure Leskovec 團隊）與 <strong>Amazon</strong> 合作發表的大規模檢索評測基準（benchmark; 基準測試），於 2024 年 NeurIPS Datasets &amp; Benchmarks Track 發表。</p>]]></description></item><item><title>AutoScientists 教學文件</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-autoscientists-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-autoscientists-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/mims-harvard/AutoScientists" target="_blank" rel="noopener noreferrer">mims-harvard/AutoScientists<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 688 · <strong>Forks</strong>: 111 · <strong>語言</strong>: Python
<strong>一句話簡介</strong>：Self-Organizing Agent Teams for Long-Running Scientific Experimentation（自組織 agent (代理人) 團隊，用於長時間執行的科學實驗）
<strong>論文</strong>：Gao, Fang, Zitnik. <em>AutoScientists: Self-Organizing Agent Teams for Long-Running Scientific Experimentation</em>. arXiv:2605.28655
<strong>出處</strong>：Harvard Medical School, Zitnik Lab (mims-harvard)</p>]]></description></item><item><title>Decagon 教學：多關係圖卷積網路的藥物交互作用預測</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-decagon-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-decagon-tutorial/</guid><description><![CDATA[<h1 id="decagon-教學多關係圖卷積網路的藥物交互作用預測" data-numberify>Decagon 教學：多關係圖卷積網路的藥物交互作用預測<a class="anchor ms-1" href="#decagon-教學多關係圖卷積網路的藥物交互作用預測"></a></h1>
<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/decagon" target="_blank" rel="noopener noreferrer"><code>mims-harvard/decagon</code><i class="fas fa-external-link-square-alt ms-1"></i></a> · ⭐ 472 · MIT License
論文：Zitnik M, Agrawal M, Leskovec J. <em>Modeling polypharmacy side effects with graph convolutional networks.</em> Bioinformatics. 2018;34(13):i457–i466. <a href="https://doi.org/10.1093/bioinformatics/bty294" target="_blank" rel="noopener noreferrer">DOI: 10.1093/bioinformatics/bty294<i class="fas fa-external-link-square-alt ms-1"></i></a></p>]]></description></item><item><title>mims-harvard/TDC 完整教學：Therapeutics Data Commons (TDC; 治療科學資料共享平台)</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-tdc-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-tdc-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/TDC" target="_blank" rel="noopener noreferrer">mims-harvard/TDC<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 1263 · Forks: 219 · Language: Jupyter Notebook · License: MIT
官網：<a href="https://tdcommons.ai" target="_blank" rel="noopener noreferrer">tdcommons.ai<i class="fas fa-external-link-square-alt ms-1"></i></a> · PyPI: <code>PyTDC</code></p></blockquote>
<hr>

<h2 id="目錄" data-numberify>目錄<a class="anchor ms-1" href="#目錄"></a></h2>
<ol>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#1-%e5%b0%88%e6%a1%88%e6%a6%82%e8%bf%b0-project-overview">專案概述</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#2-%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%a7%8b-core-architecture">核心架構</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#3-%e5%ae%89%e8%a3%9d%e8%88%87%e8%a8%ad%e5%ae%9a-installation--setup">安裝與設定</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#4-%e5%9f%ba%e6%9c%ac%e4%bd%bf%e7%94%a8-basic-usage">基本使用</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#5-%e9%80%b2%e9%9a%8e%e5%8a%9f%e8%83%bd%e8%88%87%e6%87%89%e7%94%a8%e5%a0%b4%e6%99%af-advanced-features--use-cases">進階功能與應用場景</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#6-aikt-%e6%95%b4%e5%90%88%e5%88%86%e6%9e%90%e8%88%87%e7%ad%96%e7%95%a5-aikt-integration--strategy">AIKT 整合分析與策略</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#7-%e6%95%88%e8%83%bd%e9%99%90%e5%88%b6%e8%88%87%e6%9b%bf%e4%bb%a3%e6%96%b9%e6%a1%88-performance-limitations--alternatives">效能、限制與替代方案</a></li>
<li><a href="/post/2026-07-10-harvard-tdc-tutorial/#8-%e7%b8%bd%e7%b5%90%e8%88%87%e5%bb%ba%e8%ad%b0-summary--recommendations">總結與建議</a></li>
</ol>
<hr>

<h2 id="1-專案概述-project-overview" data-numberify>1. 專案概述 (Project Overview)<a class="anchor ms-1" href="#1-專案概述-project-overview"></a></h2>

<h3 id="11-一句話說明" data-numberify>1.1 一句話說明<a class="anchor ms-1" href="#11-一句話說明"></a></h3>
<p>Therapeutics Data Commons (TDC; 治療科學資料共享平台) 是哈佛醫學院 Marinka Zitnik 實驗室（mims-harvard）主導的開源專案，把「藥物發現與開發」這個極度分散、格式混亂的資料世界，整理成一套<strong>可直接餵給機器學習模型</strong>的標準化資料集、評測基準 (benchmark) 與排行榜 (leaderboard) 系統。它的 PyPI 套件叫 <code>PyTDC</code>，安裝後只要三行程式碼就能拿到一份乾淨、已切分好訓練/驗證/測試集的生醫資料。</p>]]></description></item><item><title>PINNACLE：讓蛋白質表徵「知道自己在哪個細胞裡」的情境感知 AI 模型</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-pinnacle-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-pinnacle-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/PINNACLE" target="_blank" rel="noopener noreferrer">mims-harvard/PINNACLE<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 109 · Forks: 26 · Language: Python · License: MIT
論文：Li et al., <em>Contextual AI models for single-cell protein biology</em>, <strong>Nature Methods</strong> (2024)（前身為 <a href="https://www.biorxiv.org/content/10.1101/2023.07.18.549602" target="_blank" rel="noopener noreferrer">bioRxiv 2023.07.18.549602<i class="fas fa-external-link-square-alt ms-1"></i></a>）
專案首頁：<a href="https://zitniklab.hms.harvard.edu/projects/PINNACLE" target="_blank" rel="noopener noreferrer">zitniklab.hms.harvard.edu/projects/PINNACLE<i class="fas fa-external-link-square-alt ms-1"></i></a>
Demo：<a href="https://huggingface.co/spaces/michellemli/PINNACLE/" target="_blank" rel="noopener noreferrer">huggingface.co/spaces/michellemli/PINNACLE<i class="fas fa-external-link-square-alt ms-1"></i></a>
分類：Molecular &amp; Protein Science（分子與蛋白質科學）</p>]]></description></item><item><title>PrimeKG 完整教學：精準醫療知識圖譜 (Precision Medicine Knowledge Graph)</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-primekg-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-primekg-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/mims-harvard/PrimeKG" target="_blank" rel="noopener noreferrer">mims-harvard/PrimeKG<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 791 · <strong>Forks</strong>: 154 · <strong>Language</strong>: Jupyter Notebook · <strong>License</strong>: MIT
<strong>Lab</strong>: Harvard Medical School — Marinka Zitnik Lab (MIMS = <strong>M</strong>achine <strong>I</strong>ntelligence for <strong>M</strong>edicine and <strong>S</strong>cience)
<strong>論文</strong>: Chandak, Huang, Zitnik. <em>&ldquo;Building a knowledge graph to enable precision medicine.&rdquo;</em> Nature Scientific Data, 2023.</p></blockquote>

<blockquote class="alert alert-info" role="alert">
    <p class="alert-heading fw-bold">
      <i class="fas fa-info-circle me-2"></i>Note
    </p>
    <p>官方 README 目前在最上方明確標註：<strong>PrimeKG 已被 <a href="https://optimuskg.ai" target="_blank" rel="noopener noreferrer">OptimusKG<i class="fas fa-external-link-square-alt ms-1"></i></a> 取代</strong>。OptimusKG 包含 PrimeKG 的完整超集 (superset) 資料，並持續更新，官方建議幾乎所有情境都改用 OptimusKG。本教學仍以 PrimeKG 為主體撰寫（因為它是目前生態系中被最多下游工具、論文與教材引用的版本，且 API/資料結構是理解 OptimusKG 的基礎），但在第 7 節會完整說明這個世代交替對使用者的實際意義。</p>]]></description></item><item><title>ProCyon：蛋白質表型的多模態基礎模型完整教學</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-procyon-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-procyon-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/ProCyon" target="_blank" rel="noopener noreferrer">mims-harvard/ProCyon<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 60 · Language: Python · License: MIT
分類：分子與蛋白質科學 (Molecular &amp; Protein Science; 分子與蛋白質科學)
論文：Queen et al., <em>ProCyon: A multimodal foundation model for protein phenotypes</em>, bioRxiv 2024.12.10.627665</p></blockquote>
<hr>

<h2 id="1-專案概述-project-overview" data-numberify>1. 專案概述 (Project Overview)<a class="anchor ms-1" href="#1-專案概述-project-overview"></a></h2>

<h3 id="11-一句話說明" data-numberify>1.1 一句話說明<a class="anchor ms-1" href="#11-一句話說明"></a></h3>
<p>ProCyon 是由 Harvard Medical School 的 Zitnik Lab（也就是 mims-harvard 團隊）開發的<strong>多模態基礎模型 (multimodal foundation model; 多模態基礎模型)</strong>，目標是「看懂蛋白質的表型 (phenotype; 表型)」——也就是一個蛋白質在細胞裡實際扮演的角色、跟什麼藥物結合、跟什麼疾病有關、屬於哪個功能分類。</p>]]></description></item><item><title>SHEPHERD 完整教學：用少樣本圖神經網路做罕見疾病表型驅動診斷</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-shepherd-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-shepherd-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/SHEPHERD" target="_blank" rel="noopener noreferrer">mims-harvard/SHEPHERD<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 83 · Language: HTML（文件/專案頁）；核心程式碼為 Python + PyTorch + PyTorch Geometric
論文：<a href="https://www.nature.com/articles/s41746-025-01749-1" target="_blank" rel="noopener noreferrer">npj Digital Medicine 8, 1–22 (2025)<i class="fas fa-external-link-square-alt ms-1"></i></a> ——「Few shot learning for phenotype-driven diagnosis of patients with rare genetic diseases」
線上 Demo：<a href="https://huggingface.co/spaces/emilyalsentzer/SHEPHERD" target="_blank" rel="noopener noreferrer">Hugging Face Space<i class="fas fa-external-link-square-alt ms-1"></i></a> · 專案頁：<a href="https://zitniklab.hms.harvard.edu/projects/SHEPHERD" target="_blank" rel="noopener noreferrer">zitniklab.hms.harvard.edu/projects/SHEPHERD<i class="fas fa-external-link-square-alt ms-1"></i></a>
出處實驗室：Harvard MIMS Lab（Marinka Zitnik 實驗室）+ 波士頓兒童醫院/UDN 臨床團隊
License：MIT</p>]]></description></item><item><title>ToolUniverse 教學文件：用 1000+ 科學工具打造 AI 科學家</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-tooluniverse-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-tooluniverse-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/ToolUniverse" target="_blank" rel="noopener noreferrer">mims-harvard/ToolUniverse<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 1554 · Forks: 235 · License: Apache-2.0 · Language: Python
論文: <a href="https://arxiv.org/abs/2509.23426" target="_blank" rel="noopener noreferrer">Democratizing AI Scientists using ToolUniverse<i class="fas fa-external-link-square-alt ms-1"></i></a> (arXiv:2509.23426, 2025)
官網: <a href="https://aiscientist.tools" target="_blank" rel="noopener noreferrer">https://aiscientist.tools<i class="fas fa-external-link-square-alt ms-1"></i></a> · 文件: <a href="https://zitniklab.hms.harvard.edu/ToolUniverse/" target="_blank" rel="noopener noreferrer">https://zitniklab.hms.harvard.edu/ToolUniverse/<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="目錄" data-numberify>目錄<a class="anchor ms-1" href="#目錄"></a></h2>
<ol>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#1-%e5%b0%88%e6%a1%88%e6%a6%82%e8%bf%b0-project-overview">專案概述</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#2-%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%a7%8b-core-architecture">核心架構</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#3-%e5%ae%89%e8%a3%9d%e8%88%87%e8%a8%ad%e5%ae%9a-installation--setup">安裝與設定</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#4-%e5%9f%ba%e6%9c%ac%e4%bd%bf%e7%94%a8-basic-usage">基本使用</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#5-%e9%80%b2%e9%9a%8e%e5%8a%9f%e8%83%bd%e8%88%87%e6%87%89%e7%94%a8%e5%a0%b4%e6%99%af-advanced-features--use-cases">進階功能與應用場景</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#6-aikt-%e6%95%b4%e5%90%88%e5%88%86%e6%9e%90%e8%88%87%e7%ad%96%e7%95%a5-aikt-integration--strategy">AIKT 整合分析與策略</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#7-%e6%95%88%e8%83%bd%e9%99%90%e5%88%b6%e8%88%87%e6%9b%bf%e4%bb%a3%e6%96%b9%e6%a1%88-performance-limitations--alternatives">效能、限制與替代方案</a></li>
<li><a href="/post/2026-07-10-harvard-tooluniverse-tutorial/#8-%e7%b8%bd%e7%b5%90%e8%88%87%e5%bb%ba%e8%ad%b0-summary--recommendations">總結與建議</a></li>
</ol>
<hr>

<h2 id="1-專案概述-project-overview" data-numberify>1. 專案概述 (Project Overview)<a class="anchor ms-1" href="#1-專案概述-project-overview"></a></h2>

<h3 id="11-一句話說明" data-numberify>1.1 一句話說明<a class="anchor ms-1" href="#11-一句話說明"></a></h3>
<p>ToolUniverse 是由哈佛醫學院 Marinka Zitnik 實驗室（Zitnik Lab, MIMS — Machine Intelligence for Manufacturing and Science）打造的一個「科學工具超市」：它把 1000 多個機器學習模型 (machine learning model; 機器學習模型)、資料庫 API、以及科學計算套件，全部包裝成統一格式的「工具 (tool; 工具)」，讓任何大型語言模型 (large language model; LLM; 大型語言模型) 都能像使用手機 App 一樣，直接呼叫這些科學能力。</p>]]></description></item><item><title>TxAgent 完整教學：跨工具宇宙的治療推理 AI Agent (AI Agent for Therapeutic Reasoning)</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-txagent-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-txagent-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/TxAgent" target="_blank" rel="noopener noreferrer">mims-harvard/TxAgent<i class="fas fa-external-link-square-alt ms-1"></i></a>｜Stars: 640｜Language: Python｜License: MIT
論文：Gao et al., <em>TxAgent: An AI Agent for Therapeutic Reasoning Across a Universe of Tools</em>, arXiv:2503.10970 (2025)
團隊：Harvard Medical School — Zitnik Lab (mims-harvard)</p>]]></description></item><item><title>TxGNN 完整教學：用幾何深度學習做零樣本藥物再利用預測</title><link>https://tpow-001.netlify.app/post/2026-07-10-harvard-txgnn-tutorial/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-10-harvard-txgnn-tutorial/</guid><description><![CDATA[<blockquote>
<p>Repository: <a href="https://github.com/mims-harvard/TxGNN" target="_blank" rel="noopener noreferrer">mims-harvard/TxGNN<i class="fas fa-external-link-square-alt ms-1"></i></a>
Stars: 276 · Language: Jupyter Notebook · License: MIT
論文預印本：<a href="https://www.medrxiv.org/content/10.1101/2023.03.19.23287458v2" target="_blank" rel="noopener noreferrer">medRxiv 2023.03.19.23287458<i class="fas fa-external-link-square-alt ms-1"></i></a>
線上 Explorer：<a href="http://txgnn.org/" target="_blank" rel="noopener noreferrer">txgnn.org<i class="fas fa-external-link-square-alt ms-1"></i></a>
出處實驗室：Harvard MIMS Lab（Marinka Zitnik 實驗室）</p>]]></description></item><item><title>Agent Orchestrator (代理編排器) 教學 — 平行 AI Coding Agent 監督平台</title><link>https://tpow-001.netlify.app/post/2026-07-07-agent-orchestrator-tutorial/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-07-agent-orchestrator-tutorial/</guid><description><![CDATA[<h1 id="agent-orchestrator-代理編排器-教學--平行-ai-coding-agent-監督平台" data-numberify>Agent Orchestrator (代理編排器) 教學 — 平行 AI Coding Agent 監督平台<a class="anchor ms-1" href="#agent-orchestrator-代理編排器-教學--平行-ai-coding-agent-監督平台"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Agent Orchestrator（以下簡稱 <strong>AO</strong>）是一套 <strong>Agentic IDE (代理式整合開發環境)</strong>，專門解決「同時跑多個 AI coding agent (AI 編碼代理)」會遇到的管理混亂問題。當你同時開好幾個 Claude Code / Codex / Cursor 終端機工作在同一個 repo，很快就會遇到：分支互相覆蓋、終端機視窗迷失、CI 失敗沒人跟進、review 留言沒人回、merge conflict (合併衝突) 不知道該丟給哪個 agent 處理。</p>]]></description></item><item><title>claude-real-video 教學 — 讓 Claude 真正看懂影片</title><link>https://tpow-001.netlify.app/post/2026-07-07-claude-real-video-tutorial/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-07-claude-real-video-tutorial/</guid><description><![CDATA[<h1 id="claude-real-video-claude-實時影片-教學" data-numberify>claude-real-video (Claude 實時影片) 教學<a class="anchor ms-1" href="#claude-real-video-claude-實時影片-教學"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p><code>claude-real-video (Claude 實時影片)</code>，CLI 指令別名 <code>crv</code>，解決的是一個很具體的痛點：<strong>LLM 沒辦法真正「看」影片</strong>。</p>
<p>現況盤點：</p>]]></description></item><item><title>教學：diffusionstudio/lottie — 用 Claude Code / Codex 生成 Lottie 動畫</title><link>https://tpow-001.netlify.app/post/2026-07-07-lottie-tutorial/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-07-lottie-tutorial/</guid><description><![CDATA[<h1 id="教學diffusionstudiolottie--用編碼代理生成-lottie-動畫" data-numberify>教學：diffusionstudio/lottie — 用編碼代理生成 Lottie 動畫<a class="anchor ms-1" href="#教學diffusionstudiolottie--用編碼代理生成-lottie-動畫"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p><code>diffusionstudio/lottie</code>（專案內部代號 <strong>Text-to-Lottie</strong>）解決的問題是：讓 Claude Code、Codex 這類「支援 Agent Skills 的編碼代理」直接產出可用於生產環境的 <code>Lottie (動畫格式; 又稱 Bodymovin JSON)</code> 動畫檔，而不是讓人工在 After Effects 裡逐幀調整。</p>]]></description></item><item><title>Agent Reach + Sherlock 完整教學 — AI Agent 全網能力 × OSINT 使用者搜尋深度解析</title><link>https://tpow-001.netlify.app/post/2026-07-03-agent-reach-sherlock-tutorial/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-03-agent-reach-sherlock-tutorial/</guid><description><![CDATA[<h1 id="agent-reach--sherlock-完整教學" data-numberify>Agent Reach + Sherlock 完整教學<a class="anchor ms-1" href="#agent-reach--sherlock-完整教學"></a></h1>

<h2 id="1-專案定位它們各自解決什麼問題" data-numberify>1. 專案定位：它們各自解決什麼問題？<a class="anchor ms-1" href="#1-專案定位它們各自解決什麼問題"></a></h2>

<h3 id="11-agent-reach--給-ai-agent-裝上眼睛" data-numberify>1.1 Agent Reach — 給 AI Agent 裝上「眼睛」<a class="anchor ms-1" href="#11-agent-reach--給-ai-agent-裝上眼睛"></a></h3>
<p><strong>一句話定義</strong>：Agent Reach 是一個 capability layer（能力層），讓 AI coding assistant 能夠讀取全網 15 個平台的內容。</p>]]></description></item><item><title>OpenMontage 完整教學 — AI 代理影片製作系統深度解析</title><link>https://tpow-001.netlify.app/post/2026-07-01-openmontage-tutorial/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-07-01-openmontage-tutorial/</guid><description><![CDATA[<h1 id="openmontage-完整教學--ai-代理影片製作系統深度解析" data-numberify>OpenMontage 完整教學 — AI 代理影片製作系統深度解析<a class="anchor ms-1" href="#openmontage-完整教學--ai-代理影片製作系統深度解析"></a></h1>

<h2 id="1-專案定位它解決什麼問題" data-numberify>1. 專案定位：它解決什麼問題？<a class="anchor ms-1" href="#1-專案定位它解決什麼問題"></a></h2>

<h3 id="一句話定義" data-numberify>一句話定義<a class="anchor ms-1" href="#一句話定義"></a></h3>
<p>OpenMontage 是全球第一個開源的 <strong>agentic video production system（代理式影片製作系統）</strong>，它讓你的 AI coding assistant（如 Claude Code、Cursor、Copilot）變成一整個影片製作團隊。</p>]]></description></item><item><title>AIKT 完整教學 — BD 使用者指南</title><link>https://tpow-001.netlify.app/post/2026-06-30-260630-bd-tutorial-tutorial/</link><pubDate>Tue, 30 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-30-260630-bd-tutorial-tutorial/</guid><description><![CDATA[<h1 id="ch-1歡迎--什麼是-vibe-coding" data-numberify>Ch 1：歡迎 – 什麼是 Vibe Coding？<a class="anchor ms-1" href="#ch-1歡迎--什麼是-vibe-coding"></a></h1>
<blockquote>
<p><strong>本章目標</strong>：讓從未接觸過 CLI 或程式碼的 BD（Business Development; 商務開發）人員，在 20 分鐘內理解三件事：(1) 什麼是 vibe coding，(2) Claude Code 是什麼，(3) AIKT 這套工具箱能幫你做什麼。讀完本章，你會知道為什麼你不需要學寫程式，也能讓 AI 幫你完成過去需要整個團隊才能做到的事。</p>]]></description></item><item><title>Kami — AI Document Design System Complete Tutorial</title><link>https://tpow-001.netlify.app/post/2026-06-29-kami_en-tutorial/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-29-kami_en-tutorial/</guid><description><![CDATA[<h1 id="kami--ai-document-design-system-complete-tutorial" data-numberify>Kami — AI Document Design System Complete Tutorial<a class="anchor ms-1" href="#kami--ai-document-design-system-complete-tutorial"></a></h1>
<blockquote>
<p><strong>Kami</strong> (紙, かみ) means <em>paper</em> in Japanese. It is a constraint-based design system that turns AI-generated content into professionally typeset documents. This tutorial covers the upstream open-source project <strong>and</strong> the custom extensions built on top of it for enterprise use.</p></blockquote>
<hr>

<h2 id="1-what-is-kami-專案定位" data-numberify>1. What is Kami? (專案定位)<a class="anchor ms-1" href="#1-what-is-kami-專案定位"></a></h2>

<h3 id="the-problem" data-numberify>The Problem<a class="anchor ms-1" href="#the-problem"></a></h3>
<p>AI models like Claude and GPT can write content that rivals professional human writers. But every time you ask an AI to &ldquo;make a PDF,&rdquo; you get a different layout, a different font, a different shade of gray. The output is competent but forgettable. You would never send it to an investor, a hiring committee, or a conference audience without extensive manual cleanup.</p>]]></description></item><item><title>Kami — AI 文件設計系統完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-29-kami-tutorial/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-29-kami-tutorial/</guid><description><![CDATA[<h1 id="kami--ai-文件設計系統完整教學" data-numberify>Kami — AI 文件設計系統完整教學<a class="anchor ms-1" href="#kami--ai-文件設計系統完整教學"></a></h1>
<blockquote>
<p><strong>Kami</strong> (紙, かみ) 在日文裡就是「紙」的意思。它是一套以約束為核心的設計系統 (constraint-based design system)，能把 AI 生成的內容轉成專業排版的文件。這份教學涵蓋上游開源專案本身，以及在上面打造的企業級客製化延伸。</p>]]></description></item><item><title>MinerU 完整教學 — 高精度文件解析引擎與 AIKT 整合指南</title><link>https://tpow-001.netlify.app/post/2026-06-29-mineru-tutorial/</link><pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-29-mineru-tutorial/</guid><description><![CDATA[<h1 id="mineru-完整教學--高精度文件解析引擎與-aikt-整合指南" data-numberify>MinerU 完整教學 — 高精度文件解析引擎與 AIKT 整合指南<a class="anchor ms-1" href="#mineru-完整教學--高精度文件解析引擎與-aikt-整合指南"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="什麼是-mineru" data-numberify>什麼是 MinerU？<a class="anchor ms-1" href="#什麼是-mineru"></a></h3>
<p>MinerU 是一款由 OpenDataLab 開發的開源 document parsing (文件解析) 工具，專門將複雜的 PDF、圖片、DOCX、PPTX、XLSX 等文件轉為 LLM-ready 的 Markdown / JSON 結構化格式。專案誕生於 InternLM 大模型預訓練過程中，目前是 GitHub 上最受歡迎的文件解析專案之一（~72K stars）。</p>]]></description></item><item><title>Agent Browser 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-agent-browser-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-agent-browser-tutorial/</guid><description><![CDATA[<h1 id="agent-browser-完整教學" data-numberify>Agent Browser 完整教學<a class="anchor ms-1" href="#agent-browser-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="什麼是-agent-browser" data-numberify>什麼是 Agent Browser<a class="anchor ms-1" href="#什麼是-agent-browser"></a></h3>
<p>Agent Browser 是 Vercel Labs 開發的瀏覽器自動化 CLI 工具，以 Rust 原生編譯，透過 Chrome DevTools Protocol (CDP) 直接控制 Chrome/Chromium，專為 AI agent 設計。</p>]]></description></item><item><title>Anthropic-Cybersecurity-Skills 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-anthropic-cybersecurity-skills-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-anthropic-cybersecurity-skills-tutorial/</guid><description><![CDATA[<h1 id="anthropic-cybersecurity-skills-完整教學" data-numberify>Anthropic-Cybersecurity-Skills 完整教學<a class="anchor ms-1" href="#anthropic-cybersecurity-skills-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="解決什麼問題" data-numberify>解決什麼問題<a class="anchor ms-1" href="#解決什麼問題"></a></h3>
<p>根據 ISC2 報告，2024 年全球資安人才缺口達 <strong>480 萬人</strong>。AI agent 可以協助填補這個缺口，但前提是必須具備結構化的領域知識。現有的資安工具庫提供的是 wordlist、payload 或 exploit 程式碼，而非資深分析師的決策工作流程。</p>]]></description></item><item><title>Data Engineer Handbook 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-data-engineer-handbook-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-data-engineer-handbook-tutorial/</guid><description><![CDATA[<h1 id="data-engineer-handbook-完整教學" data-numberify>Data Engineer Handbook 完整教學<a class="anchor ms-1" href="#data-engineer-handbook-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>
<p>Data Engineer Handbook 是由 DataExpert.io 創辦人 Zach Wilson 主導的開源資料工程學習資源彙整專案，在 GitHub 上累積超過 41,900 顆星，是目前資料工程領域最大的社群驅動學習導覽。</p>]]></description></item><item><title>html-slides 完整教學 — Claude Code Skill 讓你用講的做出 HTML 簡報</title><link>https://tpow-001.netlify.app/post/2026-06-26-html-slides-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-html-slides-tutorial/</guid><description><![CDATA[<h1 id="html-slides-完整教學" data-numberify>html-slides 完整教學<a class="anchor ms-1" href="#html-slides-完整教學"></a></h1>
<blockquote>
<p>Claude Code Skill：用自然語言描述需求，自動產出可直接瀏覽器開啟的單檔 HTML 簡報。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-這個專案解決什麼問題" data-numberify>1.1 這個專案解決什麼問題？<a class="anchor ms-1" href="#11-這個專案解決什麼問題"></a></h3>
<p>做簡報最常見的瓶頸不是內容不夠，而是「排版太花時間」和「工具學習成本太高」。PowerPoint 要調字型、對齊、配色；Marp 或 reveal.js 要懂 markdown 或前端框架。html-slides 的核心主張是：<strong>你只需要用自然語言說出需求，Claude Code 就幫你完成從草案到成品的全流程</strong>。</p>]]></description></item><item><title>Marp 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-marp-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-marp-tutorial/</guid><description><![CDATA[<h1 id="marp-完整教學" data-numberify>Marp 完整教學<a class="anchor ms-1" href="#marp-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="什麼是-marp" data-numberify>什麼是 Marp？<a class="anchor ms-1" href="#什麼是-marp"></a></h3>
<p><strong>Marp</strong>（<strong>Mar</strong>kdown <strong>P</strong>resentation Ecosystem）是一個以純 Markdown 撰寫簡報的完整生態系。它的核心理念是「<strong>內容與樣式分離</strong>（Separation of Content and Style）」——你只需要專注於簡報的文字內容與邏輯結構，視覺呈現則交由 CSS 主題系統處理。</p>]]></description></item><item><title>Medical Research Skills 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-medical-research-skills-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-medical-research-skills-tutorial/</guid><description><![CDATA[<h1 id="medical-research-skills-完整教學" data-numberify>Medical Research Skills 完整教學<a class="anchor ms-1" href="#medical-research-skills-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p><strong>Medical Research Skills</strong> 是由 AIPOCH 團隊開發的開源醫學研究 AI Agent Skill 庫，收錄 <strong>554+ 個結構化 SKILL.md 檔案</strong>。這些 skill 並非傳統意義上的「程式碼套件」，而是為 AI agent 提供的<strong>領域知識指令集</strong>：每個 SKILL.md 定義了一個特定醫學研究任務的完整工作流程、判斷邏輯與品質檢核標準。</p>]]></description></item><item><title>OpenFate Bazi MCP 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-26-bazi-mcp-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-bazi-mcp-tutorial/</guid><description><![CDATA[<h1 id="openfate-bazi-mcp-完整教學" data-numberify>OpenFate Bazi MCP 完整教學<a class="anchor ms-1" href="#openfate-bazi-mcp-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="解決什麼問題" data-numberify>解決什麼問題<a class="anchor ms-1" href="#解決什麼問題"></a></h3>
<p>大型語言模型（LLM）在面對八字（四柱）排盤計算時，往往會產生<strong>曆法運算幻覺</strong>。八字排盤並非文字推理題，而是涉及確定性曆法計算的精密工程，包含：</p>]]></description></item><item><title>PPT Master 完整教學 — AI 生成原生可編輯 PowerPoint</title><link>https://tpow-001.netlify.app/post/2026-06-26-ppt-master-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-ppt-master-tutorial/</guid><description><![CDATA[<h1 id="ppt-master-完整教學--ai-生成原生可編輯-powerpoint" data-numberify>PPT Master 完整教學 — AI 生成原生可編輯 PowerPoint<a class="anchor ms-1" href="#ppt-master-完整教學--ai-生成原生可編輯-powerpoint"></a></h1>
<blockquote>
<p>從「一份文件」到「一副完整投影片」的端到端 AI 工作流</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-ppt-master-是什麼" data-numberify>1.1 PPT Master 是什麼<a class="anchor ms-1" href="#11-ppt-master-是什麼"></a></h3>
<p>PPT Master 是一個開源的 AI 簡報生成 skill（GitHub 31K+ stars），讓你透過 AI IDE（如 Claude Code、Cursor、VS Code Copilot）對話式地將任何文件轉換為<strong>真正可編輯的 PowerPoint</strong>。</p>]]></description></item><item><title>VueUse 完整教學 — Vue 3 Composition Utilities 實戰指南</title><link>https://tpow-001.netlify.app/post/2026-06-26-vueuse-tutorial/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-26-vueuse-tutorial/</guid><description><![CDATA[<h1 id="vueuse-完整教學--vue-3-composition-utilities-實戰指南" data-numberify>VueUse 完整教學 — Vue 3 Composition Utilities 實戰指南<a class="anchor ms-1" href="#vueuse-完整教學--vue-3-composition-utilities-實戰指南"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>VueUse 是 Vue 3 生態系中最受歡迎的 Composition API 工具函式庫，由 Anthony Fu（Vue / Vite / Nuxt 核心團隊成員）主導開發。專案自 2019 年底啟動，截至 2026 年 6 月已累積超過 22,000 個 GitHub Stars、2,900 個 Forks，npm 月下載量超過百萬。</p>]]></description></item><item><title>AI Engineering from Scratch 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-24-ai-engineering-from-scratch-tutorial/</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-24-ai-engineering-from-scratch-tutorial/</guid><description><![CDATA[<h1 id="ai-engineering-from-scratch-完整教學" data-numberify>AI Engineering from Scratch 完整教學<a class="anchor ms-1" href="#ai-engineering-from-scratch-完整教學"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>AI Engineering from Scratch 是目前 GitHub 上最完整的開源 AI 工程課程之一（36K+ stars）。它解決了一個核心問題：<strong>大多數 AI 教材零散、片段，學了 fine-tuning 卻解釋不了 loss curve，接了 agent tool call 卻不知道 attention 機制在做什麼。</strong></p>]]></description></item><item><title>Seurat v5 完整教學：單細胞 RNA-seq 分析從零到進階</title><link>https://tpow-001.netlify.app/post/2026-06-24-seurat-tutorial/</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-24-seurat-tutorial/</guid><description><![CDATA[<h1 id="seurat-v5-完整教學單細胞-rna-seq-分析從零到進階" data-numberify>Seurat v5 完整教學：單細胞 RNA-seq 分析從零到進階<a class="anchor ms-1" href="#seurat-v5-完整教學單細胞-rna-seq-分析從零到進階"></a></h1>
<hr>

<h2 id="1-專案定位與生態系統" data-numberify>1. 專案定位與生態系統<a class="anchor ms-1" href="#1-專案定位與生態系統"></a></h2>

<h3 id="11-什麼是-seurat" data-numberify>1.1 什麼是 Seurat？<a class="anchor ms-1" href="#11-什麼是-seurat"></a></h3>
<p><strong>Seurat</strong> 是一套以 R 語言開發的 single-cell genomics (單細胞基因體學) 分析工具套件，由 New York Genome Center 的 Satija Lab 維護。它提供了從原始 count matrix (計數矩陣) 到生物學詮釋的完整分析流程。</p>]]></description></item><item><title>AGI（Agentic Guideline Intelligence）完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-23-agi-tutorial/</link><pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-23-agi-tutorial/</guid><description><![CDATA[<h1 id="agiagentic-guideline-intelligence完整教學" data-numberify>AGI（Agentic Guideline Intelligence）完整教學<a class="anchor ms-1" href="#agiagentic-guideline-intelligence完整教學"></a></h1>

<h2 id="第-1-章專案定位與核心價值" data-numberify>第 1 章：專案定位與核心價值<a class="anchor ms-1" href="#第-1-章專案定位與核心價值"></a></h2>

<h3 id="11-什麼是-agi" data-numberify>1.1 什麼是 AGI？<a class="anchor ms-1" href="#11-什麼是-agi"></a></h3>
<p>AGI（Agentic Guideline Intelligence; 代理式規範智慧）是一套<strong>從 128 份國際品牌 Brand Guideline（品牌規範手冊）蒸餾而成的知識圖譜系統</strong>。它不是傳統的 Web 應用程式，也不是單純的文件範本庫——而是一套結合<strong>結構化知識庫 + AI Agent Skill + 推理引擎</strong>的完整工作流，目標是讓 AI 代理人能模擬高階設計師的決策順序，為新客戶規劃並撰寫 Brand Guideline 初稿。</p>]]></description></item><item><title>Deep-Research-Agent 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-23-deep-research-agent-tutorial/</link><pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-23-deep-research-agent-tutorial/</guid><description><![CDATA[<h1 id="deep-research-agent-完整教學" data-numberify>Deep Research Agent 完整教學<a class="anchor ms-1" href="#deep-research-agent-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Deep Research Agent（又名 <code>Deep Science Writer</code>）是一套工業等級的端到端 <code>scientific research pipeline (科學研究管線)</code>，專為 <code>Hermes/ECC framework (Hermes/ECC 框架)</code> 打造的 AI agent skill。它完全自動化學術 <code>literature review (文獻回顧)</code> 流程 — 從主題規劃、跨資料庫論文蒐集、全文深度閱讀、反幻覺驗證，到 APA 第 7 版 <code>.docx</code> 產出與知識庫匯入。</p>]]></description></item><item><title>due-diligence-agents 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-23-due-diligence-agents-tutorial/</link><pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-23-due-diligence-agents-tutorial/</guid><description><![CDATA[<h1 id="due-diligence-agents-完整教學" data-numberify>due-diligence-agents 完整教學<a class="anchor ms-1" href="#due-diligence-agents-完整教學"></a></h1>
<blockquote>
<p><strong>zoharbabin/due-diligence-agents</strong> — 開源法醫式 M&amp;A 盡職調查工具：13 個 AI agent 平行分析資料室，跨 9 個領域交叉比對，每個發現追溯到確切引文。</p></blockquote>
<hr>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="11-解決什麼問題" data-numberify>1.1 解決什麼問題<a class="anchor ms-1" href="#11-解決什麼問題"></a></h3>
<p>在併購（M&amp;A; Mergers &amp; Acquisitions）盡職調查（Due Diligence; DD）流程中，企業發展團隊面臨三大瓶頸：</p>]]></description></item><item><title>hush 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-23-hush-tutorial/</link><pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-23-hush-tutorial/</guid><description><![CDATA[<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="問題背景" data-numberify>問題背景<a class="anchor ms-1" href="#問題背景"></a></h3>
<p>傳統開發流程中，<code>.env</code> 檔案是管理環境變數的主流方式，但在 AI 編碼代理（如 Claude Code、OpenAI Codex）日益普及的今天，<code>.env</code> 檔案已成為嚴重的安全隱患：</p>]]></description></item><item><title>OpenPencil 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-23-open-pencil-tutorial/</link><pubDate>Tue, 23 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-23-open-pencil-tutorial/</guid><description><![CDATA[<h1 id="openpencil-完整教學" data-numberify>OpenPencil 完整教學<a class="anchor ms-1" href="#openpencil-完整教學"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>OpenPencil 是一款 <strong>AI 原生的開源設計編輯器 (AI-native open-source design editor)</strong>，定位為 Figma 的開源替代方案。它不只是一個設計工具，更是一個 <strong>可程式化的設計平台 (programmable design platform)</strong>，讓設計工作能被 CLI 腳本、AI Agent、自動化 pipeline 所驅動。</p>]]></description></item><item><title>AlphaDev：以深度強化學習發現更快排序演算法的完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphadev-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphadev-tutorial/</guid><description><![CDATA[<h1 id="alphadev以深度強化學習發現更快排序演算法" data-numberify>AlphaDev：以深度強化學習發現更快排序演算法<a class="anchor ms-1" href="#alphadev以深度強化學習發現更快排序演算法"></a></h1>
<blockquote>
<p><strong>論文</strong>：Mankowitz, D.J. et al. &ldquo;Faster sorting algorithms discovered using deep reinforcement learning.&rdquo; <em>Nature</em> 618, 257&ndash;263 (2023). DOI: <a href="https://doi.org/10.1038/s41586-023-06004-9" target="_blank" rel="noopener noreferrer">10.1038/s41586-023-06004-9<i class="fas fa-external-link-square-alt ms-1"></i></a></p>]]></description></item><item><title>AlphaFold 3 完整教學 — 生物分子結構預測推論管線</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphafold3-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphafold3-tutorial/</guid><description><![CDATA[<h1 id="alphafold-3-完整教學--生物分子結構預測推論管線" data-numberify>AlphaFold 3 完整教學 — 生物分子結構預測推論管線<a class="anchor ms-1" href="#alphafold-3-完整教學--生物分子結構預測推論管線"></a></h1>
<blockquote>
<p><strong>來源</strong>: <a href="https://github.com/google-deepmind/alphafold3" target="_blank" rel="noopener noreferrer">google-deepmind/alphafold3<i class="fas fa-external-link-square-alt ms-1"></i></a> | 8,239 stars | 1,270 forks | Python | Apache-2.0</p>
<p><strong>論文</strong>: Abramson, J. et al. &ldquo;Accurate structure prediction of biomolecular interactions with AlphaFold 3.&rdquo; <em>Nature</em> 630, 493-500 (2024). <a href="https://doi.org/10.1038/s41586-024-07487-w" target="_blank" rel="noopener noreferrer">doi:10.1038/s41586-024-07487-w<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概述-project-overview" data-numberify>1. 專案概述 (Project Overview)<a class="anchor ms-1" href="#1-專案概述-project-overview"></a></h2>

<h3 id="11-什麼是-alphafold-3" data-numberify>1.1 什麼是 AlphaFold 3？<a class="anchor ms-1" href="#11-什麼是-alphafold-3"></a></h3>
<p>AlphaFold 3 (AF3) 是 Google DeepMind 開發的第三代 biomolecular structure prediction (生物分子結構預測) 系統。相較於 AlphaFold 2 僅能預測蛋白質結構，AF3 將預測範圍大幅擴展至所有生物分子的交互作用 (biomolecular interaction)，包括：</p>]]></description></item><item><title>AlphaGenome -- Google DeepMind DNA 調控密碼統一模型完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphagenome-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphagenome-tutorial/</guid><description><![CDATA[<h1 id="alphagenome--google-deepmind-dna-調控密碼統一模型完整教學" data-numberify>AlphaGenome – Google DeepMind DNA 調控密碼統一模型完整教學<a class="anchor ms-1" href="#alphagenome--google-deepmind-dna-調控密碼統一模型完整教學"></a></h1>
<blockquote>
<p><strong>AlphaGenome</strong> 是 Google DeepMind 開發的統一基因體模型 (unified genomic model)，能從 DNA 序列 (DNA sequence) 同時預測 gene expression (基因表現)、splicing patterns (剪接模式)、chromatin features (染色質特徵) 與 contact maps (接觸圖譜)，最長可分析 <strong>100 萬鹼基對</strong>，並達到 <strong>single base-pair resolution (單鹼基解析度)</strong>。</p>]]></description></item><item><title>AlphaGeometry2 - AI 幾何定理證明系統完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphageometry2-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphageometry2-tutorial/</guid><description><![CDATA[<h1 id="alphageometry2---金牌等級的-ai-幾何定理自動證明系統" data-numberify>AlphaGeometry2 - 金牌等級的 AI 幾何定理自動證明系統<a class="anchor ms-1" href="#alphageometry2---金牌等級的-ai-幾何定理自動證明系統"></a></h1>

<h2 id="1-專案概述-project-overview" data-numberify>1. 專案概述 (Project Overview)<a class="anchor ms-1" href="#1-專案概述-project-overview"></a></h2>

<h3 id="11-什麼是-alphageometry2" data-numberify>1.1 什麼是 AlphaGeometry2<a class="anchor ms-1" href="#11-什麼是-alphageometry2"></a></h3>
<p>AlphaGeometry2 是 Google DeepMind 開發的 <strong>幾何定理自動證明系統 (automated geometry theorem prover)</strong>，為 2024 年發表的 AlphaGeometry 之重大升級版本。該系統在解決 <strong>國際數學奧林匹克 (International Mathematical Olympiad, IMO)</strong> 幾何問題上，已達到甚至超越 <strong>金牌得主 (gold medalist)</strong> 的平均水準。</p>]]></description></item><item><title>AlphaMissense 完整技術教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphamisense-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-alphamisense-tutorial/</guid><description><![CDATA[<h1 id="alphamissense-完整技術教學" data-numberify>AlphaMissense 完整技術教學<a class="anchor ms-1" href="#alphamissense-完整技術教學"></a></h1>
<blockquote>
<p><strong>AlphaMissense</strong> — Google DeepMind 發佈的 missense variant pathogenicity (錯義變異致病性) 預測模型，基於 AlphaFold 2 架構修改而成，可對人類蛋白質體中所有可能的單胺基酸替換進行致病性評分。</p>]]></description></item><item><title>Concordia -- Google DeepMind 生成式社會模擬框架完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-concordia-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-concordia-tutorial/</guid><description><![CDATA[<h1 id="concordia--google-deepmind-生成式社會模擬框架完整教學" data-numberify>Concordia – Google DeepMind 生成式社會模擬框架完整教學<a class="anchor ms-1" href="#concordia--google-deepmind-生成式社會模擬框架完整教學"></a></h1>
<blockquote>
<p>Concordia 是由 Google DeepMind 開發的開源 Python 函式庫，用於建構以大型語言模型 (Large Language Model; LLM) 驅動的多代理人 (Multi-Agent) 生成式社會模擬 (Generative Social Simulation)。它採用桌上角色扮演遊戲 (Tabletop Role-Playing Game; TRPG) 的互動模式，讓代理人以自然語言 (Natural Language) 描述行動意圖，再由遊戲主持人 (Game Master; GM) 判定行動結果與環境變化。</p>]]></description></item><item><title>Gemma — Google DeepMind 開放權重大型語言模型家族完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-gemma-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-gemma-tutorial/</guid><description><![CDATA[<h1 id="gemma--google-deepmind-開放權重大型語言模型家族完整教學" data-numberify>Gemma — Google DeepMind 開放權重大型語言模型家族完整教學<a class="anchor ms-1" href="#gemma--google-deepmind-開放權重大型語言模型家族完整教學"></a></h1>
<blockquote>
<p><strong>Gemma</strong> 是 Google DeepMind 基於 Gemini 研究與技術推出的 open-weight LLM (開放權重大型語言模型) 家族。本教學涵蓋 Gemma 1 至 Gemma 4 的完整生態系統，包含純文字、多模態 (multimodal)、Mixture-of-Experts (MoE; 混合專家) 及 Diffusion LLM (擴散語言模型) 等變體。</p>]]></description></item><item><title>GNoME Materials Discovery - AI 驅動的新材料探索完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-materials-discovery-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-materials-discovery-tutorial/</guid><description><![CDATA[<h1 id="gnome-materials-discovery---ai-驅動的新材料探索完整教學" data-numberify>GNoME Materials Discovery - AI 驅動的新材料探索完整教學<a class="anchor ms-1" href="#gnome-materials-discovery---ai-驅動的新材料探索完整教學"></a></h1>
<blockquote>
<p><strong>Graph Networks for Materials Exploration (GNoME)</strong> 是 Google DeepMind 開發的材料探索專案，利用 Graph Neural Network (圖神經網路; GNN) 大規模預測無機晶體 (inorganic crystal) 的穩定性，已發現超過 381,000 種新型穩定材料 (stable materials)，並於 2024 年 8 月擴展至 520,000+ 種距 convex hull (凸包) 1 meV/atom 以內的材料。研究成果發表於 Nature (2023)。</p>]]></description></item><item><title>GraphCast 教學：基於圖神經網路的全球天氣預報 AI 模型</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-graphcast-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-graphcast-tutorial/</guid><description><![CDATA[<h1 id="graphcast-教學基於圖神經網路的全球天氣預報-ai-模型" data-numberify>GraphCast 教學：基於圖神經網路的全球天氣預報 AI 模型<a class="anchor ms-1" href="#graphcast-教學基於圖神經網路的全球天氣預報-ai-模型"></a></h1>
<blockquote>
<p>Google DeepMind GraphCast &ndash; 以 Graph Neural Network (圖神經網路) 在 Icosahedral Mesh (正二十面體網格) 上建模大氣動力學，實現 10 天全球天氣預報，精度超越 ECMWF 的 HRES 數值天氣預測系統。發表於 Science (2023)。</p>]]></description></item><item><title>SynthID Text 完整教學：AI 生成文字浮水印嵌入與偵測</title><link>https://tpow-001.netlify.app/post/2026-06-20-deepmind-synthid-text-tutorial/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-20-deepmind-synthid-text-tutorial/</guid><description><![CDATA[<h1 id="synthid-text-完整教學ai-生成文字浮水印嵌入與偵測" data-numberify>SynthID Text 完整教學：AI 生成文字浮水印嵌入與偵測<a class="anchor ms-1" href="#synthid-text-完整教學ai-生成文字浮水印嵌入與偵測"></a></h1>
<blockquote>
<p><strong>SynthID Text (合成識別文字)</strong> 是 Google DeepMind 發表於 <em>Nature</em> 期刊的 AI watermarking (AI 浮水印) 技術參考實作。本教學涵蓋從原理到實務的完整流程，適用於需要辨識 AI-generated text (AI 生成文字) 的研究者、合規人員與開發者。</p>]]></description></item><item><title>Agent SOP 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-agent-sop-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-agent-sop-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/agent-sop" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/agent-sop<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 1015 | <strong>Forks</strong>: 96 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: SOP, Workflows, Multi-step
<strong>Homepage</strong>: <a href="https://aws.amazon.com/blogs/opensource/introducing-strands-agent-sops-natural-language-workflows-for-ai-agents/" target="_blank" rel="noopener noreferrer">https://aws.amazon.com/blogs/opensource/introducing-strands-agent-sops-natural-language-workflows-for-ai-agents/<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>Agent SOP 是 Strands Agents 生態系中的<strong>自然語言工作流引擎 (Natural Language Workflow Engine)</strong>。它將複雜的多步驟任務定義為標準化的 Markdown 文件（副檔名 <code>.sop.md</code>），讓 AI Agent 能夠以一致且可靠的方式執行軟體開發、程式碼審查、文件撰寫等專業工作流程。</p>]]></description></item><item><title>extension-template 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-extension-template-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-extension-template-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/extension-template" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/extension-template<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 2 | <strong>Forks</strong>: 2 | <strong>Language</strong>: Python + TypeScript
<strong>License</strong>: Apache-2.0 | <strong>Updated</strong>: 2026-06-01
<strong>Tags</strong>: Template, Extension</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><code>extension-template</code> 是 Strands Agents 官方提供的 <strong>Extension (擴充套件) 起始模板</strong>，讓開發者能以標準化的方式建立自訂元件，並發佈到 PyPI (Python) 或 npm (TypeScript)。它是一個 Monorepo (單一儲存庫) 結構，同時包含 Python 與 TypeScript 兩種語言的模板，覆蓋 Strands Agents 框架的五大擴充點 (Extension Point)。</p>]]></description></item><item><title>Strands Agent Builder 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-agent-builder-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-agent-builder-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/agent-builder" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/agent-builder<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 419 | <strong>Forks</strong>: 89 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: Builder, Streaming, Interactive
<strong>PyPI</strong>: <code>strands-agents-builder</code> | <strong>Python</strong>: &gt;=3.10
<strong>Updated</strong>: 2026-06-16</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Strands Agent Builder 是 Strands Agents 生態系中的<strong>互動式 AI Agent 建構工具包 (interactive AI agent toolkit)</strong>，由 AWS 開源團隊開發。它提供一個終端機介面 (terminal interface)，讓開發者能夠即時建立、測試、擴充自訂 AI agent 與 tool — 而且 agent 可以<strong>在執行期間自行撰寫新工具並即時載入</strong>，無須重啟。</p>]]></description></item><item><title>Strands Agents Harness SDK 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-harness-sdk-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-harness-sdk-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/harness-sdk" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/harness-sdk<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 6,187 | <strong>Forks</strong>: 887 | <strong>License</strong>: Apache-2.0
<strong>Languages</strong>: Python, TypeScript | <strong>Tags</strong>: SDK, Agent Framework, Agentic AI, MCP, Multi-Agent Systems
<strong>Homepage</strong>: <a href="https://strandsagents.com/" target="_blank" rel="noopener noreferrer">https://strandsagents.com/<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>Strands Agents Harness SDK 是由 AWS 開源的 AI Agent (AI 代理) 開發框架，採用 <strong>model-driven (模型驅動)</strong> 的設計哲學，讓開發者只需數行程式碼就能建立功能完整的 AI Agent。這是一個 <strong>monorepo (單一程式碼倉庫)</strong>，同時包含 Python SDK 與 TypeScript SDK，以及文件網站、WebAssembly bindings (WASM 綁定) 和開發者 CLI 工具。</p>]]></description></item><item><title>Strands Agents Samples 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-samples-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-samples-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/samples" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/samples<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 793 | <strong>Forks</strong>: 420 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: Examples, Python, Demos, agentic-ai, multi-agent-systems, mcp, opentelemetry, bedrock, llm
<strong>Official Site</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Last Updated</strong>: 2026-06-17</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><strong>Strands Agents Samples</strong> 是 Strands Agents 生態系的官方範例庫 (official sample repository)，由 AWS 團隊維護。它收錄了超過 50 個實作範例，涵蓋從「三行程式碼建立第一個 Agent」到「多 Agent Swarm 協作」、「邊緣裝置機器人控制」等完整應用場景。</p>]]></description></item><item><title>Strands Agents SDK TypeScript 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-sdk-typescript-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-sdk-typescript-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/sdk-typescript" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/sdk-typescript<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 699 | <strong>Forks</strong>: 103 | <strong>License</strong>: Apache-2.0
<strong>語言</strong>: TypeScript | <strong>NPM</strong>: <code>@strands-agents/sdk</code>
<strong>官網</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Tags</strong>: agents, ai, autonomous-agents, bedrock, genai, llm, mcp, multi-agent-systems, openai, opentelemetry, typescript, javascript, strands-agents</p></blockquote>
<blockquote>
<p><strong>注意</strong>: 此 repo 已 archived，TypeScript SDK 已遷移至 <a href="https://github.com/strands-agents/harness-sdk" target="_blank" rel="noopener noreferrer">strands-agents/harness-sdk<i class="fas fa-external-link-square-alt ms-1"></i></a> monorepo 的 <code>strands-ts/</code> 目錄。本教學內容基於遷移前的完整原始碼，API 與架構仍然有效。</p>]]></description></item><item><title>Strands Agents 生態系完整比較論述</title><link>https://tpow-001.netlify.app/post/2026-06-18-strands-agents-comparison/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-strands-agents-comparison/</guid><description><![CDATA[<blockquote>
<p><strong>涵蓋範圍</strong>：12 個 GitHub 專案的深度比較分析
<strong>適用對象</strong>：生物資訊分析師（Bioinformatics Analyst）、藥物開發團隊、AI 工具整合者
<strong>分析日期</strong>：2026-06-18
<strong>總星數</strong>：10,949 stars（合計 12 個 repo）</p>]]></description></item><item><title>Strands Evals 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-evals-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-evals-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/evals" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/evals<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 144 | <strong>Forks</strong>: 39 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: Evaluation, Testing, LLM, Agentic AI, Machine Learning
<strong>PyPI</strong>: <code>strands-agents-evals</code> | <strong>Python</strong>: 3.10+
<strong>Homepage</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>Strands Evals 是 <strong>Strands Agents 生態系</strong> 中的綜合評估框架 (Comprehensive Evaluation Framework)，由 AWS 開源團隊開發維護。它為 AI Agent 與 LLM 應用提供從簡單的輸出驗證 (Output Validation) 到複雜的多 Agent 互動分析 (Multi-Agent Interaction Analysis)、軌跡評估 (Trajectory Evaluation)、自動化實驗生成 (Automated Experiment Generation) 等全方位評估能力。</p>]]></description></item><item><title>Strands Shell 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-shell-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-shell-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/shell" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/shell<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 103 | <strong>Forks</strong>: 12 | <strong>Language</strong>: Rust
<strong>License</strong>: Apache-2.0 | <strong>Last Updated</strong>: 2026-06-17
<strong>Homepage</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Tags</strong>: Shell, Rust, Sandboxing</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>Strands Shell 是一個完全在 userspace (使用者空間) 中執行的 Bourne-compatible shell (Bourne 相容 shell)，專為 AI agent (AI 代理人) 設計。它的核心理念是：<strong>給 agent 一個 shell，但不給它你機器的鑰匙</strong>。</p>]]></description></item><item><title>strands-agents/devtools 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-devtools-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-devtools-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/devtools" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/devtools<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 13 | <strong>Forks</strong>: 15 | <strong>Language</strong>: Python
<strong>License</strong>: Apache-2.0 | <strong>Last Updated</strong>: 2026-06-15
<strong>Tags</strong>: agentic, agents, ai, strands-agents
<strong>Homepage</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><code>strands-agents/devtools</code> 是 Strands Agents 生態系的 <strong>共用 DevOps 基礎設施 (shared DevOps infrastructure)</strong>，提供跨組織 (cross-organization) 的 GitHub Actions、可重用工作流 (reusable workflows)、以及 AI agent 執行引擎。它讓 Strands Agents 旗下所有 12 個 repo 能夠透過統一的 CI/CD 管線 (pipeline) 運行 AI agent、自動化 issue 分類、以及執行評估 (evaluation) 基準測試。</p>]]></description></item><item><title>strands-agents/docs 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-docs-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-docs-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/docs" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/docs<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 197 | <strong>Forks</strong>: 225 | <strong>Primary Language</strong>: MDX
<strong>License</strong>: Apache-2.0 | <strong>Website</strong>: <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Tags</strong>: agentic, agentic-ai, agents, ai, anthropic, autonomous-agents, genai, litellm, llm, machine-learning, mcp, multi-agent-systems, ollama, opentelemetry, python, bedrock, llama, openai, strands-agents</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼？<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><code>strands-agents/docs</code> 是 <strong>Strands Agents SDK</strong> 的官方文件網站 (documentation site) 原始碼。它使用 <a href="https://astro.build/" target="_blank" rel="noopener noreferrer">Astro<i class="fas fa-external-link-square-alt ms-1"></i></a> 靜態站點產生器 (static site generator; SSG) 搭配 <a href="https://starlight.astro.build/" target="_blank" rel="noopener noreferrer">Starlight<i class="fas fa-external-link-square-alt ms-1"></i></a> 文件主題，將 Markdown / MDX 格式的技術文件編譯為部署在 <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">https://strandsagents.com<i class="fas fa-external-link-square-alt ms-1"></i></a> 的完整文件站。</p>]]></description></item><item><title>strands-agents/mcp-server 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-mcp-server-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-mcp-server-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/mcp-server" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/mcp-server<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 286 | <strong>Forks</strong>: 72 | <strong>Language</strong>: Python
<strong>License</strong>: Apache-2.0 | <strong>Last Updated</strong>: 2026-06-14
<strong>PyPI</strong>: <code>strands-agents-mcp-server</code> | <strong>Python</strong>: 3.10+
<strong>Tags</strong>: MCP, Documentation, GenAI, Agentic AI, Agents, Bedrock, LiteLLM, Ollama, OpenAI</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼？<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><strong>strands-agents/mcp-server</strong> 是一個 MCP Server (Model Context Protocol Server; 模型上下文協議伺服器)，專門為 AI 程式碼助手 (AI coding assistant; AI 編碼助理) 提供 Strands Agents 框架的完整文件存取能力。</p>]]></description></item><item><title>strands-agents/tools 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-18-tools-tutorial/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-18-tools-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/strands-agents/tools" target="_blank" rel="noopener noreferrer">https://github.com/strands-agents/tools<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 1,092 | <strong>Forks</strong>: 308 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: agentic, agentic-ai, agents, ai, anthropic, autonomous-agents, genai, litellm, llm, machine-learning, mcp, multi-agent-systems, ollama, opentelemetry, python, bedrock, llama, openai, strands-agents
<strong>Last Updated</strong>: 2026-06-14</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p><strong>Strands Agents Tools</strong> 是 <a href="https://strandsagents.com" target="_blank" rel="noopener noreferrer">Strands Agents<i class="fas fa-external-link-square-alt ms-1"></i></a> 生態系中的官方工具集合 (tool collection)，由 AWS 開源團隊維護。它提供超過 <strong>50 種即用型工具 (ready-to-use tools)</strong>，涵蓋檔案操作、Shell 執行、網路搜尋、記憶體系統、多 Agent 協調、數學運算、影像生成、AWS 整合等面向，讓開發者只需幾行 Python 程式碼就能賦予 AI Agent 強大的實際操作能力。</p>]]></description></item><item><title>Agent Starter Pack (ASP) 完整教學 — Google Cloud 生產級 AI Agent 模板工具</title><link>https://tpow-001.netlify.app/post/2026-06-17-google-agents-tutorial/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-17-google-agents-tutorial/</guid><description><![CDATA[<h1 id="agent-starter-pack-asp-完整教學" data-numberify>Agent Starter Pack (ASP) 完整教學<a class="anchor ms-1" href="#agent-starter-pack-asp-完整教學"></a></h1>
<blockquote>
<p><strong>Google Cloud 生產級 AI Agent 模板工具 — 從原型到部署的一站式腳手架</strong></p></blockquote>
<table>
  <thead>
      <tr>
          <th>項目</th>
          <th>內容</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>GitHub</td>
          <td><a href="https://github.com/GoogleCloudPlatform/agent-starter-pack" target="_blank" rel="noopener noreferrer">GoogleCloudPlatform/agent-starter-pack<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>版本</td>
          <td>v0.41.3 (2026-04-25)</td>
      </tr>
      <tr>
          <td>語言</td>
          <td>Python (支援 Go / TypeScript / Java 模板)</td>
      </tr>
      <tr>
          <td>授權</td>
          <td>Apache 2.0</td>
      </tr>
      <tr>
          <td>Stars / Forks</td>
          <td>6,479 / 1,486</td>
      </tr>
  </tbody>
</table>
<blockquote>
<p>⚠️ <strong>MAINTENANCE MODE 警告</strong></p>]]></description></item><item><title>Ponytail 完整教學 — 讓 AI Agent 像最懶的資深工程師一樣寫程式</title><link>https://tpow-001.netlify.app/post/2026-06-17-ponytail-tutorial/</link><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-17-ponytail-tutorial/</guid><description><![CDATA[<h1 id="ponytail-完整教學" data-numberify>Ponytail 完整教學<a class="anchor ms-1" href="#ponytail-完整教學"></a></h1>
<blockquote>
<p>讓 AI Agent 像最懶的資深工程師一樣寫程式 — 最好的程式碼，就是你從來沒寫的那段。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Ponytail 是一個跨平台的 AI agent skill / plugin，它把一個理念灌輸到你的 AI coding assistant 裡：<strong>寫程式之前，先問「這段程式碼真的需要存在嗎？」</strong>。</p>]]></description></item><item><title>Drug Repositioning Pre-IND 完整教學（下篇）：候選分子落地、決策框架與附錄</title><link>https://tpow-001.netlify.app/post/2026-06-14-drug-repositioning-tutorial-part2/</link><pubDate>Sun, 14 Jun 2026 12:01:00 +0800</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-14-drug-repositioning-tutorial-part2/</guid><description><![CDATA[<blockquote>
<p><strong>本文為密碼保護文章，需輸入密碼才能閱讀。</strong></p>
<p>上篇連結：<a href="/post/2026-06-14-drug-repositioning-tutorial-part1/">Drug Repositioning Pre-IND 完整教學（上篇）</a></p></blockquote>
<hr>

<h1 id="6-4-lilo-落地--候選人履歷表" data-numberify>§6 4 LILO 落地 — 候選人履歷表<a class="anchor ms-1" href="#6-4-lilo-落地--候選人履歷表"></a></h1>
<blockquote>
<p>chmod 600 — 僅以 LILO-A / LILO-B / LILO-C / LILO-D 代號出現</p>]]></description></item><item><title>Drug Repositioning Pre-IND 完整教學（上篇）：概念、法規與管線分析</title><link>https://tpow-001.netlify.app/post/2026-06-14-drug-repositioning-tutorial-part1/</link><pubDate>Sun, 14 Jun 2026 12:00:00 +0800</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-14-drug-repositioning-tutorial-part1/</guid><description><![CDATA[<blockquote>
<p><strong>本文為密碼保護文章，需輸入密碼才能閱讀。</strong></p>
<p>下篇連結：<a href="/post/2026-06-14-drug-repositioning-tutorial-part2/">Drug Repositioning Pre-IND 完整教學（下篇）</a></p></blockquote>
<hr>

<h1 id="1-執行摘要一分鐘掌握本案" data-numberify>§1 執行摘要：一分鐘掌握本案<a class="anchor ms-1" href="#1-執行摘要一分鐘掌握本案"></a></h1>
<blockquote>
<p>機密邊界：4 candidate 僅以 LILO-A / LILO-B / LILO-C / LILO-D 代號出現；禁止出現任何真名、ChEMBL ID、SMILES
chmod 600</p>]]></description></item><item><title>PAL MCP Server 完整教學 — 多模型 AI 協作 MCP 伺服器</title><link>https://tpow-001.netlify.app/post/2026-06-14-pal-mcp-server-tutorial/</link><pubDate>Sun, 14 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-14-pal-mcp-server-tutorial/</guid><description><![CDATA[<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="11-pal-mcp-是什麼" data-numberify>1.1 PAL MCP 是什麼<a class="anchor ms-1" href="#11-pal-mcp-是什麼"></a></h3>
<p>PAL MCP Server（Provider Abstraction Layer for Model Context Protocol）是一個開源 MCP 伺服器，讓你在 Claude Code、Gemini CLI、Codex CLI、Cursor 等 AI 開發工具內<strong>同時調度多個 AI 模型</strong>，實現真正的多模型協作開發。</p>]]></description></item><item><title>agentsview 完整教學 — Coding Agent Session 智慧分析平台</title><link>https://tpow-001.netlify.app/post/2026-06-12-agentsview-tutorial/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-12-agentsview-tutorial/</guid><description><![CDATA[<h1 id="agentsview-完整教學--coding-agent-session-智慧分析平台" data-numberify>agentsview 完整教學 — Coding Agent Session 智慧分析平台<a class="anchor ms-1" href="#agentsview-完整教學--coding-agent-session-智慧分析平台"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-是什麼" data-numberify>1.1 是什麼？<a class="anchor ms-1" href="#11-是什麼"></a></h3>
<p>agentsview 是一個 <strong>local-first (本地優先)</strong> 的 coding agent session intelligence (session 智慧分析) 平台。它以單一 Go binary 自動發現你機器上所有 AI coding agent 的 session 資料，建立本地 SQLite 索引，提供跨 agent 的瀏覽、搜尋、token usage (token 用量) 追蹤與 cost tracking (成本追蹤) 功能。</p>]]></description></item><item><title>Blog Publisher — 從 GitHub Tutorial 到 Hugo Blog 的自動發佈工作流教學</title><link>https://tpow-001.netlify.app/post/2026-06-12-blog-publisher-tutorial/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-12-blog-publisher-tutorial/</guid><description><![CDATA[<h1 id="blog-publisher--從-github-tutorial-到-hugo-blog-的自動發佈工作流教學" data-numberify>Blog Publisher — 從 GitHub Tutorial 到 Hugo Blog 的自動發佈工作流教學<a class="anchor ms-1" href="#blog-publisher--從-github-tutorial-到-hugo-blog-的自動發佈工作流教學"></a></h1>
<hr>

<h2 id="1-概述" data-numberify>1. 概述<a class="anchor ms-1" href="#1-概述"></a></h2>
<p>本教學說明如何將 AI-Knowledge Template (AIKT) 產出的 GitHub tutorial markdown 自動轉換為 Hugo blog post 並部署到 Netlify。</p>

<h3 id="11-解決的問題" data-numberify>1.1 解決的問題<a class="anchor ms-1" href="#11-解決的問題"></a></h3>
<p>AIKT 的 <code>gh-tutorial-qd</code> workflow 會產出大量高品質的 GitHub 專案教學文件（目前已有 <strong>161 份 tutorial markdown</strong>），但這些內容只存在本地。Blog Publisher 將這些內容自動轉成 blog 文章，讓知識可被搜尋引擎索引、可分享、可累積。</p>]]></description></item><item><title>claude-swap 完整教學 — Claude Code 多帳號切換工具</title><link>https://tpow-001.netlify.app/post/2026-06-12-claude-swap-tutorial/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-12-claude-swap-tutorial/</guid><description><![CDATA[<h1 id="claude-swap-完整教學--claude-code-多帳號切換工具" data-numberify>claude-swap 完整教學 — Claude Code 多帳號切換工具<a class="anchor ms-1" href="#claude-swap-完整教學--claude-code-多帳號切換工具"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-是什麼" data-numberify>1.1 是什麼？<a class="anchor ms-1" href="#11-是什麼"></a></h3>
<p>claude-swap 是一個 Python CLI 工具，讓你在多個 Claude Code 帳號之間快速切換，無需反覆登出登入。支援 Claude Code CLI 與 VS Code extension (VS Code 擴充套件)，以單一指令 <code>cswap</code> 操作所有帳號管理功能。</p>]]></description></item><item><title>google/skills 完整教學 — Google Agent Skills for AI Coding Agents</title><link>https://tpow-001.netlify.app/post/2026-06-12-google-skills-tutorial/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-12-google-skills-tutorial/</guid><description><![CDATA[<h2 id="1-專案定位與背景" data-numberify>§1 專案定位與背景<a class="anchor ms-1" href="#1-專案定位與背景"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p><code>google/skills</code> 是 Google 官方的 <strong>Agent Skills（代理技能）</strong> 開源知識庫。它不是傳統的程式庫或框架，而是一組結構化的 Markdown 描述檔（<code>SKILL.md</code>），專門設計給 <strong>AI coding agent</strong>（如 Gemini CLI、Claude Code、Cursor、Windsurf 等）閱讀，讓 agent 在協助開發者操作 Google Cloud 服務時，能遵循官方最佳實踐、避免常見錯誤、並使用正確的 SDK 與 CLI 指令。</p>]]></description></item><item><title>SkillSpector 完整教學 — AI Agent Skill 安全掃描器</title><link>https://tpow-001.netlify.app/post/2026-06-12-nvidia-skillspector-tutorial/</link><pubDate>Fri, 12 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-12-nvidia-skillspector-tutorial/</guid><description><![CDATA[<h1 id="skillspector-完整教學--ai-agent-skill-安全掃描器" data-numberify>SkillSpector 完整教學 — AI Agent Skill 安全掃描器<a class="anchor ms-1" href="#skillspector-完整教學--ai-agent-skill-安全掃描器"></a></h1>

<h2 id="1-專案定位" data-numberify>§1 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-解決什麼問題" data-numberify>1.1 解決什麼問題<a class="anchor ms-1" href="#11-解決什麼問題"></a></h3>
<p>AI agent skill（如 Claude Code skill、Codex CLI skill、Gemini CLI skill）在安裝時幾乎沒有審查機制。根據 NVIDIA 引用的研究 &ldquo;Agent Skills in the Wild&rdquo;（Liu et al., 2026），在 42,447 個 skill 樣本中：</p>]]></description></item><item><title>claude-skill-social-post 完整教學 — 深層邏輯分析、架構剖析與藍海策略</title><link>https://tpow-001.netlify.app/post/2026-06-11-claude-skill-social-post-tutorial/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-11-claude-skill-social-post-tutorial/</guid><description><![CDATA[<h1 id="claude-skill-social-post-完整教學" data-numberify>claude-skill-social-post 完整教學<a class="anchor ms-1" href="#claude-skill-social-post-完整教學"></a></h1>
<blockquote>
<p>一個由駱君昊 (Hao) 開發的 Claude Code skill，學使用者的 Facebook 語氣、排 14 天內容日曆、自動發文到 FB / IG / Threads / X。首篇貼文即創 mega-viral (mega-viral; 超級爆紅)：75,071 瀏覽 / 96.5% 非追蹤者觸及。</p>]]></description></item><item><title>AbLang 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-ablang-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-ablang-tutorial/</guid><description><![CDATA[<h1 id="ablang-完整教學" data-numberify>AbLang 完整教學<a class="anchor ms-1" href="#ablang-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/oxpig/AbLang" target="_blank" rel="noopener noreferrer">https://github.com/oxpig/AbLang<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 165 | <strong>Forks</strong>: 31 | <strong>License</strong>: BSD 3-Clause
<strong>Tags</strong>: antibody, language-model, semantic, protein-sequences
<strong>Language</strong>: Python | <strong>Version</strong>: 0.2.4
<strong>Paper</strong>: <a href="https://doi.org/10.1093/bioadv/vbac046" target="_blank" rel="noopener noreferrer">AbLang: An antibody language model for completing antibody sequences<i class="fas fa-external-link-square-alt ms-1"></i></a> (Olsen et al., 2022)</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-模型整體架構" data-numberify>2.1 模型整體架構<a class="anchor ms-1" href="#21-模型整體架構"></a></h3>
<pre class="mermaid">

graph TD
    subgraph Input["輸入層 Input Layer"]
        SEQ["抗體序列<br/>Antibody Sequence<br/>e.g. EVQLVESGPG..."]
        TOK["ABtokenizer<br/>20 AA + 特殊 token<br/>（&lt;start&gt; &lt;end&gt; &lt;pad&gt; &lt;mask&gt;）"]
    end

    subgraph AbRep["AbRep 表徵模型"]
        EMB["AbEmbeddings<br/>AA Embedding + Position Embedding<br/>→ LayerNorm → Dropout"]
        ENC["EncoderBlocks<br/>N 層 Transformer Encoder<br/>（MultiHeadAttention + IntermediateLayer）"]
        HST["Last Hidden States<br/>768-dim per residue"]
    end

    subgraph AbHead["AbHead 預測頭"]
        DENSE["Dense Layer (768 → 768)"]
        ACT["Activation (GELU)"]
        LN["LayerNorm"]
        DEC["Decoder (768 → vocab_size)"]
        LOGIT["Token Logits<br/>每個位置的 AA 機率分布"]
    end

    subgraph Outputs["四種輸出模式"]
        SEQC["seqcoding<br/>Mean pooling → 768-dim/seq"]
        RESC["rescoding<br/>768-dim/residue"]
        REST["restore<br/>MLM 預測填回 mask"]
        LIKE["likelihood<br/>20 AA 機率矩陣"]
    end

    SEQ --> TOK --> EMB --> ENC --> HST
    HST --> SEQC
    HST --> RESC
    HST --> AbHead
    DENSE --> ACT --> LN --> DEC --> LOGIT
    LOGIT --> REST
    LOGIT --> LIKE

    style Input fill:#e8f4f8,stroke:#2c3e50
    style AbRep fill:#fdf2e9,stroke:#e67e22
    style AbHead fill:#f5eef8,stroke:#8e44ad
    style Outputs fill:#eafaf1,stroke:#27ae60

</pre>


<h3 id="22-原始碼模組結構" data-numberify>2.2 原始碼模組結構<a class="anchor ms-1" href="#22-原始碼模組結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln"> 1</span><span class="cl">ablang/
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">├── __init__.py          # 匯出 ABtokenizer, AbLang, AbRep, AbHead, pretrained
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">├── tokenizers.py        # ABtokenizer — AA 字元 ↔ token ID 雙向轉換
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">├── embedding.py         # AbEmbeddings — AA 嵌入 + 位置嵌入 + LayerNorm + Dropout
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">├── encoderblocks.py     # EncoderBlocks → EncoderBlock → MHA + IntermediateLayer
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">├── fairseq_mha.py       # MultiheadAttention（改自 fairseq，支援逐 head 權重輸出）
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">├── extra_fns.py         # 啟動函數對照表 ACT2FN（GELU 等）
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">├── model.py             # AbLang = AbRep + AbHead；AbRep = Embeddings + Encoder
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">├── pretrained.py        # pretrained class — 模型下載、推論介面、四種模式
</span></span><span class="line"><span class="ln">10</span><span class="cl">└── model-weights-*/     # 自動下載的預訓練權重（heavy / light 各一組）
</span></span></code></pre></div>
<h3 id="23-transformer-encoder-內部結構" data-numberify>2.3 Transformer Encoder 內部結構<a class="anchor ms-1" href="#23-transformer-encoder-內部結構"></a></h3>
<p>每個 <code>EncoderBlock</code> 包含：</p>]]></description></item><item><title>agent-process-guard 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-10-agent-process-guard-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-10-agent-process-guard-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/yanowo/agent-process-guard" target="_blank" rel="noopener noreferrer">https://github.com/yanowo/agent-process-guard<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 14 | <strong>Language</strong>: PowerShell / Bash | <strong>License</strong>: MIT
<strong>最後更新</strong>: 2026-06-10</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-這個工具解決什麼問題" data-numberify>1.1 這個工具解決什麼問題？<a class="anchor ms-1" href="#11-這個工具解決什麼問題"></a></h3>
<p>當 AI 編碼代理（如 Codex、Claude Code）在終端機執行指令時，經常遭遇兩個根本問題：</p>]]></description></item><item><title>biomed-multi-alignment (MAMMAL) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-biomed-multi-alignment-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-biomed-multi-alignment-tutorial/</guid><description><![CDATA[<h1 id="biomed-multi-alignment-mammal-完整教學" data-numberify>biomed-multi-alignment (MAMMAL) 完整教學<a class="anchor ms-1" href="#biomed-multi-alignment-mammal-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/BiomedSciAI/biomed-multi-alignment" target="_blank" rel="noopener noreferrer">https://github.com/BiomedSciAI/biomed-multi-alignment<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 109 | <strong>Tags</strong>: IBM, multimodal, foundation
<strong>License</strong>: Apache-2.0 | <strong>Language</strong>: Jupyter Notebook / Python
<strong>arXiv</strong>: <a href="https://arxiv.org/abs/2410.22367" target="_blank" rel="noopener noreferrer">2410.22367<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Model Weights</strong>: <a href="https://huggingface.co/ibm/biomed.omics.bl.sm.ma-ted-458m" target="_blank" rel="noopener noreferrer">ibm/biomed.omics.bl.sm.ma-ted-458m<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["輸入模態 (Input Modalities)"]
        P["Protein Sequence<br/>蛋白質序列<br/>AA tokenizer"]
        S["Small Molecule<br/>小分子 SMILES<br/>SMILES tokenizer"]
        G["Gene Expression<br/>基因表現<br/>Gene tokenizer + Scalars"]
    end

    subgraph MT["Modular Tokenizer<br/>模組化分詞器"]
        M1["AA Tokenizer"]
        M2["SMILES Tokenizer"]
        M3["Gene Tokenizer"]
        M4["Unified ID Space<br/>統一 ID 空間"]
    end

    subgraph Prompt["Task Prompt Syntax<br/>任務提示語法"]
        TP["&lt;@TOKENIZER-TYPE=AA&gt;<br/>&lt;TASK_TAG&gt;<br/>&lt;MOLECULAR_ENTITY&gt;...&lt;/MOLECULAR_ENTITY&gt;<br/>&lt;EOS&gt;"]
    end

    subgraph Model["MAMMAL Model (458M params)"]
        ENC["T5 Encoder<br/>編碼器"]
        DEC["T5 Decoder<br/>解碼器"]
        EH["Encoder Head<br/>ClassifierMLP"]
        SH["Scalars Prediction Head<br/>標量預測頭"]
    end

    subgraph Output["輸出模式"]
        CLS["Classification<br/>分類 (token generation)"]
        REG["Regression<br/>回歸 (scalar prediction)"]
        EMB["Embeddings<br/>嵌入向量 (vLLM pooling)"]
    end

    P --> M1
    S --> M2
    G --> M3
    M1 --> M4
    M2 --> M4
    M3 --> M4
    M4 --> TP
    TP --> ENC

    ENC -->|"Encoder-Decoder mode"| DEC --> CLS
    ENC -->|"Encoder-only mode"| EH --> REG
    ENC -->|"Encoder-only mode"| SH --> REG
    ENC -->|"vLLM pooling"| EMB

</pre>


<h3 id="22-task-prompt-格式" data-numberify>2.2 Task Prompt 格式<a class="anchor ms-1" href="#22-task-prompt-格式"></a></h3>
<p>MAMMAL 的核心設計哲學是用<strong>統一的 prompt 格式</strong>將不同模態與任務編碼為 token 序列。以下是各任務的 prompt 結構：</p>]]></description></item><item><title>BioMedLM 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-biomedlm-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-biomedlm-tutorial/</guid><description><![CDATA[<h1 id="biomedlm-完整教學" data-numberify>BioMedLM 完整教學<a class="anchor ms-1" href="#biomedlm-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/stanford-crfm/BioMedLM" target="_blank" rel="noopener noreferrer">https://github.com/stanford-crfm/BioMedLM<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 640 | <strong>Forks</strong>: 66 | <strong>Language</strong>: Python
<strong>Tags</strong>: biomedical, LLM, Stanford
<strong>Model Hub</strong>: <a href="https://huggingface.co/stanford-crfm/pubmedgpt" target="_blank" rel="noopener noreferrer">https://huggingface.co/stanford-crfm/pubmedgpt<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Blog</strong>: <a href="https://crfm.stanford.edu/2022/12/15/pubmedgpt.html" target="_blank" rel="noopener noreferrer">https://crfm.stanford.edu/2022/12/15/pubmedgpt.html<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph "Pre-training Pipeline"
        A["PubMed Abstracts<br/>+ PubMed Central Full-text"] --> B["自訂 BPE Tokenizer<br/>(vocab=28,896)"]
        B --> C["GPT-2 2.7B 架構<br/>(MosaicML Composer)"]
        C --> D["BioMedLM<br/>Pre-trained Checkpoint"]
    end

    subgraph "Fine-tuning Pipeline"
        D --> E["NLU: Sequence Classification<br/>(PubMedQA / BioASQ)"]
        D --> F["NLU: Multiple Choice<br/>(MedQA-USMLE)"]
        D --> G["NLG: Text Generation<br/>(MeQSum Summarization)"]
    end

    subgraph "Downstream 應用"
        E --> H["生物醫學問答系統"]
        F --> I["醫學考試評估"]
        G --> J["醫學文獻摘要"]
        D --> K["Synthetic Data Generation<br/>(SDG 基礎模型)"]
    end

    subgraph "工具與依賴"
        L["HuggingFace Transformers"] --> C
        M["DeepSpeed CPU Offloading"] --> E & F & G
        N["PyTorch Distributed"] --> E & F & G
    end

    style A fill:#e1f5fe
    style D fill:#fff3e0
    style K fill:#fce4ec

</pre>


<h3 id="22-專案目錄結構" data-numberify>2.2 專案目錄結構<a class="anchor ms-1" href="#22-專案目錄結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">BioMedLM</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>                          <span class="c1"># 專案說明與快速使用範例</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="err">├──</span> <span class="n">demo</span><span class="o">.</span><span class="n">py</span>                            <span class="c1"># 最簡推論 demo</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="err">├──</span> <span class="n">tokenize</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">train_bpe</span><span class="o">.</span><span class="n">py</span>                   <span class="c1"># 自訂 BPE tokenizer 訓練腳本</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="err">├──</span> <span class="n">finetune</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>                      <span class="c1"># Fine-tuning 完整說明</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">setup</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>           <span class="c1"># 依賴套件</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">deepspeed</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">cpu_offload</span><span class="o">.</span><span class="n">json</span>           <span class="c1"># DeepSpeed 記憶體優化設定</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">mc</span><span class="o">/</span>                            <span class="c1"># Multiple Choice (多選題 QA)</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">preprocess_medqa</span><span class="o">.</span><span class="n">py</span>        <span class="c1"># MedQA 資料前處理</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">run_multiple_choice</span><span class="o">.</span><span class="n">py</span>     <span class="c1"># 多選微調主程式</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">run_experiments</span><span class="o">.</span><span class="n">py</span>         <span class="c1"># 批次實驗腳本</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">data</span><span class="o">/</span><span class="n">medqa_usmle_hf</span><span class="o">/</span>      <span class="c1"># MedQA-USMLE 範例資料</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">seqcls</span><span class="o">/</span>                        <span class="c1"># Sequence Classification (序列分類)</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">preprocess_blurb_seqcls</span><span class="o">.</span><span class="n">py</span> <span class="c1"># BLURB 資料前處理</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">run_seqcls_gpt</span><span class="o">.</span><span class="n">py</span>          <span class="c1"># 序列分類微調主程式</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">data</span><span class="o">/</span>                      <span class="c1"># PubMedQA / BioASQ 範例資料</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">textgen</span><span class="o">/</span>                       <span class="c1"># Text Generation (文本生成)</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">data</span><span class="o">/</span><span class="n">meqsum</span><span class="o">/</span>               <span class="c1"># MeQSum 摘要任務資料</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">gpt2</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">├──</span> <span class="n">finetune_for_summarization</span><span class="o">.</span><span class="n">py</span>  <span class="c1"># 摘要微調</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">├──</span> <span class="n">generate_demo</span><span class="o">.</span><span class="n">py</span>               <span class="c1"># 生成 demo</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">├──</span> <span class="n">run_generation_batch</span><span class="o">.</span><span class="n">py</span>        <span class="c1"># 批次生成</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">├──</span> <span class="n">sum_data_collator</span><span class="o">.</span><span class="n">py</span>           <span class="c1"># 資料 collator</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">└──</span> <span class="n">sum_dataset</span><span class="o">.</span><span class="n">py</span>                 <span class="c1"># 資料集類別</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">utils</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="err">│</span>       <span class="err">├──</span> <span class="n">custom_modeling_gpt2</span><span class="o">.</span><span class="n">py</span>    <span class="c1"># 自訂 GPT-2（加 Token Classification）</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="err">│</span>       <span class="err">├──</span> <span class="n">custom_modeling_gpt_neo</span><span class="o">.</span><span class="n">py</span> <span class="c1"># GPT-Neo 相容層</span>
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="err">│</span>       <span class="err">└──</span> <span class="n">hf_flash_gpt_2</span><span class="o">.</span><span class="n">py</span>         <span class="c1"># Flash Attention 支援</span>
</span></span></code></pre></div>
<h3 id="23-fine-tuning-任務架構" data-numberify>2.3 Fine-tuning 任務架構<a class="anchor ms-1" href="#23-fine-tuning-任務架構"></a></h3>
<pre class="mermaid">

graph LR
    subgraph "NLU Tasks"
        direction TB
        MC["Multiple Choice<br/>(MedQA-USMLE)<br/>4 選 1 醫學考題"]
        SC["Sequence Classification<br/>(PubMedQA / BioASQ)<br/>yes/no/maybe 分類"]
    end

    subgraph "NLG Tasks"
        direction TB
        TG["Text Generation<br/>(MeQSum)<br/>醫療問題摘要"]
    end

    BM["BioMedLM<br/>Pre-trained"] --> MC
    BM --> SC
    BM --> TG

    MC -->|"MultipleChoiceModelOutput"| R1["Accuracy on<br/>USMLE 4-option"]
    SC -->|"SequenceClassifierOutput"| R2["Accuracy on<br/>PubMedQA / BioASQ"]
    TG -->|"Causal LM"| R3["ROUGE / BLEU<br/>on MeQSum"]

    style BM fill:#fff3e0
    style MC fill:#e8f5e9
    style SC fill:#e8f5e9
    style TG fill:#e3f2fd

</pre>


<h3 id="24-tokenizer-設計" data-numberify>2.4 Tokenizer 設計<a class="anchor ms-1" href="#24-tokenizer-設計"></a></h3>
<p>BioMedLM 使用自訂的 BPE（Byte-Pair Encoding; 位元組對編碼）tokenizer，這是整個系統的關鍵差異化設計：</p>]]></description></item><item><title>brain-synthesis-lesion-segmentation 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-brain-synthesis-lesion-segmentation-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-brain-synthesis-lesion-segmentation-tutorial/</guid><description><![CDATA[<h1 id="brain-synthesis-lesion-segmentation-完整教學" data-numberify>brain-synthesis-lesion-segmentation 完整教學<a class="anchor ms-1" href="#brain-synthesis-lesion-segmentation-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/harshitAgr/brain-synthesis-lesion-segmentation" target="_blank" rel="noopener noreferrer">https://github.com/harshitAgr/brain-synthesis-lesion-segmentation<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 40 | <strong>Fork</strong>: 33 | <strong>Language</strong>: Python (TensorFlow)
<strong>Tags</strong>: brain, GAN, NVIDIA-DLI
<strong>論文</strong>: <a href="https://arxiv.org/abs/1807.10225" target="_blank" rel="noopener noreferrer">Medical Image Synthesis for Data Augmentation and Anonymization using Generative Adversarial Networks<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>最後更新</strong>: 2025-12-01</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體管線" data-numberify>2.1 整體管線<a class="anchor ms-1" href="#21-整體管線"></a></h3>
<pre class="mermaid">

graph TD
    subgraph 資料準備
        A[ISLES'18 原始 NIfTI] -->|預處理 Notebook| B[2D PNG 切片<br/>或 3D PKL 體積]
    end

    subgraph 模型訓練
        B --> C{選擇模式}
        C -->|無條件| D[GAN 2D<br/>gan2d.py]
        C -->|條件式 2D| E[pix2pix 2D<br/>pix2pix2d.py]
        C -->|條件式 3D| F[pix2pix 3D<br/>pix2pix3d.py]
    end

    subgraph Generator 架構
        G[Input Image<br/>CT Perfusion] --> H[U-Net Encoder<br/>8 層 Downsample]
        H --> I[Bottleneck<br/>1x1x512]
        I --> J[U-Net Decoder<br/>7 層 Upsample + Skip]
        J --> K[Output<br/>合成病灶標籤]
    end

    subgraph Discriminator 架構
        L[Input + Target<br/>或 Input + Generated] --> M[PatchGAN<br/>70x70 patches]
        M --> N[Real / Fake<br/>判別]
    end

    subgraph 後處理
        E --> O[2D 預測 PNG]
        F --> P[3D 預測 PKL]
        O -->|merge_2d_test_to_nii.py| Q[NIfTI 輸出]
        P -->|convert_3d_test_to_nii.py| Q
    end

    style G fill:#e1f5fe
    style K fill:#c8e6c9
    style Q fill:#fff3e0

</pre>


<h3 id="22-generator-詳細架構u-net--skip-connections" data-numberify>2.2 Generator 詳細架構（U-Net + Skip Connections）<a class="anchor ms-1" href="#22-generator-詳細架構u-net--skip-connections"></a></h3>
<p>Generator（生成器）採用經典 <strong>U-Net</strong>（U 型網路）架構，包含：</p>]]></description></item><item><title>conditional_DDPM 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-conditional-ddpm-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-conditional-ddpm-tutorial/</guid><description><![CDATA[<h1 id="conditional_ddpm-完整教學" data-numberify>conditional_DDPM 完整教學<a class="anchor ms-1" href="#conditional_ddpm-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/junbopeng/conditional_DDPM" target="_blank" rel="noopener noreferrer">https://github.com/junbopeng/conditional_DDPM<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 74 | <strong>Tags</strong>: DDPM, CBCT-CT, Medical-Physics
<strong>License</strong>: MIT | <strong>Language</strong>: Python | <strong>Last Updated</strong>: 2026-04-29
<strong>論文</strong>: Peng J, Qiu RLJ, Wynne JF, et al. <em>CBCT-Based synthetic CT image generation using conditional denoising diffusion probabilistic model.</em> Med Phys. 2023; 1-13. DOI: <a href="https://doi.org/10.1002/mp.16704" target="_blank" rel="noopener noreferrer">10.1002/mp.16704<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構圖" data-numberify>2.1 系統架構圖<a class="anchor ms-1" href="#21-系統架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph "Forward Process (訓練時)"
        CT["pCT 影像<br/>(Ground Truth)"]
        NOISE["Gaussian Noise ε"]
        T_STEP["Random Timestep t<br/>t ∈ [0, T)"]
        X_T["噪聲化 CT: x_t<br/>x_t = √ᾱ_t · CT + √(1-ᾱ_t) · ε"]
        CT --> X_T
        NOISE --> X_T
        T_STEP --> X_T
    end

    subgraph "Conditional Input (條件輸入)"
        CBCT["CBCT 影像<br/>(Condition)"]
        CONCAT["Channel Concatenation<br/>[x_t, CBCT] → 2-ch"]
        X_T --> CONCAT
        CBCT --> CONCAT
    end

    subgraph "U-Net Backbone"
        UNET["Conditional U-Net<br/>Input: 2-ch | Output: 1-ch"]
        TIME_EMB["Sinusoidal Time Embedding<br/>t → MLP → t_emb"]
        CONCAT --> UNET
        T_STEP --> TIME_EMB
        TIME_EMB --> UNET
        PRED["Predicted Noise ε̂"]
        UNET --> PRED
    end

    subgraph "Training Loss"
        LOSS["MSE Loss<br/>L = Σ||ε - ε̂||²"]
        NOISE --> LOSS
        PRED --> LOSS
    end

    subgraph "Reverse Process (推論時)"
        PURE_NOISE["Pure Noise x_T<br/>~ N(0, I)"]
        CBCT2["CBCT 影像"]
        DENOISE["Iterative Denoising<br/>t = T → 0"]
        SCT["Synthetic CT<br/>(合成 CT 輸出)"]
        PURE_NOISE --> DENOISE
        CBCT2 --> DENOISE
        UNET -.->|"Trained Model"| DENOISE
        DENOISE --> SCT
    end

    style CT fill:#4CAF50,color:#fff
    style CBCT fill:#FF9800,color:#fff
    style CBCT2 fill:#FF9800,color:#fff
    style SCT fill:#2196F3,color:#fff
    style LOSS fill:#f44336,color:#fff

</pre>


<h3 id="22-u-net-架構細節" data-numberify>2.2 U-Net 架構細節<a class="anchor ms-1" href="#22-u-net-架構細節"></a></h3>
<p>模型採用經典的 <strong>U-Net with Skip Connections (帶跳躍連接的 U-Net)</strong>，各層規格如下：</p>]]></description></item><item><title>CTGAN 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-ctgan-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-ctgan-tutorial/</guid><description><![CDATA[<h1 id="ctgan-完整教學" data-numberify>CTGAN 完整教學<a class="anchor ms-1" href="#ctgan-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/sdv-dev/CTGAN" target="_blank" rel="noopener noreferrer">https://github.com/sdv-dev/CTGAN<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 1,560 | <strong>Forks</strong>: 331 | <strong>Language</strong>: Python | <strong>License</strong>: Business Source License (BSL)
<strong>Tags</strong>: <code>synthetic-data</code>, <code>generative-adversarial-network</code>, <code>tabular-data</code>, <code>data-generation</code>
<strong>最後更新</strong>: 2026-06-08 | <strong>目前版本</strong>: v0.12.1
<strong>論文</strong>: <a href="https://arxiv.org/abs/1907.00503" target="_blank" rel="noopener noreferrer">Modeling Tabular data using Conditional GAN<i class="fas fa-external-link-square-alt ms-1"></i></a> — NeurIPS 2019</p></blockquote>

<h2 id="2-核心架構-core-architecture" data-numberify>2. 核心架構 (Core Architecture)<a class="anchor ms-1" href="#2-核心架構-core-architecture"></a></h2>

<h3 id="21-整體資料流" data-numberify>2.1 整體資料流<a class="anchor ms-1" href="#21-整體資料流"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層"]
        RAW["原始表格資料<br/>pandas DataFrame"]
        DC["離散欄位清單<br/>discrete_columns"]
    end

    subgraph TRANSFORM["資料轉換層 DataTransformer"]
        direction TB
        CONT["連續欄位<br/>ClusterBasedNormalizer<br/>(Bayesian GMM)"]
        DISC["離散欄位<br/>OneHotEncoder"]
        CONT --> |"scalar [-1,1] + mode softmax"| ENCODED["轉換後矩陣<br/>float32 ndarray"]
        DISC --> |"one-hot vector"| ENCODED
    end

    subgraph SAMPLER["條件取樣層 DataSampler"]
        CONDVEC["Conditional Vector<br/>條件向量"]
        LOGFREQ["Log-Frequency<br/>對數頻率取樣"]
    end

    subgraph GAN["GAN 訓練核心"]
        direction LR
        subgraph GEN["Generator 生成器"]
            NOISE["z ~ N(0,1)<br/>噪聲向量"]
            RESIDUAL["Residual Layers<br/>殘差層 × N"]
            ACTIVATE["Activation<br/>tanh + Gumbel-Softmax"]
        end
        subgraph DIS["Discriminator 鑑別器"]
            PAC["PacGAN (pac=10)<br/>多樣本打包"]
            WGANGP["WGAN-GP Loss<br/>梯度懲罰"]
        end
        GEN -->|"fake data"| DIS
        DIS -->|"gradient"| GEN
    end

    subgraph OUTPUT["輸出層"]
        INVERSE["逆轉換<br/>inverse_transform"]
        SYNTH["合成表格資料<br/>pandas DataFrame"]
    end

    RAW --> TRANSFORM
    DC --> TRANSFORM
    ENCODED --> SAMPLER
    SAMPLER --> GAN
    ENCODED -->|"real data"| DIS
    CONDVEC -->|"concat with z"| NOISE
    GAN -->|"fakeact"| INVERSE
    INVERSE --> SYNTH

    style INPUT fill:#e8f4f8,stroke:#2196F3
    style TRANSFORM fill:#fff3e0,stroke:#FF9800
    style SAMPLER fill:#f3e5f5,stroke:#9C27B0
    style GAN fill:#fce4ec,stroke:#E91E63
    style OUTPUT fill:#e8f5e9,stroke:#4CAF50

</pre>


<h3 id="22-模組拆解" data-numberify>2.2 模組拆解<a class="anchor ms-1" href="#22-模組拆解"></a></h3>
<p>CTGAN 的程式碼結構十分精簡，核心僅 6 個檔案：</p>]]></description></item><item><title>DenseDiffusion 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-densediffusion-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-densediffusion-tutorial/</guid><description><![CDATA[<h1 id="densediffusion-完整教學" data-numberify>DenseDiffusion 完整教學<a class="anchor ms-1" href="#densediffusion-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/naver-ai/DenseDiffusion" target="_blank" rel="noopener noreferrer">https://github.com/naver-ai/DenseDiffusion<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 507 | <strong>Forks</strong>: 35 | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: diffusion, dense-control, ICCV
<strong>論文</strong>: <a href="https://arxiv.org/abs/2308.12964" target="_blank" rel="noopener noreferrer">Dense Text-to-Image Generation with Attention Modulation (ICCV 2023)<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>作者</strong>: Yunji Kim, Jiyoung Lee, Jin-Hwa Kim, Jung-Woo Ha (NAVER AI Lab), Jun-Yan Zhu (CMU)</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構圖" data-numberify>2.1 系統架構圖<a class="anchor ms-1" href="#21-系統架構圖"></a></h3>
<pre class="mermaid">

graph TD
    A["使用者輸入"] --> B["Layout Masks<br/>空間佈局遮罩"]
    A --> C["Segment Prompts<br/>區段文字描述"]
    A --> D["Master Prompt<br/>全局文字描述"]

    B --> E["Mask Preprocessing<br/>遮罩前處理"]
    C --> F["CLIP Tokenizer<br/>文字分詞"]
    D --> F

    F --> G["CLIP Text Encoder<br/>文字編碼器"]
    G --> H["Text Embeddings<br/>文字嵌入"]

    E --> I["Self-Attention Reg Maps<br/>自注意力調控圖"]
    E --> J["Cross-Attention Reg Maps<br/>交叉注意力調控圖"]
    E --> K["Size Reg Maps<br/>面積調控圖"]

    H --> L["Modified UNet Forward<br/>修改後的 UNet 前向傳播"]
    I --> L
    J --> L
    K --> L

    L --> M["DDIM Scheduler<br/>DDIM 排程器"]
    M --> N["Generated Image<br/>生成影像"]

    style A fill:#e1f5fe
    style L fill:#fff3e0
    style N fill:#e8f5e9

</pre>


<h3 id="22-注意力調變機制" data-numberify>2.2 注意力調變機制<a class="anchor ms-1" href="#22-注意力調變機制"></a></h3>
<p>DenseDiffusion 的核心是 <code>mod_forward</code> 函式，它替換了 UNet 中所有 Attention 層的 <code>__call__</code> 方法。調變邏輯如下：</p>]]></description></item><item><title>distilabel 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-distilabel-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-distilabel-tutorial/</guid><description><![CDATA[<h1 id="distilabel-完整教學" data-numberify>distilabel 完整教學<a class="anchor ms-1" href="#distilabel-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/argilla-io/distilabel" target="_blank" rel="noopener noreferrer">https://github.com/argilla-io/distilabel<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 3248 | <strong>Tags</strong>: LLM, synthetic-data, AI-feedback
<strong>License</strong>: Apache-2.0 | <strong>Language</strong>: Python | <strong>Requires</strong>: Python 3.9+
<strong>Homepage</strong>: <a href="https://distilabel.argilla.io" target="_blank" rel="noopener noreferrer">https://distilabel.argilla.io<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Topics</strong>: ai, huggingface, llms, openai, python, rlaif, rlhf, synthetic-data, synthetic-dataset-generation</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["Input Layer (輸入層)"]
        HF["HuggingFace Dataset<br/>HuggingFace 資料集"]
        CSV["CSV / JSON / JSONL"]
        GEN["GeneratorStep<br/>生成器步驟"]
    end

    subgraph Pipeline["Pipeline Engine (管線引擎)"]
        direction TB
        DAG["DAG Scheduler<br/>有向無環圖排程器"]
        BM["BatchManager<br/>批次管理器"]
        SW["StepWrapper<br/>步驟包裝器"]
        WB["WriteBuffer<br/>寫入緩衝區"]
        
        DAG --> BM
        BM --> SW
        SW --> WB
    end

    subgraph Models["Models Layer (模型層)"]
        direction TB
        LLM["LLM Integrations<br/>15+ providers"]
        EMB["Embedding Models<br/>嵌入模型"]
        IMG["Image Generation<br/>圖像生成"]
    end

    subgraph Steps["Steps Layer (步驟層)"]
        direction TB
        TASK["Task Steps<br/>任務步驟"]
        PROC["Processing Steps<br/>處理步驟"]
        FILT["Filtering Steps<br/>過濾步驟"]
        FMT["Formatting Steps<br/>格式化步驟"]
    end

    subgraph Tasks["Built-in Tasks (內建任務)"]
        TG["TextGeneration<br/>文本生成"]
        UF["UltraFeedback<br/>多維度評分"]
        EI["EvolInstruct<br/>指令進化"]
        SI["SelfInstruct<br/>自我指令"]
        PM["PrometheusEval<br/>評估"]
        CL["CLAIR<br/>修訂回饋"]
        MG["Magpie<br/>合成對話"]
        SG["StructuredGeneration<br/>結構化生成"]
    end

    subgraph Output["Output Layer (輸出層)"]
        DS["Distiset<br/>distilabel 資料集"]
        ARG["Argilla Export<br/>Argilla 標注平台"]
        PUSH["Push to HF Hub<br/>推送到 HuggingFace"]
    end

    Input --> Pipeline
    Models --> Steps
    Steps --> Pipeline
    Tasks --> TASK
    Pipeline --> Output

    style Input fill:#e1f5fe,stroke:#0288d1
    style Pipeline fill:#fff3e0,stroke:#f57c00
    style Models fill:#f3e5f5,stroke:#7b1fa2
    style Steps fill:#e8f5e9,stroke:#388e3c
    style Tasks fill:#fce4ec,stroke:#c62828
    style Output fill:#f1f8e9,stroke:#558b2f

</pre>


<h3 id="22-模組結構" data-numberify>2.2 模組結構<a class="anchor ms-1" href="#22-模組結構"></a></h3>
<p>distilabel 的原始碼組織如下：</p>]]></description></item><item><title>FORTE 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-forte-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-forte-tutorial/</guid><description><![CDATA[<h1 id="forte-完整教學" data-numberify>FORTE 完整教學<a class="anchor ms-1" href="#forte-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/charlierabea/FORTE" target="_blank" rel="noopener noreferrer">https://github.com/charlierabea/FORTE<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 49 | <strong>Fork</strong>: 6 | <strong>License</strong>: MIT
<strong>Tags</strong>: multimodal, LLM, brain-CT, report
<strong>論文</strong>: <a href="https://www.nature.com/articles/s41467-025-57426-0" target="_blank" rel="noopener noreferrer">Nature Communications 16, 2258 (2025)<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>最後更新</strong>: 2026-05-27
<strong>Zenodo DOI</strong>: <a href="https://doi.org/10.5281/zenodo.14852686" target="_blank" rel="noopener noreferrer">10.5281/zenodo.14852686<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統全貌" data-numberify>2.1 系統全貌<a class="anchor ms-1" href="#21-系統全貌"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層"]
        CT["3D Brain CT<br/>(N 張 2D Slice)"]
        INST["Structured Instruction<br/>(MIIT 格式)"]
    end

    subgraph MODEL["BrainGPT 模型"]
        CLIP["CLIP Vision Encoder<br/>(影像編碼器)"]
        PERC["Perceiver Resampler<br/>(跨模態橋接)"]
        MPT["MPT-7B LLM<br/>(語言生成器)"]
        
        CLIP --> PERC
        PERC --> MPT
    end

    subgraph EVAL["FORTE 評估框架"]
        AUTO["Automatic Evaluation<br/>(BLEU / METEOR / ROUGE / CIDEr)"]
        SP["Sentence Pairing<br/>(語義相似度配對)"]
        KW["FORTE Keyword Extraction<br/>(4 類關鍵字擷取)"]
        NEG["Negation Removal<br/>(否定句移除)"]
        
        SP --> KW
        KW --> NEG
    end

    CT --> CLIP
    INST --> MPT
    MPT -->|"Generated Report"| EVAL
    AUTO -.->|"NLG Metrics"| RESULT["Evaluation Result<br/>(Excel)"]
    NEG -->|"Clinical Precision/Recall"| RESULT

    style INPUT fill:#e1f5fe,stroke:#0288d1
    style MODEL fill:#fff3e0,stroke:#f57c00
    style EVAL fill:#e8f5e9,stroke:#388e3c

</pre>


<h3 id="22-目錄結構" data-numberify>2.2 目錄結構<a class="anchor ms-1" href="#22-目錄結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln"> 1</span><span class="cl">FORTE/
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">├── MIIT/                          # 訓練框架（基於 Otter）
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">│   ├── flamingo/                  # OpenFlamingo 模型定義
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">│   │   ├── modeling_flamingo.py   #   Flamingo 條件生成模型
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">│   │   └── mpt/                   #   MPT backbone
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">│   ├── otter/                     # Otter 模型（BrainGPT 基底）
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">│   │   └── modeling_otter.py      #   OtterForConditionalGeneration
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">│   └── pipeline/
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">│       ├── train/
</span></span><span class="line"><span class="ln">10</span><span class="cl">│       │   ├── instruction_following.py  # 主訓練腳本
</span></span><span class="line"><span class="ln">11</span><span class="cl">│       │   ├── data.py                   # 資料載入器
</span></span><span class="line"><span class="ln">12</span><span class="cl">│       │   └── train_utils.py            # 訓練工具
</span></span><span class="line"><span class="ln">13</span><span class="cl">│       ├── eval/                  # COCO 風格評估
</span></span><span class="line"><span class="ln">14</span><span class="cl">│       ├── serve/                 # Gradio demo 伺服器
</span></span><span class="line"><span class="ln">15</span><span class="cl">│       └── mimicit_utils/         # MIIT 資料集工具
</span></span><span class="line"><span class="ln">16</span><span class="cl">├── evaluation/                    # 推論框架（結構同 MIIT，用於 eval mode）
</span></span><span class="line"><span class="ln">17</span><span class="cl">│   └── pipeline/train/eval.py     # 推論主腳本
</span></span><span class="line"><span class="ln">18</span><span class="cl">├── data/
</span></span><span class="line"><span class="ln">19</span><span class="cl">│   ├── CQ500p_instruction.json    # CQ500 外部驗證指令
</span></span><span class="line"><span class="ln">20</span><span class="cl">│   ├── FORTE_brain.json           # 腦 CT 關鍵字詞典（4 類 × N 同義詞組）
</span></span><span class="line"><span class="ln">21</span><span class="cl">│   ├── FORTE_chestCT.json         # 胸 CT 關鍵字詞典
</span></span><span class="line"><span class="ln">22</span><span class="cl">│   ├── FORTE_abdomen.json         # 腹 CT 關鍵字詞典
</span></span><span class="line"><span class="ln">23</span><span class="cl">│   └── FORTE_CXR.json             # 胸 X 光關鍵字詞典
</span></span><span class="line"><span class="ln">24</span><span class="cl">├── Automatic_evaluation.py        # Step 1: NLG 自動評估
</span></span><span class="line"><span class="ln">25</span><span class="cl">├── Sentence_pairing.py            # Step 2: 語義句子配對
</span></span><span class="line"><span class="ln">26</span><span class="cl">├── FORTE.py                       # Step 3: FORTE 關鍵字評估
</span></span><span class="line"><span class="ln">27</span><span class="cl">├── Negation_removal.py            # Step 4: 否定移除
</span></span><span class="line"><span class="ln">28</span><span class="cl">├── train.sh                       # 訓練腳本入口
</span></span><span class="line"><span class="ln">29</span><span class="cl">├── eval.sh                        # 推論腳本入口
</span></span><span class="line"><span class="ln">30</span><span class="cl">├── environment.yml                # Conda 環境
</span></span><span class="line"><span class="ln">31</span><span class="cl">└── requirements.txt               # pip 依賴
</span></span></code></pre></div>
<h3 id="23-forte-評估-pipeline-流程" data-numberify>2.3 FORTE 評估 Pipeline 流程<a class="anchor ms-1" href="#23-forte-評估-pipeline-流程"></a></h3>
<pre class="mermaid">

flowchart LR
    A["Generated Reports<br/>(Excel: gt + parsed_output)"] --> B["Step 1<br/>Automatic Evaluation<br/>(BLEU/METEOR/ROUGE/CIDEr)"]
    B --> C["Step 2<br/>Sentence Pairing<br/>(all-mpnet-base-v2<br/>cosine similarity)"]
    C --> D["Step 3<br/>FORTE Keyword Extraction<br/>(4 類: degree/landmark/<br/>feature/impression)"]
    D --> E["Step 4<br/>Negation Removal<br/>(移除含 'no' 的 degree 句)"]
    E --> F["Final Metrics<br/>per-category<br/>Precision & Recall"]

    style A fill:#fff9c4,stroke:#f9a825
    style F fill:#c8e6c9,stroke:#2e7d32

</pre>

<p><strong>四類 FORTE 關鍵字（以 Brain CT 為例）</strong>：</p>]]></description></item><item><title>foundation-cancer-image-biomarker 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-foundation-cancer-image-biomarker-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-foundation-cancer-image-biomarker-tutorial/</guid><description><![CDATA[<h1 id="foundation-cancer-image-biomarker-完整教學" data-numberify>foundation-cancer-image-biomarker 完整教學<a class="anchor ms-1" href="#foundation-cancer-image-biomarker-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/AIM-Harvard/foundation-cancer-image-biomarker" target="_blank" rel="noopener noreferrer">https://github.com/AIM-Harvard/foundation-cancer-image-biomarker<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 132 | <strong>Tags</strong>: cancer, imaging, biomarker
<strong>論文</strong>: Nature Machine Intelligence 2024
<strong>授權</strong>: MIT License | <strong>語言</strong>: Python (Jupyter Notebook / PyTorch)
<strong>作者</strong>: Suraj Pai, AIM Lab @ Harvard</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構總覽" data-numberify>2.1 系統架構總覽<a class="anchor ms-1" href="#21-系統架構總覽"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層 Input Layer"]
        CSV["CSV 檔案<br/>image_path, coordX, coordY, coordZ"]
        NIFTI["NIfTI / NRRD<br/>3D 醫學影像"]
    end

    subgraph PREPROCESS["前處理 Preprocessing"]
        LOAD["LoadImage<br/>(ITKReader)"]
        ORIENT["Orientation<br/>LPS 標準化"]
        SPACING["Spacing<br/>1x1x1 mm 重採樣"]
        NORM["NormalizeIntensity<br/>(-1024 ~ 2048 HU)"]
        CROP["SeedBasedPatchCrop<br/>50x50x50 voxels"]
    end

    subgraph MODEL["基礎模型 Foundation Model"]
        TRUNK["3D ResNet-50<br/>(widen_factor=2)"]
        FEAT["Feature Vector<br/>4096-dim"]
    end

    subgraph DOWNSTREAM["下游應用 Downstream Tasks"]
        LINEAR["Linear Probe<br/>(LogisticRegression)"]
        FINETUNE["Fine-tuning<br/>(project-lighter)"]
        CUSTOM["自定義 Pipeline"]
    end

    subgraph OUTPUT["輸出層 Output Layer"]
        CLASS["病灶分類"]
        MALIG["惡性度預測"]
        SURV["存活期預測"]
        BIOM["定量生物標記"]
    end

    CSV --> LOAD
    NIFTI --> LOAD
    LOAD --> ORIENT --> SPACING --> NORM --> CROP
    CROP --> TRUNK --> FEAT
    FEAT --> LINEAR --> CLASS
    FEAT --> LINEAR --> MALIG
    FEAT --> FINETUNE --> SURV
    FEAT --> CUSTOM --> BIOM

    style INPUT fill:#e8f4fd,stroke:#1e88e5
    style PREPROCESS fill:#fff3e0,stroke:#ff9800
    style MODEL fill:#fce4ec,stroke:#e53935
    style DOWNSTREAM fill:#e8f5e9,stroke:#43a047
    style OUTPUT fill:#f3e5f5,stroke:#8e24aa

</pre>


<h3 id="22-ssl-預訓練架構" data-numberify>2.2 SSL 預訓練架構<a class="anchor ms-1" href="#22-ssl-預訓練架構"></a></h3>
<pre class="mermaid">

flowchart LR
    subgraph DATA["資料準備"]
        IMG["3D CT Image"]
        POS1["Positive View 1<br/>(RandomResizedCrop)"]
        POS2["Positive View 2<br/>(RandomResizedCrop)"]
        NEG["Negative Patch<br/>(Background Region)"]
    end

    subgraph AUG["資料增強"]
        FLIP["RandAxisFlip"]
        HIST["RandHistogramShift"]
        GAUSS["RandGaussianSmooth"]
    end

    subgraph SIMCLR["ExNeg SimCLR"]
        ENC["3D ResNet-50<br/>Encoder"]
        PROJ["Projection Head<br/>(4096 → 2048 → 128)"]
        LOSS["NegativeMiningInfoNCE<br/>Loss"]
    end

    IMG --> POS1 & POS2 & NEG
    POS1 --> AUG
    POS2 --> AUG
    AUG --> ENC --> PROJ --> LOSS
    NEG --> ENC

    style SIMCLR fill:#fce4ec,stroke:#e53935

</pre>


<h3 id="23-專案目錄結構" data-numberify>2.3 專案目錄結構<a class="anchor ms-1" href="#23-專案目錄結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">foundation</span><span class="o">-</span><span class="n">cancer</span><span class="o">-</span><span class="n">image</span><span class="o">-</span><span class="n">biomarker</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="err">├──</span> <span class="n">fmcib</span><span class="o">/</span>                          <span class="c1"># 核心 Python 套件</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">models</span><span class="o">/</span>                     <span class="c1"># 模型定義</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">load_model</span><span class="o">.</span><span class="n">py</span>           <span class="c1"># LoadModel — 權重載入 + trunk/heads 架構</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">autoencoder</span><span class="o">.</span><span class="n">py</span>          <span class="c1"># Autoencoder baseline</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">models_genesis</span><span class="o">.</span><span class="n">py</span>       <span class="c1"># Models Genesis UNet3D baseline</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">ssl</span><span class="o">/</span>                        <span class="c1"># 自監督學習模組</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">modules</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">simclr</span><span class="o">.</span><span class="n">py</span>           <span class="c1"># Standard SimCLR</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">exneg_simclr</span><span class="o">.</span><span class="n">py</span>     <span class="c1"># Extended Negative SimCLR (核心)</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">nnclr</span><span class="o">.</span><span class="n">py</span>            <span class="c1"># NNCLR variant</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">swav</span><span class="o">.</span><span class="n">py</span>             <span class="c1"># SwAV variant</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">losses</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">├──</span> <span class="n">ntxent_loss</span><span class="o">.</span><span class="n">py</span>      <span class="c1"># NT-Xent loss</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>       <span class="err">└──</span> <span class="n">neg_mining_info_nce_loss</span><span class="o">.</span><span class="n">py</span>  <span class="c1"># 負樣本挖掘 InfoNCE</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">datasets</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">ssl_radiomics_dataset</span><span class="o">.</span><span class="n">py</span>  <span class="c1"># SSL 資料集 (positive + negative pairs)</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">preprocessing</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">seed_based_crop</span><span class="o">.</span><span class="n">py</span>      <span class="c1"># SeedBasedPatchCrop (核心前處理)</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">transforms</span><span class="o">/</span>                 <span class="c1"># 3D 資料增強</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">callbacks</span><span class="o">/</span>                  <span class="c1"># 預測儲存 callback</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">run</span><span class="o">.</span><span class="n">py</span>                      <span class="c1"># 高階 API 入口 (get_features)</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">├──</span> <span class="n">experiments</span><span class="o">/</span>                    <span class="c1"># 實驗設定 (YAML)</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">pretraining</span><span class="o">/</span>                <span class="c1"># 預訓練設定</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">inference</span><span class="o">/</span>                  <span class="c1"># 推論設定</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">adaptation</span><span class="o">/</span>                 <span class="c1"># 線性探測 fine-tuning</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">baselines</span><span class="o">/</span>                  <span class="c1"># Med3D / Models Genesis 比較</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="err">├──</span> <span class="n">analysis</span><span class="o">/</span>                       <span class="c1"># 結果分析 notebooks</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="err">├──</span> <span class="n">tutorials</span><span class="o">/</span>                      <span class="c1"># 教學 notebooks</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">├──</span> <span class="n">docs</span><span class="o">/</span>                           <span class="c1"># MkDocs 文件網站</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="err">├──</span> <span class="n">tests</span><span class="o">/</span>                          <span class="c1"># 測試</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="err">├──</span> <span class="n">pyproject</span><span class="o">.</span><span class="n">toml</span>                  <span class="c1"># Poetry 設定 + 依賴</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="err">└──</span> <span class="n">Makefile</span>                        <span class="c1"># 開發工具指令</span>
</span></span></code></pre></div><hr>

<h2 id="3-安裝與設定" data-numberify>3. 安裝與設定<a class="anchor ms-1" href="#3-安裝與設定"></a></h2>

<h3 id="31-快速安裝-推論用" data-numberify>3.1 快速安裝 (推論用)<a class="anchor ms-1" href="#31-快速安裝-推論用"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 建立虛擬環境 (推薦)</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl">conda create -n fmcib <span class="nv">python</span><span class="o">=</span>3.10 -y
</span></span><span class="line"><span class="ln">3</span><span class="cl">conda activate fmcib
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># pip 安裝</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">pip install foundation-cancer-image-biomarker
</span></span><span class="line"><span class="ln">7</span><span class="cl">
</span></span><span class="line"><span class="ln">8</span><span class="cl"><span class="c1"># 驗證安裝</span>
</span></span><span class="line"><span class="ln">9</span><span class="cl">python -c <span class="s2">&#34;from fmcib.models import fmcib_model; print(&#39;FMCIB installed successfully&#39;)&#34;</span>
</span></span></code></pre></div>
<h3 id="32-開發者安裝-含完整原始碼" data-numberify>3.2 開發者安裝 (含完整原始碼)<a class="anchor ms-1" href="#32-開發者安裝-含完整原始碼"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># Clone repo</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">git clone https://github.com/AIM-Harvard/foundation-cancer-image-biomarker.git
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nb">cd</span> foundation-cancer-image-biomarker
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 使用 Poetry 安裝</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">make setup
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">make install
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 或手動 Poetry</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">pip install poetry
</span></span><span class="line"><span class="ln">11</span><span class="cl">poetry install
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1"># 安裝 pre-commit hooks</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl">make pre-commit-install
</span></span></code></pre></div>
<h3 id="33-系統需求" data-numberify>3.3 系統需求<a class="anchor ms-1" href="#33-系統需求"></a></h3>
<table>
  <thead>
      <tr>
          <th>項目</th>
          <th>推論最低需求</th>
          <th>訓練建議需求</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>RAM</td>
          <td>4 GB</td>
          <td>12 GB+</td>
      </tr>
      <tr>
          <td>CPU</td>
          <td>4 cores</td>
          <td>4+ cores</td>
      </tr>
      <tr>
          <td>GPU VRAM</td>
          <td>4 GB (可無)</td>
          <td>12 GB+</td>
      </tr>
      <tr>
          <td>OS</td>
          <td>Linux / macOS / Windows</td>
          <td>Linux (Ubuntu 20.04/22.04)</td>
      </tr>
      <tr>
          <td>Python</td>
          <td>3.9 ~ 3.11</td>
          <td>3.9 ~ 3.11</td>
      </tr>
  </tbody>
</table>

<h3 id="34-預訓練權重下載" data-numberify>3.4 預訓練權重下載<a class="anchor ms-1" href="#34-預訓練權重下載"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 自動下載 (呼叫 fmcib_model() 時自動觸發)</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 手動下載</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">wget https://zenodo.org/records/10528450/files/model_weights.torch?download<span class="o">=</span><span class="m">1</span> -O model_weights.torch
</span></span></code></pre></div><p>權重檔案約 ~200 MB，來自 Zenodo，首次呼叫 <code>fmcib_model()</code> 會自動下載至工作目錄。</p>]]></description></item><item><title>HyenaDNA 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-hyena-dna-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-hyena-dna-tutorial/</guid><description><![CDATA[<h1 id="hyenadna-完整教學" data-numberify>HyenaDNA 完整教學<a class="anchor ms-1" href="#hyenadna-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/HazyResearch/hyena-dna" target="_blank" rel="noopener noreferrer">https://github.com/HazyResearch/hyena-dna<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 791 | <strong>Fork</strong>: 108 | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: <code>genomics</code>, <code>foundation-models</code>, <code>language-models</code>
<strong>Paper</strong>: <a href="https://arxiv.org/abs/2306.15794" target="_blank" rel="noopener noreferrer">arXiv:2306.15794<i class="fas fa-external-link-square-alt ms-1"></i></a> | <strong>HuggingFace</strong>: <a href="https://huggingface.co/LongSafari" target="_blank" rel="noopener noreferrer">LongSafari<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Primary Language</strong>: Python (含 CUDA C++ 加速核心)
<strong>最後更新</strong>: 2026-06-10</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["輸入層 Input Layer"]
        DNA["DNA 序列<br/>ATCGATCG..."]
        TOK["Character Tokenizer<br/>{A=0, C=1, G=2, T=3, N=4, PAD=5}"]
        EMB["DNA Embedding Layer<br/>nn.Embedding(6, d_model)"]
    end

    subgraph Backbone["Hyena Backbone (N Layers)"]
        direction TB
        subgraph Layer["Hyena Block x N"]
            HYENA["Hyena Operator<br/>(Long Convolution + Gating)"]
            FF["Feed-Forward Network<br/>(GLU / GatedMLP)"]
            NORM1["LayerNorm"]
            NORM2["LayerNorm"]
            RES1["Residual Connection"]
            RES2["Residual Connection"]
        end
    end

    subgraph HyenaOp["Hyena Operator 內部"]
        direction LR
        PROJ["Linear Projections<br/>Q, K, V 投影"]
        FILTER["Implicit Filter<br/>(Parameterized Conv Kernel)"]
        FFT["FFT Convolution<br/>O(N log N)"]
        GATE["Element-wise Gating<br/>(Multiplicative)"]
    end

    subgraph Output["輸出層 Output Layer"]
        POOL["Pooling / Last Token"]
        DEC["Task Decoder<br/>(MLP Head)"]
        PRED["Prediction<br/>(Classification / Regression / LM)"]
    end

    DNA --> TOK --> EMB
    EMB --> NORM1 --> HYENA --> RES1
    RES1 --> NORM2 --> FF --> RES2
    RES2 --> |"Repeat N times"| NORM1

    HYENA -.-> PROJ
    PROJ -.-> FILTER
    FILTER -.-> FFT
    FFT -.-> GATE

    RES2 --> POOL --> DEC --> PRED

    style Input fill:#e1f5fe,stroke:#0288d1
    style Backbone fill:#fff3e0,stroke:#f57c00
    style HyenaOp fill:#fce4ec,stroke:#c62828
    style Output fill:#e8f5e9,stroke:#2e7d32

</pre>


<h3 id="22-hyena-operator-運作原理" data-numberify>2.2 Hyena Operator 運作原理<a class="anchor ms-1" href="#22-hyena-operator-運作原理"></a></h3>
<p>Hyena operator 的核心思想是以 <strong>隱式參數化的長卷積 (implicit long convolution)</strong> 取代 Transformer 中的 self-attention：</p>]]></description></item><item><title>mcp-cli 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-10-mcp-cli-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-10-mcp-cli-tutorial/</guid><description><![CDATA[<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/doggy8088/mcp-cli" target="_blank" rel="noopener noreferrer">https://github.com/doggy8088/mcp-cli<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 113 | <strong>Forks</strong>: 14 | <strong>Language</strong>: Rust | <strong>License</strong>: MIT
<strong>npm</strong>: <a href="https://www.npmjs.com/package/@willh/mcp-cli" target="_blank" rel="noopener noreferrer">@willh/mcp-cli<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>最後更新</strong>: 2026-06-10</p></blockquote>
<hr>

<h2 id="1-專案概覽-project-overview" data-numberify>1. 專案概覽 (Project Overview)<a class="anchor ms-1" href="#1-專案概覽-project-overview"></a></h2>

<h3 id="11-什麼是-mcp-cli" data-numberify>1.1 什麼是 mcp-cli？<a class="anchor ms-1" href="#11-什麼是-mcp-cli"></a></h3>
<p><code>mcp-cli</code> 是一套以 Rust 撰寫的輕量級 CLI (Command-Line Interface; 命令列介面) 工具與函式庫，專門用來與 <a href="https://modelcontextprotocol.io/" target="_blank" rel="noopener noreferrer">MCP (Model Context Protocol; 模型上下文協定)<i class="fas fa-external-link-square-alt ms-1"></i></a> 伺服器互動。</p>]]></description></item><item><title>medSynthesisV1 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-medsynthesisv1-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-medsynthesisv1-tutorial/</guid><description><![CDATA[<h1 id="medsynthesisv1-完整教學" data-numberify>medSynthesisV1 完整教學<a class="anchor ms-1" href="#medsynthesisv1-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/ginobilinie/medSynthesisV1" target="_blank" rel="noopener noreferrer">https://github.com/ginobilinie/medSynthesisV1<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 195 | <strong>Fork</strong>: 45 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Tags</strong>: medical-synthesis, WGAN-GP, PyTorch
<strong>論文</strong>: <a href="https://ieeexplore.ieee.org/abstract/document/8310638/" target="_blank" rel="noopener noreferrer">Medical Image Synthesis with Deep Convolutional Adversarial Networks<i class="fas fa-external-link-square-alt ms-1"></i></a> (IEEE TBME 2018)
<strong>作者</strong>: Dong Nie et al., UNC Chapel Hill / Shen Lab</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統總覽" data-numberify>2.1 系統總覽<a class="anchor ms-1" href="#21-系統總覽"></a></h3>
<pre class="mermaid">

graph TD
    subgraph 資料準備
        A[原始醫學影像<br/>NIfTI / Analyze / MetaImage] --> B[extract23DPatch<br/>擷取 2D/2.5D/3D patch]
        B --> C[HDF5 檔案<br/>dataMR + dataCT keys]
    end

    subgraph 訓練迴路
        C --> D[Generator_2D_slices<br/>批次資料載入器]
        D --> E{Generator 選擇}
        E -->|whichNet=1| F1[UNet]
        E -->|whichNet=2| F2[ResUNet]
        E -->|whichNet=3| F3[UNet_LRes]
        E -->|whichNet=4| F4[ResUNet_LRes<br/>預設 推薦]

        F1 & F2 & F3 & F4 --> G[合成影像 y_hat]

        G --> H{損失函數組合}
        H --> H1[L1 / RTL1 / MSE]
        H --> H2[GDL 梯度差異損失]
        H --> H3[Adversarial Loss<br/>WGAN-GP / BCE]

        G --> I[Discriminator<br/>CNN 3-layer + FC]
        I --> H3
    end

    subgraph 推論
        J[測試影像] --> K[載入訓練好的 Generator]
        K --> L[合成輸出 CT/PET]
        L --> M[SSIM / MAE / PSNR 評估]
    end

    style F4 fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
    style H3 fill:#fff3e0,stroke:#f57c00,stroke-width:2px

</pre>


<h3 id="22-四種-generator-架構比較" data-numberify>2.2 四種 Generator 架構比較<a class="anchor ms-1" href="#22-四種-generator-架構比較"></a></h3>
<table>
  <thead>
      <tr>
          <th>架構</th>
          <th>編號</th>
          <th>Encoder Block</th>
          <th>Decoder Block</th>
          <th>Long-skip Residual</th>
          <th>適用情境</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>UNet</strong></td>
          <td>1</td>
          <td>UNetConvBlock</td>
          <td>UNetUpBlock</td>
          <td>無</td>
          <td>跨模態差異大（MRI→CT）</td>
      </tr>
      <tr>
          <td><strong>ResUNet</strong></td>
          <td>2</td>
          <td>residualUnit</td>
          <td>UNetUpResBlock</td>
          <td>無</td>
          <td>同上 + 更深網路需求</td>
      </tr>
      <tr>
          <td><strong>UNet_LRes</strong></td>
          <td>3</td>
          <td>UNetConvBlock</td>
          <td>UNetUpBlock</td>
          <td>有 <code>out = last + input</code></td>
          <td>同模態增強（low→high dose）</td>
      </tr>
      <tr>
          <td><strong>ResUNet_LRes</strong></td>
          <td>4</td>
          <td>residualUnit</td>
          <td>UNetUpResBlock</td>
          <td>有 <code>out = last + input</code> + Dropout</td>
          <td>同模態增強（預設推薦）</td>
      </tr>
  </tbody>
</table>
<p><strong>Long-skip Residual Connection (長跳殘差連接)</strong> 的設計邏輯：當輸入與輸出模態相似時（如 low-dose PET → standard PET），網路只需學習「差異量」(residual)，而非完整重建，收斂更快且品質更高。</p>]]></description></item><item><title>MONAI GenerativeModels 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-generativemodels-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-generativemodels-tutorial/</guid><description><![CDATA[<h1 id="monai-generativemodels-完整教學" data-numberify>MONAI GenerativeModels 完整教學<a class="anchor ms-1" href="#monai-generativemodels-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/Project-MONAI/GenerativeModels" target="_blank" rel="noopener noreferrer">https://github.com/Project-MONAI/GenerativeModels<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 760 | <strong>Forks</strong>: 109 | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: <code>anomaly-detection</code>, <code>diffusion-models</code>, <code>generative-adversarial-network</code>, <code>generative-models</code>, <code>image-synthesis</code>, <code>image-translation</code>, <code>medical-imaging</code>, <code>monai</code>, <code>mri-reconstruction</code>
<strong>語言</strong>: Python (Jupyter Notebook) | <strong>最後更新</strong>: 2026-06-05</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體模組架構" data-numberify>2.1 整體模組架構<a class="anchor ms-1" href="#21-整體模組架構"></a></h3>
<pre class="mermaid">

graph TB
    subgraph MONAI_Generative["monai-generative 套件架構"]
        subgraph Networks["generative.networks 網路層"]
            direction TB
            Nets["nets/<br/>AutoencoderKL<br/>VQVAE<br/>DiffusionModelUNet<br/>PatchGAN Discriminator<br/>ControlNet<br/>SPADE Networks<br/>Transformer"]
            Blocks["blocks/<br/>SelfAttention<br/>TransformerBlock<br/>EncoderModules<br/>SPADE Norm"]
            Layers["layers/<br/>VectorQuantizer"]
            Schedulers["schedulers/<br/>DDPM<br/>DDIM<br/>PNDM"]
        end

        subgraph Inferers["generative.inferers 推論引擎"]
            DiffInf["DiffusionInferer"]
            LDMInf["LatentDiffusionInferer"]
            VQInf["VQ-VAE + Transformer Inferer"]
            CtrlInf["ControlNetInferer"]
        end

        subgraph Losses["generative.losses 損失函數"]
            AdvLoss["AdversarialLoss<br/>(hinge / vanilla / least-squares)"]
            PercLoss["PerceptualLoss<br/>(LPIPS / RadImageNet /<br/>3DMedicalNet)"]
            SpecLoss["SpectralLoss"]
        end

        subgraph Metrics["generative.metrics 評估指標"]
            FID["FID<br/>(Frechet Inception Distance)"]
            MSSSIM["MS-SSIM<br/>(Multi-Scale Structural<br/>Similarity)"]
            MMD["MMD<br/>(Maximum Mean Discrepancy)"]
            SSIM2["SSIM"]
        end

        subgraph Engines["generative.engines 訓練引擎"]
            Trainer["AdversarialTrainer<br/>(Ignite-based)"]
            PrepBatch["PrepareBatch"]
        end

        subgraph ModelZoo["model-zoo/ 預訓練模型"]
            Brain["Brain LDM"]
            CXR["Chest X-ray LDM"]
            MedNIST["MedNIST DDPM"]
        end
    end

    MONAI_Core["MONAI Core<br/>(transforms, data, metrics)"] --> Networks
    PyTorch["PyTorch"] --> Networks
    Networks --> Inferers
    Losses --> Engines
    Inferers --> Engines
    Metrics -.-> Engines

    style MONAI_Generative fill:#1a1a2e,color:#eaeaea
    style Networks fill:#16213e,color:#eaeaea
    style Inferers fill:#0f3460,color:#eaeaea
    style Losses fill:#533483,color:#eaeaea
    style Metrics fill:#e94560,color:#eaeaea
    style Engines fill:#2b6777,color:#eaeaea
    style ModelZoo fill:#52796f,color:#eaeaea

</pre>


<h3 id="22-latent-diffusion-model-ldm-流程" data-numberify>2.2 Latent Diffusion Model (LDM) 流程<a class="anchor ms-1" href="#22-latent-diffusion-model-ldm-流程"></a></h3>
<p>LDM 是目前醫學影像合成的主流架構，MONAI GenerativeModels 的 LDM 實作流程如下：</p>]]></description></item><item><title>nnU-Net 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-nnunet-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-nnunet-tutorial/</guid><description><![CDATA[<h1 id="nnu-net-完整教學" data-numberify>nnU-Net 完整教學<a class="anchor ms-1" href="#nnu-net-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/MIC-DKFZ/nnUNet" target="_blank" rel="noopener noreferrer">https://github.com/MIC-DKFZ/nnUNet<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 8,527 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: segmentation, self-configuring
<strong>最新版本</strong>: v2.8.0 (pyproject.toml) / v2.4.1 (GitHub Release, 2024-04)
<strong>維護單位</strong>: German Cancer Research Center (DKFZ) — Helmholtz Imaging Applied Computer Vision Lab (ACVL)</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-自配置管線總覽" data-numberify>2.1 自配置管線總覽<a class="anchor ms-1" href="#21-自配置管線總覽"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層"]
        RAW["nnUNet_raw/<br/>原始影像 + 標注"]
    end

    subgraph FINGERPRINT["Stage 1: Dataset Fingerprint<br/>資料集指紋分析"]
        FP1["影像間距 Spacing"]
        FP2["體素尺寸 Voxel Size"]
        FP3["通道數 Channels"]
        FP4["強度分佈 Intensity Distribution"]
        FP5["類別比例 Class Ratios"]
    end

    subgraph PLANNING["Stage 2: Experiment Planning<br/>實驗規劃"]
        PL1["選擇網路拓撲<br/>2D / 3D_fullres / 3D_lowres / 3D_cascade"]
        PL2["決定 Patch Size"]
        PL3["決定 Batch Size"]
        PL4["決定 Normalization Scheme"]
        PL5["決定 Resampling Strategy"]
    end

    subgraph PREPROCESS["Stage 3: Preprocessing<br/>前處理"]
        PP1["Cropping 裁剪"]
        PP2["Resampling 重採樣"]
        PP3["Normalization 正規化"]
    end

    subgraph TRAINING["Stage 4: Training<br/>訓練"]
        TR1["5-Fold Cross Validation"]
        TR2["Data Augmentation<br/>batchgeneratorsv2"]
        TR3["Dice + CE Loss<br/>Deep Supervision"]
        TR4["SGD / Adam Optimizer<br/>PolyLR Scheduler"]
    end

    subgraph POSTPROCESS["Stage 5: Model Selection & Inference<br/>模型選擇與推論"]
        MS1["Best Configuration Selection"]
        MS2["Optional Ensembling"]
        MS3["Postprocessing<br/>Connected Components"]
        MS4["Sliding Window Inference"]
    end

    INPUT --> FINGERPRINT
    FINGERPRINT --> PLANNING
    PLANNING --> PREPROCESS
    PREPROCESS --> TRAINING
    TRAINING --> POSTPROCESS

    style INPUT fill:#e1f5fe
    style FINGERPRINT fill:#f3e5f5
    style PLANNING fill:#fff3e0
    style PREPROCESS fill:#e8f5e9
    style TRAINING fill:#fce4ec
    style POSTPROCESS fill:#f1f8e9

</pre>


<h3 id="22-原始碼模組結構" data-numberify>2.2 原始碼模組結構<a class="anchor ms-1" href="#22-原始碼模組結構"></a></h3>
<table>
  <thead>
      <tr>
          <th>模組</th>
          <th>路徑</th>
          <th>功能</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Dataset Conversion</strong></td>
          <td><code>nnunetv2/dataset_conversion/</code></td>
          <td>將各挑戰賽資料集轉為 nnU-Net 格式</td>
      </tr>
      <tr>
          <td><strong>Experiment Planning</strong></td>
          <td><code>nnunetv2/experiment_planning/</code></td>
          <td>指紋分析 + 實驗規劃（含 ResEnc Planner）</td>
      </tr>
      <tr>
          <td><strong>Preprocessing</strong></td>
          <td><code>nnunetv2/preprocessing/</code></td>
          <td>Cropping、Normalization、Resampling</td>
      </tr>
      <tr>
          <td><strong>Training</strong></td>
          <td><code>nnunetv2/training/</code></td>
          <td>Trainer、DA、Loss、LR Scheduler、DataLoader</td>
      </tr>
      <tr>
          <td><strong>Inference</strong></td>
          <td><code>nnunetv2/inference/</code></td>
          <td>Sliding Window、Export Prediction</td>
      </tr>
      <tr>
          <td><strong>Evaluation</strong></td>
          <td><code>nnunetv2/evaluation/</code></td>
          <td>Dice/IoU 計算、Best Configuration 搜尋</td>
      </tr>
      <tr>
          <td><strong>Ensembling</strong></td>
          <td><code>nnunetv2/ensembling/</code></td>
          <td>多模型集成</td>
      </tr>
      <tr>
          <td><strong>Postprocessing</strong></td>
          <td><code>nnunetv2/postprocessing/</code></td>
          <td>Connected Component Removal</td>
      </tr>
      <tr>
          <td><strong>ImageIO</strong></td>
          <td><code>nnunetv2/imageio/</code></td>
          <td>NIfTI / SimpleITK / TIFF / 自然影像讀寫</td>
      </tr>
      <tr>
          <td><strong>Utilities</strong></td>
          <td><code>nnunetv2/utilities/</code></td>
          <td>Label Handling、Plans Handling、DDP</td>
      </tr>
  </tbody>
</table>

<h3 id="23-trainer-變體繼承樹" data-numberify>2.3 Trainer 變體繼承樹<a class="anchor ms-1" href="#23-trainer-變體繼承樹"></a></h3>
<p>nnU-Net v2 的核心設計是以 <code>nnUNetTrainer</code> 為基底類別，透過繼承覆寫來客製化行為：</p>]]></description></item><item><title>PyFeat 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-pyfeat-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-pyfeat-tutorial/</guid><description><![CDATA[<h1 id="pyfeat-完整教學" data-numberify>PyFeat 完整教學<a class="anchor ms-1" href="#pyfeat-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/RafsanjaniHub/PyFeat" target="_blank" rel="noopener noreferrer">https://github.com/RafsanjaniHub/PyFeat<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 97 | <strong>Fork</strong>: 32 | <strong>Language</strong>: Python | <strong>License</strong>: GPL-3.0
<strong>Tags</strong>: <code>computational-biology</code>, <code>bioinformatics</code>, <code>genomics</code>, <code>proteomics</code>
<strong>Homepage</strong>: <a href="http://rafsanjani.pythonanywhere.com/" target="_blank" rel="noopener noreferrer">http://rafsanjani.pythonanywhere.com/<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>最後更新</strong>: 2025-11-30</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體流程架構" data-numberify>2.1 整體流程架構<a class="anchor ms-1" href="#21-整體流程架構"></a></h3>
<pre class="mermaid">

flowchart TD
    A["FASTA 序列檔案<br/>(DNA / RNA / Protein)"] --> B["read.py<br/>讀取 FASTA + Label"]
    B --> C["generateFeatures.py<br/>特徵擷取引擎"]

    C --> D1["pseudoKNC<br/>k-mer 頻率"]
    C --> D2["k-Gap 特徵<br/>monoMono ~ triDi<br/>(8 種組合)"]
    C --> D3["Z-Curve<br/>(x, y, z 軸)"]
    C --> D4["GC Content<br/>AT/GC Ratio<br/>Cumulative Skew"]

    D1 --> E["合併特徵矩陣<br/>numpy array"]
    D2 --> E
    D3 --> E
    D4 --> E

    E --> F{"輸出選擇"}
    F -->|"fullDataset=1"| G1["fullDataset.csv<br/>全部特徵"]
    F -->|"optimumDataset=1"| G2["selectedImportantFeatures.py<br/>AdaBoost 特徵選擇"]
    F -->|"testDataset=1"| G3["testDataset.csv<br/>獨立測試集"]

    G2 --> G4["optimumDataset.csv<br/>篩選後特徵"]

    G1 --> H["runClassifiers.py<br/>10 種 ML 分類器<br/>k-Fold CV"]
    G4 --> H

    H --> I1["evaluationResults.txt"]
    H --> I2["auROC.png"]
    H --> I3["Accuracy_boxPlot.png"]

    G4 --> J["trainModel.py<br/>訓練最終模型"]
    J --> K["dumpModel.pkl"]
    K --> L["evaluateModel.py<br/>獨立驗證"]

</pre>


<h3 id="22-特徵類型詳解" data-numberify>2.2 特徵類型詳解<a class="anchor ms-1" href="#22-特徵類型詳解"></a></h3>
<p>PyFeat 支援的特徵可分為四大類：</p>]]></description></item><item><title>R2GenGPT 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-r2gengpt-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-r2gengpt-tutorial/</guid><description><![CDATA[<h1 id="r2gengpt-完整教學" data-numberify>R2GenGPT 完整教學<a class="anchor ms-1" href="#r2gengpt-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/wang-zhanyu/R2GenGPT" target="_blank" rel="noopener noreferrer">https://github.com/wang-zhanyu/R2GenGPT<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 125 | <strong>Tags</strong>: radiology, report-generation, LLM
<strong>License</strong>: BSD 3-Clause | <strong>Language</strong>: Python | <strong>Last Updated</strong>: 2025-05-18</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體管線" data-numberify>2.1 整體管線<a class="anchor ms-1" href="#21-整體管線"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph Input["輸入層"]
        CXR["Chest X-Ray Image<br/>(胸部 X 光影像)"]
    end

    subgraph VE["Vision Encoder (視覺編碼器)"]
        SWIN["Swin-Base Transformer<br/>patch4-window7-224"]
        LORA_V["LoRA Adapter<br/>(Delta 模式啟用)"]
        SWIN --> LORA_V
    end

    subgraph AL["Alignment Layer (對齊層)"]
        PROJ["Linear Projection<br/>Swin hidden → LLaMA hidden"]
        LN["LayerNorm<br/>(層正規化)"]
        PROJ --> LN
    end

    subgraph PW["Prompt Wrapping (提示包裝)"]
        PROMPT["'Human: &lt;Img&gt;{img_embeds}&lt;/Img&gt;<br/>Generate a comprehensive...<br/>Assistant:'"]
    end

    subgraph LLM["Frozen LLM (凍結語言模型)"]
        EMBED["Embedding Layer<br/>(嵌入層)"]
        LLAMA["LLaMA-2-7B-Chat"]
        LORA_L["LoRA Adapter<br/>(Deep 模式啟用)"]
        EMBED --> LLAMA
        LLAMA --> LORA_L
    end

    subgraph Output["輸出層"]
        REPORT["Radiology Report<br/>(放射報告文字)"]
    end

    CXR --> SWIN
    LORA_V --> PROJ
    LN --> PROMPT
    PROMPT --> EMBED
    LORA_L --> REPORT

    style Input fill:#e1f5fe,stroke:#0288d1
    style VE fill:#f3e5f5,stroke:#7b1fa2
    style AL fill:#fff3e0,stroke:#ef6c00
    style PW fill:#e8f5e9,stroke:#2e7d32
    style LLM fill:#fce4ec,stroke:#c62828
    style Output fill:#e0f2f1,stroke:#00695c

</pre>


<h3 id="22-資料流詳解" data-numberify>2.2 資料流詳解<a class="anchor ms-1" href="#22-資料流詳解"></a></h3>
<pre class="mermaid">

sequenceDiagram
    participant IMG as X-Ray Image
    participant SWIN as Swin Encoder
    participant PROJ as Linear Projection
    participant LN as LayerNorm
    participant WRAP as Prompt Wrapper
    participant EMB as LLaMA Embedding
    participant LLM as LLaMA-2-7B

    IMG->>SWIN: pixel_values [B, 3, 224, 224]
    SWIN->>SWIN: Hierarchical feature extraction
    SWIN-->>PROJ: last_hidden_state [B, 49, 1024]
    Note over SWIN,PROJ: 或 pooler_output [B, 1, 1024]<br/>(global_only=True)
    PROJ->>LN: projected [B, 49, 4096]
    LN->>WRAP: normalized img_embeds
    WRAP->>WRAP: Concatenate: [BOS] + p_before + img_embeds + p_after
    WRAP->>EMB: text tokens → embeddings
    EMB->>LLM: [bos_embeds, img_embeds, text_embeds]
    LLM->>LLM: Autoregressive generation
    LLM-->>IMG: Generated report text

</pre>


<h3 id="23-專案檔案結構" data-numberify>2.3 專案檔案結構<a class="anchor ms-1" href="#23-專案檔案結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">R2GenGPT</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="err">├──</span> <span class="n">train</span><span class="o">.</span><span class="n">py</span>                      <span class="c1"># 訓練/驗證/測試主入口</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="err">├──</span> <span class="n">configs</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">config</span><span class="o">.</span><span class="n">py</span>                 <span class="c1"># Argparse 超參數定義 (~60 個參數)</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">├──</span> <span class="n">models</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">R2GenGPT</span><span class="o">.</span><span class="n">py</span>               <span class="c1"># 核心模型 (PyTorch Lightning Module)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">├──</span> <span class="n">dataset</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">data_module</span><span class="o">.</span><span class="n">py</span>            <span class="c1"># Lightning DataModule</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">data_helper</span><span class="o">.</span><span class="n">py</span>            <span class="c1"># 資料解析 + 報告清洗</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="err">├──</span> <span class="n">evalcap</span><span class="o">/</span>                      <span class="c1"># 評估指標 (BLEU/ROUGE/METEOR/CIDEr)</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">bleu</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">cider</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">meteor</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">rouge</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">tokenizer</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="err">├──</span> <span class="n">lightning_tools</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">callbacks</span><span class="o">.</span><span class="n">py</span>              <span class="c1"># ModelCheckpoint + TensorBoard Logger</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">optim</span><span class="o">.</span><span class="n">py</span>                  <span class="c1"># 最佳化設定</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">├──</span> <span class="n">scripts</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="mi">1</span><span class="o">-*.</span><span class="n">sh</span> <span class="o">~</span> <span class="mi">3</span><span class="o">-*.</span><span class="n">sh</span>          <span class="c1"># IU X-Ray 訓練/測試腳本</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="mi">4</span><span class="o">-*.</span><span class="n">sh</span> <span class="o">~</span> <span class="mi">6</span><span class="o">-*.</span><span class="n">sh</span>          <span class="c1"># MIMIC-CXR 訓練/測試腳本</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="err">├──</span> <span class="n">data</span><span class="o">/</span>                         <span class="c1"># (需自行下載)</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">iu_xray</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">mimic_cxr</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="err">└──</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>
</span></span></code></pre></div><hr>

<h2 id="3-安裝與設定" data-numberify>3. 安裝與設定<a class="anchor ms-1" href="#3-安裝與設定"></a></h2>

<h3 id="31-環境需求" data-numberify>3.1 環境需求<a class="anchor ms-1" href="#31-環境需求"></a></h3>
<table>
  <thead>
      <tr>
          <th>項目</th>
          <th>最低需求</th>
          <th>建議配置</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>GPU</td>
          <td>1x NVIDIA GPU (24GB)</td>
          <td>4x A100 (40/80GB)</td>
      </tr>
      <tr>
          <td>CUDA</td>
          <td>11.7+</td>
          <td>12.1+</td>
      </tr>
      <tr>
          <td>Python</td>
          <td>3.8+</td>
          <td>3.10</td>
      </tr>
      <tr>
          <td>RAM</td>
          <td>32GB</td>
          <td>64GB+</td>
      </tr>
      <tr>
          <td>磁碟</td>
          <td>~50GB (模型+資料)</td>
          <td>~100GB</td>
      </tr>
  </tbody>
</table>

<h3 id="32-安裝步驟" data-numberify>3.2 安裝步驟<a class="anchor ms-1" href="#32-安裝步驟"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 1. Clone 專案</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">git clone https://github.com/wang-zhanyu/R2GenGPT.git
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nb">cd</span> R2GenGPT
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 2. 建立虛擬環境 (推薦使用 uv)</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">uv venv .venv --python 3.10
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="nb">source</span> .venv/bin/activate
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 3. 安裝依賴</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
</span></span><span class="line"><span class="ln">11</span><span class="cl">uv pip install -r requirements.txt
</span></span><span class="line"><span class="ln">12</span><span class="cl">
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1"># requirements.txt 包含：</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1"># torch, peft, tensorboardX, transformers==4.30.2,</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="c1"># lightning==2.0.5, Pillow, numpy, gradio</span>
</span></span></code></pre></div>
<h3 id="33-資料集準備" data-numberify>3.3 資料集準備<a class="anchor ms-1" href="#33-資料集準備"></a></h3>

<h4 id="iu-x-ray" data-numberify>IU X-Ray<a class="anchor ms-1" href="#iu-x-ray"></a></h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 從 Google Drive 下載 annotation + images</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># https://drive.google.com/file/d/1c0BXEuDy8Cmm2jfN0YYGkQxFZd2ZIoLg/view</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">mkdir -p data/iu_xray
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="c1"># 解壓後放入 data/iu_xray/</span>
</span></span></code></pre></div>
<h4 id="mimic-cxr-需-physionet-帳號" data-numberify>MIMIC-CXR (需 PhysioNet 帳號)<a class="anchor ms-1" href="#mimic-cxr-需-physionet-帳號"></a></h4>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 1. 下載預處理 annotation (作者提供)</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># https://drive.google.com/file/d/14689ztodTtrQJYs--ihB_hgsPMMNHX-H/view</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl">mkdir -p data/mimic_cxr
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># 2. 下載影像 (需先申請 PhysioNet credentialed access)</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="c1"># https://physionet.org/content/mimic-cxr-jpg/2.0.0/</span>
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="c1"># 解壓後影像放入 data/mimic_cxr/images/</span>
</span></span></code></pre></div><p><strong>Annotation JSON (註解 JSON) 格式</strong>：</p>]]></description></item><item><title>RadFact 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-radfact-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-radfact-tutorial/</guid><description><![CDATA[<h1 id="radfact-完整教學" data-numberify>RadFact 完整教學<a class="anchor ms-1" href="#radfact-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/microsoft/RadFact" target="_blank" rel="noopener noreferrer">https://github.com/microsoft/RadFact<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 98 | <strong>Fork</strong>: 12 | <strong>License</strong>: MIT
<strong>Tags</strong>: radiology, evaluation, LLM, Microsoft
<strong>語言</strong>: Python | <strong>最後更新</strong>: 2026-06-02</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體流程架構" data-numberify>2.1 整體流程架構<a class="anchor ms-1" href="#21-整體流程架構"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層"]
        NAR["敘述性報告<br/>(Narrative Text)"]
        GND["定位報告<br/>(Grounded Phrases + Boxes)"]
    end

    subgraph PREPROCESS["前處理層"]
        R2P["Report-to-Phrases<br/>報告拆句<br/>(LLM: GPT-4)"]
        NEG["Negative Filtering<br/>負面發現過濾<br/>(僅 CT)"]
    end

    subgraph CORE["核心評估層"]
        direction TB
        NLI_FWD["正向 NLI 驗證<br/>Prediction → Ground Truth<br/>(計算 Precision)"]
        NLI_BWD["反向 NLI 驗證<br/>Ground Truth → Prediction<br/>(計算 Recall)"]
        BOX["Bounding Box<br/>空間蘊含計算<br/>(Pixel Precision ≥ 0.5)"]
    end

    subgraph ENGINE["平行處理引擎"]
        LLM_ENG["LLMEngine<br/>多端點平行處理"]
        CACHE["中間結果快取<br/>(Batch Outputs)"]
        SHARD["資料分片<br/>(Speed Factor)"]
    end

    subgraph OUTPUT["輸出層"]
        METRICS["RadFactScore<br/>6 項指標"]
        BOOT["Bootstrap CI<br/>信賴區間"]
        JSON["outputs.json<br/>完整結果"]
    end

    NAR --> R2P
    R2P --> NEG
    NEG --> NLI_FWD
    GND --> NLI_FWD
    NLI_FWD --> BOX
    NLI_BWD --> BOX
    R2P --> NLI_BWD
    GND --> NLI_BWD

    NLI_FWD -.->|"透過"| LLM_ENG
    NLI_BWD -.->|"透過"| LLM_ENG
    LLM_ENG --> CACHE
    LLM_ENG --> SHARD

    BOX --> METRICS
    METRICS --> BOOT
    BOOT --> JSON

</pre>


<h3 id="22-nli-蘊含驗證流程" data-numberify>2.2 NLI 蘊含驗證流程<a class="anchor ms-1" href="#22-nli-蘊含驗證流程"></a></h3>
<p>RadFact 的核心是<strong>雙向 NLI (Bidirectional NLI)</strong>。對每一對 (prediction, ground_truth)，執行兩次蘊含驗證：</p>]]></description></item><item><title>S&amp;D Messenger 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-sd-messenger-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-sd-messenger-tutorial/</guid><description><![CDATA[<h1 id="sd-messenger-完整教學" data-numberify>S&D Messenger 完整教學<a class="anchor ms-1" href="#sd-messenger-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/xmed-lab/SD-Messenger" target="_blank" rel="noopener noreferrer">https://github.com/xmed-lab/SD-Messenger<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 3 | <strong>Tags</strong>: stable-diffusion, medical, cross-modal
<strong>語言</strong>: Python | <strong>授權</strong>: 未標示
<strong>論文</strong>: <a href="https://arxiv.org/abs/2407.07763" target="_blank" rel="noopener noreferrer">arXiv:2407.07763<i class="fas fa-external-link-square-alt ms-1"></i></a> (2024)
<strong>最後更新</strong>: 2025-08-27</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["輸入層"]
        IL["Labeled Images<br/>標註影像"]
        IU["Unlabeled Images<br/>未標註影像"]
    end

    subgraph Backbone["Backbone: MiT-B5"]
        E0["Stage 0<br/>64-ch features"]
        E1["Stage 1<br/>128-ch features"]
        E2["Stage 2<br/>320-ch features"]
        E3["Stage 3<br/>512-ch features"]
    end

    subgraph SDM["S&D Messenger Modules"]
        direction TB
        U2L3["U2L Module<br/>(512-ch, cross-attn ON)"]
        U2L2["U2L Module<br/>(320-ch, optional)"]
        U2L1["U2L Module<br/>(128-ch, optional)"]
        U2L0["U2L Module<br/>(64-ch, optional)"]
    end

    subgraph Decoder["SegFormer Decoder Head"]
        MLP4["MLP c4 → 768-d"]
        MLP3["MLP c3 → 768-d"]
        MLP2["MLP c2 → 768-d"]
        MLP1["MLP c1 → 768-d"]
        FUSE["Conv1x1 Fuse<br/>3072 → 768"]
        PRED["Conv1x1 Predict<br/>768 → num_class"]
    end

    subgraph Loss["損失函數"]
        CE["Cross-Entropy Loss<br/>+ Difficulty Weighting"]
        DICE["Dice Loss"]
        PL["Pseudo-Label Loss<br/>(unlabeled)"]
    end

    IL --> Backbone
    IU --> Backbone
    E3 --> U2L3
    E2 --> U2L2
    E1 --> U2L1
    E0 --> U2L0
    U2L3 --> MLP4
    U2L2 --> MLP3
    U2L1 --> MLP2
    U2L0 --> MLP1
    MLP4 --> FUSE
    MLP3 --> FUSE
    MLP2 --> FUSE
    MLP1 --> FUSE
    FUSE --> PRED
    PRED --> CE
    PRED --> DICE
    PRED --> PL

    style SDM fill:#e8f4fd,stroke:#1e88e5
    style Decoder fill:#fff3e0,stroke:#ff9800
    style Loss fill:#fce4ec,stroke:#e91e63

</pre>


<h3 id="22-crossattnmem--核心跨注意力模組" data-numberify>2.2 CrossAttnMem — 核心跨注意力模組<a class="anchor ms-1" href="#22-crossattnmem--核心跨注意力模組"></a></h3>
<p>S&amp;D Messenger 的核心是 <code>CrossAttnMem</code> 模組，實現 labeled-to-unlabeled 的雙向知識傳遞：</p>]]></description></item><item><title>scGen 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-scgen-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-scgen-tutorial/</guid><description><![CDATA[<h1 id="scgen-完整教學" data-numberify>scGen 完整教學<a class="anchor ms-1" href="#scgen-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/theislab/scgen" target="_blank" rel="noopener noreferrer">https://github.com/theislab/scgen<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 348 | <strong>Forks</strong>: 70 | <strong>Language</strong>: Python | <strong>License</strong>: GPL-3.0
<strong>Tags</strong>: <code>single-cell</code>, <code>perturbation</code>, <code>VAE</code>, <code>transcriptomics</code>, <code>deep-learning</code>, <code>generative-model</code>, <code>bioinformatics</code>, <code>scrna-seq</code>, <code>single-cell-genomics</code>
<strong>文件</strong>: <a href="https://scgen.readthedocs.io" target="_blank" rel="noopener noreferrer">https://scgen.readthedocs.io<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>論文</strong>: Lotfollahi et al., &ldquo;scGen predicts single-cell perturbation responses.&rdquo; <em>Nature Methods</em>, 2019.</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層 Input Layer"]
        A["scRNA-seq AnnData<br/>(control + stimulated<br/>× multiple cell types)"]
    end

    subgraph PREPROCESS["前處理 Preprocessing"]
        B1["Normalize (正規化)"]
        B2["Log1p 轉換"]
        B3["HVG Selection<br/>(高變異基因篩選<br/>~7000 genes)"]
        B4["setup_anndata()<br/>註冊 batch_key +<br/>labels_key"]
    end

    subgraph VAE["SCGENVAE 模型"]
        direction TB
        subgraph ENCODER["Encoder (編碼器)"]
            E1["FCLayers<br/>(n_layers × n_hidden)"]
            E2["LeakyReLU + BatchNorm<br/>+ Dropout"]
            E3["mu (均值) / var (變異數)"]
            E4["Reparameterization<br/>(重參數化取樣)"]
        end
        Z["Latent Space z<br/>(n_latent = 100)"]
        subgraph DECODER["Decoder (解碼器)"]
            D1["FCLayers<br/>(n_layers × n_hidden)"]
            D2["Linear Output<br/>(n_latent → n_genes)"]
        end
        LOSS["Loss = MSE + KL_weight × KL_divergence"]
    end

    subgraph PREDICT["預測 / 推論 Prediction"]
        P1["avg(z_stim) - avg(z_ctrl)<br/>= delta vector"]
        P2["z_target_ctrl + delta"]
        P3["Decoder → predicted<br/>gene expression"]
    end

    subgraph OUTPUT["輸出 Output"]
        O1["Predicted AnnData<br/>(擾動預測結果)"]
        O2["Corrected AnnData<br/>(批次校正結果)"]
        O3["R² Plots<br/>(驗證圖表)"]
    end

    A --> B1 --> B2 --> B3 --> B4
    B4 --> ENCODER
    ENCODER --> Z
    Z --> DECODER
    DECODER --> LOSS
    LOSS -->|"訓練完成"| PREDICT
    Z --> P1
    P1 --> P2
    P2 --> P3
    P3 --> O1
    Z -->|"batch_removal()"| O2
    O1 --> O3

</pre>


<h3 id="22-模組結構" data-numberify>2.2 模組結構<a class="anchor ms-1" href="#22-模組結構"></a></h3>
<p>scGen 的程式碼結構極為精簡，僅包含 5 個核心檔案：</p>]]></description></item><item><title>scGPT 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-scgpt-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-scgpt-tutorial/</guid><description><![CDATA[<h1 id="scgpt-完整教學" data-numberify>scGPT 完整教學<a class="anchor ms-1" href="#scgpt-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/bowang-lab/scGPT" target="_blank" rel="noopener noreferrer">https://github.com/bowang-lab/scGPT<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 1577 | <strong>Tags</strong>: single-cell, foundation-model
<strong>License</strong>: MIT | <strong>Language</strong>: Python (Jupyter Notebook) | <strong>Version</strong>: 0.2.5
<strong>Documentation</strong>: <a href="https://scgpt.readthedocs.io/en/latest/" target="_blank" rel="noopener noreferrer">https://scgpt.readthedocs.io/en/latest/<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Paper</strong>: <em>scGPT: Towards Building a Foundation Model for Single-Cell Multi-omics Using Generative AI</em> (Nature Methods, 2024)</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph INPUT["輸入層 Input Layer"]
        RAW["scRNA-seq / scATAC-seq<br/>Raw Count Matrix"]
        PREP["Preprocessor<br/>normalize + log1p + binning"]
        RAW --> PREP
    end

    subgraph TOKENIZE["Token 化 Tokenization"]
        GV["GeneVocab<br/>基因詞彙表<br/>gene name → token ID"]
        GE["GeneEncoder<br/>Gene Embedding"]
        VE["ValueEncoder<br/>Expression Value Embedding"]
        BE["BatchEncoder<br/>Batch Label Embedding<br/>(optional)"]
        GV --> GE
        PREP --> VE
        PREP --> GV
    end

    subgraph TRANSFORMER["Transformer Backbone"]
        EMB["Gene Emb + Value Emb + Batch Emb<br/>→ Combined Embedding"]
        CLS["[CLS] Token<br/>Cell-level Representation"]
        LAYERS["N × Transformer Encoder Layer<br/>(Flash Attention optional)"]
        DSBN["DSBN<br/>Domain-Specific<br/>Batch Normalization"]
        GE --> EMB
        VE --> EMB
        BE --> EMB
        CLS --> LAYERS
        EMB --> LAYERS
        DSBN -.-> LAYERS
    end

    subgraph HEADS["下游任務頭 Task Heads"]
        MVC["MVC Head<br/>Masked Value<br/>Prediction"]
        DAB["DAB Head<br/>Domain Adaptation<br/>via Batch Discriminator"]
        CLF["Classification Head<br/>Cell Type Annotation"]
        GRN_H["GRN Head<br/>Attention-based<br/>Gene Regulation"]
        PERT["Perturbation Head<br/>Gene Perturbation<br/>Prediction"]
    end

    LAYERS --> MVC
    LAYERS --> DAB
    LAYERS --> CLF
    LAYERS --> GRN_H
    LAYERS --> PERT

    style INPUT fill:#e8f4f8,stroke:#2196F3
    style TOKENIZE fill:#fff3e0,stroke:#FF9800
    style TRANSFORMER fill:#f3e5f5,stroke:#9C27B0
    style HEADS fill:#e8f5e9,stroke:#4CAF50

</pre>


<h3 id="22-關鍵設計決策" data-numberify>2.2 關鍵設計決策<a class="anchor ms-1" href="#22-關鍵設計決策"></a></h3>
<p><strong>基因作為 Token (Gene-as-Token)</strong>：與 NLP 中的 word token 類似，scGPT 將每個基因視為一個 token。每個細胞的基因表達譜就是一條「句子」，其中 token 順序由非零基因的排列決定。</p>]]></description></item><item><title>SDMetrics 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-sdmetrics-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-sdmetrics-tutorial/</guid><description><![CDATA[<h1 id="sdmetrics-完整教學" data-numberify>SDMetrics 完整教學<a class="anchor ms-1" href="#sdmetrics-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/sdv-dev/SDMetrics" target="_blank" rel="noopener noreferrer">https://github.com/sdv-dev/SDMetrics<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 261 | <strong>Forks</strong>: 52 | <strong>License</strong>: MIT
<strong>Language</strong>: Python | <strong>Last Updated</strong>: 2026-06-09
<strong>Tags</strong>: <code>synthetic-data</code>, <code>metrics</code>, <code>quality</code>
<strong>Documentation</strong>: <a href="https://docs.sdv.dev/sdmetrics" target="_blank" rel="noopener noreferrer">https://docs.sdv.dev/sdmetrics<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>DOI</strong>: 10.5281/zenodo.14279167</p></blockquote>

<h2 id="2-核心架構-core-architecture" data-numberify>2. 核心架構 (Core Architecture)<a class="anchor ms-1" href="#2-核心架構-core-architecture"></a></h2>

<h3 id="21-四層指標體系" data-numberify>2.1 四層指標體系<a class="anchor ms-1" href="#21-四層指標體系"></a></h3>
<p>SDMetrics 的指標 (metric) 架構分為四個粒度層級 (granularity levels)，從單一欄位到多表關聯：</p>]]></description></item><item><title>Simulants 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-simulants-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-simulants-tutorial/</guid><description><![CDATA[<h1 id="simulants-完整教學" data-numberify>Simulants 完整教學<a class="anchor ms-1" href="#simulants-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/mdsol/Simulants" target="_blank" rel="noopener noreferrer">https://github.com/mdsol/Simulants<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 2 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Tags</strong>: clinical-trial, baseline, Medidata
<strong>最後更新</strong>: 2024-09-20
<strong>維護者</strong>: Mandis Beigi — Medidata Solutions (Dassault Systemes)</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構圖" data-numberify>2.1 系統架構圖<a class="anchor ms-1" href="#21-系統架構圖"></a></h3>
<pre class="mermaid">

graph TD
    subgraph 輸入層 Input Layer
        A[CSV 原始資料<br/>Raw Tabular Data] --> B[uci_config.py<br/>設定檔 Config]
    end

    subgraph 前處理層 Preprocessing
        B --> C[preprocessor_lib.py]
        C --> C1[Label Encoding<br/>標籤編碼]
        C --> C2[One-Hot Encoding<br/>獨熱編碼]
        C --> C3[Imputation<br/>缺值填補]
        C --> C4[k-Anonymity<br/>K 匿名化]
    end

    subgraph 合成核心 Synthesis Core
        C1 --> D[synthesis_wrapper.py]
        C2 --> D
        C3 --> D
        C4 --> D
        D --> E[synthesis_lib.py]
        E --> E1[相關性分析<br/>Correlation Analysis]
        E --> E2[降維嵌入<br/>Dim Reduction]
        E --> E3[KNN 鄰域抽樣<br/>Neighbor Sampling]
        E --> E4[噪音注入<br/>Noise Injection]
        E --> E5[去重保護<br/>Deduplication]
    end

    subgraph 降維引擎 dimanalysis_lib.py
        E2 --> F1[t-SNE + Gower]
        E2 --> F2[PCA]
        E2 --> F3[ICA]
        E2 --> F4[CCA]
    end

    subgraph 驗證層 Analytics
        E5 --> G[analytics_wrapper.py]
        G --> G1[analytics_lib.py]
        G1 --> H1[Fisher Exact Test<br/>費雪精確檢定]
        G1 --> H2[KS Test<br/>KS 檢定]
        G1 --> H3[Silhouette Score<br/>輪廓係數]
        G1 --> H4[RF / ET Classifier<br/>分類器鑑別]
        G1 --> H5[BOW Histogram<br/>直方圖距離]
        G --> G2[visualization_lib.py]
        G2 --> I1[PCA Scatter Plot]
        G2 --> I2[Correlation Heatmap]
        G2 --> I3[PDF Report]
    end

    subgraph 輸出層 Output
        E5 --> J1[合成 CSV<br/>Synthetic CSV]
        I3 --> J2[驗證報告 PDF<br/>Validation Report]
        G1 --> J3[統計 CSV<br/>Statistics CSVs]
    end

    style E fill:#e1f5fe,stroke:#0288d1
    style G fill:#fff3e0,stroke:#ef6c00

</pre>


<h3 id="22-檔案結構" data-numberify>2.2 檔案結構<a class="anchor ms-1" href="#22-檔案結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="ln"> 1</span><span class="cl">Simulants/
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">├── uci_demo.py              # 主程式進入點 (Entry Point)
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">├── uci_config.py            # 設定檔：路徑、演算法參數、驗證開關
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">├── synthesis_wrapper.py     # 合成流程協調器 (Orchestrator)
</span></span><span class="line"><span class="ln"> 5</span><span class="cl">├── synthesis_lib.py         # 核心合成演算法 (Core Synthesis)
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">├── analytics_wrapper.py     # 驗證流程協調器
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">├── analytics_lib.py         # 統計檢定與分類器驗證
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">├── preprocessor_lib.py      # 前處理：編碼、填補、型別判斷
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">├── dimanalysis_lib.py       # 降維方法集合 (t-SNE/PCA/ICA/CCA)
</span></span><span class="line"><span class="ln">10</span><span class="cl">├── k_anonymity.py           # k-Anonymity 實作
</span></span><span class="line"><span class="ln">11</span><span class="cl">├── bow_lib.py               # Bag-of-Words 直方圖表示
</span></span><span class="line"><span class="ln">12</span><span class="cl">├── visualization_lib.py     # 視覺化：散佈圖、相關熱圖
</span></span><span class="line"><span class="ln">13</span><span class="cl">├── utilities_lib.py         # 通用工具函式
</span></span><span class="line"><span class="ln">14</span><span class="cl">├── requirements.txt         # Python 依賴
</span></span><span class="line"><span class="ln">15</span><span class="cl">├── uci-heart-disease/       # 範例資料集 (UCI Heart Disease)
</span></span><span class="line"><span class="ln">16</span><span class="cl">│   ├── processed.cleveland.csv
</span></span><span class="line"><span class="ln">17</span><span class="cl">│   └── heart-disease.names.txt
</span></span><span class="line"><span class="ln">18</span><span class="cl">└── factbook.yaml            # 專案聯絡資訊
</span></span></code></pre></div>
<h3 id="23-合成演算法流程" data-numberify>2.3 合成演算法流程<a class="anchor ms-1" href="#23-合成演算法流程"></a></h3>
<pre class="mermaid">

flowchart LR
    A[原始 CSV] --> B[k-Anonymity<br/>移除低頻類別]
    B --> C[Label Encoding<br/>+ Imputation]
    C --> D[One-Hot<br/>Encoding]
    D --> E[相關性偵測<br/>Pearson / PB / Chi2 / Cramer V]
    E --> F[t-SNE / PCA<br/>降維至 2D]
    F --> G[KNN 找<br/>K 近鄰]
    G --> H{是否為<br/>離群值?}
    H -->|是| I[跳過]
    H -->|否| J[逐欄位從<br/>鄰域隨機取值]
    J --> K[Co-Segregation<br/>高相關欄位綁定]
    K --> L[Gaussian Noise<br/>乘性雜訊]
    L --> M[移除與原始<br/>重複的紀錄]
    M --> N[One-Hot<br/>Decode]
    N --> O[合成 CSV 輸出]

</pre>

<hr>

<h2 id="3-安裝與設定" data-numberify>3. 安裝與設定<a class="anchor ms-1" href="#3-安裝與設定"></a></h2>

<h3 id="31-環境需求" data-numberify>3.1 環境需求<a class="anchor ms-1" href="#31-環境需求"></a></h3>
<ul>
<li>Python 3.8 以上</li>
<li>建議使用虛擬環境隔離</li>
</ul>

<h3 id="32-安裝步驟" data-numberify>3.2 安裝步驟<a class="anchor ms-1" href="#32-安裝步驟"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 1. Clone 專案</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">git clone https://github.com/mdsol/Simulants.git
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nb">cd</span> Simulants
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 2. 建立虛擬環境（推薦使用 uv）</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">uv venv .venv --python 3.10
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="nb">source</span> .venv/bin/activate
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 3. 安裝依賴</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1"># 注意：requirements.txt 鎖定了較舊的版本，建議手動安裝核心套件</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">uv pip install numpy pandas scikit-learn scipy matplotlib seaborn <span class="se">\
</span></span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="se"></span>    gower lifelines umap-learn sas7bdat pynndescent
</span></span></code></pre></div><blockquote>
<p><strong>注意</strong>：<code>requirements.txt</code> 中的版本較舊（如 <code>numpy==1.22</code>、<code>pandas==1.2.4</code>、<code>scikit-learn==1.0.1</code>），在 Python 3.11+ 可能無法直接安裝。建議去除版本鎖定或使用上述手動安裝方式。</p>]]></description></item><item><title>SmartNoise SDK 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-smartnoise-sdk-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-smartnoise-sdk-tutorial/</guid><description><![CDATA[<h1 id="smartnoise-sdk-完整教學" data-numberify>SmartNoise SDK 完整教學<a class="anchor ms-1" href="#smartnoise-sdk-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/opendp/smartnoise-sdk" target="_blank" rel="noopener noreferrer">https://github.com/opendp/smartnoise-sdk<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 296 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Tags</strong>: <code>differential-privacy</code>, <code>privacy</code>, <code>opendp</code>, <code>smartnoise</code>
<strong>Python</strong>: 3.10 - 3.14 | <strong>最後更新</strong>: 2026-05</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph "SmartNoise SDK"
        direction TB

        subgraph SQL["smartnoise-sql<br/>差分隱私 SQL 查詢"]
            SQL_PARSER["SQL Parser<br/>(ANTLR4 語法剖析)"]
            SQL_REWRITER["Private Rewriter<br/>(查詢改寫引擎)"]
            SQL_MECH["DP Mechanisms<br/>(Laplace / Gaussian)"]
            SQL_ODO["Odometer<br/>(隱私預算追蹤)"]
            SQL_PARSER --> SQL_REWRITER
            SQL_REWRITER --> SQL_MECH
            SQL_MECH --> SQL_ODO
        end

        subgraph SYNTH["smartnoise-synth<br/>差分隱私合成器"]
            SYNTH_BASE["Base Synthesizer<br/>(統一介面)"]
            SYNTH_STAT["統計方法"]
            SYNTH_DL["深度學習方法"]
            SYNTH_BASE --> SYNTH_STAT
            SYNTH_BASE --> SYNTH_DL
            SYNTH_STAT --> MWEM["MWEM"]
            SYNTH_STAT --> MST["MST"]
            SYNTH_STAT --> AIM["AIM"]
            SYNTH_DL --> DPCTGAN["DP-CTGAN"]
            SYNTH_DL --> PATECTGAN["PATE-CTGAN"]
            SYNTH_DL --> PATEGAN["PATE-GAN"]
            SYNTH_STAT --> QUAIL["QUAIL"]
        end

        subgraph EVAL["sneval<br/>品質評估"]
            EVAL_SINGLE["Single-Table Metrics<br/>(平均值/中位數偏差)"]
            EVAL_COMPARE["Comparison Metrics<br/>(MAE / MPE in Count)"]
        end

        subgraph TRANSFORM["Transform Pipeline<br/>資料前處理"]
            T_BIN["Bin (離散化)"]
            T_LABEL["Label Encode"]
            T_ONEHOT["One-Hot Encode"]
            T_CLAMP["Clamp (截斷)"]
            T_ANON["Anonymization"]
        end
    end

    subgraph BACKENDS["後端資料來源"]
        PD["Pandas DataFrame"]
        PG["PostgreSQL"]
        SPARK["Apache Spark"]
        BQ["BigQuery"]
        MYSQL["MySQL"]
        SQLITE["SQLite"]
    end

    subgraph OPENDP["OpenDP Library<br/>(底層 DP 演算法)"]
        DP_CORE["核心 DP 機制"]
    end

    BACKENDS --> SQL
    SQL --> OPENDP
    SYNTH --> OPENDP
    TRANSFORM --> SYNTH
    SYNTH --> EVAL

    style SQL fill:#e1f5fe,stroke:#0288d1
    style SYNTH fill:#f3e5f5,stroke:#7b1fa2
    style EVAL fill:#e8f5e9,stroke:#388e3c
    style TRANSFORM fill:#fff3e0,stroke:#f57c00
    style OPENDP fill:#fce4ec,stroke:#c62828

</pre>


<h3 id="22-合成器演算法比較" data-numberify>2.2 合成器演算法比較<a class="anchor ms-1" href="#22-合成器演算法比較"></a></h3>
<p>SmartNoise 提供 7 種差分隱私合成器，依底層技術分為三大類：</p>]]></description></item><item><title>synthcity 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-synthcity-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-synthcity-tutorial/</guid><description><![CDATA[<h1 id="synthcity-完整教學" data-numberify>synthcity 完整教學<a class="anchor ms-1" href="#synthcity-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/vanderschaarlab/synthcity" target="_blank" rel="noopener noreferrer">https://github.com/vanderschaarlab/synthcity<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 664 | <strong>Fork</strong>: 94 | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: <code>synthetic-data</code>, <code>privacy</code>, <code>fairness</code>, <code>pytorch</code>, <code>tabular-data</code>, <code>generative-model</code>
<strong>最新版本</strong>: v0.2.12 (2025-05-08)
<strong>論文</strong>: <a href="https://arxiv.org/abs/2301.07573" target="_blank" rel="noopener noreferrer">arXiv:2301.07573<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構圖" data-numberify>2.1 系統架構圖<a class="anchor ms-1" href="#21-系統架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["輸入層 Input Layer"]
        RAW["原始資料<br/>Raw Data"]
        RAW --> GDL["GenericDataLoader"]
        RAW --> SDL["SurvivalAnalysisDataLoader"]
        RAW --> TDL["TimeSeriesDataLoader"]
        RAW --> IDL["ImageDataLoader"]
    end

    subgraph PluginRegistry["Plugin 註冊中心"]
        PR["Plugins()"]
        PR -->|"categories=generic"| GEN["Generic Plugins<br/>CTGAN, TVAE, NFlow, ARF,<br/>DDPM, GReaT, BN, RTVAE..."]
        PR -->|"categories=privacy"| PRIV["Privacy Plugins<br/>AdsGAN, DP-GAN, PATEGAN,<br/>PrivBayes, DECAF, AIM"]
        PR -->|"categories=survival"| SURV["Survival Plugins<br/>SurvivalGAN, SurVAE,<br/>Survival-CTGAN"]
        PR -->|"categories=time_series"| TS["Time Series Plugins<br/>TimeGAN, FourierFlows,<br/>TimeVAE"]
    end

    subgraph Training["訓練與生成"]
        FIT["model.fit(dataloader)"]
        GEN2["model.generate(count=N)"]
        FIT --> GEN2
    end

    subgraph Evaluation["評估引擎 Metrics Engine"]
        BENCH["Benchmarks.evaluate()"]
        BENCH --> M1["eval_sanity<br/>基本健全性"]
        BENCH --> M2["eval_statistical<br/>統計一致性"]
        BENCH --> M3["eval_privacy<br/>隱私風險"]
        BENCH --> M4["eval_detection<br/>合成偵測"]
        BENCH --> M5["eval_performance<br/>下游效能"]
        BENCH --> M6["eval_attacks<br/>攻擊模擬"]
    end

    GDL --> FIT
    SDL --> FIT
    TDL --> FIT
    IDL --> FIT
    GEN2 --> BENCH

    style Input fill:#e1f5fe,stroke:#0288d1
    style PluginRegistry fill:#f3e5f5,stroke:#7b1fa2
    style Training fill:#e8f5e9,stroke:#388e3c
    style Evaluation fill:#fff3e0,stroke:#f57c00

</pre>


<h3 id="22-plugin-機制" data-numberify>2.2 Plugin 機制<a class="anchor ms-1" href="#22-plugin-機制"></a></h3>
<p>synthcity 的核心設計是 <strong>Plugin Pattern (插件模式)</strong>：每個生成器都是一個繼承自 <code>Plugin</code> 基底類別的獨立模組。所有生成器共享相同的介面：</p>]]></description></item><item><title>synthEHRella 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-synthehrella-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-synthehrella-tutorial/</guid><description><![CDATA[<h1 id="synthehrella-完整教學" data-numberify>synthEHRella 完整教學<a class="anchor ms-1" href="#synthehrella-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/chenxran/synthEHRella" target="_blank" rel="noopener noreferrer">https://github.com/chenxran/synthEHRella<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 18 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Tags</strong>: <code>EHR</code>, <code>benchmark</code>, <code>synthetic</code>
<strong>論文</strong>: Chen X, Wu Z et al. (2025). <em>Generating synthetic electronic health record data: a methodological scoping review with benchmarking on phenotype data and open-source software.</em> JAMIA, 32(7), 1227-1240.
<strong>最後更新</strong>: 2026-04-09</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-四步驟-pipeline" data-numberify>2.1 四步驟 Pipeline<a class="anchor ms-1" href="#21-四步驟-pipeline"></a></h3>
<p>SynthEHRella 的核心設計是一條四步驟的標準化 pipeline，每個步驟都有獨立的 CLI 入口：</p>]]></description></item><item><title>Synthetic Data Generator (SDG) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-synthetic-data-generator-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-synthetic-data-generator-tutorial/</guid><description><![CDATA[<h1 id="synthetic-data-generator-sdg-完整教學" data-numberify>Synthetic Data Generator (SDG) 完整教學<a class="anchor ms-1" href="#synthetic-data-generator-sdg-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/SDM-TIB/Synthetic-Data-Generator" target="_blank" rel="noopener noreferrer">https://github.com/SDM-TIB/Synthetic-Data-Generator<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 3 | <strong>Language</strong>: Python | <strong>License</strong>: MIT
<strong>Tags</strong>: <code>breast-cancer</code>, <code>csv</code>, <code>data-generator</code>, <code>process-based</code>, <code>rdf</code>, <code>sql</code>
<strong>最後更新</strong>: 2025-11-20</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統架構圖" data-numberify>2.1 系統架構圖<a class="anchor ms-1" href="#21-系統架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["輸入參數"]
        N["患者數量<br/>-n patients"]
        P["突變機率<br/>-p mutation_prob"]
    end

    subgraph Docker["Docker Container (MySQL 8.1)"]
        subgraph Init["初始化階段"]
            SQL_SCHEMA["table_structure.sql<br/>建立 11 張表 +<br/>66 種化療方案 +<br/>30 種 CUI 描述"]
            DB["MySQL 8.1<br/>synth database"]
            SQL_SCHEMA --> DB
        end

        subgraph Gen["資料生成階段 (SDG.py)"]
            direction TB
            DEMO["1. 人口統計<br/>年齡 ~ N(57, 10)"]
            TUMOR["2. 腫瘤分型<br/>PP/PN/NP/NN"]
            STAGE["3. TNM 分期<br/>Stage 0-IV"]
            IHC["4. IHC 標記<br/>ER/PR/HER2/Ki67"]
            NEO["5. 新輔助化療<br/>3-5 週期"]
            SURG["6. 手術<br/>Mastectomy/Partial"]
            ADJ["7. 輔助化療<br/>3-20 週期"]
            RADIO["8. 放射治療<br/>劑量 ~ N(46, 8.4) Gy"]
            COMOR["9. 共病症<br/>17 類"]
            ORAL["10. 口服藥物<br/>15 種"]
            FAM["11. 家族史<br/>30 種 CUI"]

            DEMO --> TUMOR --> STAGE --> IHC
            IHC --> NEO --> SURG --> ADJ --> RADIO
            RADIO --> COMOR --> ORAL --> FAM
        end

        Gen -->|INSERT| DB
    end

    N --> Gen
    P --> Gen

    subgraph Output["三格式輸出 → ./data/"]
        CSV["CSV<br/>每表一個 .csv"]
        RDF_OUT["RDF (N-Triples)<br/>synth_data.nt<br/>via SDM-RDFizer"]
        SQL_DUMP["SQL Dump<br/>synth_data.sql.gz"]
    end

    DB -->|mysqldump| SQL_DUMP
    DB -->|SELECT *| CSV
    DB -->|RML mapping.ttl<br/>+ SDM-RDFizer| RDF_OUT

    style Input fill:#e1f5fe,stroke:#0288d1
    style Docker fill:#fff3e0,stroke:#f57c00
    style Output fill:#e8f5e9,stroke:#388e3c
    style Gen fill:#fce4ec,stroke:#c62828

</pre>


<h3 id="22-關鍵機率分佈參數" data-numberify>2.2 關鍵機率分佈參數<a class="anchor ms-1" href="#22-關鍵機率分佈參數"></a></h3>
<p>SDG 的核心是一組 <strong>來自真實族群統計的機率分佈</strong>，以下列出最重要的幾個：</p>]]></description></item><item><title>Synthetic-CT-generation-from-MRI-using-3D-transformer-based-denoising-diffusion-model 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-synthetic-ct-generation-from-mri-using-3d-transformer-based-denoising-diffusion-model-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-synthetic-ct-generation-from-mri-using-3d-transformer-based-denoising-diffusion-model-tutorial/</guid><description><![CDATA[<h1 id="synthetic-ct-generation-from-mri-using-3d-transformer-based-denoising-diffusion-model-完整教學" data-numberify>Synthetic-CT-generation-from-MRI-using-3D-transformer-based-denoising-diffusion-model 完整教學<a class="anchor ms-1" href="#synthetic-ct-generation-from-mri-using-3d-transformer-based-denoising-diffusion-model-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/shaoyanpan/Synthetic-CT-generation-from-MRI-using-3D-transformer-based-denoising-diffusion-model" target="_blank" rel="noopener noreferrer">https://github.com/shaoyanpan/Synthetic-CT-generation-from-MRI-using-3D-transformer-based-denoising-diffusion-model<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 67 | <strong>Fork</strong>: 8 | <strong>License</strong>: MIT
<strong>Tags</strong>: diffusion, 3D-transformer, MRI-CT
<strong>論文</strong>: <a href="https://aapm.onlinelibrary.wiley.com/doi/abs/10.1002/mp.16847" target="_blank" rel="noopener noreferrer">Medical Physics (2024)<i class="fas fa-external-link-square-alt ms-1"></i></a> | <a href="https://arxiv.org/abs/2305.19467" target="_blank" rel="noopener noreferrer">arXiv 預印本<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>主要語言</strong>: Python 3.8 | <strong>框架</strong>: PyTorch + MONAI
<strong>最後更新</strong>: 2026-05-10</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體管線" data-numberify>2.1 整體管線<a class="anchor ms-1" href="#21-整體管線"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph Input["輸入準備"]
        MRI["MRI 影像<br/>(Condition)"]
        NOISE["高斯雜訊<br/>x_T ~ N(0,I)"]
    end

    subgraph Forward["Forward Process<br/>(訓練時)"]
        CT_REAL["真實 CT 影像<br/>x_0"]
        ADD_NOISE["逐步加噪<br/>q(x_t | x_0)"]
        CT_REAL --> ADD_NOISE
        NOISE_SCHED["Linear Beta Schedule<br/>1000 steps"]
        NOISE_SCHED --> ADD_NOISE
    end

    subgraph Model["3D Swin-Transformer UNet"]
        direction TB
        ENC1["Encoder Block 1<br/>64ch, ResBlock x2"]
        ENC2["Encoder Block 2<br/>128ch, SwinTransformer"]
        ENC3["Encoder Block 3<br/>192ch, SwinTransformer"]
        ENC4["Encoder Block 4<br/>256ch, SwinTransformer"]
        MID["Middle Block<br/>256ch, SwinTransformer"]
        DEC4["Decoder Block 4<br/>256ch + Skip"]
        DEC3["Decoder Block 3<br/>192ch + Skip"]
        DEC2["Decoder Block 2<br/>128ch + Skip"]
        DEC1["Decoder Block 1<br/>64ch + Skip"]
        
        ENC1 --> ENC2 --> ENC3 --> ENC4 --> MID
        MID --> DEC4 --> DEC3 --> DEC2 --> DEC1
        ENC4 -.->|skip| DEC4
        ENC3 -.->|skip| DEC3
        ENC2 -.->|skip| DEC2
        ENC1 -.->|skip| DEC1
    end

    subgraph TimeEmb["Timestep Embedding"]
        T["t (當前步驟)"]
        SINCOS["Sinusoidal Encoding"]
        MLP_T["MLP Projection"]
        T --> SINCOS --> MLP_T
    end

    subgraph Reverse["Reverse Process<br/>(推論時)"]
        DENOISE["反覆去噪<br/>p(x_{t-1} | x_t, MRI)"]
        SYNTH_CT["合成 CT<br/>x_0"]
        DENOISE --> SYNTH_CT
    end

    MRI --> Model
    ADD_NOISE --> Model
    NOISE --> DENOISE
    MRI --> DENOISE
    MLP_T --> Model
    Model --> |"預測 noise ε_θ"| Reverse

</pre>


<h3 id="22-3d-swin-transformer-在-unet-中的角色" data-numberify>2.2 3D Swin Transformer 在 UNet 中的角色<a class="anchor ms-1" href="#22-3d-swin-transformer-在-unet-中的角色"></a></h3>
<p>傳統 DDPM UNet 在低解析度 feature map 使用 global self-attention，但這在 3D 體積中記憶體開銷極大。本專案以 <strong>3D Swin Transformer Block</strong> 取代：</p>]]></description></item><item><title>T-SYNTH (tsynth-release) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-tsynth-release-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-tsynth-release-tutorial/</guid><description><![CDATA[<h1 id="t-synth-tsynth-release-完整教學" data-numberify>T-SYNTH (tsynth-release) 完整教學<a class="anchor ms-1" href="#t-synth-tsynth-release-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/DIDSR/tsynth-release" target="_blank" rel="noopener noreferrer">https://github.com/DIDSR/tsynth-release<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 6 | <strong>Tags</strong>: breast-cancer, medical-imaging, synthetic-data
<strong>授權</strong>: CC0 1.0 Universal (Creative Commons Zero; 公眾領域貢獻)
<strong>主要語言</strong>: Jupyter Notebook / Python
<strong>資料集</strong>: <a href="https://huggingface.co/datasets/didsr/tsynth" target="_blank" rel="noopener noreferrer">https://huggingface.co/datasets/didsr/tsynth<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>論文</strong>: <a href="https://arxiv.org/abs/2507.04038" target="_blank" rel="noopener noreferrer">https://arxiv.org/abs/2507.04038<i class="fas fa-external-link-square-alt ms-1"></i></a> (MICCAI Open Data 2025)
<strong>FDA RST 編號</strong>: RST26AI04.01</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-系統整體架構" data-numberify>2.1 系統整體架構<a class="anchor ms-1" href="#21-系統整體架構"></a></h3>
<pre class="mermaid">

flowchart TB
    subgraph VICTRE ["VICTRE Toolkit (上游)"]
        A1[虛擬乳房模型<br/>KB Phantom] --> A2[Monte Carlo<br/>X-ray 模擬]
        A2 --> A3[原始 DBT<br/>3D Volume]
    end

    subgraph TSYNTH ["T-SYNTH Pipeline"]
        A3 --> B1[C-View 合成<br/>DBT → 2D]
        A3 --> B2[像素級分割<br/>Segmentation]
        B1 --> B3[HuggingFace<br/>Dataset 發佈]
        B2 --> B3
        B3 --> C1[下載腳本<br/>download_data.py]
    end

    subgraph TRAIN ["訓練與評估"]
        C1 --> D1[YAML 配置<br/>real / synth / mixed]
        D1 --> D2[custom_datasets.py<br/>EmbedDataset + DbtSynthDataset]
        D2 --> D3[train_detector.py<br/>Faster R-CNN<br/>ResNet-50-FPN]
        D3 --> D4[evaluate_detectors.py<br/>FROC / AUC]
        D4 --> D5[Jupyter Notebooks<br/>視覺化 + 分析]
    end

    subgraph DATA ["外部真實資料"]
        E1[EMBED Dataset<br/>Emory Breast Imaging<br/>AWS Open Data] --> D2
    end

    style VICTRE fill:#e8f4fd,stroke:#1e88e5
    style TSYNTH fill:#fff3e0,stroke:#f57c00
    style TRAIN fill:#e8f5e9,stroke:#43a047
    style DATA fill:#fce4ec,stroke:#e53935

</pre>


<h3 id="22-實驗配置對應圖" data-numberify>2.2 實驗配置對應圖<a class="anchor ms-1" href="#22-實驗配置對應圖"></a></h3>
<pre class="mermaid">

flowchart LR
    subgraph EXP ["實驗類型"]
        direction TB
        R[Real Only<br/>20%~100%]
        RS[Real + Synth<br/>混合比例]
        S[Synth Only]
        D[Diffusion<br/>比較實驗]
    end

    subgraph CFG ["YAML 配置"]
        direction TB
        C1["cfg/train/real*.yaml"]
        C2["cfg/train/real*_and_synth*.yaml"]
        C3["cfg/train/synth.yaml"]
        C4["cfg/train/genAI/*.yaml"]
    end

    subgraph MOD ["模態"]
        direction TB
        M1["DBT C-View"]
        M2["DM 2D"]
    end

    R --> C1
    RS --> C2
    S --> C3
    D --> C4
    C1 & C2 & C3 & C4 --> M1
    C1 & C2 & C3 --> M2

    style EXP fill:#e3f2fd,stroke:#1565c0
    style CFG fill:#fff8e1,stroke:#f9a825
    style MOD fill:#f3e5f5,stroke:#8e24aa

</pre>


<h3 id="23-檔案結構" data-numberify>2.3 檔案結構<a class="anchor ms-1" href="#23-檔案結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">tsynth</span><span class="o">-</span><span class="n">release</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="err">├──</span> <span class="n">LICENSE</span>                          <span class="c1"># CC0 1.0</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="err">├──</span> <span class="n">images</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">poster</span><span class="o">.</span><span class="n">pdf</span>                   <span class="c1"># MICCAI 海報</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">summary_figure</span><span class="o">.</span><span class="n">png</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">└──</span> <span class="n">code</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">    <span class="err">├──</span> <span class="n">README</span><span class="o">.</span><span class="n">md</span>                    <span class="c1"># 安裝與使用說明</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl">    <span class="err">├──</span> <span class="n">requirements</span><span class="o">.</span><span class="n">txt</span>             <span class="c1"># Python 套件依賴</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">    <span class="err">├──</span> <span class="n">config_global</span><span class="o">.</span><span class="n">py</span>             <span class="c1"># 全域路徑設定 (dir_global)</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl">    <span class="err">├──</span> <span class="n">custom_datasets</span><span class="o">.</span><span class="n">py</span>           <span class="c1"># Dataset 類別 (EmbedDataset, DbtSynthDataset)</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl">    <span class="err">├──</span> <span class="n">train_detector</span><span class="o">.</span><span class="n">py</span>            <span class="c1"># 訓練 Faster R-CNN</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">    <span class="err">├──</span> <span class="n">evaluate_detectors</span><span class="o">.</span><span class="n">py</span>        <span class="c1"># 模型推論與評估</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl">    <span class="err">├──</span> <span class="n">cfg</span><span class="o">/</span>                         <span class="c1"># YAML 實驗配置</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">train</span><span class="o">/</span>                   <span class="c1"># 訓練配置 (25+ 種組合)</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl">    <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">real</span><span class="o">.</span><span class="n">yaml</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl">    <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">synth</span><span class="o">.</span><span class="n">yaml</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">    <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">real_and_synth</span><span class="o">.</span><span class="n">yaml</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl">    <span class="err">│</span>   <span class="err">│</span>   <span class="err">├──</span> <span class="n">real100_and_synth</span><span class="o">*.</span><span class="n">yaml</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl">    <span class="err">│</span>   <span class="err">│</span>   <span class="err">└──</span> <span class="n">genAI</span><span class="o">/</span>              <span class="c1"># Diffusion 比較實驗</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">val</span><span class="o">/</span>                     <span class="c1"># 驗證配置</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">test</span><span class="o">/</span>                    <span class="c1"># 測試配置</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl">    <span class="err">│</span>   <span class="err">└──</span> <span class="n">DM</span><span class="o">/</span>                      <span class="c1"># Digital Mammography 專用配置</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl">    <span class="err">├──</span> <span class="n">download_scripts</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">download_data</span><span class="o">.</span><span class="n">py</span>         <span class="c1"># 從 HuggingFace 下載合成資料</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">download_embed_metadata</span><span class="o">.</span><span class="n">py</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">download_models</span><span class="o">.</span><span class="n">py</span>       <span class="c1"># 下載預訓練模型</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">download_results</span><span class="o">.</span><span class="n">py</span>      <span class="c1"># 下載評估結果</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl">    <span class="err">│</span>   <span class="err">└──</span> <span class="n">download_volumes</span><span class="o">.</span><span class="n">py</span>      <span class="c1"># 下載原始 DBT volumes</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl">    <span class="err">├──</span> <span class="n">notebooks</span><span class="o">/</span>                   <span class="c1"># 分析與視覺化</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">create_cview</span><span class="o">.</span><span class="n">ipynb</span>       <span class="c1"># DBT → C-View 轉換</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">synthetic_detection</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">data_augmentation_experiments</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">34</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">diffusion_experiments</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">35</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">tsynth_breast_density</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">36</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">tsynth_lesion_density</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl">    <span class="err">│</span>   <span class="err">├──</span> <span class="n">tsynth_lesion_size</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">38</span><span class="cl">    <span class="err">│</span>   <span class="err">└──</span> <span class="n">comparison_of_FROC_AUC</span><span class="o">.</span><span class="n">ipynb</span>
</span></span><span class="line"><span class="ln">39</span><span class="cl">    <span class="err">└──</span> <span class="n">utils</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">40</span><span class="cl">        <span class="err">├──</span> <span class="n">duke_dbt_data</span><span class="o">.</span><span class="n">py</span>         <span class="c1"># DICOM 讀取工具</span>
</span></span><span class="line"><span class="ln">41</span><span class="cl">        <span class="err">├──</span> <span class="n">eval_utils</span><span class="o">.</span><span class="n">py</span>            <span class="c1"># FROC 計算工具</span>
</span></span><span class="line"><span class="ln">42</span><span class="cl">        <span class="err">└──</span> <span class="n">model_utils</span><span class="o">.</span><span class="n">py</span>           <span class="c1"># Faster R-CNN 建構</span>
</span></span></code></pre></div><hr>

<h2 id="3-安裝與設定" data-numberify>3. 安裝與設定<a class="anchor ms-1" href="#3-安裝與設定"></a></h2>

<h3 id="31-環境需求" data-numberify>3.1 環境需求<a class="anchor ms-1" href="#31-環境需求"></a></h3>
<table>
  <thead>
      <tr>
          <th>需求</th>
          <th>說明</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td><strong>Python</strong></td>
          <td>3.9</td>
      </tr>
      <tr>
          <td><strong>GPU</strong></td>
          <td>CUDA 11.8 (NVIDIA GPU 強烈建議)</td>
      </tr>
      <tr>
          <td><strong>磁碟空間</strong></td>
          <td>C-View 資料 ~數十 GB；完整 DBT volumes 需 PrecisionFDA 下載，更大</td>
      </tr>
      <tr>
          <td><strong>HuggingFace 帳號</strong></td>
          <td>下載資料需要 token</td>
      </tr>
      <tr>
          <td><strong>套件</strong></td>
          <td>PyTorch 2.3.1+cu118, torchvision 0.18.1, MONAI 1.3.1, pydicom 等</td>
      </tr>
  </tbody>
</table>

<h3 id="32-安裝步驟" data-numberify>3.2 安裝步驟<a class="anchor ms-1" href="#32-安裝步驟"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 1. Clone repository</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl">git clone https://github.com/DIDSR/tsynth-release.git
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="nb">cd</span> tsynth-release
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 2. 建立 conda 環境（官方建議 Python 3.9）</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl">conda create -n tsynth <span class="nv">python</span><span class="o">=</span>3.9
</span></span><span class="line"><span class="ln"> 7</span><span class="cl">conda activate tsynth
</span></span><span class="line"><span class="ln"> 8</span><span class="cl">
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1"># 3. 安裝套件依賴</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">pip install -r code/requirements.txt
</span></span><span class="line"><span class="ln">11</span><span class="cl">
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1"># 4. 設定 HuggingFace token（下載資料需要）</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">huggingface-cli login
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1"># 貼上你的 HuggingFace Access Token</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl">
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1"># 5. （可選）手動下載 pretrained COCO 權重</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">#    如果自動下載失敗才需要</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl">mkdir -p ~/.cache/torch/hub/checkpoints
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="nb">cd</span> ~/.cache/torch/hub/checkpoints
</span></span><span class="line"><span class="ln">20</span><span class="cl">wget https://download.pytorch.org/models/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth
</span></span><span class="line"><span class="ln">21</span><span class="cl">wget https://download.pytorch.org/models/resnet50-0676ba61.pth
</span></span></code></pre></div>
<h3 id="33-關鍵配置config_globalpy" data-numberify>3.3 關鍵配置：config_global.py<a class="anchor ms-1" href="#33-關鍵配置config_globalpy"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-python" data-lang="python"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 修改此路徑為你的本地資料目錄</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="n">dir_global</span> <span class="o">=</span> <span class="s1">&#39;/path/to/your/tsynth_data/&#39;</span>
</span></span></code></pre></div><p>此路徑是所有下載腳本與訓練/評估腳本的全域根目錄。下載的資料會存放在 <code>{dir_global}/data/</code> 下。</p>]]></description></item><item><title>TabGAN (Tabular-data-generation) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-tabular-data-generation-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-tabular-data-generation-tutorial/</guid><description><![CDATA[<h1 id="tabgan-tabular-data-generation-完整教學" data-numberify>TabGAN (Tabular-data-generation) 完整教學<a class="anchor ms-1" href="#tabgan-tabular-data-generation-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/Diyago/Tabular-data-generation" target="_blank" rel="noopener noreferrer">https://github.com/Diyago/Tabular-data-generation<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 570 | <strong>Forks</strong>: 83 | <strong>License</strong>: Apache-2.0
<strong>Language</strong>: Python | <strong>PyPI</strong>: <code>tabgan</code>
<strong>Tags</strong>: GAN, tabular-data, adversarial-filtering, deep-learning, machine-learning
<strong>Paper</strong>: <a href="https://arxiv.org/abs/2010.00638" target="_blank" rel="noopener noreferrer">Tabular GANs for uneven distribution<i class="fas fa-external-link-square-alt ms-1"></i></a> (arXiv:2010.00638)
<strong>Live Demo</strong>: <a href="https://insafq-tabgan.hf.space" target="_blank" rel="noopener noreferrer">HuggingFace Spaces<i class="fas fa-external-link-square-alt ms-1"></i></a> | <a href="https://colab.research.google.com/github/Diyago/Tabular-data-generation/blob/master/examples/tabgan_examples.ipynb" target="_blank" rel="noopener noreferrer">Colab Notebook<i class="fas fa-external-link-square-alt ms-1"></i></a></p></blockquote>

<h2 id="2-核心架構-core-architecture" data-numberify>2. 核心架構 (Core Architecture)<a class="anchor ms-1" href="#2-核心架構-core-architecture"></a></h2>

<h3 id="21-整體管線架構" data-numberify>2.1 整體管線架構<a class="anchor ms-1" href="#21-整體管線架構"></a></h3>
<p>TabGAN 的所有 Generator 共享統一的四階段管線 (Four-Stage Pipeline)：</p>]]></description></item><item><title>TemporAI 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-temporai-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-temporai-tutorial/</guid><description><![CDATA[<h1 id="temporai-完整教學" data-numberify>TemporAI 完整教學<a class="anchor ms-1" href="#temporai-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/vanderschaarlab/temporai" target="_blank" rel="noopener noreferrer">https://github.com/vanderschaarlab/temporai<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 130 | <strong>Forks</strong>: 24 | <strong>Language</strong>: Python | <strong>License</strong>: Apache-2.0
<strong>Tags</strong>: <code>machine-learning</code>, <code>medicine</code>, <code>time-series</code>, <code>automl</code>
<strong>Homepage</strong>: <a href="https://www.temporai.vanderschaar-lab.com/" target="_blank" rel="noopener noreferrer">https://www.temporai.vanderschaar-lab.com/<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Paper</strong>: <a href="https://arxiv.org/abs/2301.12260" target="_blank" rel="noopener noreferrer">arXiv:2301.12260<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Last Updated</strong>: 2026-05-28</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-整體架構圖" data-numberify>2.1 整體架構圖<a class="anchor ms-1" href="#21-整體架構圖"></a></h3>
<pre class="mermaid">

graph TB
    subgraph Input["Data Input Layer (資料輸入層)"]
        RAW["Raw Data<br/>原始醫療時序資料"]
        DS["DataSource Plugin<br/>資料來源插件<br/>(PBC, PKPD, MIMIC, UCI, Sine...)"]
        DATASET["TemporalDataset<br/>統一資料格式"]
    end

    subgraph Core["Plugin Core (插件核心)"]
        PL["plugin_loader<br/>插件載入器"]
        REG["Plugin Registry<br/>插件註冊表"]
    end

    subgraph Preprocessing["Preprocessing Layer (前處理層)"]
        IMP["Imputation<br/>缺失值填補"]
        SCALE["Scaling<br/>標準化"]
        ENC["Encoding<br/>特徵編碼"]
    end

    subgraph Methods["ML Methods Layer (ML 方法層)"]
        TTE["Time-to-Event<br/>存活分析"]
        TX["Treatment Effects<br/>治療效果估計"]
        PRED["Prediction<br/>預測"]
    end

    subgraph AutoML["AutoML Layer (自動化層)"]
        TUNER["Tuner<br/>超參數調校"]
        SEEKER["PipelineSeeker<br/>管線搜尋"]
        BENCH["Benchmarks<br/>基準測試"]
    end

    subgraph Output["Output Layer (輸出層)"]
        RISK["Risk Predictions<br/>風險預測"]
        CF["Counterfactuals<br/>反事實結果"]
        FORECAST["Forecasts<br/>時序預測"]
        SERIAL["Serialization<br/>模型序列化"]
    end

    RAW --> DS --> DATASET
    DATASET --> PL
    PL --> REG
    REG --> Preprocessing
    Preprocessing --> Methods
    Methods --> AutoML
    Methods --> Output
    AutoML --> Output

    style Input fill:#e8f5e9,stroke:#2e7d32
    style Core fill:#fff3e0,stroke:#e65100
    style Preprocessing fill:#e3f2fd,stroke:#1565c0
    style Methods fill:#fce4ec,stroke:#c62828
    style AutoML fill:#f3e5f5,stroke:#6a1b9a
    style Output fill:#e0f2f1,stroke:#00695c

</pre>


<h3 id="22-plugin-系統架構" data-numberify>2.2 Plugin 系統架構<a class="anchor ms-1" href="#22-plugin-系統架構"></a></h3>
<p>TemporAI 的核心設計是 <strong>Plugin-based Architecture (插件式架構)</strong>。所有方法（模型、前處理器、資料來源）都以 Plugin 的形式註冊到全域的 <code>plugin_loader</code>，透過字串路徑存取：</p>]]></description></item><item><title>Treeffuser 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-treeffuser-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-treeffuser-tutorial/</guid><description><![CDATA[<h1 id="treeffuser-完整教學" data-numberify>Treeffuser 完整教學<a class="anchor ms-1" href="#treeffuser-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/blei-lab/treeffuser" target="_blank" rel="noopener noreferrer">https://github.com/blei-lab/treeffuser<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 56 | <strong>Forks</strong>: 10 | <strong>License</strong>: MIT
<strong>Paper</strong>: <a href="https://arxiv.org/abs/2406.07658" target="_blank" rel="noopener noreferrer">NeurIPS 2024 — arXiv:2406.07658<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Tags</strong>: diffusion-models, gradient-boosting, probabilistic-prediction, tabular-data, lightgbm, heteroscedasticity
<strong>最後更新</strong>: 2026-04-28
<strong>作者群</strong>: David Blei Lab @ Columbia University（Nicolas Beltran-Velez, Alessandro Grande, Achille Nazaret, Alp Kucukelbir, David Blei）</p>]]></description></item><item><title>VICTRE 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-20-victre-tutorial/</link><pubDate>Wed, 10 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-victre-tutorial/</guid><description><![CDATA[<h1 id="victre-完整教學" data-numberify>VICTRE 完整教學<a class="anchor ms-1" href="#victre-完整教學"></a></h1>
<blockquote>
<p><strong>Repository</strong>: <a href="https://github.com/DIDSR/VICTRE" target="_blank" rel="noopener noreferrer">https://github.com/DIDSR/VICTRE<i class="fas fa-external-link-square-alt ms-1"></i></a>
<strong>Stars</strong>: 74 | <strong>Tags</strong>: virtual-clinical-trial, FDA, imaging
<strong>License</strong>: CC0-1.0 (Creative Commons Zero v1.0 Universal)
<strong>Primary Language</strong>: Python / C / CUDA
<strong>Forks</strong>: 16 | <strong>Last Updated</strong>: 2026-06-09
<strong>自動化管線</strong>: <a href="https://github.com/DIDSR/VICTRE_PIPELINE" target="_blank" rel="noopener noreferrer">https://github.com/DIDSR/VICTRE_PIPELINE<i class="fas fa-external-link-square-alt ms-1"></i></a> (29 stars)
<strong>FDA RST 編號</strong>: RST24MD10.01</p></blockquote>

<h2 id="2-核心架構" data-numberify>2. 核心架構<a class="anchor ms-1" href="#2-核心架構"></a></h2>

<h3 id="21-victre-九步管線總覽" data-numberify>2.1 VICTRE 九步管線總覽<a class="anchor ms-1" href="#21-victre-九步管線總覽"></a></h3>
<pre class="mermaid">

flowchart TD
    subgraph PhantomGen["Phase 1: Phantom Generation (幻像生成)"]
        A["breastPhantom<br/>程序式乳房模型生成"]
        B["breastCompress<br/>FEBio 有限元素壓縮"]
        C["breastCrop<br/>體積裁切 (GPU 記憶體限制)"]
    end

    subgraph LesionPhase["Phase 2: Lesion Processing (病灶處理)"]
        D["breastMass<br/>程序式腫瘤生成"]
        E["Lesion Insertion<br/>病灶植入 (Python)"]
    end

    subgraph ImagingPhase["Phase 3: Imaging (影像擷取)"]
        F["MC-GPU<br/>Monte Carlo X 光傳輸<br/>(DM + DBT)"]
        G["FBP Reconstruction<br/>濾波反投影重建 (DBT)"]
    end

    subgraph AnalysisPhase["Phase 4: Analysis (分析)"]
        H["ROI/VOI Extraction<br/>感興趣區域擷取 (Python)"]
        I["Reader Models<br/>虛擬讀片模型 (Matlab)"]
    end

    A --> B --> C --> E
    D --> E
    E --> F --> G --> H --> I

    style PhantomGen fill:#e8f4e8,stroke:#2d5016
    style LesionPhase fill:#fff3e0,stroke:#e65100
    style ImagingPhase fill:#e3f2fd,stroke:#0d47a1
    style AnalysisPhase fill:#fce4ec,stroke:#880e4f

</pre>


<h3 id="22-各元件與對應儲存庫" data-numberify>2.2 各元件與對應儲存庫<a class="anchor ms-1" href="#22-各元件與對應儲存庫"></a></h3>
<table>
  <thead>
      <tr>
          <th>步驟</th>
          <th>元件名稱</th>
          <th>語言</th>
          <th>獨立 Repo</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>1</td>
          <td>breastPhantom（乳房幻像生成）</td>
          <td>C++</td>
          <td><a href="https://github.com/DIDSR/breastPhantom" target="_blank" rel="noopener noreferrer">DIDSR/breastPhantom<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>2</td>
          <td>breastCompress（乳房壓縮）</td>
          <td>C++</td>
          <td><a href="https://github.com/DIDSR/breastCompress" target="_blank" rel="noopener noreferrer">DIDSR/breastCompress<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>3</td>
          <td>breastCrop（體積裁切）</td>
          <td>C++</td>
          <td><a href="https://github.com/DIDSR/breastCrop" target="_blank" rel="noopener noreferrer">DIDSR/breastCrop<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>4</td>
          <td>breastMass（腫瘤模型生成）</td>
          <td>C++</td>
          <td><a href="https://github.com/DIDSR/breastMass" target="_blank" rel="noopener noreferrer">DIDSR/breastMass<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>5</td>
          <td>Lesion Insertion（病灶植入）</td>
          <td>Python</td>
          <td>含於本 repo</td>
      </tr>
      <tr>
          <td>6</td>
          <td>MC-GPU（X 光傳輸）</td>
          <td>C/CUDA</td>
          <td><a href="https://github.com/DIDSR/VICTRE_MCGPU" target="_blank" rel="noopener noreferrer">DIDSR/VICTRE_MCGPU<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
      <tr>
          <td>7</td>
          <td>FBP DBT Reconstruction（重建）</td>
          <td>C</td>
          <td>含於本 repo</td>
      </tr>
      <tr>
          <td>8</td>
          <td>ROI Extraction（ROI 擷取）</td>
          <td>Python</td>
          <td>含於本 repo</td>
      </tr>
      <tr>
          <td>9</td>
          <td>Reader Models（讀片模型）</td>
          <td>Matlab</td>
          <td><a href="https://github.com/DIDSR/VICTRE_MO" target="_blank" rel="noopener noreferrer">DIDSR/VICTRE_MO<i class="fas fa-external-link-square-alt ms-1"></i></a></td>
      </tr>
  </tbody>
</table>

<h3 id="23-專案檔案結構" data-numberify>2.3 專案檔案結構<a class="anchor ms-1" href="#23-專案檔案結構"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-gdscript3" data-lang="gdscript3"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">VICTRE</span><span class="o">/</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="err">├──</span> <span class="n">FBP</span> <span class="n">DBT</span> <span class="n">reconstruction</span> <span class="ow">in</span> <span class="n">C</span><span class="o">/</span>    <span class="c1"># 濾波反投影重建（C 語言）</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">FBP_DBTrecon</span><span class="o">.</span><span class="n">c</span> <span class="o">/</span> <span class="o">.</span><span class="n">h</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">Makefile</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">reconFBP_script</span><span class="o">.</span><span class="n">sh</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">cbct_code</span><span class="o">/</span>                  <span class="c1"># 修改自 Leeser 的 CBCT 重建碼</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="err">├──</span> <span class="n">Lesion</span> <span class="n">Insertion</span><span class="o">/</span>               <span class="c1"># 病灶植入（Python）</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">lesionInsertion</span><span class="o">.</span><span class="n">py</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">build</span><span class="o">/</span><span class="n">lesionInsertion_script</span><span class="o">.</span><span class="n">sh</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">VICTRE_LesionModels</span><span class="o">/</span>       <span class="c1"># 預製病灶模型（.raw）</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="err">│</span>       <span class="err">├──</span> <span class="n">heteroCalc2_121_100</span><span class="o">.</span><span class="n">raw</span>       <span class="c1"># 微鈣化簇</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="err">│</span>       <span class="err">└──</span> <span class="n">mass_</span><span class="o">-</span><span class="mi">308854003</span><span class="n">_cropped_166</span><span class="o">.</span><span class="n">raw</span> <span class="c1"># 針刺狀腫塊</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="err">├──</span> <span class="n">ROI</span> <span class="n">Extraction</span><span class="o">/</span>                 <span class="c1"># ROI 擷取（Python）</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">roiExtraction_mammo_SP</span><span class="o">.</span><span class="n">py</span>   <span class="c1"># DM 信號存在</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">roiExtraction_mammo_SA</span><span class="o">.</span><span class="n">py</span>   <span class="c1"># DM 信號不存在</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">roiExtraction_DBT_FBP_SP</span><span class="o">.</span><span class="n">py</span> <span class="c1"># DBT 信號存在</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">roiExtraction_DBT_FBP_SA</span><span class="o">.</span><span class="n">py</span> <span class="c1"># DBT 信號不存在</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="err">├──</span> <span class="n">Raw</span> <span class="n">to</span> <span class="n">DICOM</span> <span class="n">conversion</span><span class="o">/</span>        <span class="c1"># Raw → DICOM 轉換（Matlab）</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="err">├──</span> <span class="ne">Sample</span><span class="o">-</span><span class="n">phantom</span><span class="o">-</span><span class="n">data</span><span class="o">/</span>            <span class="c1"># 四種密度樣本資料</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">Dense</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">Fatty</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">Hetero</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">Scattered</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="err">├──</span> <span class="n">VICTRE</span> <span class="n">Configuration</span> <span class="n">Files</span> <span class="ow">and</span> <span class="n">Parameters</span><span class="o">/</span>  <span class="c1"># 參考設定</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">breastPhantom</span><span class="o">/</span>              <span class="c1"># 4 種密度 .cfg 檔</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">breastCompress</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">breastCrop</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">LesionInsertion</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">MCGPU</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="err">│</span>   <span class="err">├──</span> <span class="n">ROIExtraction</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="err">│</span>   <span class="err">└──</span> <span class="n">DBTReconstruction</span><span class="o">/</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="err">└──</span> <span class="n">Locations</span><span class="o">/</span>                      <span class="c1"># 病灶位置資料（.tar.gz）</span>
</span></span></code></pre></div>
<h3 id="24-資料流與檔案格式" data-numberify>2.4 資料流與檔案格式<a class="anchor ms-1" href="#24-資料流與檔案格式"></a></h3>
<pre class="mermaid">

flowchart LR
    CFG[".cfg<br/>幻像設定檔"] --> RAW1["p_SEED.raw.gz<br/>原始幻像"]
    RAW1 --> RAW2["pc_SEED_crop.raw.gz<br/>壓縮裁切幻像"]
    LESION[".raw<br/>病灶模型"] --> RAW3["pcl_SEED_crop.raw.gz<br/>含病灶幻像"]
    RAW2 --> RAW3
    RAW3 --> PROJ["投影影像<br/>(32-bit RAW)"]
    PROJ --> RECON["重建體積<br/>(64-bit RAW)"]
    RECON --> ROI["ROI/VOI<br/>(子影像)"]
    ROI --> AUC["AUC 分析<br/>(效能指標)"]
    PROJ --> DICOM["DICOM 影像<br/>(Cancer Imaging Archive)"]

    style CFG fill:#f9f,stroke:#333
    style DICOM fill:#bbf,stroke:#333
    style AUC fill:#fbb,stroke:#333

</pre>

<hr>

<h2 id="3-安裝與設定" data-numberify>3. 安裝與設定<a class="anchor ms-1" href="#3-安裝與設定"></a></h2>

<h3 id="31-方式一使用自動化管線-victre_pipeline建議" data-numberify>3.1 方式一：使用自動化管線 VICTRE_PIPELINE（建議）<a class="anchor ms-1" href="#31-方式一使用自動化管線-victre_pipeline建議"></a></h3>
<p>VICTRE_PIPELINE 將所有 9 個步驟封裝為單一 Python class，大幅降低整合複雜度。</p>]]></description></item><item><title>anthropic-cli (ant) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-08-anthropic-cli-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-anthropic-cli-tutorial/</guid><description><![CDATA[<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>anthropic-cli（指令名稱 <code>ant</code>）是 Anthropic 官方為 Claude Developer Platform 提供的命令列工具。它直接對接 Claude API，讓開發者能從終端機發送 Messages、管理認證、操作 Beta 資源（Sessions / Agents / Environments / Vaults / Skills / Memory Stores），以及執行 self-hosted worker 輪詢工作。</p>]]></description></item><item><title>Bio Agent 生態系完整比較論述</title><link>https://tpow-001.netlify.app/post/2026-06-08-bio-agent-comparison/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-bio-agent-comparison/</guid><description><![CDATA[<h1 id="bio-agent-生態系完整比較論述" data-numberify>Bio Agent 生態系完整比較論述<a class="anchor ms-1" href="#bio-agent-生態系完整比較論述"></a></h1>
<blockquote>
<p>34 個 GitHub 專案的綜合分析與比較
日期：2026-06-08
版本：v2.0（擴充版）
資料來源：GitHub 公開 repository、arXiv 論文、各專案 README 與教學文件</p>]]></description></item><item><title>html-video 完整教學：用 HTML 在本機生成真實 MP4 影片</title><link>https://tpow-001.netlify.app/post/2026-06-08-html-video-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-html-video-tutorial/</guid><description><![CDATA[<h1 id="html-video-完整教學用-html-在本機生成真實-mp4-影片" data-numberify>html-video 完整教學：用 HTML 在本機生成真實 MP4 影片<a class="anchor ms-1" href="#html-video-完整教學用-html-在本機生成真實-mp4-影片"></a></h1>

<h2 id="目錄" data-numberify>目錄<a class="anchor ms-1" href="#目錄"></a></h2>
<ol>
<li><a href="/post/2026-06-08-html-video-tutorial/#1-%e5%b0%88%e6%a1%88%e7%b8%bd%e8%a6%bd">專案總覽</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#2-%e6%a0%b8%e5%bf%83%e6%a6%82%e5%bf%b5%e8%88%87%e8%a1%93%e8%aa%9e">核心概念與術語</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#3-%e7%b3%bb%e7%b5%b1%e6%9e%b6%e6%a7%8b">系統架構</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#4-%e5%ae%89%e8%a3%9d%e8%88%87%e7%92%b0%e5%a2%83%e8%a8%ad%e7%bd%ae">安裝與環境設置</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#5-%e5%bf%ab%e9%80%9f%e4%b8%8a%e6%89%8b">快速上手</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#6-%e8%b3%87%e5%ae%89%e8%a9%95%e4%bc%b0">資安評估</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#7-%e6%b7%b1%e5%ba%a6%e5%8a%9f%e8%83%bd%e8%a7%a3%e6%9e%90">深度功能解析</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#8-%e6%a8%a1%e6%9d%bf%e7%b3%bb%e7%b5%b1">模板系統</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#9-%e9%80%b2%e9%9a%8e%e4%bd%bf%e7%94%a8%e6%83%85%e5%a2%83">進階使用情境</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#10-%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c%e8%88%87%e6%8e%92%e9%8c%af">常見問題與排錯</a></li>
<li><a href="/post/2026-06-08-html-video-tutorial/#11-%e7%b8%bd%e7%b5%90%e8%88%87%e8%a9%95%e5%83%b9">總結與評價</a></li>
</ol>
<hr>

<h2 id="1-專案總覽" data-numberify>1. 專案總覽<a class="anchor ms-1" href="#1-專案總覽"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>html-video 是由 <a href="https://github.com/nexu-io" target="_blank" rel="noopener noreferrer">nexu-io<i class="fas fa-external-link-square-alt ms-1"></i></a>（Open Design 團隊）開發的開源「HTML 轉影片」meta-layer 框架。它不是另一個渲染引擎，而是坐在所有渲染引擎之上的抽象層 — 讓你用自然語言描述影片內容，由 AI coding agent 自動挑選模板、填入內容、渲染為真實 MP4。</p>]]></description></item><item><title>ingestr 完整教學 — 跨資料庫零程式碼資料搬遷 CLI</title><link>https://tpow-001.netlify.app/post/2026-06-08-ingestr-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-ingestr-tutorial/</guid><description><![CDATA[<h1 id="ingestr-完整教學" data-numberify>ingestr 完整教學<a class="anchor ms-1" href="#ingestr-完整教學"></a></h1>
<blockquote>
<p>跨資料庫零程式碼資料搬遷 CLI 工具</p></blockquote>

<h2 id="1-專案概述與定位" data-numberify>§1 專案概述與定位<a class="anchor ms-1" href="#1-專案概述與定位"></a></h2>

<h3 id="11-是什麼" data-numberify>1.1 是什麼<a class="anchor ms-1" href="#11-是什麼"></a></h3>
<p>ingestr 是由 Bruin Data 開發的開源命令列工具，用一條指令就能將資料從任意來源複製到任意目的地。以 Go 語言實作，底層採用 Apache Arrow 作為記憶體內中間格式，實現高效能的跨系統資料搬遷。</p>]]></description></item><item><title>OpenFlow 完整教學：本地優先的 Coding-Agent 工作流編排器</title><link>https://tpow-001.netlify.app/post/2026-06-08-openflow-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-openflow-tutorial/</guid><description><![CDATA[<h1 id="openflow-完整教學本地優先的-coding-agent-工作流編排器" data-numberify>OpenFlow 完整教學：本地優先的 Coding-Agent 工作流編排器<a class="anchor ms-1" href="#openflow-完整教學本地優先的-coding-agent-工作流編排器"></a></h1>

<h2 id="1-專案總覽與定位" data-numberify>§1 專案總覽與定位<a class="anchor ms-1" href="#1-專案總覽與定位"></a></h2>

<h3 id="11-openflow-是什麼" data-numberify>1.1 OpenFlow 是什麼<a class="anchor ms-1" href="#11-openflow-是什麼"></a></h3>
<p>OpenFlow 是一個<strong>本地優先 (local-first)</strong> 的命令列工作流執行器，專門用於編排外部 coding-agent CLI（如 OpenAI Codex CLI 的 <code>codex exec</code>、Google Gemini CLI 的 <code>gemini -p</code>）。它的核心設計理念是：</p>]]></description></item><item><title>pg_durable 深度教學 — PostgreSQL 內建持久化執行引擎</title><link>https://tpow-001.netlify.app/post/2026-06-08-pg_durable-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-pg_durable-tutorial/</guid><description><![CDATA[<h1 id="pg_durable-深度教學--postgresql-內建持久化執行引擎" data-numberify>pg_durable 深度教學 — PostgreSQL 內建持久化執行引擎<a class="anchor ms-1" href="#pg_durable-深度教學--postgresql-內建持久化執行引擎"></a></h1>

<h2 id="1-專案定位與解決的問題" data-numberify>§1 專案定位與解決的問題<a class="anchor ms-1" href="#1-專案定位與解決的問題"></a></h2>

<h3 id="11-pg_durable-是什麼" data-numberify>1.1 pg_durable 是什麼<a class="anchor ms-1" href="#11-pg_durable-是什麼"></a></h3>
<p>pg_durable 是 Microsoft 推出的 PostgreSQL 擴充套件（extension），以 Rust 語言（透過 pgrx 框架）實作，將 <strong>durable execution（持久化執行）</strong> 模式直接嵌入 PostgreSQL 資料庫內部。</p>]]></description></item><item><title>Recordly 深度教學：開源螢幕錄影與影片編輯利器</title><link>https://tpow-001.netlify.app/post/2026-06-08-recordly-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-recordly-tutorial/</guid><description><![CDATA[<h1 id="recordly-深度教學開源螢幕錄影與影片編輯利器" data-numberify>Recordly 深度教學：開源螢幕錄影與影片編輯利器<a class="anchor ms-1" href="#recordly-深度教學開源螢幕錄影與影片編輯利器"></a></h1>

<h2 id="目錄" data-numberify>目錄<a class="anchor ms-1" href="#目錄"></a></h2>
<ol>
<li><a href="/post/2026-06-08-recordly-tutorial/#1-%e5%b0%88%e6%a1%88%e6%a6%82%e8%a6%bd">專案概覽</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#2-%e6%a0%b8%e5%bf%83%e5%83%b9%e5%80%bc%e8%88%87%e4%bd%bf%e7%94%a8%e5%a0%b4%e6%99%af">核心價值與使用場景</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#3-%e7%b3%bb%e7%b5%b1%e6%9e%b6%e6%a7%8b">系統架構</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#4-%e5%ae%89%e8%a3%9d%e8%88%87%e5%bb%ba%e7%bd%ae%e6%8c%87%e5%8d%97">安裝與建置指南</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#5-%e5%8a%9f%e8%83%bd%e6%b7%b1%e5%ba%a6%e8%a7%a3%e6%9e%90">功能深度解析</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#6-%e8%b3%87%e5%ae%89%e5%af%a9%e6%9f%a5%e5%a0%b1%e5%91%8a">資安審查報告</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#7-extension-%e7%b3%bb%e7%b5%b1%e8%88%87-marketplace">Extension 系統與 Marketplace</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#8-%e5%8e%9f%e7%94%9f%e5%b1%a4%e6%8a%80%e8%a1%93%e5%89%96%e6%9e%90">原生層技術剖析</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#9-%e6%95%88%e8%83%bd%e6%9c%80%e4%bd%b3%e5%8c%96%e8%88%87-gpu-%e5%8a%a0%e9%80%9f">效能最佳化與 GPU 加速</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#10-%e5%b8%b8%e8%a6%8b%e5%95%8f%e9%a1%8c%e8%88%87%e9%99%90%e5%88%b6">常見問題與限制</a></li>
<li><a href="/post/2026-06-08-recordly-tutorial/#11-%e7%b8%bd%e7%b5%90%e8%88%87%e8%a9%95%e4%bc%b0">總結與評估</a></li>
</ol>
<hr>

<h2 id="1-專案概覽" data-numberify>1. 專案概覽<a class="anchor ms-1" href="#1-專案概覽"></a></h2>
<p><strong>Recordly</strong> 是一款開源跨平台桌面螢幕錄影與影片編輯應用程式，目標是讓使用者在錄製螢幕後，不需要專業影片編輯軟體（如 After Effects、Premiere），就能直接在 app 內產出具有「自動縮放 (auto-zoom)」、「游標美化 (cursor polish)」、「網路攝影機疊加 (webcam overlay)」等專業效果的展示影片。</p>]]></description></item><item><title>turbovec 完整教學：基於 TurboQuant 的高效向量搜尋引擎</title><link>https://tpow-001.netlify.app/post/2026-06-08-turbovec-tutorial/</link><pubDate>Mon, 08 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-08-turbovec-tutorial/</guid><description><![CDATA[<h1 id="turbovec-完整教學基於-turboquant-的高效向量搜尋引擎" data-numberify>turbovec 完整教學：基於 TurboQuant 的高效向量搜尋引擎<a class="anchor ms-1" href="#turbovec-完整教學基於-turboquant-的高效向量搜尋引擎"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>turbovec 是一個以 Rust 撰寫、提供 Python bindings 的向量索引引擎。它實作了 Google Research 在 ICLR 2026 發表的 TurboQuant 演算法（arXiv:2504.19874），能將高維 embedding 向量壓縮到每座標 2-4 bits，同時保持接近 Shannon 理論下界的失真率。</p>]]></description></item><item><title>Pi AI Agent Toolkit — 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-07-earendil-works-pi-tutorial/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-07-earendil-works-pi-tutorial/</guid><description><![CDATA[<h1 id="pi-ai-agent-toolkit--完整教學" data-numberify>Pi AI Agent Toolkit — 完整教學<a class="anchor ms-1" href="#pi-ai-agent-toolkit--完整教學"></a></h1>
<blockquote>
<p>Pi 是一個開源 AI agent harness (代理框架)，提供可自我擴展的 coding agent (編碼代理) CLI、統一的多供應商 LLM API、以及完整的 extension / skill / SDK 生態系統。60K+ Stars，MIT 授權，TypeScript monorepo (單倉庫)。</p>]]></description></item><item><title>Pi AI Agent Toolkit — 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-07-pi-tutorial/</link><pubDate>Sun, 07 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-07-pi-tutorial/</guid><description><![CDATA[<h1 id="pi-ai-agent-toolkit--完整教學" data-numberify>Pi AI Agent Toolkit — 完整教學<a class="anchor ms-1" href="#pi-ai-agent-toolkit--完整教學"></a></h1>
<blockquote>
<p>Pi 是一個開源 AI agent harness (代理框架)，提供可自我擴展的 coding agent (編碼代理) CLI、統一的多供應商 LLM API、以及完整的 extension / skill / SDK 生態系統。60K+ Stars，MIT 授權，TypeScript monorepo (單倉庫)。</p>]]></description></item><item><title>Doctor 專案改進建議 — 基於 7 個同領域專案的綜合比較分析</title><link>https://tpow-001.netlify.app/post/2026-06-06-doctor-improvement-analysis-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-doctor-improvement-analysis-tutorial/</guid><description><![CDATA[<h1 id="doctor-專案改進建議--基於-7-個同領域專案的綜合比較分析" data-numberify>Doctor 專案改進建議 — 基於 7 個同領域專案的綜合比較分析<a class="anchor ms-1" href="#doctor-專案改進建議--基於-7-個同領域專案的綜合比較分析"></a></h1>
<blockquote>
<p>本文基於 8 個 GitHub 專案的完整教學分析，提出 Doctor 專案的系統性改進方案。</p></blockquote>
<hr>

<h2 id="1-現狀診斷doctor-的定位與核心問題" data-numberify>1. 現狀診斷：Doctor 的定位與核心問題<a class="anchor ms-1" href="#1-現狀診斷doctor-的定位與核心問題"></a></h2>

<h3 id="11-doctor-做了什麼" data-numberify>1.1 Doctor 做了什麼<a class="anchor ms-1" href="#11-doctor-做了什麼"></a></h3>
<p>Doctor 是一個 <strong>Streamlit + Google Gemini</strong> 的醫病角色扮演模擬器。核心概念：</p>]]></description></item><item><title>MIMIC_RL_COACH 完整教學 — 用強化學習為 ICU 敗血症患者建立治療決策 AI</title><link>https://tpow-001.netlify.app/post/2026-06-06-mimic-rl-coach-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-mimic-rl-coach-tutorial/</guid><description><![CDATA[<h1 id="mimic_rl_coach-完整教學" data-numberify>MIMIC_RL_COACH 完整教學<a class="anchor ms-1" href="#mimic_rl_coach-完整教學"></a></h1>
<blockquote>
<p>從概念理解到實作：如何用 Batch Reinforcement Learning 從真實加護病房資料學習敗血症最佳治療策略。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="什麼是-mimic_rl_coach" data-numberify>什麼是 MIMIC_RL_COACH？<a class="anchor ms-1" href="#什麼是-mimic_rl_coach"></a></h3>
<p>MIMIC_RL_COACH 是一個 <strong>batch reinforcement learning（批次強化學習）</strong> pipeline，利用 <strong>MIMIC-III（Medical Information Mart for Intensive Care）</strong> 加護病房臨床資料庫的真實病歷資料，訓練 RL agent 學習敗血症（sepsis；感染）患者的最佳治療策略（optimal treatment policy）。</p>]]></description></item><item><title>Tutorial: 2023Anita/MedicalAI-Platform — 多智慧體醫療分析平台</title><link>https://tpow-001.netlify.app/post/2026-06-06-medicalai-platform-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-medicalai-platform-tutorial/</guid><description><![CDATA[<h1 id="tutorial-2023anitamedicalai-platform--多智慧體醫療分析平台" data-numberify>Tutorial: 2023Anita/MedicalAI-Platform — 多智慧體醫療分析平台<a class="anchor ms-1" href="#tutorial-2023anitamedicalai-platform--多智慧體醫療分析平台"></a></h1>

<h2 id="s1-專案定位與背景" data-numberify>S1 專案定位與背景<a class="anchor ms-1" href="#s1-專案定位與背景"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>MedicalAI-Platform（Med Agentic-AI）是一個基於多智慧體協作（Multi-Agent Collaboration）架構的智慧醫療分析平台，由江陰市人民醫院「睡眠魔法師 Team」開發。平台以 Google Gemini 2.5 Flash/Pro 為底層 LLM，透過四個專業 AI 代理的分工協作，對體檢報告進行全面分析並生成結構化的中文醫療評估報告。</p>]]></description></item><item><title>Tutorial: bcefghj/medical-multi-agent-system — 企業級多 Agent 醫療 CDSS</title><link>https://tpow-001.netlify.app/post/2026-06-06-medical-multi-agent-system-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-medical-multi-agent-system-tutorial/</guid><description><![CDATA[<h1 id="tutorial-medical-multi-agent-system--企業級多-agent-醫療臨床輔助決策系統" data-numberify>Tutorial: medical-multi-agent-system — 企業級多 Agent 醫療臨床輔助決策系統<a class="anchor ms-1" href="#tutorial-medical-multi-agent-system--企業級多-agent-醫療臨床輔助決策系統"></a></h1>

<h2 id="1-專案定位與背景" data-numberify>§1 專案定位與背景<a class="anchor ms-1" href="#1-專案定位與背景"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>medical-multi-agent-system 是一個面向面試展示與架構學習的企業級多 Agent 臨床輔助決策系統（Clinical Decision Support System, CDSS）。它以 5 個專業化 Agent 組成 Pipeline，覆蓋「接診 → 診斷 → 治療 → 編碼 → 審計」完整臨床工作流，並以 Python / Java / Go 三種語言同時實作同一套架構。</p>]]></description></item><item><title>Tutorial: Doctor — Doubt-Driven 醫病動態認知博弈引擎</title><link>https://tpow-001.netlify.app/post/2026-06-06-doctor-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-doctor-tutorial/</guid><description><![CDATA[<h1 id="tutorial-doctor--doubt-driven-醫病動態認知博弈引擎" data-numberify>Tutorial: Doctor — Doubt-Driven 醫病動態認知博弈引擎<a class="anchor ms-1" href="#tutorial-doctor--doubt-driven-醫病動態認知博弈引擎"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這個專案是什麼" data-numberify>這個專案是什麼<a class="anchor ms-1" href="#這個專案是什麼"></a></h3>
<p>Doctor 是一個基於 Streamlit + Google Gemini 的醫病互動模擬應用程式。它不是一個真正的臨床決策支援系統（CDSS），而是一個 <strong>LLM 角色扮演引擎</strong>：透過精心設計的 9 步驟 system prompt 框架，讓 Gemini 扮演一位具有多層心理防禦機制的醫師角色，與使用者（扮演病患）進行對話。</p>]]></description></item><item><title>Tutorial: Md-Emon-Hasan/MediGenius — LangGraph 多 Agent 醫療 AI 助手完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-06-medigenius-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-medigenius-tutorial/</guid><description><![CDATA[<h1 id="tutorial-medigenius--langgraph-多-agent-醫療-ai-助手" data-numberify>Tutorial: MediGenius — LangGraph 多 Agent 醫療 AI 助手<a class="anchor ms-1" href="#tutorial-medigenius--langgraph-多-agent-醫療-ai-助手"></a></h1>
<blockquote>
<p>一份「讀完就能理解架構 + 知道怎麼改 + 清楚資安邊界」的內部技術手冊。
目標讀者：已會 Python + FastAPI，想學 LangGraph multi-agent 編排、RAG pipeline、和 fallback chain 設計模式的工程師。</p>]]></description></item><item><title>Tutorial: stanfordmlgroup/MedAgentBench — 醫療 LLM Agent 基準測試虛擬 EHR 環境</title><link>https://tpow-001.netlify.app/post/2026-06-06-medagentbench-tutorial/</link><pubDate>Sat, 06 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-06-medagentbench-tutorial/</guid><description><![CDATA[<h1 id="tutorial-stanfordmlgroupmedagentbench--醫療-llm-agent-基準測試虛擬-ehr-環境" data-numberify>Tutorial: stanfordmlgroup/MedAgentBench — 醫療 LLM Agent 基準測試虛擬 EHR 環境<a class="anchor ms-1" href="#tutorial-stanfordmlgroupmedagentbench--醫療-llm-agent-基準測試虛擬-ehr-環境"></a></h1>

<h2 id="1-專案定位與背景" data-numberify>§1 專案定位與背景<a class="anchor ms-1" href="#1-專案定位與背景"></a></h2>

<h3 id="11-這是什麼" data-numberify>1.1 這是什麼<a class="anchor ms-1" href="#11-這是什麼"></a></h3>
<p>MedAgentBench 是 Stanford ML Group 開發並發表於 NEJM AI 的醫療 LLM Agent 基準測試平台。它提供一個基於 FHIR（Fast Healthcare Interoperability Resources；快速醫療互通資源）標準的虛擬 EHR（Electronic Health Record；電子健康紀錄）環境，讓 LLM Agent 透過真實世界規格的 FHIR R4 API 與合成病人資料互動，藉此量化評估 Agent 在臨床工作流程中的實際執行能力。</p>]]></description></item><item><title>AI Retrosynthesis 開源工具全景教學 — Lead Optimization Analog 的合成規劃指南</title><link>https://tpow-001.netlify.app/post/2026-06-05-retrosynthesis-overview-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-retrosynthesis-overview-tutorial/</guid><description><![CDATA[<h1 id="ai-retrosynthesis-開源工具全景教學" data-numberify>AI Retrosynthesis 開源工具全景教學<a class="anchor ms-1" href="#ai-retrosynthesis-開源工具全景教學"></a></h1>
<blockquote>
<p>為 lead optimization（先導化合物優化）產出的 analog（類似物）規劃最短、最可行的合成路線：6 大開源工具比較與實戰指南。</p>]]></description></item><item><title>AiZynthFinder 完整教學 — AI 逆合成規劃工具</title><link>https://tpow-001.netlify.app/post/2026-06-05-aizynthfinder-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-aizynthfinder-tutorial/</guid><description><![CDATA[<h1 id="aizynthfinder-完整教學--ai-逆合成規劃工具" data-numberify>AiZynthFinder 完整教學 — AI 逆合成規劃工具<a class="anchor ms-1" href="#aizynthfinder-完整教學--ai-逆合成規劃工具"></a></h1>

<h2 id="1-專案概述" data-numberify>1. 專案概述<a class="anchor ms-1" href="#1-專案概述"></a></h2>
<p>AiZynthFinder 是 AstraZeneca Molecular AI 團隊開源的<strong>逆合成規劃工具</strong>（retrosynthetic planning tool），也是該領域目前最成熟的開源方案（845 stars，MIT 授權）。</p>]]></description></item><item><title>CausalBench 完整教學 — 從 AWS 連線到因果網路推論的全方位指南</title><link>https://tpow-001.netlify.app/post/2026-06-05-causalbench-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-causalbench-tutorial/</guid><description><![CDATA[<h1 id="causalbench-完整教學" data-numberify>CausalBench 完整教學<a class="anchor ms-1" href="#causalbench-完整教學"></a></h1>
<blockquote>
<p>從 AWS EC2 連線到 causal network inference（因果網路推論）：用淺顯易懂的方式理解如何在真實 Perturb-seq 資料上跑基因調控網路推論。</p></blockquote>

<h2 id="1-專案定位--這到底是什麼" data-numberify>1. 專案定位 — 這到底是什麼？<a class="anchor ms-1" href="#1-專案定位--這到底是什麼"></a></h2>

<h3 id="用一個比喻來理解" data-numberify>用一個比喻來理解<a class="anchor ms-1" href="#用一個比喻來理解"></a></h3>
<p>想像你有一座巨大的工廠（cell；細胞），裡面有數千台機器（gene；基因）在運作。你想知道：<strong>哪台機器會影響哪台機器？</strong> 例如，當你關掉機器 A 時，機器 B 和 C 是否也會跟著改變？</p>]]></description></item><item><title>Firecrawl 完整教學 — 從 API 呼叫到 Self-Host 部署的 Web Scraping 全攻略</title><link>https://tpow-001.netlify.app/post/2026-06-05-firecrawl-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-firecrawl-tutorial/</guid><description><![CDATA[<h1 id="firecrawl-完整教學" data-numberify>Firecrawl 完整教學<a class="anchor ms-1" href="#firecrawl-完整教學"></a></h1>
<blockquote>
<p>從 API 呼叫到 Self-Host 部署：如何用 Firecrawl 將整個 Web 轉換成 LLM-ready 的乾淨資料。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Firecrawl 是一個開源 web scraping API（網頁抓取 API）平台，核心使命是：<strong>將網頁轉換成 AI agent 可直接使用的乾淨 Markdown 或 structured data（結構化資料）</strong>。</p>]]></description></item><item><title>NVIDIA OmniDreams 完整教學 — 自駕模擬 World Model 的後訓練與擬真影像生成</title><link>https://tpow-001.netlify.app/post/2026-06-05-omni-dreams-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-omni-dreams-tutorial/</guid><description><![CDATA[<h1 id="nvidia-omnidreams-完整教學" data-numberify>NVIDIA OmniDreams 完整教學<a class="anchor ms-1" href="#nvidia-omnidreams-完整教學"></a></h1>
<blockquote>
<p>從概念理解到 post-training 實作：如何用 NVIDIA 的 world model 為自駕模擬生成擬真影像。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="什麼是-omnidreams" data-numberify>什麼是 OmniDreams？<a class="anchor ms-1" href="#什麼是-omnidreams"></a></h3>
<p>OmniDreams 是 NVIDIA Research 開發的 <strong>world model（世界模型）</strong>，專為 autonomous-driving simulation（自動駕駛模擬）設計。它能從一張真實照片出發，搭配道路資訊和行車軌跡，<strong>即時生成逼真的多鏡頭駕駛影片</strong>。</p>]]></description></item><item><title>SynPlanner 完整教學 — 電腦輔助逆合成規劃</title><link>https://tpow-001.netlify.app/post/2026-06-05-synplanner-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-synplanner-tutorial/</guid><description><![CDATA[<h1 id="synplanner-完整教學--電腦輔助逆合成規劃" data-numberify>SynPlanner 完整教學 — 電腦輔助逆合成規劃<a class="anchor ms-1" href="#synplanner-完整教學--電腦輔助逆合成規劃"></a></h1>

<h2 id="第-1-章專案定位與核心價值" data-numberify>第 1 章：專案定位與核心價值<a class="anchor ms-1" href="#第-1-章專案定位與核心價值"></a></h2>

<h3 id="逆合成規劃-retrosynthetic-planning-是什麼" data-numberify>逆合成規劃 (Retrosynthetic Planning) 是什麼？<a class="anchor ms-1" href="#逆合成規劃-retrosynthetic-planning-是什麼"></a></h3>
<p>逆合成分析 (retrosynthetic analysis) 是有機化學中最核心的策略思維：從目標分子 (target molecule) 出發，反向推導出一系列可行的合成步驟，最終到達可商業購買的起始原料 (building blocks)。</p>]]></description></item><item><title>Syntheseus 完整教學：模組化逆合成規劃框架</title><link>https://tpow-001.netlify.app/post/2026-06-05-syntheseus-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-syntheseus-tutorial/</guid><description><![CDATA[<h1 id="syntheseus-完整教學模組化逆合成規劃框架" data-numberify>Syntheseus 完整教學：模組化逆合成規劃框架<a class="anchor ms-1" href="#syntheseus-完整教學模組化逆合成規劃框架"></a></h1>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="11-什麼是-syntheseus" data-numberify>1.1 什麼是 Syntheseus？<a class="anchor ms-1" href="#11-什麼是-syntheseus"></a></h3>
<p>Syntheseus 是 Microsoft Research 開發的 Python 套件，專為<strong>逆合成規劃 (retrosynthetic planning)</strong> 設計。逆合成分析的目標是：給定一個目標分子 (target molecule)，反向推導出一條或多條從商業可購買的起始物料 (building blocks) 到目標分子的合成路線 (synthesis route)。</p>]]></description></item><item><title>Tutorial: deepforestsci/DeepRetro — LLM 驅動遞歸逆合成完整解析</title><link>https://tpow-001.netlify.app/post/2026-06-05-deepretro-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-deepretro-tutorial/</guid><description><![CDATA[<h1 id="deepretro-完整教學" data-numberify>DeepRetro 完整教學<a class="anchor ms-1" href="#deepretro-完整教學"></a></h1>
<blockquote>
<p><strong>本文目的</strong>：把 DeepRetro 的「為什麼要用 LLM 做逆合成」、「整個 pipeline 怎麼運作」、「怎麼跑起來然後接進你的 lead optimization 工作流」一次講清楚。重點放在<strong>架構理解、實務操作、幻覺防護機制、以及對你場景的適用性評估</strong>。</p>]]></description></item><item><title>教學：microsoft/retrochimera — 前沿 Ensemble 逆合成模型完整指南</title><link>https://tpow-001.netlify.app/post/2026-06-05-retrochimera-tutorial/</link><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-05-retrochimera-tutorial/</guid><description><![CDATA[<h1 id="教學microsoftretrochimera--前沿-ensemble-逆合成模型完整指南" data-numberify>教學：microsoft/retrochimera — 前沿 Ensemble 逆合成模型完整指南<a class="anchor ms-1" href="#教學microsoftretrochimera--前沿-ensemble-逆合成模型完整指南"></a></h1>

<h2 id="第-1-章專案定位與價值主張" data-numberify>第 1 章：專案定位與價值主張<a class="anchor ms-1" href="#第-1-章專案定位與價值主張"></a></h2>

<h3 id="這個專案解決什麼問題" data-numberify>這個專案解決什麼問題？<a class="anchor ms-1" href="#這個專案解決什麼問題"></a></h3>
<p>在 drug discovery（藥物發現）的 lead optimization（先導化合物優化）流程中，medicinal chemist（藥物化學家）設計出新的 analog（類似物）後，最關鍵的問題是：<strong>這個分子做得出來嗎？</strong> Retrosynthesis（逆合成分析）就是回答這個問題的核心技術——從目標分子反推可行的合成路徑，直到所有起始物料（building block）都能商業購買。</p>]]></description></item><item><title>agents-best-practices 完整教學 — 從零開始建構 Provider-Neutral Agent Harness</title><link>https://tpow-001.netlify.app/post/2026-06-04-agents-best-practices-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-agents-best-practices-tutorial/</guid><description><![CDATA[<h1 id="agents-best-practices-完整教學" data-numberify>agents-best-practices 完整教學<a class="anchor ms-1" href="#agents-best-practices-完整教學"></a></h1>
<blockquote>
<p>從零理解如何用 provider-neutral（供應商中立）的方式設計、建構、審計與維運 agentic harness（代理人控制面板）。</p>]]></description></item><item><title>AnythingLLM 完整教學 — All-in-One Self-Hosted AI Application（含 Odysseus 詳細比較）</title><link>https://tpow-001.netlify.app/post/2026-06-04-anything-llm-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-anything-llm-tutorial/</guid><description><![CDATA[<h1 id="anythingllm-完整教學--all-in-one-self-hosted-ai-application" data-numberify>AnythingLLM 完整教學 — All-in-One Self-Hosted AI Application<a class="anchor ms-1" href="#anythingllm-完整教學--all-in-one-self-hosted-ai-application"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>AnythingLLM 是 Mintplex Labs 開發的 all-in-one (一站式) self-hosted AI application (自建 AI 應用)，定位為「你一直在找的那個 AI app」——私有、功能完整、無需複雜設定。它解決的核心問題是：讓非技術使用者也能在幾分鐘內部署一個功能齊全的私有 ChatGPT，支援文件 RAG (Retrieval-Augmented Generation; 檢索增強生成)、AI agent、多用戶管理。</p>]]></description></item><item><title>bookMDViewer 完整教學 — 用 Tauri v2 打造極輕量 Markdown 檢視器</title><link>https://tpow-001.netlify.app/post/2026-06-04-bookmdviewer-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-bookmdviewer-tutorial/</guid><description><![CDATA[<h1 id="bookmdviewer-完整教學" data-numberify>bookMDViewer 完整教學<a class="anchor ms-1" href="#bookmdviewer-完整教學"></a></h1>
<blockquote>
<p>從安裝使用到原始碼解析：一款 4 MB 的跨平台 Markdown 檢視器如何做到 GFM + Mermaid + 即時編輯 + HTML 匯出。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>bookMDViewer 是一款<strong>輕量、完全本機</strong>的 Markdown viewer（檢視器）與 editor（編輯器），以 <strong>Tauri v2</strong> 打造。它使用作業系統內建的 WebView（而非內嵌 Chromium），因此：</p>]]></description></item><item><title>Claude Chat Exporter 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-04-claude-chat-exporter-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-claude-chat-exporter-tutorial/</guid><description><![CDATA[<h1 id="claude-chat-exporter-完整教學" data-numberify>Claude Chat Exporter 完整教學<a class="anchor ms-1" href="#claude-chat-exporter-完整教學"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p><strong>Claude Chat Exporter</strong> 是一個純 JavaScript 瀏覽器腳本，用於將 Claude.ai 網頁版的對話匯出 (export) 為格式完整的 Markdown 檔案。</p>
<p><strong>核心價值</strong>：不同於傳統的 HTML 解析 (parsing) 匯出工具，此專案透過攔截 (intercept) Claude 原生複製按鈕 (copy button) 的 clipboard 寫入來擷取內容，因此能 100% 保留表格、LaTeX 數學公式、程式碼區塊等所有複雜格式元素。</p>]]></description></item><item><title>Claude Memory Compiler 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-04-claude-memory-compiler-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-claude-memory-compiler-tutorial/</guid><description><![CDATA[<h1 id="claude-memory-compiler-完整教學" data-numberify>Claude Memory Compiler 完整教學<a class="anchor ms-1" href="#claude-memory-compiler-完整教學"></a></h1>

<h2 id="1-專案定位與背景" data-numberify>1. 專案定位與背景<a class="anchor ms-1" href="#1-專案定位與背景"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Claude Memory Compiler 是一套將 Claude Code 對話自動轉化為結構化知識庫的系統。靈感來自 Andrej Karpathy 提出的 <a href="https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f" target="_blank" rel="noopener noreferrer">LLM Knowledge Base 架構<i class="fas fa-external-link-square-alt ms-1"></i></a>，但不是擷取網路文章，而是從你自己與 Claude Code 的對話中萃取知識。</p>]]></description></item><item><title>Claude 個人帳號轉 Team 完整教學 — 對話、Memory、設定的移轉策略與實作 SOP</title><link>https://tpow-001.netlify.app/post/2026-06-04-claude-migration-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-claude-migration-tutorial/</guid><description><![CDATA[<h1 id="claude-個人帳號轉-team-完整教學" data-numberify>Claude 個人帳號轉 Team 完整教學<a class="anchor ms-1" href="#claude-個人帳號轉-team-完整教學"></a></h1>
<blockquote>
<p>從決策評估到實際操作：如何安全地將 Claude 個人帳號的對話紀錄、Memory、Projects 與 Claude Code 設定遷移到 Team 方案。</p></blockquote>

<h2 id="1-專案定位與核心結論" data-numberify>1. 專案定位與核心結論<a class="anchor ms-1" href="#1-專案定位與核心結論"></a></h2>

<h3 id="這份文件解決什麼問題" data-numberify>這份文件解決什麼問題？<a class="anchor ms-1" href="#這份文件解決什麼問題"></a></h3>
<p>當公司從個人 Claude 帳號（Free / Pro / Max）轉換到 Team plan（團隊方案）時，使用者面臨一個關鍵問題：<strong>個人帳號累積的對話紀錄、memory（記憶）、projects（專案）和 Claude Code 本機設定，能否直接轉移到 Team 帳號？</strong></p>]]></description></item><item><title>Claude 個人帳號轉 Team 完整教學 — 對話、Memory、設定的移轉策略與實作 SOP</title><link>https://tpow-001.netlify.app/post/2026-06-04-claude-personal-to-team-migration-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-claude-personal-to-team-migration-tutorial/</guid><description><![CDATA[<h1 id="claude-個人帳號轉-team-完整教學" data-numberify>Claude 個人帳號轉 Team 完整教學<a class="anchor ms-1" href="#claude-個人帳號轉-team-完整教學"></a></h1>
<blockquote>
<p>從決策評估到實際操作：如何安全地將 Claude 個人帳號的對話紀錄、Memory、Projects 與 Claude Code 設定遷移到 Team 方案。</p></blockquote>

<h2 id="1-專案定位與核心結論" data-numberify>1. 專案定位與核心結論<a class="anchor ms-1" href="#1-專案定位與核心結論"></a></h2>

<h3 id="這份文件解決什麼問題" data-numberify>這份文件解決什麼問題？<a class="anchor ms-1" href="#這份文件解決什麼問題"></a></h3>
<p>當公司從個人 Claude 帳號（Free / Pro / Max）轉換到 Team plan（團隊方案）時，使用者面臨一個關鍵問題：<strong>個人帳號累積的對話紀錄、memory（記憶）、projects（專案）和 Claude Code 本機設定，能否直接轉移到 Team 帳號？</strong></p>]]></description></item><item><title>claude-code-memory-setup 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-04-claude-code-memory-setup-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-claude-code-memory-setup-tutorial/</guid><description><![CDATA[<h1 id="claude-code-memory-setup-完整教學" data-numberify>claude-code-memory-setup 完整教學<a class="anchor ms-1" href="#claude-code-memory-setup-完整教學"></a></h1>

<h2 id="1-專案定位與價值" data-numberify>1. 專案定位與價值<a class="anchor ms-1" href="#1-專案定位與價值"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p><strong>claude-code-memory-setup</strong> 是一套開源設定指南（MIT 授權），教你如何將 Claude Code 從「每次開 session 都失憶」的狀態，改造為具備 <strong>persistent memory（持久記憶）</strong> 和 <strong>codebase awareness（程式碼感知）</strong> 的智慧 agent。</p>]]></description></item><item><title>ECC 完整教學 — Agent Harness Performance Optimization System</title><link>https://tpow-001.netlify.app/post/2026-06-04-ecc-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-ecc-tutorial/</guid><description><![CDATA[<h1 id="ecc-完整教學--agent-harness-performance-optimization-system" data-numberify>ECC 完整教學 — Agent Harness Performance Optimization System<a class="anchor ms-1" href="#ecc-完整教學--agent-harness-performance-optimization-system"></a></h1>

<h2 id="第-1-章專案定位" data-numberify>第 1 章：專案定位<a class="anchor ms-1" href="#第-1-章專案定位"></a></h2>

<h3 id="ecc-是什麼" data-numberify>ECC 是什麼？<a class="anchor ms-1" href="#ecc-是什麼"></a></h3>
<p>ECC 是一套開源的 <strong>agent harness performance optimization system (代理人工具鏈效能最佳化系統)</strong>，專為 AI coding agents 設計。它不只是一堆設定檔——而是一個涵蓋 skills (技能)、agents (代理)、hooks (鉤子)、rules (規則)、memory (記憶)、learning (學習)、security (安全) 的完整生態系統。</p>]]></description></item><item><title>Headroom 完整教學 — AI Agent Context Compression Layer</title><link>https://tpow-001.netlify.app/post/2026-06-04-headroom-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-headroom-tutorial/</guid><description><![CDATA[<h1 id="headroom-完整教學--ai-agent-context-compression-layer" data-numberify>Headroom 完整教學 — AI Agent Context Compression Layer<a class="anchor ms-1" href="#headroom-完整教學--ai-agent-context-compression-layer"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Headroom 是一套 AI agent 的 context compression (上下文壓縮) layer (層)，目標是把 LLM 收到的所有輸入——tool output (工具輸出)、log (日誌)、RAG chunk (檢索增強生成區塊)、檔案內容、對話歷史——在送達 LLM provider 之前進行智慧壓縮，達成 60–95% 的 token (語元) 節省，同時維持回答品質不變。</p>]]></description></item><item><title>Impeccable 完整教學 — 讓 AI 生成的前端設計脫離「AI 味」</title><link>https://tpow-001.netlify.app/post/2026-06-04-impeccable-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-impeccable-tutorial/</guid><description><![CDATA[<h1 id="impeccable-完整教學--讓-ai-生成的前端設計脫離ai-味" data-numberify>Impeccable 完整教學 — 讓 AI 生成的前端設計脫離「AI 味」<a class="anchor ms-1" href="#impeccable-完整教學--讓-ai-生成的前端設計脫離ai-味"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="問題ai-生成的-ui-千篇一律" data-numberify>問題：AI 生成的 UI 千篇一律<a class="anchor ms-1" href="#問題ai-生成的-ui-千篇一律"></a></h3>
<p>每個 LLM（大型語言模型）都在相同的 SaaS template（SaaS 模板）上訓練。不加引導，AI 生成的前端介面總會出現相同的設計慣性：</p>]]></description></item><item><title>Kaggle CLI 完整教學 — 從認證設定到競賽提交的全方位操作指南</title><link>https://tpow-001.netlify.app/post/2026-06-04-kaggle-cli-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-kaggle-cli-tutorial/</guid><description><![CDATA[<h1 id="kaggle-cli-完整教學" data-numberify>Kaggle CLI 完整教學<a class="anchor ms-1" href="#kaggle-cli-完整教學"></a></h1>
<blockquote>
<p>從安裝認證到競賽提交、資料集管理、模型上傳與 LLM 基準測試：Kaggle 官方 CLI 的全方位操作指南。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼？<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p>Kaggle CLI 是 Kaggle 官方維護的 Python command-line interface（命令列介面），讓你在終端機中完成 Kaggle 平台上的所有操作：下載競賽資料、提交預測、管理資料集、執行 notebook、上傳模型、瀏覽論壇、甚至跑 LLM benchmark（基準測試）。</p>]]></description></item><item><title>my-claude-code-setup 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-04-my-claude-code-setup-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-my-claude-code-setup-tutorial/</guid><description><![CDATA[<h1 id="my-claude-code-setup-完整教學" data-numberify>my-claude-code-setup 完整教學<a class="anchor ms-1" href="#my-claude-code-setup-完整教學"></a></h1>
<blockquote>
<p>centminmod/my-claude-code-setup — Claude Code 起步模板、Memory Bank 系統、Hooks、Skills 與 Subagents 全解析</p></blockquote>
<hr>

<h2 id="1-專案定位與核心價值" data-numberify>1. 專案定位與核心價值<a class="anchor ms-1" href="#1-專案定位與核心價值"></a></h2>

<h3 id="這是什麼" data-numberify>這是什麼<a class="anchor ms-1" href="#這是什麼"></a></h3>
<p><code>my-claude-code-setup</code> 是一個 <strong>Claude Code 的起步模板倉庫</strong> (starter template repository)，由 George Liu 維護，在 GitHub 上獲得 2,387 stars 與 227 forks。它不是一個應用程式，而是一組可直接複製到任何專案的設定檔、模板與工具集。</p>]]></description></item><item><title>Odysseus 完整教學 — Self-Hosted AI Workspace</title><link>https://tpow-001.netlify.app/post/2026-06-04-odysseus-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-odysseus-tutorial/</guid><description><![CDATA[<h1 id="odysseus-完整教學--self-hosted-ai-workspace" data-numberify>Odysseus 完整教學 — Self-Hosted AI Workspace<a class="anchor ms-1" href="#odysseus-完整教學--self-hosted-ai-workspace"></a></h1>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Odysseus 是一個 self-hosted (自建) AI workspace (工作空間)，目標是成為 ChatGPT 和 Claude 的自建替代品。它運行在使用者自己的硬體上，所有資料本地儲存，不外送任何內容至第三方服務（除非使用者主動設定 API provider）。</p>]]></description></item><item><title>OpenDataLoader PDF 完整教學 — AI-ready PDF 解析與無障礙自動標記</title><link>https://tpow-001.netlify.app/post/2026-06-04-opendataloader-pdf-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-opendataloader-pdf-tutorial/</guid><description><![CDATA[<h1 id="opendataloader-pdf-完整教學" data-numberify>OpenDataLoader PDF 完整教學<a class="anchor ms-1" href="#opendataloader-pdf-完整教學"></a></h1>

<h2 id="第-1-章專案定位-project-positioning" data-numberify>第 1 章：專案定位 (Project Positioning)<a class="anchor ms-1" href="#第-1-章專案定位-project-positioning"></a></h2>

<h3 id="解決什麼問題" data-numberify>解決什麼問題<a class="anchor ms-1" href="#解決什麼問題"></a></h3>
<p>OpenDataLoader PDF 解決兩個核心痛點：</p>]]></description></item><item><title>Supermemory 完整教學 — AI 記憶與上下文引擎</title><link>https://tpow-001.netlify.app/post/2026-06-04-supermemory-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-supermemory-tutorial/</guid><description><![CDATA[<h1 id="supermemory-完整教學--ai-記憶與上下文引擎" data-numberify>Supermemory 完整教學 — AI 記憶與上下文引擎<a class="anchor ms-1" href="#supermemory-完整教學--ai-記憶與上下文引擎"></a></h1>

<h2 id="第-1-章專案定位與價值主張" data-numberify>第 1 章：專案定位與價值主張<a class="anchor ms-1" href="#第-1-章專案定位與價值主張"></a></h2>

<h3 id="核心問題ai-的失憶症" data-numberify>核心問題：AI 的「失憶症」<a class="anchor ms-1" href="#核心問題ai-的失憶症"></a></h3>
<p>每一次對話結束，AI 都會遺忘一切。你反覆告訴它你的偏好、你正在做的專案、你的技術棧——但下一次對話，它又從零開始。</p>]]></description></item><item><title>教學：microsoft/coreutils — Windows 原生 UNIX 工具集完整指南</title><link>https://tpow-001.netlify.app/post/2026-06-04-coreutils-tutorial/</link><pubDate>Thu, 04 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-04-coreutils-tutorial/</guid><description><![CDATA[<h1 id="教學microsoftcoreutils--windows-原生-unix-工具集完整指南" data-numberify>教學：microsoft/coreutils — Windows 原生 UNIX 工具集完整指南<a class="anchor ms-1" href="#教學microsoftcoreutils--windows-原生-unix-工具集完整指南"></a></h1>

<h2 id="第-1-章專案定位與價值主張" data-numberify>第 1 章：專案定位與價值主張<a class="anchor ms-1" href="#第-1-章專案定位與價值主張"></a></h2>

<h3 id="這個專案解決什麼問題" data-numberify>這個專案解決什麼問題？<a class="anchor ms-1" href="#這個專案解決什麼問題"></a></h3>
<p>長久以來，Windows 使用者若想使用 <code>ls</code>、<code>grep</code>、<code>find</code>、<code>cat</code> 等 UNIX 核心指令，必須仰賴 WSL (Windows Subsystem for Linux)、Cygwin、Git Bash 或 MSYS2 等額外環境。這些方案各有限制：WSL 需要完整 Linux 子系統、Cygwin 相容層效能開銷大、Git Bash 指令集有限。</p>]]></description></item><item><title>NVIDIA Cosmos 教學手冊 — Physical AI 的 World Foundation Model 入門</title><link>https://tpow-001.netlify.app/post/2026-06-02-cosmos-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-cosmos-tutorial/</guid><description><![CDATA[<h1 id="nvidia-cosmos-教學手冊" data-numberify>NVIDIA Cosmos 教學手冊<a class="anchor ms-1" href="#nvidia-cosmos-教學手冊"></a></h1>
<blockquote>
<p>這份手冊把 <code>nvidia/cosmos</code> 從「Physical AI 入口 hub」拆成可讀、可實作、可資安審查的內部知識文件。
對應 gh-save metadata 報告：<code>inbox/2026-06-02-github-nvidia-cosmos.md</code>
對應姊妹文件（NVIDIA 生態系）：<code>inbox/2026-06-02-tutorial-Nemotron.md</code></p>]]></description></item><item><title>NVIDIA digital-biology-examples 完整教學：6 個生物 NIM × 1 個 Blueprint × 1 個 PyPI client 的端到端 cookbook</title><link>https://tpow-001.netlify.app/post/2026-06-02-digital-biology-examples-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-digital-biology-examples-tutorial/</guid><description><![CDATA[<blockquote>
<p>⚠️ 本文件為 <code>NVIDIA/digital-biology-examples</code> 的深度教學與資安審查報告。資安掃描章節（§6）含紅黃綠燈分級；商用部署前<strong>務必審視 §4 NIM 授權條款</strong>。</p></blockquote>

<h2 id="目錄" data-numberify>目錄<a class="anchor ms-1" href="#目錄"></a></h2>
<ol>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#1-%e5%b0%88%e6%a1%88%e5%ae%9a%e4%bd%8d">專案定位</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#2-%e5%ae%89%e8%a3%9d%e6%8c%87%e5%8d%97">安裝指南</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#3-%e6%a0%b8%e5%bf%83%e6%9e%b6%e6%a7%8b%e8%a7%a3%e6%9e%90">核心架構解析</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#4-helper-scripts-%e8%88%87%e5%b7%a5%e5%85%b7%e5%ba%ab%e8%a9%b3%e7%b4%b0%e7%94%a8%e6%b3%95">Helper Scripts 與工具庫詳細用法</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#5-%e6%87%89%e7%94%a8%e5%a0%b4%e6%99%af8-%e5%80%8b-nim--1-%e5%80%8b-blueprint--5-%e6%a2%9d-recipe">應用場景：8 個 NIM × 1 個 Blueprint × 5 條 recipe</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#6-%e8%b3%87%e5%ae%89%e6%8e%83%e6%8f%8f%e5%a0%b1%e5%91%8a">資安掃描報告</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#7-faq">FAQ</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#8-%e9%80%b2%e9%9a%8e%e6%8a%80%e5%b7%a7">進階技巧</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#9-%e6%95%b4%e5%90%88%e9%80%b2%e5%85%b6%e4%bb%96%e5%b7%a5%e4%bd%9c%e6%b5%81">整合進其他工作流</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#10-%e9%87%8d%e9%bb%9e%e6%91%98%e8%a6%81-checklist">重點摘要 Checklist</a></li>
<li><a href="/post/2026-06-02-digital-biology-examples-tutorial/#11-%e9%80%b2%e4%b8%80%e6%ad%a5%e9%96%b1%e8%ae%80">進一步閱讀</a></li>
</ol>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話" data-numberify>1.1 一句話<a class="anchor ms-1" href="#11-一句話"></a></h3>
<p><code>NVIDIA/digital-biology-examples</code> 是 NVIDIA BioNeMo 平台官方的「<strong>生物 NIM 微服務 cookbook + Blueprint 端到端範例 + 單細胞 GPU 入門資源</strong>」整合倉，是把 BioNeMo Framework 訓練好的模型「<strong>包成 NIM 容器、暴露成 OpenAPI 服務、做成 Python client / Jupyter notebook、再串接成藥物發現工作流</strong>」的最終端使用者出口。</p>]]></description></item><item><title>NVIDIA Isaac GR00T N1.7 — 人形機器人 VLA 基礎模型完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-02-isaac-gr00t-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-isaac-gr00t-tutorial/</guid><description><![CDATA[<h1 id="nvidia-isaac-gr00t-n17--人形機器人-vla-基礎模型完整教學" data-numberify>NVIDIA Isaac GR00T N1.7 — 人形機器人 VLA 基礎模型完整教學<a class="anchor ms-1" href="#nvidia-isaac-gr00t-n17--人形機器人-vla-基礎模型完整教學"></a></h1>
<blockquote>
<p>本教學針對「想把人形機器人 VLA 模型整合進 sim-to-real 管線、或想在自家機器人上 finetune 的工程師」撰寫。涵蓋安裝、架構、實際應用、資安、整合進 NVIDIA Physical AI 全家桶（Cosmos / Nemotron / Isaac Sim）的工作流。</p>]]></description></item><item><title>NVlabs/alpamayo 教學手冊：Vision-Language-Action 自動駕駛模型</title><link>https://tpow-001.netlify.app/post/2026-06-02-alpamayo-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-alpamayo-tutorial/</guid><description><![CDATA[<h1 id="nvlabsalpamayo-教學手冊" data-numberify>NVlabs/alpamayo 教學手冊<a class="anchor ms-1" href="#nvlabsalpamayo-教學手冊"></a></h1>
<blockquote>
<p>一份「拿到 repo → 跑出第一條軌跡 → 接入既有 pipeline」全程指引。
對應論文：<a href="https://arxiv.org/abs/2511.00088" target="_blank" rel="noopener noreferrer">Alpamayo-R1: Bridging Reasoning and Action Prediction for Generalizable Autonomous Driving in the Long Tail<i class="fas fa-external-link-square-alt ms-1"></i></a>（NVIDIA, 2025）</p>]]></description></item><item><title>NVlabs/Nemotron-Labs-Diffusion 詳細教學 — 擴散 LM × Linear 自推測 × DGX Spark serving 完整實作指南</title><link>https://tpow-001.netlify.app/post/2026-06-02-nemotron-labs-diffusion-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-nemotron-labs-diffusion-tutorial/</guid><description><![CDATA[<h1 id="nvlabsnemotron-labs-diffusion--tri-mode-擴散語言模型完整教學" data-numberify>NVlabs/Nemotron-Labs-Diffusion — Tri-Mode 擴散語言模型完整教學<a class="anchor ms-1" href="#nvlabsnemotron-labs-diffusion--tri-mode-擴散語言模型完整教學"></a></h1>
<blockquote>
<p>本教學針對 <code>NVlabs/Nemotron-Labs-Diffusion</code>（commit <code>2026-05-28</code>，stars 32，dual license: Apache-2.0 code + NOML weights）撰寫，為內部知識庫的「擴散 LM 工程化 reference」。</p>]]></description></item><item><title>Tutorial: NVIDIA-BioNeMo/bionemo-framework — 完整解讀（biopharma foundation model 訓練引擎，含 ESM-2 / AMPLIFY / Evo2 / Geneformer / CodonFM / MoCo 全套 recipes）</title><link>https://tpow-001.netlify.app/post/2026-06-02-bionemo-framework-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-bionemo-framework-tutorial/</guid><description><![CDATA[<h1 id="nvidia-bionemobionemo-framework-完整教學" data-numberify>NVIDIA-BioNeMo/bionemo-framework 完整教學<a class="anchor ms-1" href="#nvidia-bionemobionemo-framework-完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：NVIDIA Clara BioPharma 平台的<strong>訓練引擎開源層</strong> — GPU 高度最佳化的 recipe 與工具集，把 NVIDIA 在 LLM 上的全套絕活（<strong>TransformerEngine FP8/MXFP8/NVFP4</strong> 低精度、<strong>megatron-FSDP</strong>、<strong>context parallel</strong>、<strong>sequence packing</strong>、<strong>Hopper / Blackwell</strong> 架構優化）搬到 biopharma 領域：從 <strong>蛋白質</strong>（ESM-2 8M→15B、AMPLIFY）、<strong>單細胞 RNA</strong>（Geneformer）、<strong>基因體</strong>（Evo2 1B→40B，1M+ nt context）、<strong>codon</strong>（CodonFM 1B/5B）、<strong>生成式小分子</strong>（MoCo 系列 interpolant：DDPM/VDM/CFM/D3PM/MDLM/DFM），到通用 LLM（Llama3 144K context、Mixtral MoE、Qwen2.5/3）的 biopharma 適配版。整合 <strong>NVIDIA AI 全家桶</strong>（Megatron-Bridge / Automodel / TransformerEngine / NIM），是 NVIDIA/BioNeMo Blueprint hub 的<strong>底層引擎</strong>。</p>]]></description></item><item><title>Tutorial: NVIDIA-BioNeMo/bionemo-framework — 完整解讀（biopharma foundation model 訓練引擎，含 ESM-2 / AMPLIFY / Evo2 / Geneformer / CodonFM / MoCo 全套 recipes）</title><link>https://tpow-001.netlify.app/post/2026-06-02-bionemo-framework/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-bionemo-framework/</guid><description><![CDATA[<h1 id="nvidia-bionemobionemo-framework-完整教學" data-numberify>NVIDIA-BioNeMo/bionemo-framework 完整教學<a class="anchor ms-1" href="#nvidia-bionemobionemo-framework-完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：NVIDIA Clara BioPharma 平台的<strong>訓練引擎開源層</strong> — GPU 高度最佳化的 recipe 與工具集，把 NVIDIA 在 LLM 上的全套絕活（<strong>TransformerEngine FP8/MXFP8/NVFP4</strong> 低精度、<strong>megatron-FSDP</strong>、<strong>context parallel</strong>、<strong>sequence packing</strong>、<strong>Hopper / Blackwell</strong> 架構優化）搬到 biopharma 領域：從 <strong>蛋白質</strong>（ESM-2 8M→15B、AMPLIFY）、<strong>單細胞 RNA</strong>（Geneformer）、<strong>基因體</strong>（Evo2 1B→40B，1M+ nt context）、<strong>codon</strong>（CodonFM 1B/5B）、<strong>生成式小分子</strong>（MoCo 系列 interpolant：DDPM/VDM/CFM/D3PM/MDLM/DFM），到通用 LLM（Llama3 144K context、Mixtral MoE、Qwen2.5/3）的 biopharma 適配版。整合 <strong>NVIDIA AI 全家桶</strong>（Megatron-Bridge / Automodel / TransformerEngine / NIM），是 NVIDIA/BioNeMo Blueprint hub 的<strong>底層引擎</strong>。</p>]]></description></item><item><title>Tutorial: NVIDIA-NeMo/Nemotron — 完整解讀（Nemotron 3 Super/Nano/Ultra/Omni 訓練 recipes、15 個 steps、9 個 cookbook、7 個 use-case、`nemotron-customize` Claude 插件）</title><link>https://tpow-001.netlify.app/post/2026-06-02-nemotron-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-nemotron-tutorial/</guid><description><![CDATA[<h1 id="nvidia-nemotron-完整教學" data-numberify>NVIDIA Nemotron 完整教學<a class="anchor ms-1" href="#nvidia-nemotron-完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：NVIDIA 官方為 <strong>Nemotron 模型家族</strong>（<strong>Nano / Super / Ultra</strong> 三層 + <strong>Nano Omni</strong> 多模態變體）建的 <strong>Developer Asset Hub</strong> — 一站式包含 (1) 可重現的訓練 recipes（pretrain → SFT → RL）、(2) 部署 cookbook、(3) RAG / Agent / SQL LoRA / Voice 等完整 use-case、(4) <strong><code>nemotron-customize</code> Claude Code 插件</strong>讓自然語言組合 pipeline，整合 NVIDIA AI 全家桶（NeMo-Curator / NeMo-RL / Megatron-Bridge / Automodel / Evaluator / DataDesigner）。</p>]]></description></item><item><title>Tutorial: NVIDIA/BioNeMo — BioPharma Developer Asset Hub 完整解讀（生物製藥版 Nemotron：25+ 開源模型 / 10+ NIM 微服務 / 8 個 GPU 函式庫 / 完整藥物開發流程）</title><link>https://tpow-001.netlify.app/post/2026-06-02-bionemo-hub-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-bionemo-hub-tutorial/</guid><description><![CDATA[<h1 id="nvidia-bionemohub-repo完整教學" data-numberify>NVIDIA BioNeMo（Hub Repo）完整教學<a class="anchor ms-1" href="#nvidia-bionemohub-repo完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：NVIDIA 在 <strong>BioPharma 領域</strong>的官方 <strong>Developer Asset Hub</strong> — 不是程式庫、不是模型、不是框架，而是一份<strong>集中索引 README</strong>，把散落在 <code>NVIDIA-Digital-Bio</code> / <code>NVIDIA/bionemo-framework</code> / <code>clara-parabricks-workflows</code> / <code>NVlabs</code> / <code>build.nvidia.com</code> 的 <strong>5 大支柱（資料 / 模型 / 函式庫 / 訓練 / NIM 推論）</strong> 串成一條可導覽的入口路徑。</p>]]></description></item><item><title>Tutorial: OpenBMB/VoxCPM — Tokenizer-Free Diffusion AR TTS 完整解讀（VoxCPM 2 / 1.5 / 0.5B、Voice Cloning / Design、LoRA 微調、生態系）</title><link>https://tpow-001.netlify.app/post/2026-06-02-voxcpm-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-voxcpm-tutorial/</guid><description><![CDATA[<h1 id="voxcpm-完整教學" data-numberify>VoxCPM 完整教學<a class="anchor ms-1" href="#voxcpm-完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：OpenBMB（清華大學 NLP / 面壁智能 ModelBest 主導）旗下旗艦 <strong>TTS (text-to-speech; 文字轉語音)</strong> 開源項目；採 <strong>tokenizer-free + diffusion autoregressive</strong> 架構、基於 <strong>MiniCPM-4 language model</strong> + <strong>AudioVAE V2 latent space</strong>，最新版 <strong>VoxCPM 2</strong> 以 2B 參數支援 <strong>30 種語言</strong>、<strong>48 kHz</strong> 高保真合成、<strong>voice design</strong>（純文字描述生聲）、<strong>voice cloning</strong>（參考音複製）、<strong>controllable cloning</strong>（風格調整）、<strong>streaming</strong>，Apache-2.0 可商用。</p>]]></description></item><item><title>Tutorial: stefan-jansen/machine-learning-for-trading — 24 章完整精讀（ML4T 工作流 / 演算法交易 / 量化研究教材）</title><link>https://tpow-001.netlify.app/post/2026-06-02-machine-learning-for-trading-tutorial/</link><pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-02-machine-learning-for-trading-tutorial/</guid><description><![CDATA[<h1 id="machine-learning-for-trading-2nd-edition--完整教學" data-numberify>Machine Learning for Trading 2nd Edition — 完整教學<a class="anchor ms-1" href="#machine-learning-for-trading-2nd-edition--完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：Stefan Jansen《Machine Learning for Algorithmic Trading》（ML4T 縮寫；機器學習演算法交易）2nd Edition 一整本書的官方配套程式碼倉庫，含 <strong>24 章 / 156 個 Jupyter notebook / 420MB</strong>，從原始市場資料一路走到深度強化學習（deep reinforcement learning, DRL；深度強化學習）交易代理人，是該領域 GitHub 上影響力最大的單一教學資產（17.8k stars / 5.2k forks）。</p>]]></description></item><item><title>claude-code-slack-channel 完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-01-claude-code-slack-channel-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-claude-code-slack-channel-tutorial/</guid><description><![CDATA[<h1 id="claude-code-slack-channel-完整教學" data-numberify>claude-code-slack-channel 完整教學<a class="anchor ms-1" href="#claude-code-slack-channel-完整教學"></a></h1>
<blockquote>
<p>把 Claude Code 跟 Slack 雙向接起來，但用「企業級 governance」的方式做：每一個 tool call 都過 policy engine、每一筆決策都進 Ed25519 簽章的 audit journal、五層 prompt-injection 防禦。本教學帶你從 0 到生產級使用。</p>]]></description></item><item><title>Tutorial: D4Vinci/Scrapling — 自我調整型 Python 爬蟲框架完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-01-scrapling-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-scrapling-tutorial/</guid><description><![CDATA[<h1 id="scrapling-完整教學從單次-http-請求到-ai-agent-爬蟲管線" data-numberify>Scrapling 完整教學：從單次 HTTP 請求到 AI agent 爬蟲管線<a class="anchor ms-1" href="#scrapling-完整教學從單次-http-請求到-ai-agent-爬蟲管線"></a></h1>
<blockquote>
<p>一份「讀完就能上手 + 進得了管線 + 知道資安邊界」的內部技術手冊。
目標讀者：已會 Python，正在評估 Scrapy / Playwright / BeautifulSoup 的替代方案，或要把爬蟲整進 AI agent 的工程師。</p>]]></description></item><item><title>Tutorial: D4Vinci/Scrapling — 自我調整型 Python 爬蟲框架完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-01-scrapling-v2-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-scrapling-v2-tutorial/</guid><description><![CDATA[<h1 id="scrapling-完整教學從單次-http-請求到-ai-agent-爬蟲管線" data-numberify>Scrapling 完整教學：從單次 HTTP 請求到 AI agent 爬蟲管線<a class="anchor ms-1" href="#scrapling-完整教學從單次-http-請求到-ai-agent-爬蟲管線"></a></h1>
<blockquote>
<p>一份「讀完就能上手 + 進得了管線 + 知道資安邊界」的內部技術手冊。
目標讀者：已會 Python，正在評估 Scrapy / Playwright / BeautifulSoup 的替代方案，或要把爬蟲整進 AI agent 的工程師。</p>]]></description></item><item><title>Tutorial: healthymind-tech/Taiwan-Health-MCP — 台灣醫療資料 MCP 伺服器完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-01-taiwan-health-mcp-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-taiwan-health-mcp-tutorial/</guid><description><![CDATA[<h1 id="taiwan-health-mcp-完整教學" data-numberify>Taiwan-Health-MCP 完整教學<a class="anchor ms-1" href="#taiwan-health-mcp-完整教學"></a></h1>
<blockquote>
<p>把台灣健保 / TFDA / 國際醫療編碼資料一次整合給 LLM agent 用的生產級 MCP 伺服器深度教學。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Taiwan-Health-MCP 是一個 <strong>Model Context Protocol (MCP) 伺服器</strong>，目的是讓 Claude / GPT 等 LLM agent 能透過標準工具呼叫介面，查詢以下台灣與國際醫療健康資料：</p>]]></description></item><item><title>Tutorial: healthymind-tech/Taiwan-Health-MCP — 台灣醫療資料 MCP 伺服器完整教學</title><link>https://tpow-001.netlify.app/post/2026-06-01-taiwan-health-mcp/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-taiwan-health-mcp/</guid><description><![CDATA[<h1 id="taiwan-health-mcp-完整教學" data-numberify>Taiwan-Health-MCP 完整教學<a class="anchor ms-1" href="#taiwan-health-mcp-完整教學"></a></h1>
<blockquote>
<p>把台灣健保 / TFDA / 國際醫療編碼資料一次整合給 LLM agent 用的生產級 MCP 伺服器深度教學。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Taiwan-Health-MCP 是一個 <strong>Model Context Protocol (MCP) 伺服器</strong>，目的是讓 Claude / GPT 等 LLM agent 能透過標準工具呼叫介面，查詢以下台灣與國際醫療健康資料：</p>]]></description></item><item><title>Tutorial: LocalSend — 跨平台 AirDrop 開源替代品的完整解讀（協定、架構、資安）</title><link>https://tpow-001.netlify.app/post/2026-06-01-localsend-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-localsend-tutorial/</guid><description><![CDATA[<h1 id="localsend-完整教學" data-numberify>LocalSend 完整教學<a class="anchor ms-1" href="#localsend-完整教學"></a></h1>
<blockquote>
<p>LocalSend 是一個用 <strong>Flutter（UI / 平台整合）+ Rust（<code>core/</code> 網路核心）</strong> 寫的跨平台 P2P 檔案傳輸 app，主打「<strong>只用區網、不需網際網路、不需第三方伺服器</strong>」的 AirDrop 替代品。
8.2 萬星、Apache-2.0、官方 protocol 文件公開。</p>]]></description></item><item><title>Tutorial: pi-dynamic-workflows — Claude-Code-style 動態工作流移植到 Pi 的完整解讀</title><link>https://tpow-001.netlify.app/post/2026-06-01-pi-dynamic-workflows-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-pi-dynamic-workflows-tutorial/</guid><description><![CDATA[<h1 id="pi-dynamic-workflows-完整教學" data-numberify>pi-dynamic-workflows 完整教學<a class="anchor ms-1" href="#pi-dynamic-workflows-完整教學"></a></h1>
<blockquote>
<p>把 Anthropic 在 Claude Code 推出的 <strong>dynamic workflows (DWF; 動態工作流)</strong> 概念，移植到 <a href="https://github.com/earendil-works/pi" target="_blank" rel="noopener noreferrer">earendil-works/pi<i class="fas fa-external-link-square-alt ms-1"></i></a> 編程代理框架。
一個 Pi extension，註冊 <code>workflow</code> 工具；主模型寫一段 JavaScript script，工具會在 vm sandbox 沙箱裡跑，期間 fan-out 多個 isolated subagent 並行做事，最後把結果合回。</p>]]></description></item><item><title>Tutorial: TraderAlice/OpenAlice — 一人華爾街 AI Trading Agent 完整解析</title><link>https://tpow-001.netlify.app/post/2026-06-01-openalice-tutorial/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-06-01-openalice-tutorial/</guid><description><![CDATA[<h1 id="openalice-完整教學" data-numberify>OpenAlice 完整教學<a class="anchor ms-1" href="#openalice-完整教學"></a></h1>
<blockquote>
<p><strong>本文目的</strong>：把 OpenAlice 的「為什麼這樣設計」、「該怎麼跑起來」、「能怎麼接進你既有的 AI 工作流」一次講清楚。<strong>不是逐行 source walkthrough</strong>，重點放在架構、運維、資安、整合面。</p>]]></description></item><item><title>Horizon 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-30-horizon-tutorial/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-30-horizon-tutorial/</guid><description><![CDATA[<h1 id="horizon-完整教學" data-numberify>Horizon 完整教學<a class="anchor ms-1" href="#horizon-完整教學"></a></h1>
<blockquote>
<p>把多源新聞（Hacker News / Reddit / Twitter / RSS / GitHub / Telegram / OpenBB）一鍵變成「個人化每日中英雙語簡報」的開源 AI 雷達工具。架在自家機器、用自家的 LLM key，從此不再被資訊洪流追趕。</p>]]></description></item><item><title>agent-sprite-forge 詳細教學 — Codex 2D 遊戲資產雙 skill 完整指南</title><link>https://tpow-001.netlify.app/post/2026-05-29-agent-sprite-forge-tutorial/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-29-agent-sprite-forge-tutorial/</guid><description><![CDATA[<h1 id="agent-sprite-forge-詳細教學" data-numberify>agent-sprite-forge 詳細教學<a class="anchor ms-1" href="#agent-sprite-forge-詳細教學"></a></h1>
<blockquote>
<p>Codex-first 2D 遊戲資產 skill：<code>generate2dsprite</code> + <code>generate2dmap</code>，從自然語言到 engine-ready PNG / GIF 的雙 skill 工作流完整剖析。</p>]]></description></item><item><title>HyperFrames 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-29-hyperframes-tutorial/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-29-hyperframes-tutorial/</guid><description><![CDATA[<h1 id="hyperframes-完整教學" data-numberify>HyperFrames 完整教學<a class="anchor ms-1" href="#hyperframes-完整教學"></a></h1>
<blockquote>
<p>一份「HTML 寫到一半，影片就出來了」的開源框架 — 把 Web 標準作為 video composition (影片合成) 的權威介面，並把整個 production loop (製作流程) 設計成 AI agent 也能上手。</p>]]></description></item><item><title>MoneyPrinterTurbo 教學手冊（v1.2.8）</title><link>https://tpow-001.netlify.app/post/2026-05-29-moneyprinterturbo-tutorial/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-29-moneyprinterturbo-tutorial/</guid><description><![CDATA[<h1 id="moneyprinterturbo-教學手冊" data-numberify>MoneyPrinterTurbo 教學手冊<a class="anchor ms-1" href="#moneyprinterturbo-教學手冊"></a></h1>
<blockquote>
<p>對應版本：v1.2.8（2026-05-28）
適用場景：團隊要評估「能不能用它替代自家短視頻 pipeline」/「能不能 fork 拆出 LLM + TTS + 自動剪輯三個 module 重用」</p>]]></description></item><item><title>RedditVideoMakerBot 完整教學 — 從 Reddit 文到 TikTok 短影片的一鍵自動化</title><link>https://tpow-001.netlify.app/post/2026-05-29-redditvideomakerbot-tutorial/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-29-redditvideomakerbot-tutorial/</guid><description><![CDATA[<h1 id="redditvideomakerbot-完整教學" data-numberify>RedditVideoMakerBot 完整教學<a class="anchor ms-1" href="#redditvideomakerbot-完整教學"></a></h1>
<blockquote>
<p>對應 repo：<a href="https://github.com/elebumm/RedditVideoMakerBot" target="_blank" rel="noopener noreferrer"><code>elebumm/RedditVideoMakerBot</code><i class="fas fa-external-link-square-alt ms-1"></i></a>（v3.4.0, GPLv3, ⭐12.3K / 🍴2.88K）
對應 metadata：<code>inbox/2026-05-29-github-elebumm-RedditVideoMakerBot.md</code></p>]]></description></item><item><title>Remotion 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-29-remotion-tutorial/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-29-remotion-tutorial/</guid><description><![CDATA[<h1 id="remotion-完整教學" data-numberify>Remotion 完整教學<a class="anchor ms-1" href="#remotion-完整教學"></a></h1>
<blockquote>
<p>「用 React 寫影片」這個流派的標竿與最成熟的實作，把 component composition (元件合成) / state / hook 全部搬進 video timeline (影片時間軸)，再用 Rust-based compositor (合成器) + Lambda / Cloud Run 解掉大型 production (生產) 的渲染瓶頸。</p>]]></description></item><item><title>agent-skill-creator — 跨平台 Agent Skill 工廠完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-28-agent-skill-creator-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-agent-skill-creator-tutorial/</guid><description><![CDATA[<h1 id="agent-skill-creator--跨平台-agent-skill-工廠完整教學" data-numberify>agent-skill-creator — 跨平台 Agent Skill 工廠完整教學<a class="anchor ms-1" href="#agent-skill-creator--跨平台-agent-skill-工廠完整教學"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：把任意工作流（描述 / 連結 / code / PDF / 轉錄稿）丟進去，5 分鐘內產出一份「validated + security-scanned + 自帶 install.sh」的跨 14+ 平台 agent skill。</p>]]></description></item><item><title>CC Workflow Studio — 視覺化 AI Agent Workflow 編輯器深度教學</title><link>https://tpow-001.netlify.app/post/2026-05-28-cc-wf-studio-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-cc-wf-studio-tutorial/</guid><description><![CDATA[<h1 id="cc-workflow-studio--視覺化-ai-agent-workflow-編輯器深度教學" data-numberify>CC Workflow Studio — 視覺化 AI Agent Workflow 編輯器深度教學<a class="anchor ms-1" href="#cc-workflow-studio--視覺化-ai-agent-workflow-編輯器深度教學"></a></h1>
<blockquote>
<p>把腦中的 multi-agent workflow 拖拉成圖，匯出給 Claude Code / Copilot / Cursor / Codex / Gemini 直接執行。<br>
同一份 <code>workflow.json</code> 同時驅動 VSCode extension、CLI、MCP server — 沒有「VSCode-only」路徑。</p>]]></description></item><item><title>Claude-Code-Game-Studios 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-28-claude-code-game-studios-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-claude-code-game-studios-tutorial/</guid><description><![CDATA[<h1 id="claude-code-game-studios-完整教學" data-numberify>Claude-Code-Game-Studios 完整教學<a class="anchor ms-1" href="#claude-code-game-studios-完整教學"></a></h1>
<blockquote>
<p>一個把 Claude Code 變成「49 名 AI 員工 + 73 個 slash command」的 indie game studio template。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它解決的問題" data-numberify>1.1 它解決的問題<a class="anchor ms-1" href="#11-它解決的問題"></a></h3>
<p>獨立遊戲開發者用 AI 寫遊戲時，single chat session 沒有結構：</p>]]></description></item><item><title>glab 教學：GitLab 官方 CLI 從安裝到日常工作流</title><link>https://tpow-001.netlify.app/post/2026-05-28-glab-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-glab-tutorial/</guid><description><![CDATA[<h1 id="glab-教學gitlab-官方-cli-從安裝到日常工作流" data-numberify>glab 教學：GitLab 官方 CLI 從安裝到日常工作流<a class="anchor ms-1" href="#glab-教學gitlab-官方-cli-從安裝到日常工作流"></a></h1>
<blockquote>
<p>內容覆蓋上游 <code>gitlab.com/gitlab-org/cli</code>（kaisenlinux/glab 是 Debian 打包鏡像）。
適用 GitLab 16.0+ / GitLab.com / Self-Managed / Dedicated。</p>]]></description></item><item><title>Hivemind 深度教學 — Cross-Agent 共享記憶與 Skill 自動沉澱引擎</title><link>https://tpow-001.netlify.app/post/2026-05-28-hivemind-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-hivemind-tutorial/</guid><description><![CDATA[<h1 id="hivemind-深度教學" data-numberify>Hivemind 深度教學<a class="anchor ms-1" href="#hivemind-深度教學"></a></h1>
<blockquote>
<p>把 6 種 coding agent（Claude Code / Codex / OpenClaw / Cursor / Hermes / pi）的 session trace 統一捕捉到 Deeplake，背景 worker 自動挖 pattern → 寫 <code>SKILL.md</code> → 跨 agent 注入。在 LoCoMo benchmark 上省 <strong>25% cost / 1.7× token / 31% turn</strong>。</p>]]></description></item><item><title>llm-neuron-atlas 詳細教學 — 3D LLM Neuron Atlas Tutorial</title><link>https://tpow-001.netlify.app/post/2026-05-28-llm-neuron-atlas-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-llm-neuron-atlas-tutorial/</guid><description><![CDATA[<h1 id="llm-neuron-atlas-詳細教學" data-numberify>llm-neuron-atlas 詳細教學<a class="anchor ms-1" href="#llm-neuron-atlas-詳細教學"></a></h1>
<blockquote>
<p>Live demo: <a href="https://charenix.com/qwen3b-atlas" target="_blank" rel="noopener noreferrer">https://charenix.com/qwen3b-atlas<i class="fas fa-external-link-square-alt ms-1"></i></a>
Repo: <a href="https://github.com/norika1207-lab/llm-neuron-atlas" target="_blank" rel="noopener noreferrer">https://github.com/norika1207-lab/llm-neuron-atlas<i class="fas fa-external-link-square-alt ms-1"></i></a>
作者: Norika Oda (ORCID 0009-0006-6816-9891)
License: MIT</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p><code>llm-neuron-atlas</code> 屬於 <strong>mechanistic interpretability (機械式可解釋性)</strong> 工具範疇，但與既有工具有結構性的差異：</p>
<table>
  <thead>
      <tr>
          <th>工具</th>
          <th>視角</th>
          <th>規模</th>
          <th>互動</th>
      </tr>
  </thead>
  <tbody>
      <tr>
          <td>BertViz</td>
          <td>attention 矩陣</td>
          <td>單 head / 單層</td>
          <td>2D</td>
      </tr>
      <tr>
          <td>Neuronpedia</td>
          <td>SAE feature dashboard</td>
          <td>單 feature</td>
          <td>2D 圖卡</td>
      </tr>
      <tr>
          <td>Anthropic circuits</td>
          <td>手繪電路圖</td>
          <td>局部 (~10 nodes)</td>
          <td>靜態</td>
      </tr>
      <tr>
          <td><strong>llm-neuron-atlas</strong></td>
          <td><strong>per-neuron + 全層 + cross-arch</strong></td>
          <td><strong>73,728 nodes / 716K edges</strong></td>
          <td><strong>3D 即時</strong></td>
      </tr>
  </tbody>
</table>
<p><strong>核心定位</strong>：把整個 transformer 的「神經元城市」(neuron-as-city / weight-as-road) 一次性渲染出來，讓使用者用空間導航的方式探索 LLM 的內部結構。</p>]]></description></item><item><title>rekipedia 完整教學 — Codebase 變成 AI-Ready 知識庫</title><link>https://tpow-001.netlify.app/post/2026-05-28-rekipedia-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-rekipedia-tutorial/</guid><description><![CDATA[<h1 id="rekipedia-完整教學--codebase-變成-ai-ready-知識庫" data-numberify>rekipedia 完整教學 — Codebase 變成 AI-Ready 知識庫<a class="anchor ms-1" href="#rekipedia-完整教學--codebase-變成-ai-ready-知識庫"></a></h1>
<blockquote>
<p>一份「裝起來就能用」的 internal tutorial，給團隊內部準備把 rekipedia 跑進工作流的同事看。
目標版本：<code>v0.17.29</code> (2026-05-28)，MIT License。</p>]]></description></item><item><title>SkillOpt 詳細教學 — 訓練 frozen LLM agent 的 natural-language skill</title><link>https://tpow-001.netlify.app/post/2026-05-28-skillopt-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-skillopt-tutorial/</guid><description><![CDATA[<h1 id="skillopt-詳細教學" data-numberify>SkillOpt 詳細教學<a class="anchor ms-1" href="#skillopt-詳細教學"></a></h1>
<blockquote>
<p>一份足以讓團隊評估「能不能整合進我們的 agent pipeline」的精讀教學。
對應 paper：arXiv 2605.23904（Yang et al., 2026）</p>]]></description></item><item><title>spritefusion-pixel-snapper 詳細教學</title><link>https://tpow-001.netlify.app/post/2026-05-28-spritefusion-pixel-snapper-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-spritefusion-pixel-snapper-tutorial/</guid><description><![CDATA[<h1 id="spritefusion-pixel-snapper--完整教學" data-numberify>spritefusion-pixel-snapper — 完整教學<a class="anchor ms-1" href="#spritefusion-pixel-snapper--完整教學"></a></h1>
<blockquote>
<p>把 AI 生成的「不工整 pixel art」對齊到真正的整數 grid，並量化到限定色盤；單檔 870 行 Rust，可同時編譯成 CLI 與 WASM 模組。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話定位" data-numberify>1.1 一句話定位<a class="anchor ms-1" href="#11-一句話定位"></a></h3>
<p>Pixel Snapper 是 Sprite Fusion（線上 tilemap editor）團隊釋出的 AI pixel art 後處理工具。它接收一張 AI 生成、解析度通常為 1024×1024 的「看起來像 pixel art 但 pixel 邊界其實亂飄」的圖，輸出一張 pixel 大小一致、grid 對齊、色盤受限的乾淨 sprite。</p>]]></description></item><item><title>tw-legal-rag 詳細教學 — Taiwan Legal RAG CLI 從安裝到 bundle 層級引用檢查</title><link>https://tpow-001.netlify.app/post/2026-05-28-tw-legal-rag-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-tw-legal-rag-tutorial/</guid><description><![CDATA[<h1 id="tw-legal-rag-詳細教學--taiwan-legal-rag-cli" data-numberify>tw-legal-rag 詳細教學 — Taiwan Legal RAG CLI<a class="anchor ms-1" href="#tw-legal-rag-詳細教學--taiwan-legal-rag-cli"></a></h1>
<blockquote>
<p>Open-source CLI for <strong>semantic Taiwan legal judgment retrieval</strong>。由法律偵探（Dr.Lawbot）建置 22M+ 台灣裁判語義檢索後端 → 開源 CLI 接 retrieval-only endpoint → 打包 bundle 交給你自己的 AI → 對 AI 答案做 bundle 層級引用檢查。</p>]]></description></item><item><title>Understand-Anything 深度教學 — 把 codebase 變成互動式 knowledge graph 的 Claude Code plugin</title><link>https://tpow-001.netlify.app/post/2026-05-28-understand-anything-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-understand-anything-tutorial/</guid><description><![CDATA[<h1 id="understand-anything--深度教學" data-numberify>Understand-Anything — 深度教學<a class="anchor ms-1" href="#understand-anything--深度教學"></a></h1>
<blockquote>
<p>對應 gh-save metadata 報告：<code>inbox/2026-05-28-github-Lum1104-Understand-Anything.md</code>
對應 repo: <a href="https://github.com/Lum1104/Understand-Anything" target="_blank" rel="noopener noreferrer">https://github.com/Lum1104/Understand-Anything<i class="fas fa-external-link-square-alt ms-1"></i></a>（v2.7.3, 42.3k stars, MIT）</p>]]></description></item><item><title>Webwright 完整教學 — 把 LLM 當寫程式的 SWE 來操作瀏覽器</title><link>https://tpow-001.netlify.app/post/2026-05-28-webwright-tutorial/</link><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-28-webwright-tutorial/</guid><description><![CDATA[<h1 id="webwright-完整教學" data-numberify>Webwright 完整教學<a class="anchor ms-1" href="#webwright-完整教學"></a></h1>
<blockquote>
<p>Microsoft Research 出品的極簡瀏覽器 agent framework — 用 ~1.5k LoC 在 Online-Mind2Web 拿下 86.7% SOTA，在 Odysseys long-horizon benchmark 上比前一 SOTA 高 15.6 點。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話" data-numberify>1.1 一句話<a class="anchor ms-1" href="#11-一句話"></a></h3>
<p><strong>Webwright 不是另一個「點擊機器人」，是「會寫 Playwright 程式的 LLM 工程師」。</strong></p>]]></description></item><item><title>map3d 完整教學 — 從 OSM bounding box 到可下載 GLB 的 R3F 工作流</title><link>https://tpow-001.netlify.app/post/2026-05-25-map3d-tutorial/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-25-map3d-tutorial/</guid><description><![CDATA[<h1 id="map3d-完整教學--從-osm-bounding-box-到可下載-glb-的-r3f-工作流" data-numberify>map3d 完整教學 — 從 OSM bounding box 到可下載 GLB 的 R3F 工作流<a class="anchor ms-1" href="#map3d-完整教學--從-osm-bounding-box-到可下載-glb-的-r3f-工作流"></a></h1>
<blockquote>
<p>本文件是 <code>cartesiancs/map3d</code> 的<strong>深度技術教學</strong>，配對的 gh-save 報告請見 <code>2026-05-25-github-cartesiancs-map3d.md</code>。</p>
<p><strong>建議閱讀順序</strong>：先讀本檔 §1–§2 建立心智模型，再依需求跳讀 §3（架構）/ §4（工作流細節）/ §6（資安）。</p>]]></description></item><item><title>ReClip 完整教學 — Self-Hosted 影音下載器（Flask + yt-dlp）</title><link>https://tpow-001.netlify.app/post/2026-05-25-reclip-tutorial/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-25-reclip-tutorial/</guid><description><![CDATA[<h1 id="reclip-完整教學--self-hosted-影音下載器flask--yt-dlp" data-numberify>ReClip 完整教學 — Self-Hosted 影音下載器（Flask + yt-dlp）<a class="anchor ms-1" href="#reclip-完整教學--self-hosted-影音下載器flask--yt-dlp"></a></h1>
<blockquote>
<p>把 yt-dlp 的全部能力包成「貼 URL → 下載 MP4 / MP3」的網頁介面，後端 ~170 行 Python，零前端 framework。</p>]]></description></item><item><title>Reversa — 詳細教學與資安審查</title><link>https://tpow-001.netlify.app/post/2026-05-25-reversa-tutorial/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-25-reversa-tutorial/</guid><description><![CDATA[<h1 id="reversa--詳細教學與資安審查" data-numberify>Reversa — 詳細教學與資安審查<a class="anchor ms-1" href="#reversa--詳細教學與資安審查"></a></h1>
<blockquote>
<p><strong>Reversa</strong> 是把「<strong>legacy system (傳統系統)</strong>」變成「<strong>executable specifications (可執行規格)</strong>」的逆向工程框架。本教學帶你從零理解、安裝、實際跑一輪、評估資安、整合進現有工作流。</p>]]></description></item><item><title>Stirling-PDF 深度導讀 — Self-Hosted PDF 平台的架構、部署與資安審查</title><link>https://tpow-001.netlify.app/post/2026-05-25-stirling-pdf-tutorial/</link><pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-25-stirling-pdf-tutorial/</guid><description><![CDATA[<h1 id="stirling-pdf-深度導讀" data-numberify>Stirling-PDF 深度導讀<a class="anchor ms-1" href="#stirling-pdf-深度導讀"></a></h1>
<blockquote>
<p>把一支 GitHub 上 79K stars 的開源專案，<strong>從定位到資安</strong>一次講完。
適合：想為團隊 / 客戶導入 self-hosted PDF 處理平台的工程師、IT 與資安人員。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Stirling-PDF 在 PDF 工具光譜上的座標：</p>]]></description></item><item><title>jo-inc/camofox-browser 詳細教學</title><link>https://tpow-001.netlify.app/post/2026-05-23-camofox-browser-tutorial/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-23-camofox-browser-tutorial/</guid><description><![CDATA[<h1 id="jo-inccamofox-browser-詳細教學" data-numberify>jo-inc/camofox-browser 詳細教學<a class="anchor ms-1" href="#jo-inccamofox-browser-詳細教學"></a></h1>
<blockquote>
<p>對 <code>jo-inc/camofox-browser</code> 從「定位」→「跑起來」→「整合進 AI agent」的完整 onboarding。
補充 <code>inbox/2026-05-23-github-jo-inc-camofox-browser.md</code>（gh-save metadata），請搭配閱讀。</p>]]></description></item><item><title>web-infra-dev/midscene 詳細教學</title><link>https://tpow-001.netlify.app/post/2026-05-23-midscene-tutorial/</link><pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-23-midscene-tutorial/</guid><description><![CDATA[<h1 id="web-infra-devmidscene-詳細教學" data-numberify>web-infra-dev/midscene 詳細教學<a class="anchor ms-1" href="#web-infra-devmidscene-詳細教學"></a></h1>
<blockquote>
<p>對 <code>web-infra-dev/midscene</code> 從「定位」→「跑起來」→「整合進產品」的完整 onboarding。
補充 <code>inbox/2026-05-23-github-web-infra-dev-midscene.md</code>（gh-save metadata），請搭配閱讀。</p>]]></description></item><item><title>30-seconds-of-code 詳細教學 — Curated Snippet Site：內容資產、Astro Pipeline、寫作 SOP 三層解析</title><link>https://tpow-001.netlify.app/post/2026-05-22-30-seconds-of-code-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-30-seconds-of-code-tutorial/</guid><description><![CDATA[<h1 id="30-seconds-of-code-詳細教學" data-numberify>30-seconds-of-code 詳細教學<a class="anchor ms-1" href="#30-seconds-of-code-詳細教學"></a></h1>

<h2 id="1-定位" data-numberify>§1 定位<a class="anchor ms-1" href="#1-定位"></a></h2>
<p><strong>30-seconds-of-code (30soc)</strong> 是 Angelos Chalaris 自 2017 年起獨自維護的 <strong>curated coding snippets 教學站</strong>。三句話說清楚它是什麼、不是什麼：</p>
<ul>
<li><strong>是</strong>：每篇「30 秒讀完」的短文 + code block + 解釋，分 JavaScript / CSS / Python / React / Git / HTML 六大類，由單一作者把關品質</li>
<li><strong>不是</strong>：cheatsheet（沒有解釋）、不是社群 wiki（PR 只收 bug 不收新內容）、不是教材（沒有循序漸進的學習路徑）</li>
<li><strong>128k stars / 12.5k forks / CC-BY-4.0 內容授權</strong> — 是「solo-maintainer 高品質知識站」的代表</li>
</ul>
<p>兩條使用線：</p>]]></description></item><item><title>AAIF goose 詳細教學 — Rust 原生 AI agent（desktop + CLI + server + 30 provider + 70 MCP extension）</title><link>https://tpow-001.netlify.app/post/2026-05-22-goose-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-goose-tutorial/</guid><description><![CDATA[<h1 id="aaif-goose-詳細教學" data-numberify>AAIF goose 詳細教學<a class="anchor ms-1" href="#aaif-goose-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/aaif-goose/goose" target="_blank" rel="noopener noreferrer">https://github.com/aaif-goose/goose<i class="fas fa-external-link-square-alt ms-1"></i></a>（45.6k stars / 4.7k forks / v1.34.1 stable / Apache-2.0，截至 2026-05-22）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p><strong>goose</strong> 是 <strong>AAIF (Agentic AI Foundation, Linux Foundation)</strong> 治理的 Rust 原生通用 AI agent。三種形態：</p>]]></description></item><item><title>Aider-AI aider 完整教學 — 16 種 Coder / repo map / architect mode 的 terminal AI 結對程式設計</title><link>https://tpow-001.netlify.app/post/2026-05-22-aider-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-aider-tutorial/</guid><description><![CDATA[<h1 id="aider-ai-aider-完整教學" data-numberify>Aider-AI aider 完整教學<a class="anchor ms-1" href="#aider-ai-aider-完整教學"></a></h1>
<blockquote>
<p>對應 gh-save：<code>inbox/2026-05-22-github-Aider-AI-aider.md</code>
來源 repo：<a href="https://github.com/Aider-AI/aider" target="_blank" rel="noopener noreferrer">https://github.com/Aider-AI/aider<i class="fas fa-external-link-square-alt ms-1"></i></a> (45.1k stars / Apache-2.0)
版本基準：<code>v0.86.0</code> (2025-08-09) + main HEAD <code>6435cb8</code> (2026-05-16)</p>]]></description></item><item><title>build-your-own-x 深度教學手冊</title><link>https://tpow-001.netlify.app/post/2026-05-22-build-your-own-x-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-build-your-own-x-tutorial/</guid><description><![CDATA[<h1 id="build-your-own-x-深度教學手冊" data-numberify>build-your-own-x 深度教學手冊<a class="anchor ms-1" href="#build-your-own-x-深度教學手冊"></a></h1>
<blockquote>
<p>從零實作世界知名系統的權威 curated list —— 50 萬 stars 的學習路徑入口。</p></blockquote>
<hr>

<h2 id="1-定位與一句話介紹" data-numberify>§1. 定位與一句話介紹<a class="anchor ms-1" href="#1-定位與一句話介紹"></a></h2>
<p><code>codecrafters-io/build-your-own-x</code> 是一份高品質、社群維護的 awesome-list 風格教程索引，主題明確：<strong>「親手從零實作一個你每天在用的技術」</strong>。它不是框架、不是工具，而是一份「學習路徑地圖」—— 把散落在 blog post、GitHub repo、線上書籍、YouTube playlist 中的「step-by-step from scratch」教學依技術類別整理成 30+ 大類，共數百個外部教程連結。</p>]]></description></item><item><title>ChatGPT 提問助手詳細教學（重點：快速樣板使用全攻略）</title><link>https://tpow-001.netlify.app/post/2026-05-22-chat-gpt-custom-prompt-extension-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-chat-gpt-custom-prompt-extension-tutorial/</guid><description><![CDATA[<h1 id="chatgpt-提問助手詳細教學" data-numberify>ChatGPT 提問助手詳細教學<a class="anchor ms-1" href="#chatgpt-提問助手詳細教學"></a></h1>
<blockquote>
<p>把「跟 LLM 對話」從「每次都要打整段提問」升級成「點兩下按鈕填欄位就送出」。
本教學特別詳述「<strong>快速樣板</strong>」的三種形態與參數語法。</p>]]></description></item><item><title>Codeman 詳細教學 — Claude Code / OpenCode 跨 tmux session 的 Web 控制面（含 respawn / ralph-loop / 遠端存取）</title><link>https://tpow-001.netlify.app/post/2026-05-22-codeman-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-codeman-tutorial/</guid><description><![CDATA[<h1 id="codeman-詳細教學" data-numberify>Codeman 詳細教學<a class="anchor ms-1" href="#codeman-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/Ark0N/Codeman" target="_blank" rel="noopener noreferrer">https://github.com/Ark0N/Codeman<i class="fas fa-external-link-square-alt ms-1"></i></a>（402 stars / 49 forks / v0.6.11 / MIT / 4 個月生命週期，截至 2026-05-22）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>arkon 開源的 <strong>Claude Code + OpenCode control plane</strong> — 一個 Web 控制面板，把 N 個 tmux session 內跑的 AI coding agent <strong>統一管理</strong>：</p>]]></description></item><item><title>CRISPE Prompt Template 與安全加強版 Prompt Generator 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-22-course-info-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-course-info-tutorial/</guid><description>&lt;blockquote>
&lt;p>本文件整理本次對話中所有核心討論、範例、模板語法、CRISPE 提示詞設計邏輯、React 網頁產生器、資訊安全檢查與安全加強版完整程式碼。&lt;br>
適用對象：想建立可長期使用的 ChatGPT Prompt Template、Prompt Generator、CRISPE 教學工具，或內部安全版提示詞產生器的使用者。&lt;/p></description></item><item><title>github/gitignore 詳細教學 — 從模板選擇到多語言組合的完整指南</title><link>https://tpow-001.netlify.app/post/2026-05-22-gitignore-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-gitignore-tutorial/</guid><description><![CDATA[<h1 id="githubgitignore-詳細教學" data-numberify>github/gitignore 詳細教學<a class="anchor ms-1" href="#githubgitignore-詳細教學"></a></h1>
<blockquote>
<p>物件：<strong>github/gitignore</strong> — GitHub 官方維護的 <code>.gitignore</code> 模板倉庫
規模：174k stars / 82k forks / <strong>312 個 .gitignore 模板</strong> / CC0-1.0 公共領域
適用對象：所有用 git 的工程師（不分語言）</p>]]></description></item><item><title>huggingface/transformers — 完整教學（架構、應用、資安）</title><link>https://tpow-001.netlify.app/post/2026-05-22-transformers-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-transformers-tutorial/</guid><description><![CDATA[<h1 id="huggingfacetransformers--完整教學" data-numberify>huggingface/transformers — 完整教學<a class="anchor ms-1" href="#huggingfacetransformers--完整教學"></a></h1>
<blockquote>
<p>本文針對的版本：v5.9.0（2026-05-20），主分支 <code>main</code>；以高層架構與實務應用為主，不深入模型實作細節。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p>Hugging Face Transformers 是當前 <strong>AI 生態系最重要的 model-definition framework (模型定義框架)</strong>，定位上扮演三個角色：</p>]]></description></item><item><title>Maigret 完整教學（繁中台灣用語）</title><link>https://tpow-001.netlify.app/post/2026-05-22-maigret-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-maigret-tutorial/</guid><description><![CDATA[<h1 id="maigret-完整教學繁中台灣用語" data-numberify>Maigret 完整教學（繁中台灣用語）<a class="anchor ms-1" href="#maigret-完整教學繁中台灣用語"></a></h1>
<blockquote>
<p>⚠️ <strong>必讀首節</strong>：本工具為 OSINT (Open-Source Intelligence; 開源情資) recon (reconnaissance; 偵察) 用途，屬於 dual-use security tool (雙用安全工具)。教學內容<strong>僅供 defensive security (防禦性資安)、授權滲透測試、自我足跡盤點與資安教育</strong>。任何用於 stalking (跟騷)、騷擾、人肉搜索、未授權競業情報、未成年人身分聚合的行為，皆<strong>違反工具使用條款與當地法律</strong>（GDPR、台灣個資法、美國 CFAA 等）。讀者使用本教學進行任何測試前，<strong>必須</strong>先取得書面授權或限定範圍為自己 / 公開虛構帳號。</p>]]></description></item><item><title>mem0ai/mem0 詳細教學 — Universal Memory Layer for AI Agents</title><link>https://tpow-001.netlify.app/post/2026-05-22-mem0-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-mem0-tutorial/</guid><description><![CDATA[<h1 id="mem0aimem0-詳細教學" data-numberify>mem0ai/mem0 詳細教學<a class="anchor ms-1" href="#mem0aimem0-詳細教學"></a></h1>
<blockquote>
<p>把 mem0 從「給 AI 加記憶」這句口號，拆成可實作、可評估、可資安審查的工程文件。</p></blockquote>
<hr>

<h2 id="1-專案定位project-positioning" data-numberify>1. 專案定位（Project Positioning）<a class="anchor ms-1" href="#1-專案定位project-positioning"></a></h2>

<h3 id="11-解決什麼問題" data-numberify>1.1 解決什麼問題<a class="anchor ms-1" href="#11-解決什麼問題"></a></h3>
<p>大型語言模型 (LLM; Large Language Model) 在單次 context window 內非常聰明，但<strong>跨 session 之間沒有狀態</strong>。每次對話結束，使用者所有偏好、之前的決定、實體關係都會消失。傳統解法有兩種：</p>]]></description></item><item><title>NVLabs/Sana 詳細教學</title><link>https://tpow-001.netlify.app/post/2026-05-22-sana-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-sana-tutorial/</guid><description><![CDATA[<h1 id="nvlabssana-詳細教學" data-numberify>NVLabs/Sana 詳細教學<a class="anchor ms-1" href="#nvlabssana-詳細教學"></a></h1>
<blockquote>
<p>對 <code>NVlabs/Sana</code> 從「定位」到「跑起來」到「整合進其他工作流」的完整 onboarding。
補充 <code>inbox/2026-05-22-github-NVlabs-Sana.md</code>（gh-save metadata），請搭配閱讀。</p>]]></description></item><item><title>open-slide 詳細教學 — Agent-native React 簡報框架完整解析</title><link>https://tpow-001.netlify.app/post/2026-05-22-open-slide-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-open-slide-tutorial/</guid><description><![CDATA[<h1 id="open-slide-詳細教學" data-numberify>open-slide 詳細教學<a class="anchor ms-1" href="#open-slide-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/1weiho/open-slide" target="_blank" rel="noopener noreferrer">https://github.com/1weiho/open-slide<i class="fas fa-external-link-square-alt ms-1"></i></a>（3.5k stars / 248 forks / @open-slide/core@1.6.0，截至 2026-05-22）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>1weiho (Yiwei Ho) 開源的 <strong>agent-native React 簡報框架</strong>。核心理念：<strong>「slides are visual code, agents are great at writing code; the missing runtime turns &lsquo;make slides about X&rsquo; into a polished deck」</strong>。一行 <code>npx @open-slide/cli init</code> scaffold workspace，餘下交給 agent + 內建 5 個 skill。</p>]]></description></item><item><title>PozzettiAndrea/ComfyUI-LiTo 詳細教學 — 把 Apple LiTo 變成 ComfyUI 一鍵 image-to-3D</title><link>https://tpow-001.netlify.app/post/2026-05-22-comfyui-lito-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-comfyui-lito-tutorial/</guid><description><![CDATA[<h1 id="comfyui-lito-詳細教學" data-numberify>ComfyUI-LiTo 詳細教學<a class="anchor ms-1" href="#comfyui-lito-詳細教學"></a></h1>
<blockquote>
<p>一張圖 → 524K 個 3D Gaussian Splats，4.7 秒（H100）。把 Apple ICLR 2026 的研究模型包成 ComfyUI 可拖拉的 5 個 node。</p></blockquote>
<hr>

<h2 id="1-專案定位project-positioning" data-numberify>1. 專案定位（Project Positioning）<a class="anchor ms-1" href="#1-專案定位project-positioning"></a></h2>

<h3 id="11-解決什麼問題" data-numberify>1.1 解決什麼問題<a class="anchor ms-1" href="#11-解決什麼問題"></a></h3>
<p>傳統 image-to-3D 流程多步驟、容易斷鏈：</p>]]></description></item><item><title>Stable Diffusion WebUI (A1111) 詳細教學</title><link>https://tpow-001.netlify.app/post/2026-05-22-sd-webui-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-sd-webui-tutorial/</guid><description><![CDATA[<h1 id="stable-diffusion-webui-a1111-詳細教學" data-numberify>Stable Diffusion WebUI (A1111) 詳細教學<a class="anchor ms-1" href="#stable-diffusion-webui-a1111-詳細教學"></a></h1>

<h2 id="1-專案定位與適用情境" data-numberify>§1. 專案定位與適用情境<a class="anchor ms-1" href="#1-專案定位與適用情境"></a></h2>
<p><code>stable-diffusion-webui</code> (常稱 A1111 / WebUI) 是 stable diffusion (SD; 穩定擴散) 模型的本地圖形化操作介面，以 gradio (Gradio; 一個快速 web UI 框架) 為前端、PyTorch 為後端推論引擎。</p>]]></description></item><item><title>tech-interview-handbook 詳細教學（11 章節 繁中）</title><link>https://tpow-001.netlify.app/post/2026-05-22-tech-interview-handbook-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-tech-interview-handbook-tutorial/</guid><description><![CDATA[<h1 id="tech-interview-handbook-詳細教學" data-numberify>tech-interview-handbook 詳細教學<a class="anchor ms-1" href="#tech-interview-handbook-詳細教學"></a></h1>
<blockquote>
<p>「不是 library，是一本書」——本教學文件帶你把這個 139k stars 的內容型 repo，當成一份可規劃、可追蹤、可整合的「個人面試準備工作系統」。</p>]]></description></item><item><title>Untitled</title><link>https://tpow-001.netlify.app/post/2026-05-22-awesome-selfhosted-tutorial/</link><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-22-awesome-selfhosted-tutorial/</guid><description><![CDATA[<h1 id="awesome-selfhosted-深度教學用清單規劃你的私有雲" data-numberify>awesome-selfhosted 深度教學：用清單規劃你的私有雲<a class="anchor ms-1" href="#awesome-selfhosted-深度教學用清單規劃你的私有雲"></a></h1>

<h2 id="1-定位與本質" data-numberify>§1 定位與本質<a class="anchor ms-1" href="#1-定位與本質"></a></h2>
<p><code>awesome-selfhosted</code> <strong>不是一個軟體工具</strong>，而是一份「策展型清單」（curated list）。它列出約 <strong>1,500+ 個 Free Software (FOSS)</strong> 網路服務與 Web 應用，全部都能在你自己的伺服器上跑，不需要交資料給雲端 SaaS。</p>]]></description></item><item><title>agency-agents 詳細教學 — 190+ personality agent 跨 11 個 AI 工具一鍵部署</title><link>https://tpow-001.netlify.app/post/2026-05-21-agency-agents-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-agency-agents-tutorial/</guid><description><![CDATA[<h1 id="agency-agents-詳細教學" data-numberify>agency-agents 詳細教學<a class="anchor ms-1" href="#agency-agents-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/msitarzewski/agency-agents" target="_blank" rel="noopener noreferrer">https://github.com/msitarzewski/agency-agents<i class="fas fa-external-link-square-alt ms-1"></i></a>（103k stars / 17k forks / MIT，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>Matt Sitarzewski 開源的 <strong>「一個 repo = 一整家 AI 顧問公司」</strong>。190+ 個 agent persona（不是空白 prompt template！）按 17 個 division 分類：工程、設計、行銷、銷售、產品、財務、學術、法務、醫療、遊戲、VR &hellip; 一份 root <code>.md</code> → <code>convert.sh</code> 轉成 <strong>11 個 AI 工具</strong>的專屬格式（Claude Code、GitHub Copilot、Antigravity、Gemini CLI、OpenCode、OpenClaw、Cursor、Aider、Windsurf、Kimi、Qwen）→ <code>install.sh</code> 一鍵裝。</p>]]></description></item><item><title>agentmemory 詳細教學 — 跨 Agent 持久記憶層 + 4-tier 整合 + BM25/Vector/Graph 混合檢索</title><link>https://tpow-001.netlify.app/post/2026-05-21-agentmemory-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-agentmemory-tutorial/</guid><description><![CDATA[<h1 id="agentmemory-詳細教學" data-numberify>agentmemory 詳細教學<a class="anchor ms-1" href="#agentmemory-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/rohitg00/agentmemory" target="_blank" rel="noopener noreferrer">https://github.com/rohitg00/agentmemory<i class="fas fa-external-link-square-alt ms-1"></i></a>（15.6k stars / 1.3k forks / v0.9.21，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>agentmemory 是 <strong>跨 AI 編碼 agent 的持久記憶基礎設施</strong>。把所有 agent 對話 / 工具呼叫 / 失敗 / commit 自動 capture 到本地 server（port :3111），用 <strong>BM25 + Vector embedding + Knowledge Graph</strong> 三路混合檢索，並用 <strong>4-tier 整合（working → episodic → semantic → procedural）+ Ebbinghaus 衰減</strong> 模仿人類記憶曲線。同一份記憶在 9+ 個 agent 之間共用。</p>]]></description></item><item><title>claude-plugins-official 詳細教學 — 官方 plugin marketplace 全解析</title><link>https://tpow-001.netlify.app/post/2026-05-21-claude-plugins-official-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-claude-plugins-official-tutorial/</guid><description><![CDATA[<h1 id="claude-plugins-official-詳細教學" data-numberify>claude-plugins-official 詳細教學<a class="anchor ms-1" href="#claude-plugins-official-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/anthropics/claude-plugins-official" target="_blank" rel="noopener noreferrer">https://github.com/anthropics/claude-plugins-official<i class="fas fa-external-link-square-alt ms-1"></i></a>（21.6k stars / 2.6k forks / 203 plugins，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>Anthropic 官方維運的 <strong>Claude Code plugin (CC; 插件) 中央目錄</strong>。203 個 plugin 全部由一份 <code>marketplace.json</code> 管理，配上 7 個 CI workflow（其中最關鍵的是「Claude 自動跑資安審查」），實現「PR 進來 → AI 審查通過 → 才能合併」的端到端 plugin 治理 pipeline。</p>]]></description></item><item><title>ConardLi garden-skills 詳細教學 — 跨 Agent SKILL.md 標準範本 + 4 個 production-ready skill</title><link>https://tpow-001.netlify.app/post/2026-05-21-garden-skills-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-garden-skills-tutorial/</guid><description><![CDATA[<h1 id="garden-skills-詳細教學" data-numberify>garden-skills 詳細教學<a class="anchor ms-1" href="#garden-skills-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/ConardLi/garden-skills" target="_blank" rel="noopener noreferrer">https://github.com/ConardLi/garden-skills<i class="fas fa-external-link-square-alt ms-1"></i></a>（5.5k stars / 803 forks / 4 skills / MIT，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>ConardLi 個人開源的 <strong>跨 AI Agent skill 集合</strong>。4 個 skill 全部按 <code>SKILL.md</code> 標準寫成（agentskills.io 規格），同一份 skill 可以在 Claude Code / Cursor / Codex / Gemini CLI / OpenCode 上跑。每個 skill 都是 self-contained 子套件：獨立 <code>manifest.json</code> + 獨立版本號 + 獨立 release zip。</p>]]></description></item><item><title>dari-docs 詳細教學 — Agent fleet 測你的文件，找 ambiguity 並產 docs edit 建議</title><link>https://tpow-001.netlify.app/post/2026-05-21-dari-docs-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-dari-docs-tutorial/</guid><description><![CDATA[<h1 id="dari-docs-詳細教學" data-numberify>dari-docs 詳細教學<a class="anchor ms-1" href="#dari-docs-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/mupt-ai/dari-docs" target="_blank" rel="noopener noreferrer">https://github.com/mupt-ai/dari-docs<i class="fas fa-external-link-square-alt ms-1"></i></a>（34 stars / 0 forks / v0.1.5，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>mupt-ai 公司開源的 <strong>「測你的文件能不能被 agent 跑通」工具</strong>。把 docs 包 tarball 上傳給 dari.dev hosted agents（或自家 dari.dev org 的 agents），讓 simulated developer agent 試著按文件完成 task，最後產出兩種結果：</p>]]></description></item><item><title>Ruflo 詳細教學 — 53k★ Claude Code 多代理協調平台</title><link>https://tpow-001.netlify.app/post/2026-05-21-ruflo-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-ruflo-tutorial/</guid><description><![CDATA[<h1 id="ruflo-詳細教學" data-numberify>Ruflo 詳細教學<a class="anchor ms-1" href="#ruflo-詳細教學"></a></h1>
<blockquote>
<p><strong>本教學對應 repo commit <code>6d50dd8</code>（2026-05-20，v3.7.0-alpha.72），最後驗證日 2026-05-21。</strong>
涵蓋專案定位、安裝（雙路設計）、核心架構、CLI 詳細用法、應用場景、資安、FAQ、進階技巧、整合 9 個章節，<strong>重點放在「33 個 plugin 工程模式 + lite/full 雙路安裝設計」</strong>。</p>]]></description></item><item><title>text-to-cad / CAD Skills 詳細教學 — 自然語言 → build123d → STEP / URDF / SDF 的 agent skill 集</title><link>https://tpow-001.netlify.app/post/2026-05-21-text-to-cad-tutorial/</link><pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-21-text-to-cad-tutorial/</guid><description><![CDATA[<h1 id="text-to-cad-詳細教學" data-numberify>text-to-cad 詳細教學<a class="anchor ms-1" href="#text-to-cad-詳細教學"></a></h1>
<blockquote>
<p>對應 repo: <a href="https://github.com/earthtojake/text-to-cad" target="_blank" rel="noopener noreferrer">https://github.com/earthtojake/text-to-cad<i class="fas fa-external-link-square-alt ms-1"></i></a>（3.7k stars / 428 forks / MIT，截至 2026-05-21）</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-它是什麼" data-numberify>1.1 它是什麼<a class="anchor ms-1" href="#11-它是什麼"></a></h3>
<p>earthtojake (Jake Brukhman) 開源的 <strong>7 個跨 agent CAD skill 集合</strong>，把 coding agent（Claude Code / Codex / Cursor）變成 CAD 工程師：</p>]]></description></item><item><title>Anthropic Financial Services 詳細教學 — Cowork / Claude Code plugins + Managed Agents</title><link>https://tpow-001.netlify.app/post/2026-05-20-financial-services-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-financial-services-tutorial/</guid><description><![CDATA[<h1 id="anthropic-financial-services-詳細教學" data-numberify>Anthropic Financial Services 詳細教學<a class="anchor ms-1" href="#anthropic-financial-services-詳細教學"></a></h1>
<blockquote>
<p><strong>本教學對應 repo commit <code>3edda1c</code> (2026-05-19)，最後驗證日 2026-05-20。</strong>
涵蓋專案定位、安裝、核心架構（&ldquo;one source, two wrappers&rdquo;）、scripts CLI、應用場景、資安、FAQ、進階技巧、整合 9 個章節，<strong>重點放在「可移植到其他領域的 plugin 工程模式」</strong>。</p>]]></description></item><item><title>daily_stock_analysis 詳細教學 — LLM 股票分析全棧系統</title><link>https://tpow-001.netlify.app/post/2026-05-20-daily_stock_analysis-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-daily_stock_analysis-tutorial/</guid><description><![CDATA[<h1 id="daily_stock_analysis-dsa-詳細教學" data-numberify>daily_stock_analysis (DSA) 詳細教學<a class="anchor ms-1" href="#daily_stock_analysis-dsa-詳細教學"></a></h1>
<blockquote>
<p><strong>本教學對應 repo commit <code>8be6546</code> (2026-05-20, v3.17.1 之後)，最後驗證日 2026-05-20。</strong>
涵蓋專案定位、安裝（4 種方案）、核心架構、CLI 詳細用法、應用場景、資安、FAQ、進階技巧、整合 9 個章節，<strong>重點是「多供應商抽象 + GitHub Actions 排程 + 多通道通知」三個可移植 pattern</strong>。</p>]]></description></item><item><title>GenCAD 詳細教學 — 影像條件 CAD 生成（TMLR 2025）</title><link>https://tpow-001.netlify.app/post/2026-05-20-gencad-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-gencad-tutorial/</guid><description><![CDATA[<h1 id="gencad-詳細教學" data-numberify>GenCAD 詳細教學<a class="anchor ms-1" href="#gencad-詳細教學"></a></h1>
<blockquote>
<p><strong>本教學對應 repo commit <code>f5484cf</code> (2025-07-14)，最後驗證日 2026-05-20。</strong>
涵蓋專案定位、安裝、核心架構、CLI 詳細用法、應用情境、資安掃描、FAQ、進階技巧、整合建議共 11 個章節。</p>]]></description></item><item><title>paper-qa 詳細教學 — Agentic RAG for Scientific Literature</title><link>https://tpow-001.netlify.app/post/2026-05-20-paper-qa-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-paper-qa-tutorial/</guid><description><![CDATA[<h1 id="paper-qa-詳細教學--agentic-rag-for-scientific-literature" data-numberify>paper-qa 詳細教學 — Agentic RAG for Scientific Literature<a class="anchor ms-1" href="#paper-qa-詳細教學--agentic-rag-for-scientific-literature"></a></h1>
<blockquote>
<p>⚠️ <strong>資安警示（讀者必看）</strong>：本專案最新 OPEN issue <strong>#1325</strong> 揭露「pickle 反序列化遠端程式碼執行」風險。<strong>永遠不要載入第三方分享、來路不明、或從網路下載的 pre-built <code>pqa</code> index</strong>；index 是含 zlib-compressed pickle 的目錄，攻擊者可放毒。詳見 §6。</p>]]></description></item><item><title>paper-qa 詳細教學 — Agentic RAG for Scientific Literature</title><link>https://tpow-001.netlify.app/post/2026-05-20-paper-qa/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-paper-qa/</guid><description><![CDATA[<h1 id="paper-qa-詳細教學--agentic-rag-for-scientific-literature" data-numberify>paper-qa 詳細教學 — Agentic RAG for Scientific Literature<a class="anchor ms-1" href="#paper-qa-詳細教學--agentic-rag-for-scientific-literature"></a></h1>
<blockquote>
<p>⚠️ <strong>資安警示（讀者必看）</strong>：本專案最新 OPEN issue <strong>#1325</strong> 揭露「pickle 反序列化遠端程式碼執行」風險。<strong>永遠不要載入第三方分享、來路不明、或從網路下載的 pre-built <code>pqa</code> index</strong>；index 是含 zlib-compressed pickle 的目錄，攻擊者可放毒。詳見 §6。</p>]]></description></item><item><title>RTK (Rust Token Killer) 完整教學 — Claude Code / Copilot / Cursor 的 token 殺手</title><link>https://tpow-001.netlify.app/post/2026-05-20-rtk-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-rtk-tutorial/</guid><description><![CDATA[<h1 id="rtk-rust-token-killer-完整教學" data-numberify>RTK (Rust Token Killer) 完整教學<a class="anchor ms-1" href="#rtk-rust-token-killer-完整教學"></a></h1>
<blockquote>
<p>一句話：在 LLM agent 跑 shell 命令前先過濾、分群、去重、截斷輸出，把 token 消耗砍 60–90%。</p></blockquote>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>
<p><strong>RTK (Rust Token Killer; Rust token 殺手)</strong> 是 Rust 寫的 CLI proxy，定位是「AI agent 與 shell 之間的壓縮層」。和其他類似工具比較：</p>]]></description></item><item><title>SwiftClip 詳細教學 — Remotion 影片模板 + Claude/Codex Plugin</title><link>https://tpow-001.netlify.app/post/2026-05-20-swiftclip-tutorial/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-20-swiftclip-tutorial/</guid><description><![CDATA[<h1 id="swiftclip-詳細教學" data-numberify>SwiftClip 詳細教學<a class="anchor ms-1" href="#swiftclip-詳細教學"></a></h1>
<blockquote>
<p><strong>本教學對應 repo commit <code>1ab3903</code> (2026-05-11)，最後驗證日 2026-05-20。</strong>
涵蓋專案定位、安裝、核心架構、CLI 詳細用法、應用情境、資安、FAQ、進階技巧、整合建議共 11 章。</p>]]></description></item><item><title>CLIProxyAPI 完整教學 — 把 CLI 訂閱配額變成 OpenAI 相容 API（含 koc 灰色市場深度討論）</title><link>https://tpow-001.netlify.app/post/2026-05-19-cliproxyapi-tutorial/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-19-cliproxyapi-tutorial/</guid><description><![CDATA[<h1 id="cliproxyapi-完整教學" data-numberify>CLIProxyAPI 完整教學<a class="anchor ms-1" href="#cliproxyapi-完整教學"></a></h1>
<blockquote>
<p>一個 Go proxy，把你買的 Claude Pro / ChatGPT Plus / Gemini Pro CLI 訂閱<strong>重新打包成 OpenAI 相容 API</strong>。
同時也是 <strong>「中國地下 API 中轉站經濟」</strong>（koc.com.tw 2026-05-18 報導）的關鍵元件 — 這份教學會把技術與爭議<strong>同時</strong>講清楚。</p>]]></description></item><item><title>RFdiffusion 完整教學 — 從零開始用擴散模型設計蛋白質</title><link>https://tpow-001.netlify.app/post/2026-05-19-rfdiffusion-tutorial/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-19-rfdiffusion-tutorial/</guid><description><![CDATA[<h1 id="rfdiffusion-完整教學" data-numberify>RFdiffusion 完整教學<a class="anchor ms-1" href="#rfdiffusion-完整教學"></a></h1>
<blockquote>
<p>把 protein design (蛋白質設計; PD) 從「修改既有結構」推進到「從噪音開始 generate 全新功能蛋白質」。
這份教學涵蓋：原理、安裝、6 種主要 design task、實際 contig 寫法、資安考量、與 ProteinMPNN + AlphaFold pipeline 整合。</p>]]></description></item><item><title>academic-research-skills (ARS) 完整教學 — Claude Code 學術全流程 plugin</title><link>https://tpow-001.netlify.app/post/2026-05-18-academic-research-skills-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-academic-research-skills-tutorial/</guid><description><![CDATA[<h1 id="academic-research-skills-ars-完整教學" data-numberify>Academic Research Skills (ARS) 完整教學<a class="anchor ms-1" href="#academic-research-skills-ars-完整教學"></a></h1>
<blockquote>
<p>一個 plugin，把學術研究從「找文獻」到「投稿、修審回覆」全部包進 Claude Code。
設計哲學：<strong>AI 是副駕，不是駕駛</strong>。LLM 結構性缺陷（frame-lock / sycophancy / intent misdetection）由 mandatory integrity gate 強制管控。</p>]]></description></item><item><title>agent-skills 完整教學 — 安全可信的 AI Agent Skill 註冊中心</title><link>https://tpow-001.netlify.app/post/2026-05-18-agent-skills-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-agent-skills-tutorial/</guid><description><![CDATA[<h1 id="agent-skills-完整教學" data-numberify>agent-skills 完整教學<a class="anchor ms-1" href="#agent-skills-完整教學"></a></h1>
<blockquote>
<p>一份不浪費你時間的 quick reference + 深度解析。
適合：想知道「能不能用」、「怎麼用」、「會不會中招」三件事的工程師。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話介紹" data-numberify>1.1 一句話介紹<a class="anchor ms-1" href="#11-一句話介紹"></a></h3>
<p><code>agent-skills</code> 是一個 <strong>可信任的 AI agent skill (技能) 註冊中心</strong> — 你可以把它想成 <strong>AI coding agent 版的 npm registry</strong>，但每個 skill 都經過資安掃描、人工審核與內容雜湊鎖定 (content hashing lockfile)。</p>]]></description></item><item><title>Articraft 完整教學 — Agentic 系統做 articulated 3D asset 生成</title><link>https://tpow-001.netlify.app/post/2026-05-18-articraft-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-articraft-tutorial/</guid><description><![CDATA[<h1 id="articraft-完整教學--agentic-系統做-articulated-3d-asset-生成" data-numberify>Articraft 完整教學 — Agentic 系統做 articulated 3D asset 生成<a class="anchor ms-1" href="#articraft-完整教學--agentic-系統做-articulated-3d-asset-生成"></a></h1>
<blockquote>
<p>⚠️ <strong>重要資安提醒</strong>：Articraft 會把 LLM 生成的 <code>model.py</code> 當 Python 程式碼直接執行（local compile + probe + viewer materialization）。<strong>絕對不要直接跑來源不明的 record / 對抗性 prompt 生成的 record</strong>。建議用 disposable VM / Docker container / 雲端隔離環境。詳見第 6 節。</p>]]></description></item><item><title>awesome-design-md 完整教學 — 用 DESIGN.md 讓 AI agent 生出對的 UI</title><link>https://tpow-001.netlify.app/post/2026-05-18-awesome-design-md-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-awesome-design-md-tutorial/</guid><description><![CDATA[<h1 id="awesome-design-md-完整教學--用-designmd-讓-ai-agent-生出對的-ui" data-numberify>awesome-design-md 完整教學 — 用 DESIGN.md 讓 AI agent 生出對的 UI<a class="anchor ms-1" href="#awesome-design-md-完整教學--用-designmd-讓-ai-agent-生出對的-ui"></a></h1>
<blockquote>
<p>📁 對應 metadata 報告：<code>2026-05-18-github-VoltAgent-awesome-design-md.md</code>
🌐 對應 HTML：<code>projects/awesome-design-md/quarkdown-out/02-tutorial/index.html</code></p>]]></description></item><item><title>broadinstitute/depmap_omics 完整教學指南</title><link>https://tpow-001.netlify.app/post/2026-05-18-depmap_omics-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-depmap_omics-tutorial/</guid><description><![CDATA[<h1 id="broadinstitutedepmap_omics-完整教學指南" data-numberify>broadinstitute/depmap_omics 完整教學指南<a class="anchor ms-1" href="#broadinstitutedepmap_omics-完整教學指南"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：depmap_omics 是 Broad Institute 維護的官方 <strong>DepMap 季度資料生產 pipeline</strong>。每季把 CCLE 細胞株的 WGS/WES/RNAseq raw data，透過 Terra cloud workflows 處理成 DepMap portal 對外發佈的標準矩陣（CN、Mutation、Expression、Fusion、Dependency）。</p>]]></description></item><item><title>cell2sentence (C2S / C2S-Scale) 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-18-cell2sentence-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-cell2sentence-tutorial/</guid><description><![CDATA[<h1 id="cell2sentence-c2s--c2s-scale--完整教學" data-numberify>cell2sentence (C2S / C2S-Scale) — 完整教學<a class="anchor ms-1" href="#cell2sentence-c2s--c2s-scale--完整教學"></a></h1>
<blockquote>
<p>把單細胞 RNA-seq 表達矩陣轉成 LLM 看得懂的「cell sentence (細胞句子)」，用大型語言模型做 cell type prediction (細胞類型預測)、cell generation (細胞生成)、perturbation response prediction (擾動反應預測) 等任務。</p>]]></description></item><item><title>celltype-agent 完整教學指南</title><link>https://tpow-001.netlify.app/post/2026-05-18-celltype-agent-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-celltype-agent-tutorial/</guid><description><![CDATA[<h1 id="celltype-agent-完整教學指南" data-numberify>celltype-agent 完整教學指南<a class="anchor ms-1" href="#celltype-agent-完整教學指南"></a></h1>
<blockquote>
<p><strong>一句話定位</strong>：celltype-agent（CLI：<code>ct</code>）是藥物探索版的 AI coding agent——輸入自然語言問題，AI 自動規劃並呼叫 190+ 計算生物學工具，輸出完整研究報告。</p>]]></description></item><item><title>fireworks-tech-graph 詳細安裝與使用教學（含資安掃描報告）</title><link>https://tpow-001.netlify.app/post/2026-05-18-fireworks-tech-graph-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-fireworks-tech-graph-tutorial/</guid><description><![CDATA[<h1 id="fireworks-tech-graph-詳細安裝與使用教學" data-numberify>fireworks-tech-graph 詳細安裝與使用教學<a class="anchor ms-1" href="#fireworks-tech-graph-詳細安裝與使用教學"></a></h1>
<blockquote>
<p>本文件 deep-dive 整理 <code>yizhiyanhua-ai/fireworks-tech-graph</code> 的安裝、設定、API 使用、應用情境，並附上對所有 <code>scripts/</code> 與 <code>SKILL.md</code> 的資安審查結果。閱讀對象：想把這個 skill 納入個人 / 團隊 Claude Code 工作流的開發者。</p>]]></description></item><item><title>img-hosting 完整教學 — Cloudflare 全家桶私人圖床（含 Claude Code skill）</title><link>https://tpow-001.netlify.app/post/2026-05-18-img-hosting-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-img-hosting-tutorial/</guid><description><![CDATA[<h1 id="img-hosting-完整教學" data-numberify>img-hosting 完整教學<a class="anchor ms-1" href="#img-hosting-完整教學"></a></h1>
<blockquote>
<p>用一個 Worker、一顆 API_KEY、Cloudflare R2 + D1 + Access 做一個只有自己能寫、任何人能讀的 Imgur-shaped 圖床。
多送你：bash CLI 跟 Claude Code skill 各一份。</p>]]></description></item><item><title>last30days-skill 完整教學 — 跨 13+ 平台社群研究 AI agent skill</title><link>https://tpow-001.netlify.app/post/2026-05-18-last30days-skill-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-last30days-skill-tutorial/</guid><description><![CDATA[<blockquote>
<p>⚠️ <strong>使用前先理解信任邊界</strong>：本 skill 的價值就在於「打通 walled garden」。為了打通，它會 (a) 讀取你瀏覽器的 X / Twitter cookie、(b) 接受多個第三方 API key (ScrapeCreators / OpenRouter / Brave / 等)、(c) 透過內嵌 JS 客戶端對 X 做未授權的 API 呼叫（X TOS 灰色地帶）。本教學第 6 章會詳細說明每個信任面。</p>]]></description></item><item><title>mattpocock/skills 完整教學</title><link>https://tpow-001.netlify.app/post/2026-05-18-mattpocock-skills-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-mattpocock-skills-tutorial/</guid><description><![CDATA[<h1 id="mattpocockskills-完整教學" data-numberify>mattpocock/skills 完整教學<a class="anchor ms-1" href="#mattpocockskills-完整教學"></a></h1>
<blockquote>
<p>89,000+ 星的 AI 工程技能套件，把軟體工程實務轉化成可重複執行的 slash commands。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="這個套件是什麼" data-numberify>這個套件是什麼？<a class="anchor ms-1" href="#這個套件是什麼"></a></h3>
<p><code>mattpocock/skills</code> 是 Matt Pocock（Total TypeScript 作者）開源的 Claude Code skill 集合。與 GSD、BMAD、Spec-Kit 等「接管整個流程」的方案不同，這套 skills 刻意保持：</p>]]></description></item><item><title>nuclei 完整教學 — YAML-based 漏洞掃描器從零到上線</title><link>https://tpow-001.netlify.app/post/2026-05-18-nuclei-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-nuclei-tutorial/</guid><description><![CDATA[<blockquote>
<p>⚠️ <strong>使用授權警示</strong>：nuclei 是<strong>主動式漏洞掃描器</strong>，會對目標發送可能觸發漏洞的請求。<strong>未經書面授權對他人系統執行掃描，在許多司法管轄區屬於違法行為</strong>（台灣：刑法 §358 / §359；美國：CFAA；歐盟：CDA / NIS2）。本教學僅用於：(a) 你擁有的系統，(b) 你以書面合約被授權測試的系統，(c) 公開 Bug Bounty Program 範圍內的標的。</p>]]></description></item><item><title>NVIDIA VSS Blueprint 完整教學 — Video Search and Summarization (v3.1.0)</title><link>https://tpow-001.netlify.app/post/2026-05-18-video-search-and-summarization-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-video-search-and-summarization-tutorial/</guid><description><![CDATA[<h1 id="nvidia-vss-blueprint-完整教學--video-search-and-summarization-v310" data-numberify>NVIDIA VSS Blueprint 完整教學 — Video Search and Summarization (v3.1.0)<a class="anchor ms-1" href="#nvidia-vss-blueprint-完整教學--video-search-and-summarization-v310"></a></h1>
<blockquote>
<p>本教學以 <strong>2026-05-15 main 分支快照</strong> 為基礎，搭配 v3.1.0 release 對照撰寫。
對應的 metadata 報告：<code>2026-05-17-github-NVIDIA-AI-Blueprints-video-search-and-summarization.md</code>
對應的 quarkdown HTML：<code>projects/video-search-and-summarization/quarkdown-out/02-tutorial/index.html</code></p>]]></description></item><item><title>OpenHuman 詳細安裝與使用教學（含資安掃描報告）</title><link>https://tpow-001.netlify.app/post/2026-05-18-openhuman-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-openhuman-tutorial/</guid><description><![CDATA[<h1 id="openhuman-詳細安裝與使用教學" data-numberify>OpenHuman 詳細安裝與使用教學<a class="anchor ms-1" href="#openhuman-詳細安裝與使用教學"></a></h1>
<blockquote>
<p>本文件 deep-dive 整理 <code>tinyhumansai/openhuman</code> 的安裝、設定、核心架構、應用情境，並附上對 <code>scripts/</code> 與 install pipeline 的資安審查結果。閱讀對象：想把 OpenHuman 納入個人 / 團隊日常工作流的開發者與 power user。</p>]]></description></item><item><title>PyRAG 完整教學 — 把多跳 RAG 當 Python 程式來執行</title><link>https://tpow-001.netlify.app/post/2026-05-18-pyrag-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-pyrag-tutorial/</guid><description><![CDATA[<blockquote>
<p>⚠️ <strong>重要警示</strong>：PyRAG 的核心機制是用 <code>exec()</code> 執行 LLM 產生的 Python code。<strong>研究 / lab 環境完全可用，但任何 non-research 部署必須先沙箱化</strong> — README 作者已主動聲明，本教學會在 §6 詳細說明風險與緩解。</p>]]></description></item><item><title>supervision 完整教學 — Roboflow 開源 Computer Vision 工具集從零到上線</title><link>https://tpow-001.netlify.app/post/2026-05-18-supervision-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-supervision-tutorial/</guid><description><![CDATA[<h1 id="supervision-完整教學" data-numberify>supervision 完整教學<a class="anchor ms-1" href="#supervision-完整教學"></a></h1>
<blockquote>
<p>30 分鐘從安裝到能寫出「車流計數 / 區域進出告警 / 速度估計」這類 production 級 CV pipeline。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話總結" data-numberify>1.1 一句話總結<a class="anchor ms-1" href="#11-一句話總結"></a></h3>
<p><strong><code>supervision</code></strong> 是 <a href="https://roboflow.com" target="_blank" rel="noopener noreferrer">Roboflow<i class="fas fa-external-link-square-alt ms-1"></i></a> 開源的 <strong>model-agnostic</strong> computer vision toolkit。把任何 detection / segmentation / classification model 的輸出 <strong>標準化</strong> 成統一資料結構（<code>sv.Detections</code> / <code>sv.KeyPoints</code> / <code>sv.Classifications</code>），然後用一套乾淨 API 做視覺化、ROI 計數、速度估算、tracking、dataset 轉換、metric 計算。</p>]]></description></item><item><title>taiwan-legal-plugin 完整教學 — Claude Code 內查台灣裁判書與法規</title><link>https://tpow-001.netlify.app/post/2026-05-18-taiwan-legal-plugin-tutorial/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/2026-05-18-taiwan-legal-plugin-tutorial/</guid><description><![CDATA[<h1 id="taiwan-legal-plugin-完整教學" data-numberify>taiwan-legal-plugin 完整教學<a class="anchor ms-1" href="#taiwan-legal-plugin-完整教學"></a></h1>
<blockquote>
<p>把 Claude Code 變成「會查台灣裁判書與法規」的法律助理 — 安裝、使用、設計理念、資安審查全套說明。</p></blockquote>
<hr>

<h2 id="1-專案定位" data-numberify>1. 專案定位<a class="anchor ms-1" href="#1-專案定位"></a></h2>

<h3 id="11-一句話總結" data-numberify>1.1 一句話總結<a class="anchor ms-1" href="#11-一句話總結"></a></h3>
<p><code>taiwan-legal-plugin</code> 是一個 <a href="https://claude.com/claude-code" target="_blank" rel="noopener noreferrer">Claude Code<i class="fas fa-external-link-square-alt ms-1"></i></a> plugin marketplace，讓 Claude 直接在 IDE / chat 中查詢三個台灣公開法律資料來源：<strong>裁判書</strong>、<strong>法規</strong>、（v0.2 預計）<strong>憲法法庭釋字</strong>。</p>]]></description></item><item><title>ClusterProfiler 分析教學：從差異基因表現到功能富集分析</title><link>https://tpow-001.netlify.app/post/20250625-msc-2d3d_deg_top500_ora_tutorial-v2/</link><pubDate>Mon, 30 Jun 2025 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/20250625-msc-2d3d_deg_top500_ora_tutorial-v2/</guid><description><![CDATA[<h1 id="前言" data-numberify>前言<a class="anchor ms-1" href="#前言"></a></h1>
<p>這份文件是一個完整的生物資訊分析流程教學，主要目標是利用 <code>Seurat</code> 套件進行差異基因表現 (Differentially Expressed Genes, DEGs) 分析，並接著使用 <code>clusterProfiler</code> 套件對找出的差異基因進行基因功能富集分析 (Gene Ontology, GO)。</p>]]></description></item><item><title>給阿公阿嬤的寶寶手冊：我們家小寶貝的一天 (八個月)</title><link>https://tpow-001.netlify.app/post/20250628-baby_routine_blog/</link><pubDate>Sat, 28 Jun 2025 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/20250628-baby_routine_blog/</guid><description><![CDATA[<h1 id="前言" data-numberify>前言<a class="anchor ms-1" href="#前言"></a></h1>
<p>親愛的爸爸媽媽：</p>
<p>想跟你們分享一下我們家小寶貝（目前已經 <strong>8 個月又 2 天</strong> 大囉！）現在每天的作息和一些成長小紀錄。知道你們很關心他，所以整理了這份簡單的「育嬰日誌」，讓你們隨時都能知道小傢伙過得怎麼樣，也讓我們能一起記錄他成長的每一刻！</p>]]></description></item><item><title>微陣列數據(Microarray)分析教學</title><link>https://tpow-001.netlify.app/post/20250627-msc_2d_3d_crc_tutorial/</link><pubDate>Fri, 27 Jun 2025 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/20250627-msc_2d_3d_crc_tutorial/</guid><description><![CDATA[<h1 id="前言" data-numberify>前言<a class="anchor ms-1" href="#前言"></a></h1>
<p>本教學文件旨在詳細解說一份用於分析人類間質幹細胞 (Mesenchymal Stem Cells, MSCs) 在 2D 與 3D 培養環境下基因表現差異的 R 腳本。我們將使用 Affymetrix HTA 2.0 微陣列平台的數據，並透過一系列生物資訊學工具，從原始數據讀取、標準化、註解，到最終的數據可視化，一步步完成整個分析流程。</p>]]></description></item><item><title>Seurat PBMC3K tutorial</title><link>https://tpow-001.netlify.app/post/20250626/</link><pubDate>Thu, 26 Jun 2025 00:00:00 +0000</pubDate><guid>https://tpow-001.netlify.app/post/20250626/</guid><description><![CDATA[<h1 id="教學來源" data-numberify>教學來源<a class="anchor ms-1" href="#教學來源"></a></h1>
<p><a href="https://satijalab.org/seurat/articles/pbmc3k_tutorial" target="_blank" rel="noopener noreferrer">https://satijalab.org/seurat/articles/pbmc3k_tutorial<i class="fas fa-external-link-square-alt ms-1"></i></a></p>
<p>本教學以 PBMC3K 資料為例，介紹 Seurat 進行單細胞 RNA 分析的完整流程。</p>

<h2 id="1-建立-seurat-物件" data-numberify>1. 建立 Seurat 物件<a class="anchor ms-1" href="#1-建立-seurat-物件"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 清除環境變數，避免影響後續分析</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="nf">rm</span><span class="p">(</span><span class="n">list</span> <span class="o">=</span> <span class="nf">ls</span><span class="p">(</span><span class="n">all</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">))</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1"># 載入必要套件</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="nf">library</span><span class="p">(</span><span class="n">dplyr</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## Attaching package: &#39;dplyr&#39;</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## The following objects are masked from &#39;package:stats&#39;:</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1">##     filter, lag</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">## The following objects are masked from &#39;package:base&#39;:</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1">##     intersect, setdiff, setequal, union</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="nf">library</span><span class="p">(</span><span class="n">Seurat</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="c1">## Loading required package: SeuratObject</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1">## Warning: package &#39;SeuratObject&#39; was built under R version 4.4.3</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">## Loading required package: sp</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c1">## Warning: package &#39;sp&#39; was built under R version 4.4.2</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c1">## Attaching package: &#39;SeuratObject&#39;</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="c1">## The following objects are masked from &#39;package:base&#39;:</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="c1">##     intersect, t</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="nf">library</span><span class="p">(</span><span class="n">patchwork</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="c1">## Warning: package &#39;patchwork&#39; was built under R version 4.4.3</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="nf">library</span><span class="p">(</span><span class="n">ggplot2</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="c1">## Warning: package &#39;ggplot2&#39; was built under R version 4.4.3</span>
</span></span><span class="line"><span class="ln">28</span><span class="cl">
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="c1"># 設定資料目錄並載入 10X 格式的資料</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="nf">setwd</span><span class="p">(</span><span class="s">&#34;C:/Users/TPOW31714/Desktop/20250224 Human microarray for CY_add cell/4. RDS/filtered_gene_bc_matrices/hg19/&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="n">data_dir</span> <span class="o">&lt;-</span> <span class="s">&#34;C:/Users/TPOW31714/Desktop/20250224 Human microarray for CY_add cell/4. RDS/filtered_gene_bc_matrices/hg19/&#34;</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="n">pbmc.data</span> <span class="o">&lt;-</span> <span class="nf">Read10X</span><span class="p">(</span><span class="n">data.dir</span> <span class="o">=</span> <span class="n">data_dir</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">33</span><span class="cl">
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="c1"># 建立 Seurat 物件，並過濾掉少於 200 個基因表現或出現在少於 3 個細胞的基因</span>
</span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">CreateSeuratObject</span><span class="p">(</span><span class="n">counts</span> <span class="o">=</span> <span class="n">pbmc.data</span><span class="p">,</span> <span class="n">project</span> <span class="o">=</span> <span class="s">&#34;pbmc3k&#34;</span><span class="p">,</span> <span class="n">min.cells</span> <span class="o">=</span> <span class="m">3</span><span class="p">,</span> <span class="n">min.features</span> <span class="o">=</span> <span class="m">200</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="c1">## Warning: Feature names cannot have underscores (&#39;_&#39;), replacing with dashes</span>
</span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="c1">## (&#39;-&#39;)</span>
</span></span><span class="line"><span class="ln">38</span><span class="cl">
</span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="c1"># 可選：轉換原始 count 矩陣與 metadata 為 data.frame 形式</span>
</span></span><span class="line"><span class="ln">40</span><span class="cl"><span class="n">X1</span> <span class="o">&lt;-</span> <span class="n">pbmc</span><span class="o">@</span><span class="n">assays[[</span><span class="s">&#34;RNA&#34;</span><span class="n">]]</span><span class="o">@</span><span class="n">layers[[</span><span class="s">&#34;counts&#34;</span><span class="n">]]</span> <span class="o">%&gt;%</span> <span class="nf">as.data.frame</span><span class="p">()</span>
</span></span><span class="line"><span class="ln">41</span><span class="cl"><span class="n">X2</span> <span class="o">&lt;-</span> <span class="n">pbmc</span><span class="o">@</span><span class="n">meta.data</span>
</span></span></code></pre></div>
<h2 id="2-品質控制與細胞篩選" data-numberify>2. 品質控制與細胞篩選<a class="anchor ms-1" href="#2-品質控制與細胞篩選"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 計算每個細胞的粒線體基因比例 (以 MT- 開頭的基因表示)</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="n">pbmc[[</span><span class="s">&#34;percent.mt&#34;</span><span class="n">]]</span> <span class="o">&lt;-</span> <span class="nf">PercentageFeatureSet</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">pattern</span> <span class="o">=</span> <span class="s">&#34;^MT-&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl">
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1"># 使用 VlnPlot 觀察 nFeature、nCount 與 percent.mt 分布</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="nf">VlnPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="nf">c</span><span class="p">(</span><span class="s">&#34;nFeature_RNA&#34;</span><span class="p">,</span> <span class="s">&#34;nCount_RNA&#34;</span><span class="p">,</span> <span class="s">&#34;percent.mt&#34;</span><span class="p">),</span> <span class="n">ncol</span> <span class="o">=</span> <span class="m">3</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">## Warning: Default search for &#34;data&#34; layer in &#34;RNA&#34; assay yielded no results;</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## utilizing &#34;counts&#34; layer instead.</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## Warning: The `slot` argument of `FetchData()` is deprecated as of SeuratObject 5.0.0.</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## ℹ Please use the `layer` argument instead.</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1">## ℹ The deprecated feature was likely used in the Seurat package.</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">##   Please report the issue at &lt;https://github.com/satijalab/seurat/issues&gt;.</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## This warning is displayed once every 8 hours.</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1">## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1">## generated.</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="c1">## Warning: `PackageCheck()` was deprecated in SeuratObject 5.0.0.</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1">## ℹ Please use `rlang::check_installed()` instead.</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">## ℹ The deprecated feature was likely used in the Seurat package.</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c1">##   Please report the issue at &lt;https://github.com/satijalab/seurat/issues&gt;.</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="c1">## This warning is displayed once every 8 hours.</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c1">## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="c1">## generated.</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-2-1.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl">
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 使用 FeatureScatter 檢查 feature 之間的相關性</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">plot1</span> <span class="o">&lt;-</span> <span class="nf">FeatureScatter</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">feature1</span> <span class="o">=</span> <span class="s">&#34;nCount_RNA&#34;</span><span class="p">,</span> <span class="n">feature2</span> <span class="o">=</span> <span class="s">&#34;percent.mt&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="n">plot2</span> <span class="o">&lt;-</span> <span class="nf">FeatureScatter</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">feature1</span> <span class="o">=</span> <span class="s">&#34;nCount_RNA&#34;</span><span class="p">,</span> <span class="n">feature2</span> <span class="o">=</span> <span class="s">&#34;nFeature_RNA&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="n">plot1</span> <span class="o">+</span> <span class="n">plot2</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-2-2.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl">
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 篩選細胞：去除少於 200 或大於 2500 基因表現 &amp; 粒線體比例 &gt; 5% 的細胞</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">subset</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">subset</span> <span class="o">=</span> <span class="n">nFeature_RNA</span> <span class="o">&gt;</span> <span class="m">200</span> <span class="o">&amp;</span> <span class="n">nFeature_RNA</span> <span class="o">&lt;</span> <span class="m">2500</span> <span class="o">&amp;</span> <span class="n">percent.mt</span> <span class="o">&lt;</span> <span class="m">5</span><span class="p">)</span>
</span></span></code></pre></div>
<h2 id="3-正規化資料" data-numberify>3. 正規化資料<a class="anchor ms-1" href="#3-正規化資料"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 將每個細胞表現值進行 LogNormalize</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">NormalizeData</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">normalization.method</span> <span class="o">=</span> <span class="s">&#34;LogNormalize&#34;</span><span class="p">,</span> <span class="n">scale.factor</span> <span class="o">=</span> <span class="m">10000</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="c1">## Normalizing layer: counts</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># 轉出正規化後的資料矩陣</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="n">X3</span> <span class="o">&lt;-</span> <span class="n">pbmc</span><span class="o">@</span><span class="n">assays[[</span><span class="s">&#34;RNA&#34;</span><span class="n">]]</span><span class="o">@</span><span class="n">layers[[</span><span class="s">&#34;data&#34;</span><span class="n">]]</span> <span class="o">%&gt;%</span> <span class="nf">as.data.frame</span><span class="p">()</span>
</span></span></code></pre></div>
<h2 id="4-高變異基因篩選" data-numberify>4. 高變異基因篩選<a class="anchor ms-1" href="#4-高變異基因篩選"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 尋找 2000 個高變異基因 (用於 PCA 分析)</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">FindVariableFeatures</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">selection.method</span> <span class="o">=</span> <span class="s">&#34;vst&#34;</span><span class="p">,</span> <span class="n">nfeatures</span> <span class="o">=</span> <span class="m">2000</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c1">## Finding variable features for layer counts</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl">
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1"># 顯示最變異的前 10 個基因</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="n">top10</span> <span class="o">&lt;-</span> <span class="nf">head</span><span class="p">(</span><span class="nf">VariableFeatures</span><span class="p">(</span><span class="n">pbmc</span><span class="p">),</span> <span class="m">10</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="n">plot1</span> <span class="o">&lt;-</span> <span class="nf">VariableFeaturePlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="n">plot2</span> <span class="o">&lt;-</span> <span class="nf">LabelPoints</span><span class="p">(</span><span class="n">plot</span> <span class="o">=</span> <span class="n">plot1</span><span class="p">,</span> <span class="n">points</span> <span class="o">=</span> <span class="n">top10</span><span class="p">,</span> <span class="n">repel</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## When using repel, set xnudge and ynudge to 0 for optimal results</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="n">plot1</span> <span class="o">+</span> <span class="n">plot2</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">## Warning in scale_x_log10(): log-10 transformation introduced infinite values.</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## log-10 transformation introduced infinite values.</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-4-1.png" width="672" />

<h2 id="5-資料標準化scaling" data-numberify>5. 資料標準化（scaling）<a class="anchor ms-1" href="#5-資料標準化scaling"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="c1"># 對所有基因進行中心化與標準差轉換</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="n">all.genes</span> <span class="o">&lt;-</span> <span class="nf">rownames</span><span class="p">(</span><span class="n">pbmc</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">ScaleData</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="n">all.genes</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="c1">## Centering and scaling data matrix</span>
</span></span></code></pre></div>
<h2 id="6-pca-降維分析" data-numberify>6. PCA 降維分析<a class="anchor ms-1" href="#6-pca-降維分析"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># 使用高變異基因進行 PCA</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">RunPCA</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="nf">VariableFeatures</span><span class="p">(</span><span class="n">object</span> <span class="o">=</span> <span class="n">pbmc</span><span class="p">))</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c1">## PC_ 1 </span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1">## Positive:  CST3, TYROBP, LST1, AIF1, FTL, FTH1, LYZ, FCN1, S100A9, TYMP </span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1">## 	   FCER1G, CFD, LGALS1, S100A8, CTSS, LGALS2, SERPINA1, IFITM3, SPI1, CFP </span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">## 	   PSAP, IFI30, SAT1, COTL1, S100A11, NPC2, GRN, LGALS3, GSTP1, PYCARD </span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## Negative:  MALAT1, LTB, IL32, IL7R, CD2, B2M, ACAP1, CD27, STK17A, CTSW </span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## 	   CD247, GIMAP5, AQP3, CCL5, SELL, TRAF3IP3, GZMA, MAL, CST7, ITM2A </span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## 	   MYC, GIMAP7, HOPX, BEX2, LDLRAP1, GZMK, ETS1, ZAP70, TNFAIP8, RIC3 </span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1">## PC_ 2 </span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">## Positive:  CD79A, MS4A1, TCL1A, HLA-DQA1, HLA-DQB1, HLA-DRA, LINC00926, CD79B, HLA-DRB1, CD74 </span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## 	   HLA-DMA, HLA-DPB1, HLA-DQA2, CD37, HLA-DRB5, HLA-DMB, HLA-DPA1, FCRLA, HVCN1, LTB </span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1">## 	   BLNK, P2RX5, IGLL5, IRF8, SWAP70, ARHGAP24, FCGR2B, SMIM14, PPP1R14A, C16orf74 </span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1">## Negative:  NKG7, PRF1, CST7, GZMB, GZMA, FGFBP2, CTSW, GNLY, B2M, SPON2 </span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="c1">## 	   CCL4, GZMH, FCGR3A, CCL5, CD247, XCL2, CLIC3, AKR1C3, SRGN, HOPX </span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1">## 	   TTC38, APMAP, CTSC, S100A4, IGFBP7, ANXA1, ID2, IL32, XCL1, RHOC </span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">## PC_ 3 </span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c1">## Positive:  HLA-DQA1, CD79A, CD79B, HLA-DQB1, HLA-DPB1, HLA-DPA1, CD74, MS4A1, HLA-DRB1, HLA-DRA </span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="c1">## 	   HLA-DRB5, HLA-DQA2, TCL1A, LINC00926, HLA-DMB, HLA-DMA, CD37, HVCN1, FCRLA, IRF8 </span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c1">## 	   PLAC8, BLNK, MALAT1, SMIM14, PLD4, P2RX5, IGLL5, LAT2, SWAP70, FCGR2B </span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="c1">## Negative:  PPBP, PF4, SDPR, SPARC, GNG11, NRGN, GP9, RGS18, TUBB1, CLU </span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="c1">## 	   HIST1H2AC, AP001189.4, ITGA2B, CD9, TMEM40, PTCRA, CA2, ACRBP, MMD, TREML1 </span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="c1">## 	   NGFRAP1, F13A1, SEPT5, RUFY1, TSC22D1, MPP1, CMTM5, RP11-367G6.3, MYL9, GP1BA </span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="c1">## PC_ 4 </span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="c1">## Positive:  HLA-DQA1, CD79B, CD79A, MS4A1, HLA-DQB1, CD74, HIST1H2AC, HLA-DPB1, PF4, SDPR </span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="c1">## 	   TCL1A, HLA-DRB1, HLA-DPA1, HLA-DQA2, PPBP, HLA-DRA, LINC00926, GNG11, SPARC, HLA-DRB5 </span>
</span></span><span class="line"><span class="ln">27</span><span class="cl"><span class="c1">## 	   GP9, AP001189.4, CA2, PTCRA, CD9, NRGN, RGS18, CLU, TUBB1, GZMB </span>
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="c1">## Negative:  VIM, IL7R, S100A6, IL32, S100A8, S100A4, GIMAP7, S100A10, S100A9, MAL </span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="c1">## 	   AQP3, CD2, CD14, FYB, LGALS2, GIMAP4, ANXA1, CD27, FCN1, RBP7 </span>
</span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="c1">## 	   LYZ, S100A11, GIMAP5, MS4A6A, S100A12, FOLR3, TRABD2A, AIF1, IL8, IFI6 </span>
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="c1">## PC_ 5 </span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="c1">## Positive:  GZMB, NKG7, S100A8, FGFBP2, GNLY, CCL4, CST7, PRF1, GZMA, SPON2 </span>
</span></span><span class="line"><span class="ln">33</span><span class="cl"><span class="c1">## 	   GZMH, S100A9, LGALS2, CCL3, CTSW, XCL2, CD14, CLIC3, S100A12, RBP7 </span>
</span></span><span class="line"><span class="ln">34</span><span class="cl"><span class="c1">## 	   CCL5, MS4A6A, GSTP1, FOLR3, IGFBP7, TYROBP, TTC38, AKR1C3, XCL1, HOPX </span>
</span></span><span class="line"><span class="ln">35</span><span class="cl"><span class="c1">## Negative:  LTB, IL7R, CKB, VIM, MS4A7, AQP3, CYTIP, RP11-290F20.3, SIGLEC10, HMOX1 </span>
</span></span><span class="line"><span class="ln">36</span><span class="cl"><span class="c1">## 	   LILRB2, PTGES3, MAL, CD27, HN1, CD2, GDI2, CORO1B, ANXA5, TUBA1B </span>
</span></span><span class="line"><span class="ln">37</span><span class="cl"><span class="c1">## 	   FAM110A, ATP1A1, TRADD, PPA1, CCDC109B, ABRACL, CTD-2006K23.1, WARS, VMO1, FYB</span>
</span></span><span class="line"><span class="ln">38</span><span class="cl">
</span></span><span class="line"><span class="ln">39</span><span class="cl"><span class="c1"># 輸出 PCA 結果，檢視前 5 個主成分</span>
</span></span><span class="line"><span class="ln">40</span><span class="cl"><span class="nf">print</span><span class="p">(</span><span class="n">pbmc[[</span><span class="s">&#34;pca&#34;</span><span class="n">]]</span><span class="p">,</span> <span class="n">dims</span> <span class="o">=</span> <span class="m">1</span><span class="o">:</span><span class="m">5</span><span class="p">,</span> <span class="n">nfeatures</span> <span class="o">=</span> <span class="m">5</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">41</span><span class="cl"><span class="c1">## PC_ 1 </span>
</span></span><span class="line"><span class="ln">42</span><span class="cl"><span class="c1">## Positive:  CST3, TYROBP, LST1, AIF1, FTL </span>
</span></span><span class="line"><span class="ln">43</span><span class="cl"><span class="c1">## Negative:  MALAT1, LTB, IL32, IL7R, CD2 </span>
</span></span><span class="line"><span class="ln">44</span><span class="cl"><span class="c1">## PC_ 2 </span>
</span></span><span class="line"><span class="ln">45</span><span class="cl"><span class="c1">## Positive:  CD79A, MS4A1, TCL1A, HLA-DQA1, HLA-DQB1 </span>
</span></span><span class="line"><span class="ln">46</span><span class="cl"><span class="c1">## Negative:  NKG7, PRF1, CST7, GZMB, GZMA </span>
</span></span><span class="line"><span class="ln">47</span><span class="cl"><span class="c1">## PC_ 3 </span>
</span></span><span class="line"><span class="ln">48</span><span class="cl"><span class="c1">## Positive:  HLA-DQA1, CD79A, CD79B, HLA-DQB1, HLA-DPB1 </span>
</span></span><span class="line"><span class="ln">49</span><span class="cl"><span class="c1">## Negative:  PPBP, PF4, SDPR, SPARC, GNG11 </span>
</span></span><span class="line"><span class="ln">50</span><span class="cl"><span class="c1">## PC_ 4 </span>
</span></span><span class="line"><span class="ln">51</span><span class="cl"><span class="c1">## Positive:  HLA-DQA1, CD79B, CD79A, MS4A1, HLA-DQB1 </span>
</span></span><span class="line"><span class="ln">52</span><span class="cl"><span class="c1">## Negative:  VIM, IL7R, S100A6, IL32, S100A8 </span>
</span></span><span class="line"><span class="ln">53</span><span class="cl"><span class="c1">## PC_ 5 </span>
</span></span><span class="line"><span class="ln">54</span><span class="cl"><span class="c1">## Positive:  GZMB, NKG7, S100A8, FGFBP2, GNLY </span>
</span></span><span class="line"><span class="ln">55</span><span class="cl"><span class="c1">## Negative:  LTB, IL7R, CKB, VIM, MS4A7</span>
</span></span><span class="line"><span class="ln">56</span><span class="cl">
</span></span><span class="line"><span class="ln">57</span><span class="cl"><span class="c1"># 顯示載重圖、降維圖與熱圖</span>
</span></span><span class="line"><span class="ln">58</span><span class="cl"><span class="nf">VizDimLoadings</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">dims</span> <span class="o">=</span> <span class="m">1</span><span class="o">:</span><span class="m">2</span><span class="p">,</span> <span class="n">reduction</span> <span class="o">=</span> <span class="s">&#34;pca&#34;</span><span class="p">)</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-6-1.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="nf">DimPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">reduction</span> <span class="o">=</span> <span class="s">&#34;pca&#34;</span><span class="p">)</span> <span class="o">+</span> <span class="nf">NoLegend</span><span class="p">()</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-6-2.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="nf">DimHeatmap</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">dims</span> <span class="o">=</span> <span class="m">1</span><span class="p">,</span> <span class="n">cells</span> <span class="o">=</span> <span class="m">500</span><span class="p">,</span> <span class="n">balanced</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">)</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-6-3.png" width="672" />

<h2 id="7-選擇最佳維度數量elbow-plot" data-numberify>7. 選擇最佳維度數量（Elbow Plot）<a class="anchor ms-1" href="#7-選擇最佳維度數量elbow-plot"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="nf">ElbowPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">)</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-7-1.png" width="672" />

<h2 id="8-建立近鄰圖與群集分析" data-numberify>8. 建立近鄰圖與群集分析<a class="anchor ms-1" href="#8-建立近鄰圖與群集分析"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">FindNeighbors</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">dims</span> <span class="o">=</span> <span class="m">1</span><span class="o">:</span><span class="m">10</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c1">## Computing nearest neighbor graph</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c1">## Warning: package &#39;future&#39; was built under R version 4.4.3</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1">## Computing SNN</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">FindClusters</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">resolution</span> <span class="o">=</span> <span class="m">0.5</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">## Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## Number of nodes: 2638</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## Number of edges: 95927</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1">## </span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">## Running Louvain algorithm...</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## Maximum modularity in 10 random starts: 0.8728</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1">## Number of communities: 9</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1">## Elapsed time: 0 seconds</span>
</span></span></code></pre></div>
<h2 id="9-非線性降維umap" data-numberify>9. 非線性降維：UMAP<a class="anchor ms-1" href="#9-非線性降維umap"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">RunUMAP</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">dims</span> <span class="o">=</span> <span class="m">1</span><span class="o">:</span><span class="m">10</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="c1">## Warning: The default method for RunUMAP has changed from calling Python UMAP via reticulate to the R-native UWOT using the cosine metric</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c1">## To use Python UMAP via reticulate, set umap.method to &#39;umap-learn&#39; and metric to &#39;correlation&#39;</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1">## This message will be shown once per session</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1">## 19:27:19 UMAP embedding parameters a = 0.9922 b = 1.112</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">## 19:27:19 Read 2638 rows and found 10 numeric columns</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## 19:27:19 Using Annoy for neighbor search, n_neighbors = 30</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## 19:27:19 Building Annoy index with metric = cosine, n_trees = 50</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## 0%   10   20   30   40   50   60   70   80   90   100%</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl"><span class="c1">## [----|----|----|----|----|----|----|----|----|----|</span>
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1">## **************************************************|</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="c1">## 19:27:20 Writing NN index file to temp file C:\Users\TPOW31~1\AppData\Local\Temp\RtmpM1mnaL\file74a4f381b69</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl"><span class="c1">## 19:27:20 Searching Annoy index using 1 thread, search_k = 3000</span>
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1">## 19:27:20 Annoy recall = 100%</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="c1">## 19:27:20 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1">## 19:27:21 Initializing from normalized Laplacian + noise (using RSpectra)</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">## 19:27:21 Commencing optimization for 500 epochs, with 105140 positive edges</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c1">## 19:27:21 Using rng type: pcg</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="c1">## 19:27:26 Optimization finished</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="nf">DimPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">reduction</span> <span class="o">=</span> <span class="s">&#34;umap&#34;</span><span class="p">)</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-9-1.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl">
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 儲存結果</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="nf">saveRDS</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">file</span> <span class="o">=</span> <span class="s">&#34;pbmc_tutorial.rds&#34;</span><span class="p">)</span>
</span></span></code></pre></div>
<h2 id="10-差異表現基因分析" data-numberify>10. 差異表現基因分析<a class="anchor ms-1" href="#10-差異表現基因分析"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="c1"># cluster 2 與其他 cluster 的差異表現基因</span>
</span></span><span class="line"><span class="ln"> 2</span><span class="cl"><span class="n">cluster2.markers</span> <span class="o">&lt;-</span> <span class="nf">FindMarkers</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">ident.1</span> <span class="o">=</span> <span class="m">2</span><span class="p">)</span>
</span></span><span class="line"><span class="ln"> 3</span><span class="cl"><span class="c1">## Warning: The `slot` argument of `GetAssayData()` is deprecated as of SeuratObject 5.0.0.</span>
</span></span><span class="line"><span class="ln"> 4</span><span class="cl"><span class="c1">## ℹ Please use the `layer` argument instead.</span>
</span></span><span class="line"><span class="ln"> 5</span><span class="cl"><span class="c1">## ℹ The deprecated feature was likely used in the Seurat package.</span>
</span></span><span class="line"><span class="ln"> 6</span><span class="cl"><span class="c1">##   Please report the issue at &lt;https://github.com/satijalab/seurat/issues&gt;.</span>
</span></span><span class="line"><span class="ln"> 7</span><span class="cl"><span class="c1">## This warning is displayed once every 8 hours.</span>
</span></span><span class="line"><span class="ln"> 8</span><span class="cl"><span class="c1">## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was</span>
</span></span><span class="line"><span class="ln"> 9</span><span class="cl"><span class="c1">## generated.</span>
</span></span><span class="line"><span class="ln">10</span><span class="cl">
</span></span><span class="line"><span class="ln">11</span><span class="cl"><span class="c1"># cluster 5 與 cluster 0 與 3 的差異</span>
</span></span><span class="line"><span class="ln">12</span><span class="cl"><span class="n">cluster5.markers</span> <span class="o">&lt;-</span> <span class="nf">FindMarkers</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">ident.1</span> <span class="o">=</span> <span class="m">5</span><span class="p">,</span> <span class="n">ident.2</span> <span class="o">=</span> <span class="nf">c</span><span class="p">(</span><span class="m">0</span><span class="p">,</span> <span class="m">3</span><span class="p">))</span>
</span></span><span class="line"><span class="ln">13</span><span class="cl">
</span></span><span class="line"><span class="ln">14</span><span class="cl"><span class="c1"># 全部 cluster 的 marker gene</span>
</span></span><span class="line"><span class="ln">15</span><span class="cl"><span class="n">pbmc.markers</span> <span class="o">&lt;-</span> <span class="nf">FindAllMarkers</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">only.pos</span> <span class="o">=</span> <span class="kc">FALSE</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">16</span><span class="cl"><span class="c1">## Calculating cluster 0</span>
</span></span><span class="line"><span class="ln">17</span><span class="cl"><span class="c1">## Calculating cluster 1</span>
</span></span><span class="line"><span class="ln">18</span><span class="cl"><span class="c1">## Calculating cluster 2</span>
</span></span><span class="line"><span class="ln">19</span><span class="cl"><span class="c1">## Calculating cluster 3</span>
</span></span><span class="line"><span class="ln">20</span><span class="cl"><span class="c1">## Calculating cluster 4</span>
</span></span><span class="line"><span class="ln">21</span><span class="cl"><span class="c1">## Calculating cluster 5</span>
</span></span><span class="line"><span class="ln">22</span><span class="cl"><span class="c1">## Calculating cluster 6</span>
</span></span><span class="line"><span class="ln">23</span><span class="cl"><span class="c1">## Calculating cluster 7</span>
</span></span><span class="line"><span class="ln">24</span><span class="cl"><span class="c1">## Calculating cluster 8</span>
</span></span><span class="line"><span class="ln">25</span><span class="cl"><span class="n">pbmc.markers_1</span> <span class="o">&lt;-</span> <span class="n">pbmc.markers</span> <span class="o">%&gt;%</span> <span class="nf">group_by</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span> <span class="o">%&gt;%</span> <span class="nf">filter</span><span class="p">(</span><span class="n">avg_log2FC</span> <span class="o">&gt;</span> <span class="m">1</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">26</span><span class="cl"><span class="nf">write.table</span><span class="p">(</span><span class="n">pbmc.markers</span><span class="p">,</span> <span class="s">&#34;pbmc_Findallmarkers_250610.txt&#34;</span><span class="p">,</span> <span class="n">sep</span> <span class="o">=</span> <span class="s">&#34;\t&#34;</span><span class="p">,</span> <span class="n">row.names</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">27</span><span class="cl">
</span></span><span class="line"><span class="ln">28</span><span class="cl"><span class="c1"># 使用不同檢定法，例如 ROC</span>
</span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="n">cluster0.markers</span> <span class="o">&lt;-</span> <span class="nf">FindMarkers</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">ident.1</span> <span class="o">=</span> <span class="m">0</span><span class="p">,</span> <span class="n">test.use</span> <span class="o">=</span> <span class="s">&#34;roc&#34;</span><span class="p">,</span> <span class="n">only.pos</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">30</span><span class="cl">
</span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="c1"># 可視化 marker gene</span>
</span></span><span class="line"><span class="ln">32</span><span class="cl"><span class="nf">VlnPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="nf">c</span><span class="p">(</span><span class="s">&#34;MS4A1&#34;</span><span class="p">,</span> <span class="s">&#34;CD79A&#34;</span><span class="p">))</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-10-1.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="nf">FeaturePlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="nf">c</span><span class="p">(</span><span class="s">&#34;MS4A1&#34;</span><span class="p">,</span> <span class="s">&#34;GNLY&#34;</span><span class="p">,</span> <span class="s">&#34;CD3E&#34;</span><span class="p">,</span> <span class="s">&#34;CD14&#34;</span><span class="p">,</span> <span class="s">&#34;FCER1A&#34;</span><span class="p">,</span> <span class="s">&#34;FCGR3A&#34;</span><span class="p">,</span> <span class="s">&#34;LYZ&#34;</span><span class="p">,</span> <span class="s">&#34;PPBP&#34;</span><span class="p">,</span> <span class="s">&#34;CD8A&#34;</span><span class="p">))</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-10-2.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl">
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 熱圖顯示每群前 10 個基因</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">top10</span> <span class="o">&lt;-</span> <span class="n">pbmc.markers</span> <span class="o">%&gt;%</span> <span class="nf">group_by</span><span class="p">(</span><span class="n">cluster</span><span class="p">)</span> <span class="o">%&gt;%</span> <span class="nf">filter</span><span class="p">(</span><span class="n">avg_log2FC</span> <span class="o">&gt;</span> <span class="m">1</span><span class="p">)</span> <span class="o">%&gt;%</span> <span class="nf">slice_head</span><span class="p">(</span><span class="n">n</span> <span class="o">=</span> <span class="m">10</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl"><span class="nf">DoHeatmap</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">features</span> <span class="o">=</span> <span class="n">top10</span><span class="o">$</span><span class="n">gene</span><span class="p">)</span> <span class="o">+</span> <span class="nf">NoLegend</span><span class="p">()</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-10-3.png" width="672" />

<h2 id="11-命名各群細胞類型" data-numberify>11. 命名各群細胞類型<a class="anchor ms-1" href="#11-命名各群細胞類型"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl"><span class="n">new.cluster.ids</span> <span class="o">&lt;-</span> <span class="nf">c</span><span class="p">(</span><span class="s">&#34;Naive CD4 T&#34;</span><span class="p">,</span> <span class="s">&#34;CD14+ Mono&#34;</span><span class="p">,</span> <span class="s">&#34;Memory CD4 T&#34;</span><span class="p">,</span> <span class="s">&#34;B&#34;</span><span class="p">,</span> <span class="s">&#34;CD8 T&#34;</span><span class="p">,</span> <span class="s">&#34;FCGR3A+ Mono&#34;</span><span class="p">,</span> <span class="s">&#34;NK&#34;</span><span class="p">,</span> <span class="s">&#34;DC&#34;</span><span class="p">,</span> <span class="s">&#34;Platelet&#34;</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="nf">names</span><span class="p">(</span><span class="n">new.cluster.ids</span><span class="p">)</span> <span class="o">&lt;-</span> <span class="nf">levels</span><span class="p">(</span><span class="n">pbmc</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">pbmc</span> <span class="o">&lt;-</span> <span class="nf">RenameIdents</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">new.cluster.ids</span><span class="p">)</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">
</span></span><span class="line"><span class="ln">5</span><span class="cl"><span class="c1"># 畫出標註細胞類型的 UMAP 圖</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl"><span class="nf">DimPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">reduction</span> <span class="o">=</span> <span class="s">&#34;umap&#34;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">,</span> <span class="n">pt.size</span> <span class="o">=</span> <span class="m">0.5</span><span class="p">)</span> <span class="o">+</span> <span class="nf">NoLegend</span><span class="p">()</span>
</span></span></code></pre></div><img src="/post/2025-06-26-r-rmarkdown/20250626_files/figure-html/unnamed-chunk-11-1.png" width="672" />
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-r" data-lang="r"><span class="line"><span class="ln">1</span><span class="cl">
</span></span><span class="line"><span class="ln">2</span><span class="cl"><span class="c1"># 儲存高解析圖檔</span>
</span></span><span class="line"><span class="ln">3</span><span class="cl"><span class="n">plot</span> <span class="o">&lt;-</span> <span class="nf">DimPlot</span><span class="p">(</span><span class="n">pbmc</span><span class="p">,</span> <span class="n">reduction</span> <span class="o">=</span> <span class="s">&#34;umap&#34;</span><span class="p">,</span> <span class="n">label</span> <span class="o">=</span> <span class="kc">TRUE</span><span class="p">,</span> <span class="n">label.size</span> <span class="o">=</span> <span class="m">4.5</span><span class="p">)</span> <span class="o">+</span>
</span></span><span class="line"><span class="ln">4</span><span class="cl">  <span class="nf">xlab</span><span class="p">(</span><span class="s">&#34;UMAP 1&#34;</span><span class="p">)</span> <span class="o">+</span> <span class="nf">ylab</span><span class="p">(</span><span class="s">&#34;UMAP 2&#34;</span><span class="p">)</span> <span class="o">+</span>
</span></span><span class="line"><span class="ln">5</span><span class="cl">  <span class="nf">theme</span><span class="p">(</span><span class="n">axis.title</span> <span class="o">=</span> <span class="nf">element_text</span><span class="p">(</span><span class="n">size</span> <span class="o">=</span> <span class="m">18</span><span class="p">))</span>
</span></span><span class="line"><span class="ln">6</span><span class="cl">
</span></span><span class="line"><span class="ln">7</span><span class="cl"><span class="nf">ggsave</span><span class="p">(</span><span class="n">filename</span> <span class="o">=</span> <span class="s">&#34;pbmc3k_umap.jpg&#34;</span><span class="p">,</span> <span class="n">height</span> <span class="o">=</span> <span class="m">7</span><span class="p">,</span> <span class="n">width</span> <span class="o">=</span> <span class="m">12</span><span class="p">,</span> <span class="n">plot</span> <span class="o">=</span> <span class="n">plot</span><span class="p">)</span>
</span></span></code></pre></div><p>更多視覺化方法請參考官方文件：<a href="https://satijalab.org/seurat/articles/visualization_vignette" target="_blank" rel="noopener noreferrer">https://satijalab.org/seurat/articles/visualization_vignette<i class="fas fa-external-link-square-alt ms-1"></i></a></p>]]></description></item></channel></rss>