跳到主要内容

用一段 prompt 训练决策模型

本页提供一段可以直接粘贴给编程 Agent(如 Claude Code 或 Codex)的 prompt。Agent 会替你完成金融决策教程:准备数据,在 Qwen/Qwen3.5-4B 上训练 LoRA adapter,部署并与基座模型对比打分,最后释放 GPU。

训练和推理 endpoint 都会分配付费 GPU 资源。prompt 里设置了花费上限,并要求 Agent 在多花钱之前先停下来问你。

开始之前​

  1. 先自己运行一次 el auth login 完成登录,见安装并连接 CLI。Agent 复用保存的登录,不需要看到你的 API Key。
  2. 使用 el auth login 发放的 Key。在 Console 创建的 Key 还需要 MANAGE → 资源清理的编辑权限和 MANAGE → 用量的读取权限,否则 Agent 无法读取清理 Operation 和用量(见创建 Key)。
  3. 可选:为你的 Agent 安装 EnvLoop Skill。不装也可以,prompt 里已经给出 Agent 需要读的页面。
  4. 确认工作区余额足够覆盖你设定的上限。

Prompt​

把 BUDGET_USD 换成单个 Train Job 的花费上限,再把整段粘贴给 Agent。

在 EnvLoop 上训练一个小的决策模型,并证明它比基座模型更好。

先阅读:
- https://docs.envloop.ai/skill.md
- https://docs.envloop.ai/agent-docs/zh-cn/training/tutorials/finance-decision-model.md

准备
1. 新建一个工作目录,所有请求、回执和结果文件都放在里面。
2. 创建虚拟环境,安装 "envloop-cli[data]"、huggingface_hub、pyarrow 和 openai。
运行 `el --version`。
3. 运行 `el auth status --check`。失败时停下,让我运行 `el auth login`。
不要打印、记录或保存任何 API Key。
4. 从教程下载 prepare_data.py 和 evaluate.py。

任务
- 基座模型 Qwen/Qwen3.5-4B,配方 sft,LoRA,关闭 thinking。
- 数据:Hugging Face 数据集 EnvLoop/financial-decision-bench。
用 train split 训练,用 validation split 评测。
- 每行包含一条固定的 system、一条内容为 JSON 对象的 user,
以及只写所选选项 ID 的 assistant。

执行
1. 准备第一轮数据。确认训练文件里没有任何验证行。
记录每个文件的行数和 SHA-256。
2. 用 --max-cost-usd BUDGET_USD 提交 Train Job。
用 `el job metrics JOB_ID --follow` 跟踪。
大约每 30 分钟汇报一次 step、loss 和花费。
3. 训练成功后下载 Checkpoint 并校验 SHA-256。
4. 把 Checkpoint 注册为对应 serving profile 的 adapter。
提交带这个 adapter 的 Inference Job,等它开始服务。
5. 在同一批验证行上给基座模型和 adapter 打分,
temperature 0,max_tokens 16。汇报总准确率和每项能力的准确率。
6. 如果 adapter 没有超过基座,停下来,先把最弱的几项能力给我看,再决定是否继续花钱。
7. 否则按教程做第二轮:用 --focus 把第一轮最弱的两项能力传给
prepare_data.py,从第一轮 Checkpoint 继续训练,再打一次分。

清理
1. 打分结束后立即停止 Inference Job。等到 `el job get` 显示
inference.service_status 为 DELETED、inference.cleanup_confirmed 为 true。
如果 Key 能读取 Operation,再等待它的清理 Operation 完成。
2. 删除我不需要的 adapter。
3. 确认每个 Train Job 都显示 training.cleanup_confirmed 为 true。
4. 最后给我一张表:每一轮的 Job ID、Checkpoint ID、花费、基座准确率和微调后准确率。

规则
- 提高上限或启动上面没有列出的运行之前,先问我。
- 命令失败时,先在文档里查错误码,再决定是否重试。
- 只有重试同一个请求时才复用 request_id。

会发生什么​

Agent 会按金融决策教程的步骤执行,结果表应和教程里的类似。第二轮各项能力的提升在不同运行之间有差异。一轮训练需要几个小时,大部分时间在等 GPU 跑 step。Job 运行期间可以关掉对话,之后让 Agent 从工作目录继续。它需要的 ID 都保存在回执文件里。

在 Console 里核对 Agent 的工作:Experiment → Jobs 显示每个 Job 的状态、指标和花费,MANAGE → Usage 显示本次运行的用量。

用你自己的决策数据​

要用自己的决策记录训练,把 任务 一段换成:

任务
- 基座模型 Qwen/Qwen3.5-4B,配方 sft,LoRA,关闭 thinking。
- 数据:我的文件 decisions.jsonl。每行是 {"messages": [...]},包含一条固定的
system、一条描述情境和可选项的 user,以及只写所选选项 ID 的 assistant。
- 训练前按选项分层留出 10% 的行作为验证集,绝不用于训练。
- 如果文件超过单次请求的上限,先按教程“从 Dataset 训练”一节把它发布为 Dataset。

个人决策也是同样的做法。每条记录写清当时的情境、可选的选项和你最终的选择。个人数据请放在私有项目里。

下一步:从 Dataset 训练、部署并调用训练好的模型、监控训练。