AIALRA-SKILL-TEMPLATE は何をしますか?
グラフ駆動型のCodexスキルリポジトリテンプレート。決定論的実行、スキーマ検証、制御された学習、コアロック、独立したGitバージョン管理を備えています。
概要
このテンプレートは、Codexエコシステムで使用する再利用可能なスキルを構築するための基盤を提供します。以下の原則に従って設計されています。
- 決定論的実行: 同じ入力は常に同じ出力を生成します。
- スキーマ検証: 入力データは厳密に型チェックされ、検証されます。
- 制御された学習: 必要に応じてモデルを安全に微調整できます。
- コアロック: スキルの基盤部分は誤った変更から保護されます。
- 独立したGitバージョン管理: 各スキルは独自のリポジトリで管理され、バージョン履歴が明確です。
はじめ方
- このリポジトリをテンプレートとして使用して、新しいスキルリポジトリを作成します。
skill.yamlファイルを編集し、スキルのメタデータを記述します。src/ディレクトリにスキルのロジックを実装します。- スキーマ定義を
schemas/ディレクトリに追加します。 - テストを実行して、スキルが正しく動作することを確認します。
ディレクトリ構造
.
├── skill.yaml # スキルのメタデータ
├── src/ # ソースコード
│ ├── main.py # メインエントリーポイント
│ └── ...
├── schemas/ # スキーマ定義
│ ├── input.yaml # 入力スキーマ
│ └── output.yaml # 出力スキーマ
├── tests/ # テスト
│ └── test_main.py
├── .github/ # GitHub Actions 設定
│ └── workflows/
│ └── test.yml
└── README.md # スキルのドキュメント
スキル定義 (skill.yaml)
スキルのメタデータは skill.yaml ファイルで定義します。主なフィールドは以下の通りです。
| フィールド | 説明 |
|---|---|
name | スキルの一意な名前 |
version | セマンティックバージョニング |
description | スキルの説明 |
input_schema | 入力スキーマへのパス |
output_schema | 出力スキーマへのパス |
entrypoint | メインのエントリーポイントファイル |
dependencies | 必要な依存関係のリスト |
決定論的実行
スキルは純粋な関数として設計され、副作用がありません。これにより、同一の入力に対して常に同じ結果が得られます。
def run(input_data: dict) -> dict:
# 決定論的な計算
result = process(input_data)
return result
スキーマ検証
入力と出力は、事前に定義されたスキーマに対して自動的に検証されます。スキーマは JSON Schema または YAML 形式で記述します。
# schemas/input.yaml
type: object
properties:
query:
type: string
max_results:
type: integer
default: 10
required:
- query
制御された学習
スキルは、許可された場合にのみ学習(モデルの更新)を行います。学習は明示的に有効化する必要があり、その範囲は厳密に制限されます。
コアロック
スキルの重要な部分(コアロジックやスキーマ)はロックされ、誤った変更から保護されます。ロックを解除するには、明示的な承認が必要です。
独立したGitバージョン管理
各スキルは独自のGitリポジトリで管理されます。これにより、バージョン履歴が明確になり、異なるスキル間の依存関係が容易に管理できます。
テスト
# テストの実行
pytest tests/
# スキーマ検証
python -m skill_schema_validator
貢献
プルリクエストは歓迎します。大きな変更を加える場合は、まず issue を開いて変更内容を議論してください。