# 快速开始

> 大约十分钟内启动你的第一次优化运行。

本页介绍如何在大约十分钟内开始你的第一次运行。你需要登录、上传一个小数据集、填写向导的四个步骤，然后开始运行。示例会改进一个把客服消息归类到标签的提示词。

## 开始之前

你需要：

- 一个 Skynet 账户。
- 一个 CSV、JSON 或 Excel 文件（`.csv`、`.json`、`.xlsx` 或 `.xls`）。每一行是一个用例。
- 一个或多个输入列，例如 `message`。
- 一个期望输出列，例如 `label`。

> [!TIP]
> 至少使用 5 行。如果少于 5 对，Skynet 不会保留测试集，最终分数就会来自优化器用过的用例。

## 1. 登录

登录 Skynet，然后打开提交页面 `/submit`。

> [!NOTE]
> 本页使用 **标准** 级别的标签。**引导** 级别使用更简单的标签，跳过“优化器”步骤，并为你选择 **Auto**。你可以在“设置”中更改级别。

## 2. 任务

第一步是 **任务**。它会问“你想优化什么？”

1. 在 **目标** 中写明什么是好的结果。用通俗的话，例如“把每条客服消息归类为 billing、bug 或 other。”
2. 可选：在 **背景** 中添加有助于优化器的上下文。
3. 在 **工件类型** 中选择 **提示词**。
4. 在 **起始版本** 中粘贴你当前的提示词。

## 3. 输入

第二步是 **输入**。

1. 选择 **上传 CSV、JSON 或 Excel 文件**，或选择 **从库中选择** 来使用已保存的数据集。
2. 在 **如何读取数据** 下，为每一列指定角色：
   - **输入**：运行代码会收到这一列。
   - **输出**：期望值。指标会收到它。
   - **跳过**：Skynet 不使用这一列。
3. 划分方式保持 **使用推荐**。对大多数数据集，划分为 70% 训练、15% 验证和 15% 测试。

完整规则请阅读[数据集与划分](/docs/zh-Hans/concepts/datasets)。

## 4. 优化器

第三步是 **优化器**（“优化器、模型和预算”）。

- 优化器保持为 **Auto**。
- 选择一个 **反思模型**。优化器用它来编写新版本。此模型为必填项。
- 可选：选择一个 **任务模型**。你的运行代码会使用它。
- 在 **预算** 下，**最大评分器运行次数** 保持默认值 200。

如需选择特定引擎，请阅读[引擎](/docs/zh-Hans/concepts/engines)。

## 5. 指标和运行

最后一步是 **指标和运行**（“代码和指标”）。你需要编写两个文件。

```python tab="run.py"
from skynet import llm


def run(artifact, input):
    return llm(artifact, input=input["message"])
```

```python tab="metric.py"
def score(input, output, expected=None):
    want = expected["label"].strip().lower()
    got = str(output).strip().lower()
    if got == want:
        return 1.0, {"feedback": "Correct label."}
    return 0.0, {"feedback": f"Expected '{want}', got '{got}'."}
```

`artifact` 是你的提示词的当前版本。`input` 包含一个用例的输入列。`expected` 包含输出列，以列名作为键。

然后在 **契约检查** 下选择 **检查**。检查会在沙箱中用 3 个样例用例运行你的代码和指标。它检查以下内容：

| 检查项             | 失败的情况                                                |
| ------------------ | --------------------------------------------------------- |
| 运行代码签名       | `run.py` 没有定义 `run(artifact, input)`                  |
| 指标签名           | `metric.py` 没有定义 `score(input, output, expected=None)` |
| 指标模型           | 指标模型不可用                                            |
| 在样例上运行代码   | 你的运行代码在某个样例用例上抛出错误                      |
| 指标返回值         | `score` 没有返回有效的分数和反馈                          |

> [!NOTE]
> 只有契约检查通过后，你才能开始运行。

## 6. 开始并观察

摘要页面显示“准备运行”。它的标签页有“常规”、“数据”、“模型”、“预算”和“奖励”。检查设置，然后开始优化。

从你的运行列表中打开这次运行即可观察进度。请阅读[结果](/docs/zh-Hans/guides/results)来理解分数和胜出的版本。

## 后续步骤

- 编写更好的指标：[指标与评分器](/docs/zh-Hans/concepts/scorers)。
- 了解哪些引擎适合你的产物：[优化的工作原理](/docs/zh-Hans/concepts/optimization)。
- 了解一次运行的费用：[计费](/docs/zh-Hans/concepts/billing)。

---

Source: https://staging.skynetml.com/docs/zh-Hans/quickstart
