用途:通过 jinko-sdk 完成 Jinkō 在计算机模拟试验的搭建、健全性检查、运行、轮询与结果下载。上游资产(模型、vpop、协议、数据表、输出集)由 jk-model、jk-vpop、jk-protocol、jk-data-table、jk-output-set 等专门技能创建。
最小试验组成:一个计算模型;求解选项(默认用模型默认值,除非显式覆盖);一个简单输出集,即需保存和可视化的组件时间序列列表,未指定时用 model.time_dependent_ids() 作为默认输出 id。可选输入包括 vpop、协议设计、数据表设计、高级输出集/评分设计。
健全性约束:试验健全性报错时不得启动。必须调用 trial.sanity() 确认,而非重跑上游技能的独立检查(如 validate_scoring_formula、client.validate_scoring_condition、scoring_design.diagnostics),后者只验证孤立资产,看不到绑定到具体试验后的行为。trial.sanity() 与 Jinkō UI 启动前检查一致,是启动就绪的权威依据。常见约束:模型不能有健全性错误;协议、vpop、数据表 obsId 列中的描述符必须对应模型组件;数据表 armScope 值在使用协议时必须对应协议臂;高级输出集(评分设计)必须能针对本试验的模型输出和简单输出集干净解析,即使 jk-output-set 独立验证通过,此处仍可能报 ADVANCED_OUTPUTS_ERRORS。若报错,应展示并询问是否协助修复上游资产。
核心 SDK 方法:client.create_simple_output_set(model, model.time_dependent_ids())(除非指定输出 id);client.create_trial(model, vpop=..., protocol=..., simple_output_set=..., advanced_output_set=...);trial.sanity() 返回原始 dict,每个键(model、protocol、vpop、outputSet、scorings、dataTables、solvingTimes)含 sanity.errors/warnings 与 componentsSanity;trial.run();trial.wait_until_completed(timeout=1800);trial.output_ids();trial.results.summary();trial.results.timeseries({...}).to_dataframe();trial.results.scalars([...]).to_dataframe()。无 pandas 时用 TabularDownload.raw_bytes,结果载荷可能为 CSV 或压缩 CSV。附加数据表时,当前 SDK 高层试验辅助不暴露 data_table 参数,需用原始试验创建并传 dataTableDesigns;创建前确认每个数据表 metadata.public.validForFitnessFunction 为 True,否则可能因后端健全性错误启动失败。
项目文件夹规范:建议在专用 Jinkō 文件夹而非项目根目录创建输出集和试验。工作流开始时询问或提议文件夹名,如 YYYY-MM-DD-<experiment-name>。尽量复用精确匹配的现有文件夹:client.get_folder_by_name(name, exact_match_only=True)。不存在时仅在用户确认或脚本带 --apply 运行时创建。解析出文件夹对象或 id 后,在创建试验时传 folder=folder;简单输出集先创建再用 output_set.move_to_folder(folder) 移动。
附带脚本:scripts/find_completed_trial_results.py 列出试验、找到首个已完成项、打印摘要并下载 TimeSeries 与 Scalar 结果为 pandas DataFrame;scripts/setup_and_run_trial.py 创建简单输出集、由模型加可选资产创建试验、健全性检查、可选运行、轮询、可选下载结果。示例:python skills/jk-trial/scripts/find_completed_trial_results.py --limit 20 --output-dir trial-results;python skills/jk-trial/scripts/setup_and_run_trial.py --model-sid cm-...;python skills/jk-trial/scripts/setup_and_run_trial.py --model-sid cm-... --output-id Drug;python skills/jk-trial/scripts/setup_and_run_trial.py --model-sid cm-... --output-id Drug --folder 2026-06-15-trial-run --create-folder --apply --run;python skills/jk-trial/scripts/setup_and_run_trial.py --model-sid cm-... --output-id Drug --vpop-sid vp-... --protocol-design-sid pd-... --data-table-sid dt-... --apply --run --download-results。
参考文档:references/trial-setup.md 涵盖试验创建、安全的启动前健全性检查流程及 ADVANCED_OUTPUTS_ERRORS 排错;references/trial-results.md 涵盖已完成试验发现与结果下载。限制:资料未提供收费、价格、平台支持范围等细节。