修正実行
修正実行は、エージェントが1つのイシューを処理することです。各イシューには最大で1つの修正実行が付きます。それはfix_runタイプのスレッドで、判定に到達し、確認済みの問題であれば同じ会話の中で修正まで処理を続けます。
できること
スレッドは一連の流れを読む場所です。進行中の作業、そのリネージから1クリックで辿れる証拠、そして最後の結果です。実行はアラートまたは発見、その背後にあるクエリ、発火前後の最近のメトリクスとログ、最近の変更、コードを読みます。行動する前に、スレッドに因果の連鎖を書きます。シグナル、メカニズム、それを生み出すコンポーネントとコードパス、トリガー、影響範囲です。各リンクは名前付きの証拠に裏付けられるか、不明とマークされます。
仕組み
- 実行は、チェックまたは接続されたアラートが発見を生んだとき、チャットスレッドのエージェントが話題にしている問題からイシューを開いたとき、またはイシューでInvestigateを選んだときに始まります。
- エージェントは証拠を読み、
confirmedまたはdismissedの2つの判定のいずれかに到達します。既存のイシューに一致する発見は、2つ目の実行を始める代わりにそのイシューに合流します。 - 確認済みの問題では、同じエージェントが原因を追跡し、因果の連鎖を書きます。
- 接続されたリポジトリのコード変更で原因が修正できる場合、実行は自動修正を通じてプルリクエストを開きます。プルリクエストで修正できない場合、実行は人がすべきことを名指ししたエスカレーションを発生させます。
- すべてのステップは、検出、再検出、自分のメモと並んで、イシューの活動タイムラインに載ります。
結果
エージェントの各ターンの後、Polylaneは実行を分類します。
| 結果 | 説明 |
|---|---|
resolved | 根本原因が見つかり、問題は修正されたか回復しました。 |
diagnosed | 根本原因は見つかりましたが、修正はまだ届いていません。 |
inconclusive | エージェントは原因を特定できませんでした。 |
false_positive | 発見は本物の問題を指していませんでした。 |
failed | 実行はエラーで終了しました。 |
実行は棚上げされることもあります。棚上げされると、イシューが解決するまで監視が再調査を促すことはなくなります。
| 棚上げの状態 | 説明 |
|---|---|
needs_human_action | 修正には自分にしかできないことが必要です。 |
needs_decision | エージェントは続行前に自分の判断を必要としています。 |
awaiting_change | エージェントは修正が届くのを待っています。たとえばレビュー待ちのプルリクエストです。この状態は静かに棚上げされます。 |
failed | 実行は回避できないエラーに遭遇しました。 |
人を必要とする3つの状態はエスカレーションとして記録され、スレッドの結果カードに表示され、Needs youプリセットに一覧されるため、同じ依頼が2回通知されることはありません。
表示される場所
修正実行はThreadsにチャットのスレッドと並んで表示され、Needs youプリセットは人を待っているものを一覧します。スレッドのサイドバーのLineageには実行の背後にあるレコードがあります。Issueは証拠とイシューのタイムラインを開き、Escalationはエージェントが自分に求めたことをMark as handledとともに開き、Checkは問題を検出した評価を開きます。イシューのメニューにはInvestigate、Investigate again、View investigation、View triggering checkがあります。
設定
Settings > WorkspaceのInvestigationsカードでInvestigate automatically fromを設定します。これは修正実行が自動で始まる最低の重大度です。それより下のイシューは判定を保ったまま保留され、そのスレッドにはStart investigationが表示されるため、チームの誰かが引き取れます。判定は決して保留されません。すべての確認済みイシューは目に見える形で確認済みになり、下限はその後の作業だけを先送りします。