
2026/11/04 6:16
Show HN: Kairos – オープンソースのリスクおよび不正検知意思決定プラットフォーム
RSS: https://news.ycombinator.com/rss
要約▶
日本語訳:
サマリー:
Kairos は、Sift、SEON、Riskified、Sardine といったプロプライエタリな不正検知ツールの安価な代替手段として設計された、オープンソースの実時間意思決定プラットフォームです。その主な価値は、登録、ログイン、注文、支払い、出金など重要なアクションに対するリスクスコアリングを自動化することにあります。これにより、「承認」「審査」「ブロック」「ステップアップ」の即座の意思決定と、明確な根拠が提供されます。ブラックボックス型のソリューションとは異なり、Kairos は独自の機能として MCP サーバーを介したコーディングエージェントを使用して、モデルのチューニングや実験管理を行えるようにしており、これには手動でのエンジニアリングを要しません。
本システムは、Finic の高度な「Grayson」モデル(非構造化データの処理や少数ラベルへの対応に優れています)と、XGBoost やロジスティック回帰といった従来の機械学習アルゴリズムを組み合わせています。ユーザーデータを元に、自動的にモデル変種のトレーニングとテストを行い、ROC-AUC、PR-AUC、ベースラインに対するゲインなどの主要指標をレポートします。Apache License 2.0 の条件に基づいて構築されており、Kairos は Docker を介したセルフホスティングをサポートしています(Node.js 22 と pnpm 10 が要件です)。また、標準的な開発者のワークフローとシームレスに統合できるように、TypeScript および Python の SDK も含まれています。
セルフホスティングに加え、このプラットフォームは Shopify などの e コマースインフラストラクチャに直接統合され、注文の意思決定やチャージバック学習に対応します。さらに、Stripe などからの入ってくる Webhook を受け付けます。業界への参入障壁を低減するためには、企業が既存の環境内でカスタムアクション(例:引き出しの処理など)を定義できるようになっており、外部データ設定に依存する必要がありません。入門するには、開発者が kairos.finic.ai でサンドボックス環境に登録し、MCP トランスポートを介して接続できます。ディスコード上のコミュニティリソースや専用のサポートチャネルも利用可能です。
本文
Kairos:オープンソースのリアルタイム詐欺検知プラットフォーム
Kairos は、ユーザー登録から決済、手戻りまでのトランザクションをリアルタイムで判断し、その根拠となるシグナルを記録するシステムです。Sardine や Riskified といった既存ソリューションに対し、以下の 2 つの独自機能を提供します:
- コーディングエージェントによるチューニング
- 学習ラベルなしでの詐欺事前検知意思決定モデル
特徴とコア機能
1. 意思決定機能 (Decisioning)
システムは単一の呼び出しで以下のアクションを返し、リスクスコアと判断理由を提供します。
- 承認 (approve):安全と判定した取引。
- ステップアップ (step up):追加の確認が必要。
- レビュー (review):人的確認を要する。
- ブロック (block):詐欺と判定し、実行禁止。
判断の根拠: 対象者の履歴、共有デバイス・カード・住所、セッションデータを基に自動決定されます。
ワークフローとキュー:
- 意思決定モデルへの質問、スコアリング、分岐、Webhook 呼び出し、案件作成が可能です。
- キューとケース管理:人間のレビュー作業を一元管理し、その解決策を「ラベル」として再利用できます。
2. エージェントファーストアプローチ
AI エージェント(Claude Code、Cursor、Codex など)が直接システムと連携し、ワークフローを構築・最適化します。
- MCP サーバー:すべてのエージェントアクションは鍵付きで記録され、判断結果を読み込めます。
- 実験 (Experiments):エージェントがモデルバリエーションを提案し、Kairos が学習・テストを行った上で勝者を自動選定してデプロイします。
3. ハイブリッドモデル構成
Grayson(Finic 独自の意思決定モデル) と伝統的機械学習の両方を組み合わせます。
- Grayson の強み:
- 少量データでも動作:何千件も学ぶ必要がなく、初期日から機能します。
- 非構造化データの理解:記述文やメール内容、メモなど、樹形モデル(XGBoost)が扱えないデータを処理可能です。
- 説明性:「なぜブロックされたか」を平易な言語で質問と対応付けて説明できます。
- 伝統的 ML の強み:自社の数値データからの精密学習や、判断あたりの低コスト化が可能です。
Kairos は両者を融合させ、Grayson の回答を特徴量として扱ったり、実験機能で最適な組み合わせを探ったりします。
開発者向けプラットフォーム
TypeScript (
@finic-ai/kairos) および Python (finic-kairos) の SDK、CLI、HTTP API を提供しています。Docker を使用したオンプレミス・セルフホスティングもサポートしています。
AI エージェントによる常時チューニング
Kairos は製品内のイベント(登録、ログイン、注文など)を投入し、各リクエストに対して判断を行います。Claude Code や MCP 経由のエージェントは**「詐欺検知 ML エンジニア」**として機能します:
- ワークフローの構築:判断基準やスコアリング対象フィールドの定義。
- 実験の設計:モデルバリエーション(Grayson 単独、数値データのみ、スタッキングなど)の提案。
- 自動学習とテスト:古いラベル付きデータでの学習を行い、ROC-AUC、PR-AUC、利得などの指標を報告。
- 勝者のデプロイ:エージェントが選定理由を説明し、最新バージョンとして適用。
対話例: あなた: 「チャージバックが増えています。Shopify の注文モデルを検出してください。」 エージェント: 「6 つのバリエーションを設計 → 実行 → ロジスティック回帰が勝ちました(ROC-AUC: 0.949)。v6 として公開します。」
インストールと始め方
1. カイロスクラウド (Kairos Cloud)
https://kairos.finic.ai でサインアップし、サンドボックス環境とシークレットキーを作成すれば準備完了です。
2. エージェントとの接続 (MCP)
コンソールの
Settings › MCP からツールグループを有効化し、API キーを取得します。
Claude Code の設定例:
claude mcp add --transport http kairos https://kairos.finic.ai/mcp --header "Authorization: Bearer ksk_…"
Cursor、Codex、VS Code も同様に接続可能です。
3. イベント送信と意思決定 (TypeScript SDK)
以下のコマンドで SDK をインストールし、API に接続します。
npm install @finic-ai/kairos # または: pip install finic-kairos
コード例:
import { Kairos } from "@finic-ai/kairos"; const kairos = new Kairos({ apiKey: process.env.KAIROS_API_KEY!, baseUrl: "https://kairos.finic.ai" }); // アクション定義(出金保留の判断) await kairos.defineAction("withdrawal", { subject: "user", hold: "この出金を保留すべきでしょうか?アカウントに詐欺や乗っ取られの兆候がある場合です", }); // イベントトラッキング(ログイン) kairos.track("login", { userId: "user_42", deviceId: "dev_9", ipCountry: "GB" }); // 意思決定実行 const decision = await kairos.decide({ type: "withdrawal", userId: "user_42", usd: 900 }); // 返却例:{ decision: "approve", riskScore, reasons }
4. セルフホスティング
Node.js 22、pnpm 10、および portal.finic.ai から取得する Grayson API キーが必要です。Postgres サーバーは自動的に起動します。
pnpm install cp .env.example .env # GRAYSON_API_KEY を設定する pnpm kairos dev # http://localhost:8787 (API) / 5273 (コンソール)
チーム利用には
docker compose up --build を使用します。
CLI ツール
ローカル環境でのクイック操作が可能になります。
apps/cli で pnpm link --global して PATH に追加すると便利です。
主なコマンド:
pnpm kairos signup # 新規アカウント作成 pnpm kairos login ... # ログイン pnpm kairos keys create "Name" # シークレットキー作成 pnpm kairos actions define ... # アクション定義 pnpm kairos import events ... # CSV イベントインポート pnpm kairos decide withdrawal ... # 即時意思決定 pnpm kairos workflows run ... # ワークフロー実行
インテグレーションとドキュメント
- Shopify:全ての注文を判断し、リスクの高いものをレビュー用に残します。ストアアプリは Discord または
で入手可能です。support@finic.ai - インバウンド Webhook:Stripe などのプロバイダーからのイベントを受け取れます。
詳細なドキュメントと API リファレンスは https://kairos.finic.ai/docs にあります。
クイックリンク・リポジトリ概要
ドキュメント目次
- クイックスタート:数分で動作させるガイド。
- エージェント用 MCP:接続方法と設定詳細。
- モデルと実験:スコアリングモデルの比較と選定。
- ワークフロー:トリガー、ステップ、式の定義。
- 概念:エンティティ、イベント、ラベル、ポリシーなどの解説。
- 履歴インポート:既存データの読み込み方法。
- SDK と API リファレンス:TypeScript・Python クライアント詳細。
リポジトリ構造
| パス | 内容 |
|---|---|
| HTTP API および MCP サーバー (Node.js + Hono, Drizzle) |
| React と Vite で構築されたウェブコンソール |
| CLI ツール |
| 意思決定パス、モデルスコアラー、ツリートレーナー |
| TypeScript クライアント () |
| Python クライアント () |
| 評価スイートと実験機能 |
| アクション定義とイベント型のテンプレート |
| エンドツーエンドシナリオ例 |
| ドキュメントファイル群 |
テストコマンド
pnpm test # すべてのテスト(ネットワーク接続不要) pnpm test:python # Python SDK 向けテスト pnpm typecheck # タイプチェック
コミュニティとライセンス
- Discord:質問・アイデア・デモ発表
https://discord.gg/4zRwRCK6Mx - メール:support@finic.ai
- コントリビューション:Issue と PR を歓迎します。
Kairos は Apache License 2.0 の元でライセンスされています。