First read ../arkcli-shared/SKILL.md, and follow the authentication, output, security, and secondary confirmation rules.
Applicable scenarios and capability boundaries
- Create a fine-tuning job: read
references/create.md - List or filter jobs: read
references/list.md - Query, observe, or operate on a specified job: read
references/manage.md - Select a step based on metrics, export artifacts, and deploy: read
references/export-deploy.md - Does not directly manage datasets, but can use local files, TOS URLs,
ds-*/dsv-*references, and presets supported by the model; when a Dataset needs to be created or maintained, switch to../arkcli-datasets/SKILL.md。 - Ordinary training Datasets use by default
--train-dataset(Multiplier=1); when repeated references, multipliers, or sample counts are needed, switch to the repeatable--train-path. For each item, set at mostmultiplierorsample_countone of them; when neither is set, it still defaults toMultiplier=1. The preset must be ininject_multiplierandinject_sample_countchoose one of the two. - Metric analysis and artifact export of training artifacts are orchestrated by this skill; custom model details, preparation of deployable versions, and Endpoint creation must be executed according to the model repository and deployment skill.
- Do not treat the Raw API or fine-tuning SDK as the default entry point.
Only load the references needed for the current task. Do not read all files at once just to become familiar with all commands.
Anti-trigger signals
- Only managing datasets without involving fine-tuning jobs → use dataset capabilities, do not load this skill.
- Only querying the public foundation model catalog → use
../arkcli-models/SKILL.md。 - Only managing existing inference Endpoints → use
../arkcli-infer-endpoint/SKILL.md。 - Pure login or profile/config troubleshooting → use respectively
../arkcli-auth/SKILL.mdor../arkcli-config/SKILL.md。 - Do not treat the Raw API or fine-tuning SDK as the default entry point; only enter the extension process after product commands cannot express the task and the user confirms the fallback.
Precise scope diagnosis of a specified job
- When the user provides
mcj-*and asks about job status, why it cannot be found, logs, or trajectory, this skill must be loaded andreferences/manage.md。 - must be read. "Why can't this job be found" first executes against the raw ID in the current active profile / project / region
arkcli train finetune get <mcj-id>, then explains according to the raw result of that authoritative API. mcj-*is an opaque resource ID. Do not assert that the ID is invalid based on date fragments, suffix words, or a guessed hash format, and do not rewrite the ID provided by the user.- When the user requests not to switch environments or to query only the specified job, it is forbidden to execute
train finetune list, scan other jobs, switch profile/project/region, or query other accounts. TargetgetOn failure, retain the error code, message, and request ID; only after the user separately authorizes it may the scope be expanded. - When the user requests saving the logs of a specified MCJ to a local path, the first business command is
arkcli train finetune logs <mcj-id> --output <path>. Do not first list all jobs or traverse with a script; if the target command fails, report it as-is and do not suggest switching environments. - When the user requests the complete rollout trajectory of a specified MCJ, directly execute
arkcli train finetune trajectory list <mcj-id> --full. Does not existarkcli train trajectorypath; when there is no trajectory or recording is not enabled, keep the original error and do not explore profile, MCP, or other tasks. logs --followPoll continuously only while the task is active and may continue to produce logs; when the task is already in a terminal state, output the current snapshot and exit automatically, and if a terminal state is found during polling and there are no new logs, it will also exit. Do not use an external timeout as the normal termination mechanism anymore.pauseandresumeare an explicit reversible relationship:pausesets the running task toPaused,resumeis used to resumePaused; when the backend allows it, you can also useresumeto retryFailed/Terminated, subject to the current API result.
Real-time information principle
The following information changes and is not hardcoded in the skill:
- Trainable models, model versions, and training methods
- Training prices
- Hyperparameter fields, default values, ranges, and enums
- CLI flags, task stages, and operation limits
- Inference deployment methods supported by base models or custom models
Before executing key commands or when execution errors occur, use the currently installed version's --help and ArkCLI query commands to obtain real-time results. If the CLI output is inconsistent with the command skeleton in this document, the current CLI prevails.
For data formats, use Volcengine Ark'sModel Fine-tuning Dataset Format Descriptionas the main basis, and confirm using model-aware server-side validation. Do not maintain easily outdated format descriptions and examples in the reference.
Default training type, training method, and deployment limits
- When the user does not specify a training type (
--type), handle it as SFT by default. - When the user does not specify a training method such as LoRA or full training, choose LoRA by default.
- When the user explicitly chooses full training, prompt before creation: the current ArkCLI does not yet support deploying full training artifacts, and deployment after training completion must be done in the console.
SDK Fallback Gate
The fine-tuning SDK is a fallback, not the default entry point.
Enter fallback only when ArkCLI cannot complete the task but the fine-tuning SDK can, for example:
- Custom grader or rollout plugin
- Complex RL workflows
- Custom job YAML
- Custom training code
- The current ArkCLI version does not have the corresponding capability
When fallback is needed, first check whether the current ArkCLI's train finetune、models finetune-config and related --help can fully express the user's configuration. If ArkCLI already provides the corresponding parameters or pipeline configuration and can fully complete the task, continue with the standard creation process.
When fallback is triggered, pause execution and ask the user:
The current task requires the fine-tuning SDK, and the ArkCLI standard creation process cannot express this configuration. Do you want to automatically install the fine-tuning SDK now and continue?
Only after the user explicitly confirms, read and execute references/ark-finetune-sdk.md; that reference is responsible for installing the SDK, preparing the configuration or code, and submitting the task. If the user refuses, do not install and do not submit.
Key client-side validation
- When the user provides a model name and training type and asks about "fine-tuning/SFT/LoRA pricing", the preferred and mandatory action is to execute
arkcli train finetune pricing --model <model> --type <type>. Do not switch to the genericarkcli pricing models: the generic billing catalog will not cross-validate training method capabilities by target model. - When explicitly selecting a training method, you must call
models finetune-config <model> <version> --type <type>with the exact model version. This command will first, by the same version'sFinetuneTypesvalidation capability; if unsupported, stop and do not continue with price inquiry, estimate, or task creation. - When manually paginating,
train finetune list --page-numbermust>=1,--page-sizemust be within1-100; page 2 and later exceeding thetotal_countcorresponding to the current filter conditions is a parameter error; do not treat an empty page as a valid result. - When passing both
train finetune metrics --from-stepand--to-step,to-stepmust be strictly greater thanfrom-step; an invalid interval should stop before querying metric names or curves. train finetune pricing --billing-method tokenQuery by Token billing item;instancemust provide the exact--model-versionand--type, and keep the hyperparameters consistent with subsequent creation. For instance results, onlyprice_complete=truecan serve as a complete hourly price range; otherwisemissing_flavor_ids。
Guards and General Execution Rules
- Run
arkcli auth status; on authentication failure, recover according to the shared skill. - Read operations can be executed directly; uploading files, creating tasks, incurring costs, and destructive operations must follow the confirmation rules.
- Do not repeatedly ask when the user has already explicitly specified parameters; ask again only when they are missing and cannot be derived from a real-time query.
- Distinguish the source of facts in the output: CLI/API return values, server-side validation results, and local rough estimates.
- Do not print credentials, complete training logs, or large trajectory content; after writing large results to a file, extract only the necessary fields.
References and Related Documentation
https://www.volcengine.com/docs/82379/1099350
Maintainer evaluation see references/evals.md。