【Codex CLIを節約しながら最大火力を出そう!!】AIの出力を安定させるために、SKILLSセットを自作設計
Photo by Gabriele Malaspina on Unsplash
【Codex】AIの出力を安定させるために、SKILLSセットを自作設計
はじめに
ManusのSKILLSも制作しましたが今回はCodexを紹介・・・
【参考元】https://qiita.com/iwashiMadai/items/2b2c7294d308a4d1f9b3
生成AIを使った開発は一般化してきましたが、実務で使うとすぐに壁に当たります。
- 同じ指示でも出力がブレる
- コンテキストが増えるほど精度が落ちる
- タスクごとに思考の質が変わる
この問題の本質はシンプルです。
「AIの振る舞いが定義されていない」
そこで、AIを“使う”のではなく、
振る舞いそのものを設計するというアプローチを取りました。
背景と目的
目的は明確です。
- 出力の再現性を担保する
- トークンを最小化する
- 思考と実装の混線を防ぐ
そのために設計したのが、
SKILLSという構造化された実行基盤です。
全体構成
SKILLSは2つのレイヤで構成しています。
■ D: プロジェクト側(軽量・入口制御)
.codex/
└─ skills/
├─ core/
│ └─ SKILL.md
└─ solution-deliberation/
└─ SKILL.md
.codex/
└─ skills/
├─ core/
│ └─ SKILL.md
└─ solution-deliberation/
└─ SKILL.md
役割は限定しています。
- core-skill → エントリー制御
- solution-deliberation → 判断・意思決定
ここでは「考えること」と「入口」だけを扱います。
■ C: グローバル側(共通処理)
.codex/skills/
├─ core-loader/
├─ engineering-core/
├─ self-improvement/
└─ .system/
├─ imagegen/
├─ openai-docs/
├─ plugin-creator/
├─ skill-creator/
└─ skill-installer/
.codex/skills/
├─ core-loader/
├─ engineering-core/
├─ self-improvement/
└─ .system/
├─ imagegen/
├─ openai-docs/
├─ plugin-creator/
├─ skill-creator/
└─ skill-installer/
こちらは、
- 実装(engineering-core)
- 学習(self-improvement)
- 共通機能(system skills)
を担います。
プロジェクトに依存しない処理を集約しています。
エントリー設計(最重要)
AIの挙動は、最初の読み込みで決まります。
1. Read docs/sessions/LATEST.md
2. Read AGENTS.md
3. Load additional context ONLY when necessary
1. Read docs/sessions/LATEST.md
2. Read AGENTS.md
3. Load additional context ONLY when necessary
重要なのは、
最初から全部読ませないこと
です。
Trigger設計(When分岐)
タスクごとに、起動するスキルを明確に分けています。
When:
- Implementation / Bug Fix
→ engineering-core
- Architecture / Decision
→ solution-deliberation
- Reusable improvement detected
→ self-improvement
- Context理解のみ
→ core-skill only
When:
- Implementation / Bug Fix
→ engineering-core
- Architecture / Decision
→ solution-deliberation
- Reusable improvement detected
→ self-improvement
- Context理解のみ
→ core-skill only
この分岐により、
- 不要な処理を排除
- 思考の混線を防止
- 実行フローを固定化
しています。
設計のポイント
① コンテキスト最小化
AIは情報を増やすほど精度が上がるわけではありません。
むしろノイズになります。
→ 必要な時に、必要なものだけ読む
② 責務分離
- Decision(判断)
- Execution(実装)
- Learning(学習)
を完全に分離
③ トリガーベース実行
スキルは常時起動しない。
→ 必要なものだけ動かす
得られる結果
この構造によって、以下が実現されます。
■ 再現性
同じ入力に対して、同じ処理が走る
→ 出力のブレが消える
■ トークン最適化
最小構成で動くため、
→ コスト削減 + 精度向上
■ 開発効率
思考と実装が分離されることで、
→ 無駄な試行錯誤が減る
■ 拡張性
スキル単位で追加・変更できる
→ 構造を壊さず進化可能
まとめ
AIの性能そのものではなく、
「どう使うか」ではなく「どう設計するか」
が重要なフェーズに入っています。
今回のSKILLSは、
AIを安定してプロダクトに組み込むための設計です。
今後はこの構造をベースに、
開発フローやプロダクトへ展開していきます。