調査して修正する

修正実行

イシューごとに1つのエージェントが判定に到達し、原因を追跡し、プルリクエストを開きます。最初から最後まで読める単一のスレッドで行われます。

修正実行は、エージェントが1つのイシューを処理することです。各イシューには最大で1つの修正実行が付きます。それはfix_runタイプのスレッドで、判定に到達し、確認済みの問題であれば同じ会話の中で修正まで処理を続けます。

できること

スレッドは一連の流れを読む場所です。進行中の作業、そのリネージから1クリックで辿れる証拠、そして最後の結果です。実行はアラートまたは発見、その背後にあるクエリ、発火前後の最近のメトリクスとログ、最近の変更、コードを読みます。行動する前に、スレッドに因果の連鎖を書きます。シグナル、メカニズム、それを生み出すコンポーネントとコードパス、トリガー、影響範囲です。各リンクは名前付きの証拠に裏付けられるか、不明とマークされます。

仕組み

  1. 実行は、チェックまたは接続されたアラートが発見を生んだとき、チャットスレッドのエージェントが話題にしている問題からイシューを開いたとき、またはイシューでInvestigateを選んだときに始まります。
  2. エージェントは証拠を読み、confirmedまたはdismissedの2つの判定のいずれかに到達します。既存のイシューに一致する発見は、2つ目の実行を始める代わりにそのイシューに合流します。
  3. 確認済みの問題では、同じエージェントが原因を追跡し、因果の連鎖を書きます。
  4. 接続されたリポジトリのコード変更で原因が修正できる場合、実行は自動修正を通じてプルリクエストを開きます。プルリクエストで修正できない場合、実行は人がすべきことを名指ししたエスカレーションを発生させます。
  5. すべてのステップは、検出、再検出、自分のメモと並んで、イシューの活動タイムラインに載ります。

結果

エージェントの各ターンの後、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が表示されるため、チームの誰かが引き取れます。判定は決して保留されません。すべての確認済みイシューは目に見える形で確認済みになり、下限はその後の作業だけを先送りします。

関連