compile について
AgentOps向けの知識コンパイルスキルで、`.agents/` の成果物を相互リンク付きの Markdown wiki にまとめます。情報の抽出と統合、wikiの検査、整理に対応し、LLMバックエンドを選択できます。大規模な資料には増分・バッチ処理を利用できます。
主な機能
- 01学習成果物を抽出して統合
- 02相互リンク付きMarkdown記事を生成
- 03矛盾・孤立記事・不足を検査
- 04古い成果物や重複を整理
- 05LLMバックエンドを選びファイルを分割処理
活用シーン
- 01`.agents/` の学習内容をwikiにまとめる
- 02生成記事のリンク不足を確認
- 03古い知識や重複を整理
- 04大規模な資料の定期コンパイルを実行
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ boshu2/ agentops --skill compileインストール後、Claude Code で/compileを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/compile.featureconfidence-scoring.mdflywheel-diagnostics.mdknowledge-synthesis-patterns.mdphases.mdscripts/compile.shvalidate.shscripts/tests/test-fence-stripping.sh詳細
Compile — ナレッジコンパイラー
ループ内の位置: 運用ループの7番目のステップ(キャプチャ+ラチェット)です。昇格した
.agents/の学びを、相互リンクされたウィキにコンパイルします(複合化のサブステップ)。
未加工の.agents/アーティファクトを読み込み、構造化され、相互リンクされた
Markdownウィキにコンパイルします。KarpathyのLLMナレッジベースに着想を得ています。
このスキルでできること
ナレッジのフライホイールは、シグナルをリアクティブに取り込みます(/post-mortem、
/curate --mode=forge経由)。/compileは次の処理によってループを閉じます。
- マイニング — gitと
.agents/から未抽出のシグナルを掘り起こします(既存) - 学びの拡充 — 検証、統合、ギャップ検出を通じて学びを拡充します(既存)
- コンパイル — 未加工のアーティファクトを相互リンクされたウィキ記事に変換します(新機能 — 中核となる価値)
- リント — コンパイルしたウィキの矛盾、孤立した項目、ギャップを検出します(新機能)
- デフラグ — 古くなった重複アーティファクトを整理します(既存)
ベクトルDBは不要です。 個人規模(約100~400記事)であれば、コンパイル済みのウィキは コンテキストウィンドウに収まります。ウィキ自体が検索レイヤーです。
出力: .agents/compiled/ — [[backlinks]]付きの百科事典形式のMarkdown、
index.mdのカタログ、log.mdの時系列記録です。
プラグ可能なコンピュートバックエンド
AGENTOPS_COMPILE_RUNTIMEを設定して、LLMバックエンドを選択します。
| 値 | バックエンド | 備考 |
|---|---|---|
codex-cli | ローカルのcodexバイナリ | 設定不要です。Codex CLIの認証情報を引き継ぐため、APIキーは不要です。codexがPATHにあり、ほかに何も設定されていない場合は自動的に選択されます。 |
ollama | Ollama API | デフォルトモデル:gemma3:27b。リモート用にはOLLAMA_HOSTを設定します(例:ssh -L 11435:localhost:11435 bushido-windows)。 |
claude | Claude API(HTTP) | ANTHROPIC_API_KEYを使用します。モデル:claude-sonnet-4-20250514。 |
openai | OpenAI互換 | OPENAI_API_KEYとOPENAI_BASE_URLを使用します。 |
| (未設定) | Claude Codeセッション | 現在のセッションのLLMを介して、コンパイルをその場で実行します。 |
AGENTOPS_COMPILE_RUNTIMEが未設定の場合、ao compileはまずローカルのcodexバイナリを
自動検出しようとします(codex-cliランタイム)。これも見つからない場合、ヘッドレスコンパイルは
設定が必要な環境変数の名前を明示するエラーを出して、すぐに失敗します。
対話型の/compile呼び出しでは、引き続きコンパイルのプロンプトをその場で実行します。
このSKILL.mdを読んでいるエージェント自体がコンパイラーです。
ランタイムの優先設定(自動検出を上書き)
自動検出されないランタイムを恒久的に強制する場合(例:claudeを
インストール済みだが、プライバシー保護のためにOllamaを優先する場合)は、
~/.agentops/config.yamlに設定します。
compile:
preferred_runtime: ollama
優先順位(高い順):--runtimeフラグ、AGENTOPS_COMPILE_RUNTIME
環境変数、compile.preferred_runtime設定、codexバイナリの自動検出、
空(エラー)。
大規模コーパスのバッチ処理
ao compileはヘッドレスコンパイラーに--batch-sizeを渡します(デフォルトでは、
変更されたファイル25個を1つのLLMプロンプトで処理します)。2000ファイルを超える
コーパスに対して新たに実行すると、巨大なプロンプトを1つ送信するのではなく、
自動的に複数のバッチに分割します。
フラグ:
--batch-size N— 1バッチあたりのファイル数(デフォルトは25)--max-batches N— 1回の呼び出しで処理するバッチ数の上限。残りのファイルは次回の実行時に処理されます(デフォルトは0=無制限)
実行手順
各フェーズの詳細は、references/phases.md を参照してください。 モードの概要:
/compile— フルサイクル:Mine → Grow → Compile → Lint → Defrag/compile --compile-only— mine/grow をスキップし、compile + lint のみ実行/compile --lint-only— 既存のコンパイル済み Wiki の lint のみ実行/compile --defrag-only— defrag/cleanup のみ実行/compile --mine-only— mine + grow のみ実行(レガシー動作)
手順は次のとおりです。
- Mine — git +
.agents/research/+ 複雑性の高い箇所から有用な情報を抽出 - Grow — LLM 主導の検証、統合、ギャップ検出を行い、学習の確信度を調整
- Compile — インベントリ作成 → トピック抽出 →
[[backlinks]]を含む Wiki 記事の作成 - Lint — 矛盾、孤立項目、相互参照の欠落、古い主張を検出
- Defrag — 古い情報の削除、類似項目の重複排除、振動する目標の整理、正規化スキャン
- Report —
.agents/compile/YYYY-MM-DD-report.mdにレポートを出力
各フェーズの詳しい手順、確信度スコアリング表、自動昇格ルール、記事 / インデックス / ログ / lint レポート / compile レポートのテンプレート形式、正規化の欠陥スキャンについては、references/phases.md を参照してください。
スケジュール / 自動トリガー
軽量な defrag(マイニングやコンパイルを行わず、削除と重複排除のみ実施)は、compile-session-defrag.sh フックを通じてセッション終了時に自動実行されます。手動で /compile を実行しなくても、ナレッジストアをクリーンな状態に保てます。このフックの動作は次のとおりです。
session-end-maintenance.shの後、すべてのSessionEndイベントで実行されますaoCLI が利用できない場合は、何も表示せずにスキップしますao defrag --prune --dedupのみを実行します(コンパイルやマイニングは行いません)- セッション終了処理を妨げないよう、タイムアウトは20秒に設定されています
フルコンパイルを実行するには、/compile を手動で実行するか、ホスト OS のスケジューラーを使ってヘッドレスコンパイラースクリプトをスケジュールしてください。
# Example: external cron entry for nightly compilation on bushido
0 3 * * * cd /path/to/repo && AGENTOPS_COMPILE_RUNTIME=ollama bash skills/compile/scripts/compile.sh --force
AgentOps はこのフローを ao compile で提供します。無人でコンパイルを実行する場合は、ホストのスケジューラー(launchd、cron、systemd、CI など)を使って ao compile --force --runtime ollama を実行するか、より低レベルの bash skills/compile/scripts/compile.sh を直接呼び出してください。
セッション外でより広範な複利的なループを実行する場合は、/compile 内に並行する Dream ラッパーを独自に作るのではなく、セッション外の基盤(NTM + MCP + managed-agents)で実行してください。
対話モード
これらのモードは、対話型の /compile スキルの動作を説明しています。
| モード | 説明 |
|---|---|
--compile-only | mine/grow をスキップし、compile + lint のみ実行 |
--lint-only | 既存のコンパイル済み Wiki の lint のみ実行 |
--defrag-only | defrag/cleanup のみ実行 |
--mine-only | mine + grow のみ実行(レガシー動作) |
--full | フルサイクル:mine → grow → compile → lint → defrag |
--since 26h | mine フェーズの時間範囲 |
--incremental | 変更されていないソースファイルをスキップ(ハッシュベース) |
--force | ハッシュにかかわらず、すべての記事を再コンパイル |
ヘッドレススクリプトのフラグ
無人実行では、bash skills/compile/scripts/compile.sh で次のフラグを使用できます。
| フラグ | デフォルト | 説明 |
|---|---|---|
--sources <dir> | .agents | 学習内容、パターン、調査、振り返り、forge、ナレッジのソースルート |
--output <dir> | .agents/compiled | コンパイル済み Wiki の出力先ディレクトリ |
--incremental | on | 変更されていないソースファイルをスキップ(ハッシュベース) |
--force | off | ハッシュにかかわらず、すべての記事を再コンパイル |
--lint-only | off | 既存のコンパイル済み Wiki に対して lint パスのみ実行 |
--full | on | 互換性のために受け付けます。デフォルトの動作ですでにヘッドレスのフルコンパイルパスが実行されます |
例
ユーザーの入力: /compile — Mine → Grow → Compile → Lint → Defrag の全サイクル。
ユーザーの入力: /compile --compile-only — 生のアーティファクトを Wiki にコンパイルするだけです。
ユーザーの入力: /compile --lint-only — 既存の Wiki をスキャンして健全性の問題を確認します。
ユーザーの入力: /compile --since 7d — より広い期間(7日間)を対象にマイニングします。
外部スケジュール: Ollama を使い、bushido GPU で夜間にコンパイルします。
Evolve 前のウォームアップ: 新鮮で検証済みのナレッジベースを用意するため、/evolve の前に /compile を実行します。
トラブルシューティング
| 問題 | 原因 | 解決策 |
|---|---|---|
ao mine が見つからない | ao CLI が PATH にない | ステップ 1 で手動の代替手順を使います |
| 孤立した調査がない | すべての調査がすでに参照されている | 2b をスキップし、統合に進みます |
| マイニング結果が空 | 最近のアクティビティがない | --since の期間を広げます |
| 振動スイープの結果が空 | 振動する目標がない | 健全な状態です。対応は不要です |
| Ollama 接続が拒否される | トンネルが起動していないか、ホストが正しくない | ssh -L 11435:localhost:11435 bushido-windows を実行するか、OLLAMA_HOST を確認します |
| コンパイルに時間がかかりすぎる | 小さなモデルで大規模なコーパスを処理している | --incremental を使うか、より大きなモデルに切り替えます |
| ハッシュファイルがない | 初回のコンパイル | 正常です。全体のコンパイルが実行され、完了後にハッシュが保存されます |
参考ドキュメント
-
references/compile.feature — 実行可能な仕様:Mine→Grow→Lint→Defrag による再構築、Lint による自動修正なし、増分バッチ処理、Evolve のウォームアップ(soc-qk4b)
-
references/phases.md — 各フェーズの詳細な手順(mine → grow → compile → lint → defrag → report)