入门
简介
Skynet 是什么、能优化什么,以及从哪里开始。
Skynet 用来改进你已有的产物。你提供一个起始版本、一组用例和一个指标。Skynet 会提出新版本,在你的用例上运行每个版本,用你的指标为输出打分,并保留最好的版本。
Skynet 能优化什么
Skynet 支持四种产物类型:
| 产物类型 | 改动的内容 |
|---|---|
| 提示词 | 提示词文本 |
| 代码 | 源代码 |
| DSPy 程序 | dspy.Module 中各预测器(predictor)的指令 |
| 文本 | 任何其他文本,例如文档或配置 |
每次运行都遵循同一个契约。你的运行代码定义 run(artifact, input)。你的指标定义 score(input, output, expected=None)。指标返回一个分数和一段文字反馈。优化器读取反馈,让下一个版本更好。
一个产品,多个引擎
Skynet 就是 Optimize Anything。产物类型决定了哪些引擎可以处理它:
- 提示词、代码和文本产物使用原生引擎:GEPA、Best-of-N、Meta-Harness、AutoResearch、AutoSaddler 和 ShinkaEvolve。
- DSPy 程序产物使用 DSPy 优化器:DSPy GEPA、DSPy MIPROv2 和 DSPy BootstrapFewShot。
Auto 会替你选择。对于 DSPy 程序,Auto 使用 DSPy GEPA。对于其他产物类型,Auto 会组合五个原生引擎。请阅读优化的工作原理和引擎。
一次运行如何进行
- 你描述任务并设置起始版本。
- 你提供用例。Skynet 把它们划分为训练集、验证集和测试集。
- 你选择优化器、模型和预算。
- 你编写运行代码和指标。契约检查会在样例用例上运行它们。
- Skynet 执行优化并展示结果。
Skynet 根据验证用例选择版本,并在测试用例上报告最终分数。引擎永远看不到测试用例。