Community程式設計與開發github.com

DrunkMan9o/agent-skills

輸入一組結晶工藝參數(或直接請求最佳化),輸出滿足多重約束(收率≥60%、純度≥99%、粒徑 D50∈[10,50]μm、溶出相似因子 f2≥50)的完整帕累託前沿與預測品質指標,並與文獻基線定量對比。

agent-skills 是什麼?

此技能專為藥物結晶製程的多目標最佳化設計。它將一個結晶工藝優化需求,從「有一組參數/一個待優化工段」推進到「取得一套滿足多重約束、可再現、且有定量對比的最優工藝方案(完整帕累託前沿)」。其核心是一個可解釋的確定性動力學模型(數位孿生),將 6 個工藝變量映射到 4 個品質指標(收率、純度、粒徑 D50、溶出相似因子 f2)。該技能整合了文獻驗證的動力學模型(含范特霍夫溶解度曲線、初級/二次成核與 BCF 螺旋錯位生長模型)與多目標最佳化演算法(NSGA-II),並搭配高斯過程代理模型與貝葉斯最佳化進行對照驗證。此外,它還實現了五智能體流水線(文獻守門、動力學建模、最佳化、風險法規、審查裁決)及敏感性分析,確保輸出的可靠性與可解釋性。支援的觸發場景包括:使用者給出結晶參數要求評估、要求最佳化/搜尋某結晶工段參數、或涉及收率/純度/粒徑/溶出等品質目標。運作時,AI 透過標準輸入傳遞 JSON 指令給 `scripts/crystallization.py` 腳本來驅動計算核心,並將回傳的 JSON 結果解讀為人類可讀的對照結論。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/DrunkMan9o/agent-skills/tree/HEAD/skills/pharma-crystallization-optimization

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

藥物結晶製程多目標最佳化

用途

把一個結晶工藝優化需求,從「有一組參數 / 一個待優化工段」推進到「拿到一套滿足多約束、可再現、有定量對比的最優工藝方案(完整帕累託前沿)」。

核心是一台可解釋的確定性動力學模型(數位孿生),把 6 個工藝變量映射到 4 個品質指標(收率 / 純度 / 粒徑 D50 / 溶出相似因子 f2)。本 SKILL 負責編排:識別需求 → 調用計算核心 → 解讀帕累託前沿 → 輸出最佳化前後對照結論。

核心方法(可解釋動力學內核)

模組實現文獻錨定
溶解度曲線van't Hoff:C*(T)=4.48·exp[8.3/R·(1/293−1/T)]A 級:Biowaiver Monograph 2017(20℃ 4.48 mg/mL)
成核速率B = kb·max(σ−0.3,0)⁴ + kb2·G·μ2·f_mixing(攪拌)初級經典理論 + 二次生長耦合;分界 S=4.5(田賓賓 2015)
生長速率G = kg·σ^m,m=1.9955(BCF 螺旋錯位生長)A 級:田賓賓等,化學工程 2015 實測
種群平衡方程(PBE)矩量法 μ0…μ4 遞迴,濃度-矩量全耦合物料衡算守恆B 級:Randolph & Larson 矩量法

最佳化方法(多目標 + 多智能體)

  • 主輸出:NSGA-II 4 目標完整帕累託前沿(80 個非支配解 + 膝點 + max-f₂/max-yield 極值),目標 = 收率↑ / 純度↑ / f2↑ / 粒徑貼合 30μm↑。
  • 輔助:高斯過程(GP,RBF 核 + 白雜訊,超參經對數邊際似然 LML 學習)+ 貝葉斯最佳化(EGO 式 EI),作標量化參考點交叉驗證。
  • 五智能體流水線:Literature(文獻錨定守門)→ Kinetics Modeler(PBE 求解 + 物料衡算自檢)→ Optimizer(帕累託前沿)→ Risk/Regulatory(監管判據 + CQA)→ Reviewer(獨立複核,PASS/FAIL 裁決)。
  • 敏感性分析:溫度 ±1℃ / pH ±0.1 / 降溫速率 ±10% 擾動下的魯棒性判定。

觸發條件(何時加載本 SKILL)

滿足以下任一場景即可觸發:

  • 使用者給出結晶工藝參數,要求評估品質指標或是否達標
  • 使用者要求「最佳化 / 搜尋 / 尋優」某結晶工段的工藝參數
  • 使用者提到收率 / 純度 / 粒徑 D50 / 溶出 f2 等品質目標並涉及結晶
  • 使用者要求學名藥與原廠藥溶出相似性(f2)評估
  • 使用者提供對照溶出曲線或文獻基線,要求對比

觸發詞:結晶工藝最佳化、結晶參數尋優、工藝多目標最佳化、學名藥結晶、粒徑窗口、溶出 f2、降溫曲線、晶種策略、過飽和控制、阿莫西林結晶、帕累託前沿、種群平衡。

輸入輸出格式

輸入

SKILL 由 AI 在會話中加載後,透過運行 scripts/crystallization.py(標準輸入傳 JSON)來驅動計算核心。CLI 輸入協議:

{
  "mode": "evaluate | optimize | sensitivity | agents | dissolution_plot | explain",
  "params": {                       // evaluate 模式必填,6 個工藝變量
    "T_cryst_C": 15,                // 結晶溫度 ℃,[5, 25]
    "r_cool_C_per_min": 0.2,        // 降溫速率 ℃/min,[0.05, 1.0]
    "S0": 1.8,                      // 初始過飽和度(無量綱),[1.2, 2.5]
    "seed_wt_pct": 2,               // 晶種量 質量%,[0, 5.0]
    "stir_rpm": 300,                // 攪拌轉速 rpm,[100, 600]
    "hold_t_min": 120               // 養晶時間 min,[30, 240]
  },
  "seed": 42                        // optimize/agents 模式可選,隨機種子(預設 42,確定可再現)
}

輸出

計算核心 stdout 輸出單行 JSON。以 mode=optimize 為例,核心欄位:

{
  "params": {"T_cryst_C": 5.9, "r_cool_C_per_min": 0.11, "S0": 1.9, "seed_wt_pct": 4.58, "stir_rpm": 586, "hold_t_min": 238},
  "metrics": {"yield_pct": 67.75, "purity_pct": 99.44, "D50_um": 44.26, "D90_um": 116.0, "f2": 79.13},
  "score": 174.88,
  "pareto": {"n_pareto": 80, "knee_point": {...}, "extremes": {"max_f2": {...}, "max_yield": {...}}, "pareto_front": [...]},
  "agents": {"literature": {...}, "kinetics": {...}, "optimizer": {...}, "risk_regulatory": {...}, "reviewer": {"verdict": "PASS", ...}},
  "sensitivity": {"robustness": {"conclusion": "魯棒:三因素 ± 擾動下 f2 保持 ≥50", ...}},
  "surrogate_cv": {"r2_mean": 0.74, ...},
  "bo_trace": [...],
  "cqa_coverage": {...}
}

AI 將 JSON 結果解讀為人類可讀的對照結論,格式參考本文件「結果解讀」小節。

執行步驟(標準工作流)

按順序執行,前一步結果決定後一步動作:

  1. 識別需求:確認目標 API 與工段;判斷使用者是要「評估單組參數」還是「搜尋最優參數」。
  2. 確定基準:讀取文獻經典工藝基線(或使用者提供);預設阿莫西林基線見 references/tuning-guide.md。
  3. 多目標尋優(optimize):調用 mode=optimize,主輸出為完整帕累託前沿(NSGA-II 80 非支配解)。
  4. 結果評估(evaluate):對候選方案調用 mode=evaluate,核對 checks.all_satisfied 與 PBE 過程量。
  5. 獨立複核:Reviewer 智能體獨立複核前沿非支配性與可行性,出具 PASS/FAIL。
  6. 輸出結論:給出帕累託前沿 + 膝點/極值 + 四指標前後對比 + 敏感性分析結論 + 邊界聲明。

依賴

類型依賴項說明
執行時Python 3(python3 / python / py 任一可用)運行計算核心
數值庫NumPy 2.5.4GP 高斯過程與 NSGA-II 向量化運算(pip install numpy==2.5.4)
核心檔案scripts/crystallization.py可解釋動力學核心(PBE)+ 多目標最佳化 + 五智能體,本 SKILL 的唯一可執行邏輯
參考文件references/install-and-usage.md安裝、註冊、使用範例
參考文件references/tuning-guide.md全部可調參數的物理含義、取值範圍與影響
外部資源無自包含,不連網、不調外部 API

計算核心調用方式(CLI)

# evaluate:評估單組參數
echo '{"mode":"evaluate","params":{...}}' | python scripts/crystallization.py

# optimize:輸出完整帕累託前沿(主)+ GP-BO 參考點
echo '{"mode":"optimize","seed":42}' | python scripts/crystallization.py

# sensitivity:敏感性分析(T±1℃/pH±0.1/降溫±10%)
echo '{"mode":"sensitivity","params":{...}}' | python scripts/crystallization.py

# explain:完整說明 optimize 跑了什麼(模型卡/搜尋空間/權重/約束全透明)
echo '{"mode":"explain"}' | python scripts/crystallization.py

結果解讀

  • pareto.n_pareto → 帕累託前沿非支配解數量;knee_point 為到理想點距離最小的權衡解。
  • metrics.f2 >= 50 → 溶出曲線與原廠對照「相似」(FDA/CDE 生物等效橋樑判據);f2 < 50 視為不相似。
  • agents.reviewer.verdict = PASS → 前沿非支配性 + 可行性 + 基線對比全部通過獨立複核。
  • sensitivity.robustness.f2_stays_above_50 → 擾動下 f2 是否仍 ≥50(操作魯棒性)。
  • bo_trace → 64 次評估逐條留痕(參數/分數/來源/GP超參/EI),最佳化過程完全可查。

邊界聲明

本 SKILL 輸出為工藝搜尋與預篩工具,基於可解釋動力學內核(非 GMP 實驗替代)。最終生物等效性結論須由真實實驗與申報數據支撐。收率口徑:本模型收率為物料衡算口徑(析出固體/配液固體),與文獻「總收率」口徑不同,詳見 references/tuning-guide.md。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能