# AI Insight

> AI Insight が毎晩の決定論的な分析を、それぞれに Latchkey が代わりに実行できるちょうど 1 つのアクションを備えた、定量化された検出結果へと変える仕組みを説明します。

Source: https://latchkey.dev/ja/documentation/optimization-insights

## Summary

- **自己修復が直し、Insight が判断します。** 決定論的なディテクターが、Latchkey がすでに保存しているデータに対して毎晩実行されます。押すべきボタンはありません。
- すべての検出結果は**定量化**され、Latchkey が代わりに実行できるちょうど **1 つのアクション** を備えているため、あなたは設定するのではなく承認するだけです。
- セクションは空でないときにのみ表示されます: **Cost**、**Security**、**Reliability**、そして **Get more from Latchkey**。
- 適用すると `latchkey/insight-*` ブランチにプルリクエストが開きます。適用できるのは owner と admin で、検出結果を 1 件ずつ、または **Apply all** でまとめて適用します。
- **自己修復の成果レポート** は、すでに自律的に修正されたものを表示します。そこにあなたの承認を必要とするものはありません。

**AI Insight** ページ (サイドバーでは **Optimization Insights** と表示されます) は、1 つの分業の上に成り立っています: **自己修復が直し、Insight が判断する。** 安全に修復できる失敗は、あなたの手を借りずにランナー上で修正されます。人間の判断に値するものすべて、つまり支出のトレードオフ、セキュリティの衛生、信頼性のパターンは、数字の付いた検出結果と、Latchkey が代わりに実行できる 1 つのアクションとしてここに届きます。あなたが承認し、Latchkey が作業します。

## 検出結果の作られ方

押すべきボタンも、お守りするエージェントもありません。ページのメタ行には **「Refreshed nightly」** とあり、ディテクターがあなたの注意に値するものを見つけたときに検出結果が現れます。各カードの説明の段落には **「Latchkey analysis」** という接頭辞が付きます。それは、なぜこれが起きたのか、なぜ重要なのかを伝えるために存在するのであって、ページを水増しするためではありません。まだ何も表面化していない場合、ページには「AI Insight findings will appear here once nightly analysis runs.」と表示されます。

## ヒーロー: 修正済みか、承認待ちか

右レールの **Apply all N** ボタンは、適用アクションを持つすべての未対応の検出結果を適用します。プルリクエストを 1 件ずつ開き、進行中は **「Applying X of Y」** の進捗状態を、完了すると **「All PRs opened」** を表示します。個別の適用と同様、owner と admin が利用できます。

## 自己修復の成果レポート

ヒーローの下では、1 枚のカードが自己修復が自力で行ったことを報告します:

- **Failures auto-fixed**: 失敗し、ランナー上で修復され、人間の関与なしにグリーンに戻った実行。
- **Dev-hours saved**: 自動修正された件数を、実行 1 件あたり一律 0.5 開発時間で換算したもの。
- **Left for you**: Latchkey がフラグを立てたパターンのうち、自己修復が修正できなかった失敗。下の信頼性インサイトと [Runners ページ](/documentation/runners-dashboard) へリンクします。

> ****
> カード自身のフッターが最もよく言い表しています: 「This is a report on autonomous action, not a recommendation. Nothing here needs your approval.」

## 4 つのセクション

検出結果は 4 つのセクションにグループ化され、この順序で、空でないときにのみ描画されます:

- **Cost insights** 手つかずのお金。各検出結果は、大きすぎるランナーのダウンサイズのような 1 つのアクションです。
- **Security insights** 組織全体の CI/CD サプライチェーンの衛生であり、アプリコードのスキャンではありません。例: 「N GitHub Actions pinned to a mutable tag」。ピン留めの PR を開く Pin to SHA アクション付きです。
- **Reliability insights** 観測された実行履歴に見つかったパターン。たとえば p95 実行時間のリグレッションです。アクションの Investigate はエビデンスを開きます。
- **Get more from Latchkey** まだ有効にしていない Latchkey の機能: Add Latchkey caching、ランナーの入れ替え、または設定です。

## インサイトカードの構造

- **アクセントラベル**: Cost、Reliability、Regression、Security、または Adoption。
- **定量化された見出し**: ドルの数字、時間の数字、または数えられたリスク。定量化されていないアドバイスはこのページには載りません。
- **「Latchkey analysis」** の段落: なぜこれが起きたのか、なぜ重要なのか。薄い AI レイヤーが書きます。
- **アクション**。検出結果ごとにラベルが付きます (「Pin to SHA」「Add Latchkey caching」)。加えて、正確な変更を確認する **Preview**、根拠となるデータを見る **Evidence**、そして **Dismiss** があります。

**Dismiss** は検出結果を非表示にし、根底にある条件が変わらない限り再浮上しません。そのため却下はスヌーズではなく、本物の決定です。検出結果が修正を提案する場合、カードにはそれが **「Verified by run」** なのか **「Proposed fix, not verified by a passing run」** なのかも記されるため、その差分にどれだけの精査が必要かがわかります。

自己修復の提案の検出結果には、もう 1 つのコントロールが加わります: **Stop proposing** です。確認ステップの後、Latchkey はそのリポジトリのその失敗クラスに対する PR の作成を、**Settings、Self-Healing、Declined fixes** で取り消すまで恒久的に停止します。適用と同様、owner と admin に限定されます。

## 検出結果を適用する

1. **変更をプレビューする** **Preview** は Latchkey が何を変更するかを正確に表示し、**Evidence** は検出結果の背後にあるデータを表示します。ボタンの向こうに隠されているものは何もありません。
2. **適用する** 検出結果のアクションをクリックします。Latchkey は `latchkey/insight-<detector>-<hex>` という名前のブランチに、「Latchkey insight: pin GitHub Actions to commit SHAs」や「Latchkey insight: downsize runner in <path>」のようなタイトルのプルリクエストを開きます。適用できるのは owner と admin のみです。
3. **GitHub でレビューしてマージする** PR は他のものと同じように、あなたがレビューし、編集し、マージするものです。自動的にマージされるものはありません。カードは最終状態を追跡します: **View PR** リンク付きの **「PR #N opened」**、または設定タイプの検出結果の場合は **Enabled** です。

## 検出結果を自分のコーディングエージェントに引き渡す

検出結果の中には、あなたのコードベースに住むエージェントの方がうまく修正できるものもあります。そうしたものには、カードのポップオーバーが 2 つの選択肢を提供します: **Hand off to your coding agent** は、エージェントに貼り付けられる既製のプロンプト (**Copy prompt**) を渡し、**Set up MCP** は `coding-agent` という名前の API キーを作成して、接続するための `claude mcp add` コマンドを表示します。MCP の完全なセットアップは [AI エージェントを接続する](/documentation/connect-your-ai-agent) をご覧ください。

## 最新情報を受け取る

- **New insights found**: 毎晩のスキャンが新しい節約またはリスクを表面化しました。
- **Insight applied**: インサイトから開かれたプルリクエストがマージされました。

どちらもチャネルごとに切り替えられる情報通知タイプです。[通知](/documentation/notifications) をご覧ください。

## よくある質問

### まだ検出結果がないのはなぜですか？

ディテクターは毎晩実行されるため、監視を始めたばかりのリポジトリには、次のスキャンが完了するまで何もありません。また、健全で適切に設定されたセットアップでは、未対応の検出結果がゼロのままでも何もおかしくありません。空の状態では「AI Insight findings will appear here once nightly analysis runs.」と表示されます。

### Latchkey が私の関与なしにワークフローを変更することはありますか？

いいえ。すべての適用は、あなた自身がレビューし、編集し、マージするプルリクエストを開きます。承認なしに動作する唯一のものは自己修復であり、それは実行中のランナー上で動作し、あなたのソースに触れることは決してありません。このページの成果レポートが、自己修復が何をしたかを確認する場所です。

### Dismiss と Stop proposing の違いは何ですか？

Dismiss は 1 つの検出結果を非表示にします。根底にある条件が変わらない限り、非表示のままです。Stop proposing はより広範で恒久的です: Latchkey は、Settings、Self-Healing、Declined fixes で取り消すまで、そのリポジトリのその失敗クラスに対する PR の作成を停止します。

### 誰が検出結果を適用できますか？

owner と admin です。1 件ずつの適用でも Apply all の使用でも同じです。それ以外の全員は、検出結果、プレビュー、エビデンスを読むことができます。

---

Latchkey runs CI/CD that repairs its own failures. Agent entry points: https://latchkey.dev/agent.txt, https://latchkey.dev/openapi.json, https://latchkey.dev/llms.txt
