1 ポイント 投稿者 GN⁺ 2024-05-22 | 1件のコメント | WhatsAppで共有
  • plsfixは、すでに解決済みのインシデント記録を集めて検証済みランブックと実行可能なskillに変換し、同じ障害が繰り返された場合はスレッド内でそのまま実行ボタンを提供する
  • フローは読み取り専用の収集、反復インシデントのクラスタリング、エンジニアによる検証、実行の段階へと進み、各段階はチームの過去の解決事例に基づく
  • パイロット例では14,802件のイベントから7つの反復クラスターを見つけ、新規イベントの22%が自動解決され、Slackの例では通知の4秒後に94%の信頼度でランブックをマッチングしている
  • ランブックはYAML skillにコンパイルされ、安全なステップは自動実行されるが、blast radiusのある修正は指定された承認者のところで停止する
  • フィンテックおよびプラットフォームチーム向けの6週間パイロットは、4週目までに反復インシデント量を30%削減できなければ費用を請求せず、読み取り専用の収集設定には約30分かかる

反復障害を実行可能な知識に変えるプロダクト

  • plsfixは、チームがすでに解決したインシデントをSlack、PagerDuty、GitHub、Claudeなどから取り込み、検証済みランブックと実行可能なskillに変換する
  • 同じ形の障害が再び発生すると、ボットが同じスレッドに回答を投稿し、ユーザーはRun playbookを1回クリックするだけで実行できる
  • 初期画面のパイロット指標は、acmeパイロット1週目のデータとして表示されている
    • 14,802件のイベントを収集
    • 7つの反復クラスターを特定
    • 新規イベントの22%を自動解決

解決知識が散在し、反復障害が大きくなる問題

  • 多くの障害は完全に新しい問題ではなく、過去に解決したものの記憶されていない反復障害に近い
  • 例として、シニアエンジニアが午前3時にSlackスレッドにあった正確な解決策をもう一度探さなければならない状況が挙げられている
  • 解決プロセスは複数のツールに分散して残る
    • PagerDutyにはacknowledgeがある
    • Claudeスレッドには診断がある
    • クローズ済みPRコメントには実際の修正がある
  • plsfixはプロンプトだけでランブックを作るのではなく、チームが過去に実際に解決したインシデントから各ステップを追跡する

収集から実行までの4段階

  • Ingest

    • 読み取り専用コネクターが、チームが実際に問題を解決している場所から解決済みの作業を取り込む
    • クラスタリングの前にPIIを削除する
    • 接続先はSlack、PagerDuty、GitHub、Jira、Linear、ServiceNow、Notion、Claude / ChatGPT
  • Cluster

    • 反復インシデントのsignatureを学習する
    • signatureは、アラートpayloadのregex、サービス群、デプロイとの近接性、チャネルと報告者のパターンなどで構成される
    • 同じ形の障害は同じクラスターに分類される
  • Verify

    • 過去の解決事例をもとにランブックのドラフトを作る
    • エンジニアが一度レビューし、必要に応じて修正したうえでVerifyを押す
    • すべてのステップに出典が付く
  • Execute

    • ランブックは実行可能なskillにコンパイルされる
    • 低リスクのステップは自動実行される
    • blast radiusのある作業は指定された承認者のところで停止する
    • Slack、CLI、PagerDuty、Linear、Jira、Web inboxから同じランブックを実行できる

Slackスレッドからそのまま実行されるランブック

  • 通知の4秒後に、ボットが94%の信頼度で既存クラスターとマッチしたランブックを同じスレッドに投稿する例がある
  • 例のクラスターはFX rate cache TTL fallbackで、検証済みランブックv3は6回使用され、成功率は83%
  • マッチングシグナルは次のとおり
    • Signature regex 94%
    • Recent deploy proximity 87%
    • Service overlap 100%
    • Channel + reporter history 71%
  • ランブック例は、古いFXレートがlive tradesの価格に使われる問題を扱う
    • Redis eviction中にcache miss pathが、2025年のload testから残った1時間TTL定数へfallbackする
    • 最後の発生は11日前と表示される
    • checkとverifyステップは自動実行され、fixステップは承認が必要

パイロットでクラスタリングした実際の欠陥

  • パイロットで現在クラスタリングしている7件のうち、3件の例が公開されている
  • FX rate cache TTL fallback set to 1 hour, not 1 minute

    • 条件はfx.rate.age_ms > 60000およびorder.execution.status = filled
    • cache miss pathがload testから残ったTTL_FALLBACK_MS = 3_600_000定数を返す
    • ピーク時のRedis eviction中に、約14k個のsymbolが60秒より古いrateで価格算定された
    • 以前のインシデントでは、手動で発見されるまでの18分間に$340k規模のmispriced tradesが発生した
  • Idempotency keys regenerated on retry → duplicate ACH debits

    • 条件はach.duplicate_debitおよびidempotency_key.reused = false
    • retry middlewareが5xxごとに元のキーを再利用せず、新しいX-Idempotency-Keyを発行する
    • 銀行から504の後に200応答が来る場合、2回目のretryが2回目のdebitを投稿する
    • 先月は12件の重複debitがあり、すべて手動reversalと顧客への謝罪が必要だった
  • Decimal precision drift between risk-svc and ledger-svc

    • 条件はpnl.reconcile.diff > 0.01およびservices.disagree = [risk, ledger]
    • risk-svcは金額をfloat64としてデシリアライズし、ledger-svcDecimal128を使用する
    • JSON round-tripでsub-cent precisionが失われ、差分が数千件の取引に蓄積して午後中にreconciliationをトリガーする
    • 4週間にわたって小さな差分が蓄積し、$9.2kのrecon deltaになった後で発見された
    • その他のpilotクラスターとして、stripe webhook drops post-deploy、postgres pool exhaustion on report-gen、kafka rebalance storm、market-data WS subscription leakが挙げられている

ランブックはWikiではなく実行仕様

  • 検証済みのすべてのランブックはYAML skillにコンパイルされる
  • skillにはtrigger signature、steps、expected outputs、リスクのある作業の指定承認者が含まれる
  • 保存するたびにランブックとdrift checkを実行し、ドキュメントと実行物が分岐しないようにする
  • ランブックの属性は次のとおり
    • ステップは擬似コードではなく実際のshell command
    • fixステップには指定承認者と明示されたblast radiusがある
    • すべての実行は次のマッチングのための新しいtraining exampleになる
  • YAML例はrb-fx-01ランブックを示している
    • confidence_thresholdは0.85
    • confirm_cache_ageはRedisでcache ageとeviction rateを確認する
    • force_cache_refreshは承認が必要で、blast radiusは約14k symbolsと約2秒のpricing pause
    • confirm_fresh_ratesはmax ageが60秒未満かを確認する
    • 実行後、#payments-platform#platform-oncallに通知し、S3パスにログを残す

信頼とガバナンス

  • 基本姿勢はread-onlyであり、実行は承認ゲートを通過するよう設計されている
  • フィンテック向けに作られており、セキュリティチームがpilotを承認し、auditorがrunに署名できるpostureを提供する
  • データ保持と配置は次のとおり
    • rawデータは90日保持
    • redactedデータは18カ月保持
    • pilotでLegal承認を取得
    • single-tenant deploymentを利用可能
    • training dataはtenantの外に出ない
  • PII redactionはembeddingまたはLLM callの前に実行される
    • email、IP、customer-id、configurable secrets dictionaryが削除される
    • 元のartifactは元の場所に残る
  • connectorはすべてread-onlyで開始する
    • 実行scopeはrunbookごとに付与される
    • 指定承認者が必要
    • 1クリックでrevokeできる
  • すべてのrunbookステップは、学習元となった解決インシデントまでprovenanceがつながる
    • runごとのaudit logはsigned状態で提供される
    • SIEMへexportできる

実行面とパイロット条件

  • 同じskillは、チームがすでに使っている複数の表面で動作する
    • Slack thread auto-suggest: 見慣れたsignatureが発生すると、同じスレッドにマッチしたランブックを投稿する
    • /pls fix CLI: ターミナルで同じランブックと承認ゲートを使用する
    • PagerDuty incident page: on-callが入力を終える前に、incident cardにマッチしたランブックとone-click runを表示する
    • Linear / Jira issue: 既知のsignatureでissueを開くと、commentとしてランブックを添付し、実行を提案する
    • Web inbox: platform leadがevent、cluster、run、post-mortemを1カ所で確認できる
  • パイロットはClosed pilotで、4社のdesign partnerと2026年Q2と表示されている
  • 6週間のpilotは、fintechとplatform teamの小規模グループを対象とする
  • 進め方は、読み取り専用ingest、1つのclusterの共同検証、auto-suggest有効化の順
  • 4週目にrecurring incident volumeを30%削減できなければ費用を請求しない
  • 読み取り専用ingestの設定には約30分かかり、1週目にjoint cluster reviewを行い、4週目まではcommitmentがない

1件のコメント

 
GN⁺ 2024-05-22
Hacker Newsのコメント
  • ほとんどの地域では、これは商業賄賂に当たる
    California Penal Code § 641.3 によれば、従業員が雇用主の認識または同意なしに、自分の地位を他者のために使う対価として金銭や価値のあるものを受け取ると、商業賄賂罪になる
    ただし、金額または価値が**$250以下**の場合、この条項は適用されない

    • 法律がすでに便利な解決策を与えているように見える。入札フィールドに**<=250 の制約**だけかければいいという話だ
    • 他の手段がまったくないなら、賄賂は本当に悪いのかが核心だ。Big Tech が気にしていたなら顧客サポートがあったはずだが、そうではないので、市場が独自の解決策を作り出している
    • 1件あたり $250 未満なら大丈夫そうだと言いたいのだろう
    • 変だな。では選挙献金も $250 に制限されるのか?
    • ソーシャルメディアのどこかに「自分のアカウントがロックされた」と投稿すると、復旧のために誰に連絡すべきか教えるボットが群がってくる
      私の見方では、アカウントロックはソーシャルメディア従業員、あるいはプラットフォーム上で動く制御されていない恐喝の仕組みのように見える。ソーシャルメディア自体もある程度詐欺に近く、匿名の詐欺師たちが人を惑わせる活動を組織する機会を作り続けてきた
      ソーシャルメディアは NFT、Crypto、インフルエンサー文化、各種の「できるまでできるふりをする」類いの仕組みを後押ししてきたし、いっそ独立した Web コミュニティに戻るほうがいい。しばらくは痛みを伴うだろうが、お金を払わなかったという理由で事業宣伝の投稿の閲覧数が 30 回にとどまるよりは、はるかにましだ
  • 狂っているように見える。どの会社でもこんなことをしたら当然解雇されるはずだ。正確な名前は汚職であり、法的影響も明らかに懸念すべきだ

    • 確かに巨大な倫理問題ではあるが、むしろそこがいちばん興味深い。倫理・コンプライアンス・汚職の問題によって社内で大きな注目を集め、根本的な問題を実際に長続きする形で改善させる可能性がある
    • 他の人たちが言っている通り、これは今後大きくなる問題だ
      実際に停止されるべき人、たとえば違法コンテンツを投稿した人がこのサービスを利用できる。会社が社内従業員の作成したフォームを信じて停止を解除すれば、その人は違法コンテンツを投稿し続け、また停止されるだろう
      こうした真陽性の事例が十分に積み上がれば、会社は最終的に従業員が権限を使って誰でも通していることに気づく。賢い会社なら社内従業員が解除したアカウントに印を付けているはずなので、最初の事例から見抜けるかもしれない
      もっとも可能性の高い結末は、その従業員の解雇だ。最悪の場合、会社がすべての社内従業員に対して外部者のためのフォーム提出を禁じることもありうる
      このサイトが冗談なら、少なくともその点を明確に表示すべきだ。単に知らない相手を検証しろという免責文では不十分だ。社内従業員がカスタマーサポートよりうまく検証できるかも疑わしいし、実際の連絡や送金を防ぐためにメール送信や公開といった機能を削除すべきだ
    • 同意する。個人の金を受け取り、会社の時間とリソースを使って、雇用主が望まないことをする仕組みだ。強度の低い賄賂のように聞こえる
      FAQ では従業員の匿名性を保証するとしているが、同時に google.com のメールアドレスに確認メールを送り、Google 従業員かどうかを検証すると書かれている。もちろん Google はそのメールを見ることができる
    • 少なくとも Meta/Facebook では、プラットフォーム上で何かを素早く処理する最速の方法がMeta に知り合いがいることだというのは、かなり前から公然の秘密だった
    • そう考えたいが、FAANG 内部にだけ掲載された求人票をいくつか進めていたとき、外部の人たちがそのポジションについて問い合わせるメールを送ってきた。後になって、有料推薦をめぐる小規模な斡旋業界が別に存在していたことがわかった
  • Robert Klitgaard 教授は、汚職 = 独占 + 裁量 - 透明性だと言った。もともとは政治システムと賄賂について書かれた言葉だが、ここにも当てはまる
    https://globalanticorruptionblog.com/2014/05/27/klitgaards-m...
    多くのテック企業は、自らの市場で独占、無限の裁量、ゼロに近い透明性を持っている。通行料スタートアップを誰かがもっと早く思いつかなかったことのほうがむしろ驚きだ
    https://en.wikipedia.org/wiki/Facilitating_payment
    コメントの大半は従業員にとって割に合わない取引だと見ているが、$500 でアカウント停止を解除する程度ならそうかもしれない。しかし年収 $300k を受け取る人でも、すべてのアカウントの 2FA コードがメールに送られる構造に縛られていたり、ソーシャルメディアベースの事業をしていたりするなら、アカウントを取り戻すために $500 よりはるかに多く払えるだろう
    Big Tech の従業員がみな San Francisco にいるわけでもない。ヨーロッパのような低コスト地域には、米国人の半分程度しか稼がない人も多く、所得が低いほどこうした誘惑に弱い
    賄賂を擁護するつもりはないが、ソーシャルメディア企業の従業員に金を払うことが非現実的だという反応がほぼ満場一致なのは驚きだ。歴史的に見て、透明性がなく、従業員に金銭換算可能な裁量があるシステムは腐敗してきた
    テック企業はこれをもっと深刻に受け止めるべきだ。意思決定者から公正な扱いを受けるために金を払うことに人々が慣れてしまうと、その行動を変えるのは非常に難しくなる

    • 勝つ唯一の方法は参加しないことだ。ソーシャルメディアは人類の疫病だ
  • 片方には事実上 解雇が確定する行為 があり、もう片方には150ドルがある
    昔FBで働いていたが、こういう形でアクセス権を売る社員を摘発するチームがあった。そこの大半の技術職にとって、実質1時間分の給料ほどの金のためにそんなリスクを負うのは想像しがたい

    • どんでん返し: これはこういう形でアクセス権を売る社員を釣るための ハニーポット市場 なのかもしれない
    • その通りで、こういう件でリベートを受け取るのは不誠実に見える。一方で、こうした問題に直面している側からすれば、社内の人間に金を払ってでも解決したい気持ちにはなりそうだ
      単なる技術的な問題、つまりアカウント停止だけでなく、そもそも不当だという感覚と、終わりのない地獄ループに閉じ込められた怒りが核心だ
    • FBをよく知らない人向けに言うと、maxrmk の言うことは正しい。少し背景を補足すると、プライバシーチームの1つがこうした違反を見つけると、社員はたいていHRミーティングに呼ばれ、通常は翌日に解雇される
      私の友人は、個人的に知っている友人のアカウント問題を助けようとして、意図せずこうしたことをしてしまった。本人はプライバシー違反だと知らずにシステムへアクセスしたが、数か月後にプロジェクトデータを調査していた際に監査がトリガーされ、その記録が見つかった翌日に退職処理された
      だから、これは良いビジネスアイデアではない
    • 本当に必要なのは、その摘発チームに就職して、そのチームが案件を見て見ぬふりしてくれる能力を売ることだ。名前は plsfixmyfix.com くらいでいいだろう
    • こういう会社の1つで働いている立場からすると、そのリスクを負う価値はまったくない
  • 自分だけかもしれないが、多くの人が大きな構図を見落としている気がする。こういうサービスは、通常の解決策が問題を解決できないときにしか生まれない
    私には、Big Tech が消費者の需要に合った 実効的な異議申し立て手続き を作れていないことのシグナルに見える。大きな収益にはならないだろうが、Big Tech がこの部分をどう改善するのか見てみたい

    • そうではないと思う。核心は非効率性だ。このサービスはジョークで、ほぼ確実に違法だ。みんなこのシステムが「壊れている」ことは知っているが、無料のカスタマーサポートを永遠に拡張し続けることはできない
      こうしたサービスへの正当な需要は、それらのアカウントに価値があることを示している。数年以内にテック企業がここへ直接参入して、法人顧客が受けているような 有料カスタマーサポート を提供するようになると思う。すでに「認証」アカウントに金を払えるのだから、次の段階はこれだ。企業が収益化しなければ政府が規制するだろう
    • これが現れる前は、内部申請の大半は本当に人を助けようとする社員から来ていた可能性が高い。もちろん、すでに金を受け取って社内フォームを提出する社員もいたかもしれないが、広く蔓延していた可能性は低い
      このウェブサイトのように手続きを公式化すると、アカウント停止解除用の社内フォーム提出が金銭の対価として行われる可能性がはるかに高くなる。申請者と不誠実な社員をマッチングする市場を作り、取引実行の摩擦を減らし、露骨に金を前面に出すことで、不当に停止された人を助けるより金目当ての社員を引き寄せるからだ
      だから、既存の手続きよりはるかに 倫理的におぞましい構造 に見える
    • HN の大半は、Big Tech が実効的な異議申し立て手続きを作れていないことを知っているはずだ。まったく秘密ではない。それでもこのサービスは露骨な腐敗だ
  • 以前、もっと起業家的なアプローチを見たことがある。OnlyFans モデルが LinkedIn で社員を見つけ、性行為とアカウント停止解除 を取引して Instagram アカウントを取り戻したという話だ
    https://www.newsweek.com/onlyfans-star-slept-meta-employees-...

  • 依頼者が本当に理由もなくブロックされた普通の人なのか、それとも CSAM のような法的理由や利用規約違反で正当にブロックされた人なのか、どうやって検証するのか?
    Mike Meta が実際にテロリストのアカウントを解除しようとして解雇されたら、特に社内での言及が監視されているのは明らかなのに、その責任をこのサービスが負うのか?

    • 会社の「検証済み社員」なら、適切な書類を出す前に自分で調べることもできるかもしれない。だがそうすると普通は別個の 記録の痕跡 が残り、結局は自分に返ってくる可能性が高い
      正直、ここでは利益よりリスクのほうがはるかに大きい。そもそもなぜ誰かがこれをやろうとするのか分からない
      「安定収入の6桁年収の仕事」対「インターネットに疎い人から受け取る一度きりの100ドル」なら、答えは明らかだ
      正直、おとり捜査の匂いがする
    • 誰かの気の毒な話がバイラルになったときに問題が解決されるやり方に近いのではないか。社員がそれを見て「この見知らぬ人が XYZ の問題を抱えている」というチケットを切り、サポート担当が調査して適切な措置を取る、という感じだろう
      Meta の実際の手順は知らない
    • アカウントが凍結されるよくある原因の1つは、そのアカウントが他人に乗っ取られたと認識されることだと理解している。そうしたアカウントへのアクセスを回復する 高速迂回チャネル を作るなら、非常に慎重に実装しなければならない
  • 今日がエイプリルフールか確認しなければならなかった。最近見た投稿の中でも最も衝撃的なものの1つだ。これで利益を得る人たちは、少なくとも解雇されることを心から願う

    • コンセプト自体は、一種の パフォーマンスアート的な抗議 のようにも見える
      こうした企業の不透明な非カスタマーサポートシステムを、賄賂で通り抜けるためのプラットフォームを作るというのは、低レベルの腐敗か高レベルのアートだ
    • このサービスに登録する社員なら気をつけたほうがいい。Facebook は間違いなくこの人物を訴えるだろうし、決済記録はディスカバリーで真っ先に提出させられる資料になるはずだ
      匿名性が長く保証される方法には見えない
    • むしろ、巨大テック企業が尊重する必要すら感じていない 一般人の権利 をいくらか取り戻しているようにも見える
  • これが非倫理的だと見なされる理由は完全に理解できる。報奨金を受け取る従業員が解雇されることも理解できる。
    ただ、実際にはどの法律に違反するのだろうか? 異例の措置を促すので、法的には賄賂に当たりそうではある。ただし、それはその「異例の」という部分ゆえだと思う。会社が法廷で、自社の停止に対する異議申し立て手続きが異例のものだと認めたうえで、これを起訴できるのだろうか?
    そして標準的な雇用契約のどの条項に違反するのだろうか? 雇用主が提供していないサービスを行って金を受け取ることだろうか? 興味深いことに、雇用主がそのサービスを提供しているなら、それはもはや賄賂ではなく合法的な優先料金になるので、これを防ぐには雇用契約に別の条項を入れる必要があるはずだ。
    修辞的な質問ではなく、本当に答えを探している。
    多くの面でこのプロセスはすでに起きており、関係者もある程度は予期している。Twitterの有名人が十分な騒ぎを起こせたために決定が覆ったように見えるケースを何度も見たし、それがここのフロントページに載ったこともあった。違いは、システムを迂回するために使われる通貨の種類だけだ。

    • 簡単な解決策がある。金額を自分たちで選んだ慈善団体への寄付にすればいい。会社が毎年寄付している団体でもよく、そうなれば慈善団体のために金を集めている人を解雇するのはずっと難しくなる。
    • これは商業賄賂と呼ばれる。ただし通常は州法がこうしたことを扱うので、管轄によって変わるはずだ。別の人がカリフォルニア州法の条文を貼っていた。
      カリフォルニア州では金額が$250未満なら法律は適用されないが、元記事のサイトにはその基準を超える「報奨金」がかなりある。
      標準的かどうかはわからないが、多くの従業員は他の雇用を受けないという文書に署名している。これが「雇用」に当たるのかはわからない。ただ、一部の雇用契約に「外部の有償業務禁止」のような、より広い表現が入っていても驚きではない。
      [0] https://news.ycombinator.com/item?id=40435890
    • 私が結んだ雇用契約では、少なくとも会社外で行う商業的業務を届け出ることが求められ、時には始める前に承認を得る必要があった。公開していない2つ目の有償の仕事があるなら、会社が望めば解雇事由としては十分だ。
    • サービスを提供する従業員の立場では、少なくとも契約違反である可能性が高い。
  • 参考までに、GoogleとStripeに知り合いがいたおかげで、私のスタートアップは壊滅級の災害から生き延びることができた。両社とも自動化システムが私たちを誤検知して決済処理を止めてしまい、他に手段がなかった。
    内部の人がいたからこそ、実際に判断できる人に異議申し立てを届けることができた。
    こうしたプラットフォームが良いとは思わない。倫理的に疑わしい面がある。しかし、依存しようとしている会社に上級職の知人を何人か個人的に知らないのなら、その依存関係を持つべきではない、という点は重要だ。

    • 自分は人脈を使って「壊滅級の災害」を避けるのはよくて、他の人たちが同じことをしようとするのは倫理的に疑わしい、ということか?
    • 一見すると矛盾しているように感じられる。特権の倫理に反しているようだ。いっそ全員が金を払うほうが、より良く、より公平かもしれない。