Kairos オープンソース不正意思決定プラットフォーム:コーディングエージェントが調整するリアルタイムリスクスコアリング

Kairos は、Finic による Apache-2.0 ライセンスのオープンソース不正・リスク意思決定プラットフォームです。サインアップ、ログイン、注文、支払い、ペイアウトをリアルタイムで評価し、リスクスコアと決定理由とともに、承認、段階的認証、レビュー、ブロックを返します。

Kairos は、Sardine、Sift、Riskified、SEON のオープンソース代替として位置づけられています。主な差別化要因は、MCP を通じたエージェントファーストのチューニングと、チームが従来の機械学習モデルをトレーニングするのに十分なラベルを蓄積する前に不正を検出するように設計された意思決定モデルです。

Kairos の機能

Kairos は、1回の呼び出しでリアルタイムの意思決定を行います。レスポンスには、結果、リスクスコア、および対象の履歴、他のユーザーと共有するデバイス、カード、住所、現在のセッションから導出された理由が含まれます。

Kairos は、不正運用を3つの中核機能で整理します。

  • リアルタイム意思決定: 1回の呼び出しで、リスクスコアと理由とともに、承認、段階的認証、レビュー、ブロックを返します。
  • ワークフロー: ワークフローは、意思決定モデルに質問したり、モデルでスコアリングしたり、分岐したり、Webhook を呼び出したり、ケースを開いたり、後で再度決定したりできます。
  • キューとケース: 人間のレビュアーがケースを処理し、その解決結果が将来のモデルトレーニングのラベルになります。

Kairos は、すべての意思決定をその背後にあるシグナルとともに保持します。この記録は、レビュー、説明、モデル改善をサポートします。

MCP によるエージェントファーストのチューニング

Kairos は MCP サーバーを公開しているため、Claude Code、Cursor、Codex、VS Code などのコーディングエージェントが意思決定を読み取り、ワークフローを構築できます。すべてのエージェントアクションは、そのキーの下に記録されます。

想定されるワークフローは、コーディングエージェントが不正 ML エンジニアの作業を実行するというものです。

  1. ワークフローを構築する。 エージェントは、何を決定するか、意思決定モデルにどの質問をするか、どのフィールドをスコアリングするかを定義します。
  2. 実験を設計する。 エージェントは、意思決定モデルのみ、顧客の数値に対するロジスティック回帰、勾配ブースティングツリー、モデルのスタック、または意思決定モデルの回答と顧客の数値を1つのモデルで組み合わせたものなどのバリアントを提案します。
  3. Kairos に実験を実行させる。 Kairos は、各バリアントを最も古いラベル付きデータでトレーニングし、次の部分で選択し、最新のデータでテストします。ROC-AUC、PR-AUC、95% 信頼区間でのベースラインに対するゲイン、および設定されたしきい値での適合率と再現率を報告します。
  4. 勝者を選んでリリースする。 エージェントはその選択を説明し、勝ったバリアントをワークフローの次のバージョンとして適用し、新しいラベルが届いたら戻ります。

README には、チャージバックが増加し、エージェントが shopify_order のより良いモデルを見つけて、勝てば公開するよう求められる、具体的なエージェントのやり取りが含まれています。エージェントは6つのバリアントを設計し、実験を実行し、注文の数値と Grayson の回答を組み合わせたロジスティック回帰が、検証で ROC-AUC 0.949、テストで 0.930 で勝ち、v6 として公開すると報告します。これらの数値は README の例であり、独立したベンチマークではありません。

意思決定モデルと従来の ML の併用

Kairos は、Finic の意思決定モデルである Grayson を中心に構築されています。ユーザーは、配送先住所が再配送業者のように見えるか、メールアドレスが使い捨てかなど、平易な言語で Grayson に質問し、Grayson は校正された確率で回答します。

Grayson は、従来の ML が弱いケース向けに設計されています。

  • ラベルが少ない: Grayson は、チームが教師ありモデルに必要な数千のチャージバックを蓄積する前の初日から機能します。
  • 非構造化データ: Grayson は、説明、メール、名前、住所、メモ、アイテムタイトルを読み取ります。これは、勾配ブースティングツリーが直接消費できません。
  • 説明可能性: すべての回答はユーザーが書いた質問に対応しているため、すべての意思決定は理由を述べることができます。

従来のモデルは、意思決定モデルが弱い分野で依然として強力です。ロジスティック回帰と勾配ブースティングツリーは、顧客自身の数値から顧客自身の結果を正確に学習し、意思決定ごとにコストがかかりません。Kairos は、Kairos 内でトレーニングされた、または外部からアップロードされたロジスティック回帰と XGBoost 互換の勾配ブースティングツリーをサポートしています。

Kairos を使用すると、チームは両方のアプローチを組み合わせることができます。Grayson の回答は、ロジスティック回帰または勾配ブースティングツリーで顧客自身のフィールドの隣の特徴になり、実験により、顧客のデータでどの組み合わせが最もよく機能するかが示されます。

開発者向けサーフェスとデプロイメント

Kairos は、TypeScript(@finic-ai/kairos)と Python(finic-kairos)用の SDK、CLI、HTTP API、Docker ベースのセルフホスティングを提供します。

Kairos Cloud の場合、ユーザーは kairos.finic.ai でサインアップし、サンドボックス環境とシークレットキーを作成し、イベントを送信できます。エージェントを接続するには、ユーザーはコンソールで 設定 › MCP を開き、エージェントが必要とするツールグループを有効にして、キーを作成します。Claude Code 接続は、ベアラートークンを使用した HTTP MCP エンドポイントを使用します。

セルフホスティングの場合、Kairos には Node.js 22、pnpm 10、および portal.finic.ai からの Grayson API キーが必要です。サーバーが独自の Postgres を起動するため、個別のデータベース設定は必要ありません。ローカル開発コマンドは pnpm kairos dev で、API を http://localhost:8787 で、コンソールを http://localhost:5273 で実行します。チーム展開の場合、リポジトリは docker compose up --build を提供します。

CLI は、ローカルサーバーへのサインアップ、リモートプロファイルへのログイン、シークレットキーの作成、アクションの定義、CSV からのイベントのインポート、意思決定の実行、ワークフローの実行をサポートしています。リポジトリには、Shopify の注文と Stripe などのプロバイダーからのインバウンド Webhook の統合も含まれています。

コードベースは、HTTP API と MCP サーバー用の apps/server、React と Vite の Web コンソール用の apps/console、kairos コマンド用の apps/cli、意思決定パスとモデルスコアラー用の packages/core、クライアント用の packages/sdk と packages/sdk-python、評価スイートと実験用の packages/eval に分割されています。テストは pnpm test で実行され、Python SDK テストは pnpm test:python で実行されます。

ライセンスとコミュニティの反応

Kairos は Apache License 2.0 の下でライセンスされています。執筆時点で、Hacker News の Show HN 投稿には 37 ポイントと 4 件のコメントがありました。

あるコメンターは、個人的には必要ないものの、このプロジェクトを歓迎しました。

個人的には必要ないけど、これがオープンソースでリアルタイムフローを示しているのは超クール。

— @edude03

別のコメンターは、名前の衝突に言及しました。

その名前のメタ Linux ディストリビューションがすでにあるよ :( https://kairos.io/

— @Messier43

kairos.io にある既存の Kairos メタ Linux ディストリビューションは、この不正・リスクプラットフォームが無関係なオープンソースプロジェクトと名前を共有していることを意味し、発見可能性や検索結果に影響を与える可能性があります。

Sources