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>/ディレクトリを必ず作成してください。 - タスクのスラッグ:タスクから短く説明的なスラッグを作成してください(例:「gpt4-translation」、「model-comparison」)。小文字を使い、ハイフンで区切ってください。
- 結果ファイル:一貫性を保つため、必ず
<OUTPUTS_DIR>/result.jsonに保存してください。 - 背景知識:任意です。ユーザーから提供されていない場合は省略できます。
- カスタムパス:ユーザーがカスタム出力先を明示的に指定した場合は、デフォルトの代わりにそのパスを使用してください。
- 結果は必ずユーザーに返し、出力を保存した場所を伝えてください。