关于 experiment
Asta 的实验技能可针对计算研究任务编写并运行软件,随后生成结果报告;也可分析用户提供的实验数据并撰写研究报告。
主要功能
- 01运行软件实验
- 02分析提供的实验数据
- 03生成研究报告
- 04通过环境变量配置模型
适用场景
- 01用软件检验研究问题
- 02分析外部实验数据
- 03比较模型在任务中的表现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ allenai/ asta-plugins --skill experiment安装后在 Claude Code 中输入/experiment确认已加载。
详细介绍
运行实验
运行一项计算实验。对于可以通过软件解答的研究问题,此技能会编写并运行所需的软件,并生成结果报告。
即使实验并非由 Asta 执行,此技能也可用于分析实验数据并据此生成研究报告。在这种情况下,用户可以通过文件输入提供实验数据,Asta 会进行分析并生成报告。
环境变量
asta experiment(Panda)从环境变量中读取模型选择和凭据。这些选项不会作为 CLI 标志公开,因此如果要覆盖默认值,请在调用此技能前设置环境变量。
模型选择:
PANDA_LLM— 选择底层 LLM(例如,Claude 或 GPT 模型名称)。如果未设置,则使用panda_agent/config.py中定义的默认值。
提供商凭据(根据通过 PANDA_LLM 选择的模型设置相应的凭据):
OPENAI_API_KEY— GPT 模型所必需;Panda 的默认配置也需要此项。ANTHROPIC_API_KEY— 使用 Claude 模型所必需。TOGETHER_API_KEY— 使用 Mistral 或 Llama 模型所必需。INFERD_TOKEN— 使用 OLMo 模型所必需。
示例 — 使用 Claude 运行实验:
export PANDA_LLM="claude-3-5-sonnet-latest"
export ANTHROPIC_API_KEY="..."
asta experiment --task "..." --outputs_dir "$OUTPUTS_DIR" --result_file "$OUTPUTS_DIR/result.json"
如需查看受支持模型的权威列表和其他变量,请参阅 asta experiment --help 和 Panda README。
工作流
用户可以:
- 描述研究任务(TASK)并(可选)提供背景知识(BACKGROUND_KNOWLEDGE) 或
- 提供包含以下内容的文件路径 a. 任务(TASK_FILE) b. (可选)背景知识(BACKGROUND_KNOWLEDGE_FILE)
默认输出位置
重要提示:请始终指定输出位置,以便将实验整理到 .asta/experiment/ 中:
- OUTPUTS_DIR:
.asta/experiment/<YYYY-MM-DD-slug>/,其中:YYYY-MM-DD是当前日期slug是根据任务生成的简短描述性名称(例如,"french-translation"、"gpt4-eval")
- RESULT_FILE:
<OUTPUTS_DIR>/result.json
目录结构示例:
.asta/experiment/
├── 2024-01-15-french-translation/
│ ├── result.json
│ └── [experiment outputs]
└── 2024-01-16-model-comparison/
├── result.json
└── [experiment outputs]
用户也可以选择通过以下方式覆盖这些位置: 3. 为实验输出指定自定义目录(OUTPUTS_DIR) 4. 为结果摘要 JSON 指定自定义路径(RESULT_FILE)
任务和背景知识
如果用户描述了任务并(可选)提供背景知识,请按以下方式运行:
使用默认输出位置(推荐):
# Create output directory with date and slug
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-<task-slug>"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task "TASK" \
--background_knowledge "BACKGROUND_KNOWLEDGE" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
示例:
# Task: Assess GPT-4 translation quality
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-gpt4-french-translation"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task "Perform an experiment to assess how good gpt-4o is at translating into French. Use just 5 test examples." \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
使用自定义输出位置(用户指定时):
asta experiment \
--task "TASK" \
--background_knowledge "BACKGROUND_KNOWLEDGE" \
--force_report \
--outputs_dir "/custom/path/experiments/" \
--result_file "/custom/path/result.json"
任务和背景知识文件
如果用户提供了包含任务和背景知识的文件:
使用默认输出位置(推荐):
# Create output directory with date and slug (derived from task filename or content)
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-<task-slug>"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task_file "TASK_FILE" \
--background_knowledge_file "BACKGROUND_KNOWLEDGE_FILE" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
示例:
# Files: my_project/task.txt, my_project/background_knowledge.txt
OUTPUTS_DIR=".asta/experiment/$(date +%Y-%m-%d)-custom-experiment"
mkdir -p "$OUTPUTS_DIR"
asta experiment \
--task_file "my_project/task.txt" \
--background_knowledge_file "my_project/background_knowledge.txt" \
--force_report \
--outputs_dir "$OUTPUTS_DIR" \
--result_file "$OUTPUTS_DIR/result.json"
使用自定义输出位置(用户明确指定路径时):
asta experiment \
--task_file "my_project/task.txt" \
--background_knowledge_file "my_project/background_knowledge.txt" \
--force_report \
--outputs_dir "my_project/experiments/" \
--result_file "my_project/result.json"
注意事项
- 输出目录:运行实验前,始终使用
mkdir -p创建.asta/experiment/<YYYY-MM-DD-slug>/目录 - 任务 Slug:根据任务创建简短的描述性 slug(例如,"gpt4-translation"、"model-comparison")。使用小写字母并以连字符分隔。
- 结果文件:为保持一致,始终保存到
<OUTPUTS_DIR>/result.json - 背景知识:可选 — 用户未提供时可省略
- 自定义路径:如果用户明确提供了自定义输出路径,请使用这些路径,而非默认路径
- 始终向用户返回结果,并告知他们输出的保存位置
评论
支持 Markdown