jinko-output-set について
jinko-output-setは、Jinkō SDKでシンプルおよび高度な出力セットを作成、検証、確認、編集するスキルです。SDKの手順とCLIスクリプトを備えますが、試験やキャリブレーションへの関連付けは行いません。
主な機能
- 01シンプル・高度な出力セットの作成
- 02数式と設計診断の確認
- 03制約・スカラー・目的の段階的編集
- 04CLIスクリプトによる確認と変更
活用シーン
- 01モデルの出力IDからシンプルな出力セットを作成
- 02高度なスコアリング数式の作成と検証
- 03既存の出力セットと診断情報の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ novainsilico/ jinko-skills --skill jinko-output-setインストール後、Claude Code で/jinko-output-setを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlassets/advanced_output_set_example.jsonevals/evals.jsonreferences/advanced-output-set.mdformula-language.mdsimple-output-set.md詳細
Jinkō 出力セット SDK ワークフロー
このスキルは、SDK を通じた出力セットの操作(シンプルおよびアドバンスド出力セットの作成、検証、確認、段階的な編集)に使用します。
トライアルのアタッチメントは jinko-trial に、キャリブレーションのアタッチメントは jinko-calibration-cmaes に、データテーブルは jinko-data-table に保持してください。
前提条件: このスキルには、初期化済みの
jinko-sdk接続と、metadata.requires_sdkの範囲を満たす SDK が必要です。jinko-sdk-setupスキル(../jinko-sdk-setup/SKILL.md)を実行し、チェックに合格してから進めてください。セッションコードは一度しか交換できないため、このスキル独自の SDK プロセスを開始する前に、再度get_session_codeを呼び出してください。そのスキルが見つからない場合は、novainsilico/jinko-skillsからインストールしてください。
コアコンセプト
Jinkō では、UI、API、SDK で同じオブジェクトに異なる名称が使われています。
| UI の表記 | API のプロジェクトアイテム型 | SDK のエントリーポイント |
|---|---|---|
| シンプル出力セット | MeasureDesign | client.create_simple_output_set(...)、SimpleOutputSet |
| アドバンスド出力セット | ScoringDesign | client.create_advanced_output_set(...)、AdvancedOutputSet |
アドバンスド出力セットは、3 種類のコンポーネントをまとめます。制約(患者ごとの適格性を表すブール式)、スカラー(シミュレーション出力から導出される数値式)、目的関数(重み付きの範囲ベースのスコアリングルール)です。
スカラーは、生の JSON キー components.measures の下にシリアライズされます。シンプル出力セットの「measures」と混同しないでください。
出力 ID の確認
出力 ID を決して推測しないでください。
シンプル出力セットを作成する前に、jinko-trial と同様に model.time_dependent_ids() を呼び出して、モデルで有効な出力 ID を確認してください。
アドバンスド出力セットの式では、出力 ID または他のスカラー ID を名前で参照します。
スコアリング式の時間値は、モデルの時間単位にかかわらず常に秒です。式では時間単位を指定できないため、科学的な時間は明示的に変換してください。そのため、int(X) と auc(X) には秒の時間要素があるので、スカラーの単位には *s を指定してください。
式の構文が現在もサポートされているか不明な場合は、古い例がそのまま使えると決めつけず、client.validate_scoring_formula(...) で検証してください。
制約、スカラー、目的関数の式、またはコンポーネントフィルターを作成する前に、references/formula-language.md を読んでください。実際の文法(時間集約関数、時間インデックス、アーム参照)と、検証メッセージが記載されています。
シンプル出力セットのワークフロー
model = client.get_model("cm-...")
output_set = client.create_simple_output_set(model, model.time_dependent_ids())
# Equivalently: model.create_simple_output_set([...])
Measures には出力 ID 文字列({"timeseriesId": id} の省略形)、またはカスタム名、起点、時点関数/期間関数を指定する辞書を使用できます。
.content()、.measures、.replace_all_measures()、.add_measures()、.remove_measures()、.update_measure() で編集します。
スキーマ全体については references/simple-output-set.md を参照してください。
アドバンスド出力セットのワークフロー
scoring_design = client.create_advanced_output_set(
constraints=[{"id": "adults", "constraint": "age >= 18"}],
scalars=[{"id": "auc", "formula": "auc(Drug)", "unit": "mg/L*s"}],
objectives=[
{
"id": "obj_auc",
"formula": {
"target": "auc(Drug)",
"range": {
"narrowRangeLowBound": 8.0,
"narrowRangeHighBound": 12.0,
"wideRangeLowBound": 5.0,
"wideRangeHighBound": 15.0,
},
},
"weight": 1.0,
}
],
name="PK scoring",
)
scoring_design.components.add_constraint(...)、.add_scalar(...)、.add_objective(...) でコンポーネントを段階的に追加します。各呼び出しで、新しいバージョン付きスナップショットが作成されます。まとめて追加する場合は、最初の呼び出しの前に各コンポーネントを検証し、すべての ID に競合がないことを確認してください。後続のリクエストが失敗した場合は、すでに適用された ID を報告してください。
完全なスキーマ、コンポーネントサービス、生の JSON を使用する方法については references/advanced-output-set.md を参照してください。
検証と診断
制約式と数式は、create() および components.add_*() 内で自動的に検証されます。
検証に失敗すると、常に ValidationError が発生します。show_validation はレポートを出力するかどうかを制御するだけで、例外の発生を抑制するものではありません。
if scoring_design.diagnostics.errors():
print(scoring_design.diagnostics.errors().explain())
sd.diagnostics はチェーン可能です:.for_kind(...)、.with_severity(...)、.with_code(...)、.for_component(...)、.errors()、.warnings()、.has_errors()、.by_component()、.by_kind()、.by_severity()、.explain()。
過去のスナップショットには sd.diagnostics_at(revision) を使用してください。
検証される内容と、されない内容。 client.validate_scoring_formula(...)/validate_scoring_condition(...) および sd.diagnostics が確認するのは、スコアリング設計を単独で評価した場合のみです。数式の構文、参照された ID が何らかの対象に解決されること、制約/目的関数の形式を確認します。
具体的な試験については把握しません。ここでのすべてのチェックに合格した数式でも、詳細出力セットを試験に紐付けると失敗する場合があります(例:このモデルには存在するものの、試験の単純出力セットにはない測定値を参照している場合や、試験のプロトコルとの単位/時間ウィンドウの不一致がある場合)。単独での検証への合格は試験との互換性に必要ですが、十分ではありません。このスキルのチェックだけを根拠に、詳細出力セットを「試験で使用可能」と報告しないでください。出力セットを具体的な試験に紐付けた後、jinko-trial の試験サニティチェック手順(trial.sanity())を使用してください。
試験/キャリブレーションへの紐付け
このスキルでできるのは出力セットの作成、確認、編集のみです。出力セットの紐付けや実行は行わず、試験との互換性も確認できません(上記を参照)。
試験には jinko-trial を使用します:model.create_trial(simple_output_set=..., advanced_output_set=..., ...) を実行し、起動前に trial.sanity() を実行してください。詳細は jinko-trial の起動前チェックを参照してください。
キャリブレーションの SDK 呼び出しには jinko-calibration-cmaes を使用します(model.create_calibration(simple_output_set=..., advanced_output_set=..., ...))。
キャリブレーションには、少なくとも 1 つの適応度関数のソースが必要です:validForFitnessFunction: True を持つデータテーブル(jinko-data-table を参照)、および/または目的関数を持つ詳細出力セットです。
SDK スクリプト
SDK のインストール後、これらはコンソールスクリプトとして PATH 上で使用でき、以下のように python -m でも実行できます。
jinko.cli.create_simple_output_set:デフォルトではドライランを実行し、--applyを指定すると単純出力セットを作成します。jinko.cli.create_advanced_output_set:デフォルトではドライランを実行し、--applyを指定すると詳細出力セットを作成します。jinko.cli.inspect_output_set:既存の単純または詳細出力セットを確認します。jinko.cli.edit_advanced_output_set:既存の詳細出力セットに制約/スカラー/目的関数を追加します。
python -m jinko.cli.create_simple_output_set --model-sid cm-... --output-id Drug
python -m jinko.cli.create_simple_output_set --model-sid cm-... --output-id Drug --folder 2026-07-07-output-sets --create-folder --apply
python -m jinko.cli.create_advanced_output_set --constraint "adults:age >= 18" --scalar "auc:auc(Drug)" --name "PK scoring"
python -m jinko.cli.create_advanced_output_set --from-json skills/jinko-output-set/assets/advanced_output_set_example.json --apply
python -m jinko.cli.inspect_output_set --kind advanced --sid sc-... --diagnostics
python -m jinko.cli.edit_advanced_output_set --sid sc-... --add-objective "obj_auc:auc(Drug):8:12:5:15:1.0" --show-diagnostics --apply
リファレンスの案内
- 測定値の辞書形式と編集方法については、
references/simple-output-set.mdを参照してください。 - 制約/スカラー/目的関数の形式、検証、診断、タグについては、
references/advanced-output-set.mdを参照してください。 - 制約/スカラー/目的関数の数式文法(関数、時間インデックス、アーム参照)とその注意点については、
references/formula-language.mdを参照してください。