Communityライティング&編集github.com

microsoft/SkillOpt

SkillOptは、凍結されたLLMエージェント向けに再利用可能な自然言語スキルを訓練するテキスト空間オプティマイザーです。軌跡駆動型編集、検証ゲート付き更新、およびデプロイ可能なbest_skill.mdアーティファクトを通じて動作します。

SkillOpt とは?

SkillOptは、マイクロソフトが開発したテキスト空間最適化ツールで、凍結された(重みを固定した)大規模言語モデル(LLM)エージェント向けに、再利用可能な自然言語スキルを自動生成・訓練します。このツールは、エージェントの行動軌跡(trajectories)を分析し、それに基づいてスキルを編集・改善する「軌跡駆動型編集」、編集後のスキルが実際のタスクで機能するかを検証する「検証ゲート付き更新」、そして最終的に最適なスキルをbest_skill.mdというアーティファクトとして出力する機能を備えています。SkillOptの主な利点は、LLM自体を再学習することなく、プロンプトや指示文として機能するスキル文書を反復的に最適化できる点です。これにより、開発者はコストのかかるモデルファインチューニングを避けながら、エージェントのパフォーマンスを向上させることができます。Claude Code、Cursor、Codexなどのエージェント向けに設計されており、自然言語で記述されたスキルを用いてエージェントの動作を効率的にガイドします。

対応✓Claude Code~Codex CLI~Cursor
npx skills add microsoft/SkillOpt

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

SkillOpt は何をしますか?

SkillOptは、凍結されたLLMエージェント向けに再利用可能な自然言語スキルを訓練するテキスト空間オプティマイザーです。軌跡駆動型編集、検証ゲート付き更新、およびデプロイ可能なbest_skill.mdアーティファクトを通じて動作します。

概要

SkillOptは、LLMエージェントがタスクを実行する際の行動を最適化するためのスキル(自然言語で記述された指示やテンプレート)を自動生成します。凍結されたLLMとは、モデルの重みを変更せずに、プロンプトやスキル文書のみを調整するアプローチを指します。これにより、モデルの再学習にかかるコストやリスクを回避しながら、エージェントのパフォーマンスを向上させられます。

主な機能

  • 軌跡駆動型編集: エージェントがタスクを実行した際の成功・失敗の軌跡(trajectory)を分析し、スキル文書を自動的に編集・改善します。
  • 検証ゲート付き更新: 編集されたスキルが実際のタスクで期待通りに機能するかを検証し、合格した場合のみ更新を適用します。
  • デプロイ可能なアーティファクト: 最適化されたスキルはbest_skill.mdとして出力され、そのままエージェントに適用可能です。

対応プラットフォーム

SkillOptは以下のエージェントプラットフォームでの使用を想定しています:

  • Claude Code
  • Cursor
  • Codex
  • その他、自然言語スキルをサポートするLLMエージェント

使い方

インストール

git clone https://github.com/microsoft/SkillOpt.git
cd SkillOpt
pip install -r requirements.txt

基本フロー

  1. 初期スキルの準備: エージェントに使用する初期スキル(例: skill.md)を作成します。
  2. タスクの実行と軌跡の収集: エージェントにタスクを実行させ、成功・失敗の軌跡を記録します。
  3. スキルの最適化: 以下のコマンドを実行してスキルを最適化します。
python skillopt.py --skill skill.md --trajectories trajectories.json --output best_skill.md
  1. 検証とデプロイ: 最適化されたbest_skill.mdをエージェントに適用し、動作を確認します。

設定オプション

  • --validation-threshold: 検証ゲートの合格基準(デフォルト: 0.8)
  • --max-iterations: 最大最適化反復回数(デフォルト: 10)
  • --trajectory-dir: 軌跡データの保存ディレクトリ

設定例

# config.yaml
skill:
  path: ./skills/code_review.md
  initial_prompt: ""

optimization:
  validation_threshold: 0.85
  max_iterations: 5
  trajectory_dir: ./data/trajectories

agent:
  platform: claude-code
  model: claude-3-opus-20240229

環境変数

  • SKILLOPT_VALIDATION_THRESHOLD: 検証閾値の上書き
  • SKILLOPT_MAX_ITERATIONS: 最大反復回数の上書き
  • SKILLOPT_TRAJECTORY_DIR: 軌跡ディレクトリの指定

注意事項

  • スキル文書は自然言語で記述する必要があります。
  • 軌跡データはJSON形式で、各ステップの入出力を含む必要があります。
  • 最適化には十分な計算リソース(特にメモリ)を推奨します。

ライセンス

このプロジェクトはMITライセンスの下で公開されています。

関連スキル