Show HN: Nightwatch、オープンソースの読み取り専用の AI SRE

2026/06/08 5:24

Show HN: Nightwatch、オープンソースの読み取り専用の AI SRE

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

概要:

ninoxAI は、生産環境に一切触れることなく、警告の暴走(アラート・ストーム)を管理可能で実動可能な事象に変換するオープンソースの只読型 AI SRE ツールであり、Apache License 2.0 を採用しています。従来の自動的なリスクあるコマンドを実行するツールとは異なり、本ソリューションは Checkmk、Prometheus Alertmanager、Icinga2、Zabbix、Grafana、Docker、Kubernetes、AWS、GitHub と互換性を備えた、厳密にローカルフーストかつモニタリング非依存の知能レイヤーとして動作します。それは安全性を最優先して、人間による審査を受けるための分類された修正策を提案します。

システムはホストシステムを含む多様なソースからの警告を読み込み、JSON/CSV 経由でデータを正規化し、ホスト・サービス・深刻度ごとにクラスタリングおよび証拠を用いたノイズスコアリング(0〜1)を行います。それはノイズの多いまたはフラップするチェックを特定し、AI 調査官によって支えられ複数の LLM プロバイダー(デフォルトオフラインテンプレート、Mistral、Anthropic、OpenAI、Azure、および vLLM/Ollama などのローカルインスタンス)をサポートするツールコール AI エージェントと ReAct ループを活用してライブ証拠を収集し仮説を形成します。

堅牢なセキュリティ対策(環境要約による事前基礎付け、不信できるログに対するインジェクションシールディング、ワンウェイのシークレットスクラブリング、アクション分類(可逆的/不可逆的))に構築された ninoxAI は、初期設定のための外部 API キーや LLM を必要とせず、完全にオフラインで動作します。ユーザーは

docker compose up --build
によって http://127.0.0.1:8765 を指すことで、安全なインスタンスをわずか 60 秒で展開できます。

デフォルトで只読型として設計されている该平台は、そのロードマップから自動実行機能を明確に除外しており、警告を観察・推論することは行いますが、コマンドを実行したり変更を生産環境に書き込んだりすることはありません。今後の開発では MCP サーバーまたは Python プラグインによる拡張性を備え、「ninox」ランナーをセキュアな環境(K8s/Docker/AWS/オンプレミス)内に分散展開し、アウトバウンド接続のみによって中央の脳へ電話をかけており、ファイアウォールの穴を回避します。結局として、ninoxAI は問題のクラスタリングにより警告疲労を解決し、調整推奨を提供し、リスクランク付きの修正提案を行って、チームが効果的に対応しながらインフラストラクチャに関する決定に対する完全な制御を維持することを可能にします。

本文

Read-Only AI SRE: ninoxAI

ninoxAI はアラート嵐をインシデントへと変え、オンプレミスシステム上の根本原因を調査し、人間による承認を経て実行される修正提案を行います。本番環境に一切触れることはありません。

🚀 クイックスタート

基本情報

  • 監視ツールの上位レイヤー: Checkmk、Prometheus、Icinga2、Zabbix、Webhooks、Docker、Kubernetes、AWS、Grafana、GitHub、Git、VM などに対応。
  • ローカルファースト: AI SRE レイヤーは外部依存ではなく、監視データに基づいて動作します。
  • 4 つの主な機能:
    1. 🌊 アラート洪水の統合: 障害ごとに一件のインシデントとして統一し、「N のツールで確認済」として統合。症状一つ一つのアラート通知ではなく、対応可能な単一のアプローチを提供します。
    2. 🔇 ノイズの除去: ふらつき(flapping)、過剰に敏感なチェックを見逃しません。その根拠も提示します。
    3. 🤖 根本原因の調査: ツール呼び出し機能を備えた AI エージェントがオンプレミスシステムを調査し、仮説を形成します。
    4. 🧰 修正案の提案: コピー&ペースト可能な形で、リスクと影響範囲に基づいてランク付けされ、人間による承認(ゲート)が必要な修正案を提示します。

🔒 設計上の「読み取り専用 (Read-only)」

  • ninoxAI は観察し、推論し、推奨しますが、決して実行操作は行いません
  • コマンドの実行、アラートの確認済み(ack)、閾値の変更、本番環境への書き戻しは一切行われません。
  • すべての修正案は人間が承認するコピー可能なアサート(製品)です。無条件の自動実行は行いません。

⚡ 60 秒で試す (クイックスタート)

LLM も不要、API キーも不要、完全にオフライン動作:

cp .env.example .env          # NINOXAI_SECRET_KEY の設定
docker compose up --build     # http://127.0.0.1:8765 で起動

シンセティックなアラートでのテスト

本番環境の監視がまだの場合は、優先順位付け(triage)を確認できます。

docker compose exec ninoxai ninoxai generate-mocks
docker compose exec ninoxai ninoxai import data/mock_alerts.json
docker compose exec ninoxai ninoxai reprocess
# → /recommendations ページに、論理的な閾値設定およびふらつき(flapping)の修正案が表示されます

ローカル Python インストール

開発用環境での動作確認:

python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scripts\Activate.ps1
pip install -e ".[dev,embeddings]"

# 同様のコマンド実行で API にアクセス可能になります (http://127.0.0.1:8765)
python -m ninoxai generate-mocks
python -m ninoxai import data/mock_alerts.json
python -m ninoxai reprocess
python -m ninoxai serve 

その後、AI SRE を稼働させます。ninoxAI をツール呼び出し型の LLM(Anthropic / OpenAI / Mistral / ローカル Ollama など)に接続してください。

lab/
ディレクトリには実際の監視ツールとリアルタイム調査機能を持つエンドツーエンドのシナリオがあります。


🔭 仕組みについて

処理フロー:

ingest
(読み込み)→
normalize
(正規化)→
cluster
(クラスタリング)→
score noise
(ノイズ評価)→
recommend
(推奨)→
dashboard
(ダッシュボード) ↓ エージェント型、読み取り専用の根本原因調査機

段階行われること
ingest読み取り専用アダプタが各ソースから非正常なアラートを抽出し、JSON/CSV のインポートも対応。
normalizeすべてのソースを単一のスキーマおよびメッセージの指紋(フィンガープリント)へマッピング。
clusterホスト・サービス・重大度・時間枠に基づいてグループ化。セマンティック埋め込みはオプション。
noise頻度、確認レート、チケットレート、短縮回復時間、ふらつき(flapping)などを基に 0–1 のスコアを付与。
recommendルールベースのチューニング推奨事項および根拠・証拠を示す。
investigateツール呼び出し LLM がライブエビデンスを集め → 根本原因の仮説 + 分類された修正案を生成。
  • クロスツール相関性: 同じ不具合がすべてのツールで発火します。「インシデント」ビューは、共有するクラスタを一つにまとめて表示し、「N のツールで確認済み」として読み取り専用(no merge)状態で提示します。

🤖 AI SRE 調査機

ninoxAI の特長機能です。Read-Only Typed Allowlist を駆動し、ReAct ループ(推論 → 行動 → 観察)を用いてライブエビデンスから根本原因の仮説を構築します。人間の承認を得られる分類された修正案を提案します。

読み取り専用機能 (すべて Read-only)

  • 🐳 Docker: コンテナ、ログ、統計、情報取得 (inspect)。
  • ☸️ Kubernetes: ポッド、ログ、イベント、デプロイメント(インクラスター RBAC を使用)。
  • ☁️ AWS: CloudTrail 変更イベント、EC2、セキュリティグループ、クォータ(IAM リードロールを使用)。
  • 📈 Grafana: データソースプロキシを介した PromQL + LogQL。
  • 🐙 GitHub: CI 実行、リリース、PR — 変更イベントの RCA (根本原因分析)。
  • 🌿 Git: ミラー化リポジトリ:コミット、差分、コードおよび履歴の検索。
  • 🖥️ ホスト: CPU / メモリ / ディスク / プロセス / ソケット / ログテール(通常仮想マシン向け)。

セキュリティと挙動:

  • すべてのアクションは分類され
    read_only
    、可逆性、影響範囲とともに明示されます。不明な場合は不可逆的に強制され、決して沈黙して自動実行されることはありません。
  • 事前知識あり (Pre-grounded): エージェントは環境の簡潔な概要からスタートするため、再発見ではなく診断を行います。
  • 強化されたセキュリティ: ログや差分からのコードインジェクションを防護し、機密情報は scrubbing(削除)されます。証拠なしの主張は接地ゲート(grounding gate)で制限されます。

→ エージェントコンソール (

/agent
) でライブストリーミング形式での実行が可能です。


🦉 分散 ninoxes エージェントの目、どこでも

エージェントは直接アクセスできないシステムも調査できます。「ninox」は環境内に住み、認証情報をローカルに保持し、ホーム(本番サーバー)へアウトバウンド接続する薄いランナーです。

  • ファイアウォールのインバウンド穴を開けることなくブレイン(中枢)と通信します。
  • ブレインはそれをローカルにあるかのように呼び出せるように、読み取り専用の能力サーフェスをアドバンテージ(発表)します。
   ┌────────────────────┐                         ┌────────────────────┐
   │    ninoxAI brain    │  ◀── アウトバウンドのみ ──  │     ninox runner    │
   │  ダッシュボード/API    │      (ninox がホームをダイヤル |  k8s/Docker/VM内の     │
   │  インシデント/RCA    │      、インバウンドの穴なし)      │  AWS/オンプレミス       │
   │  AI SRE 調査機        │                           │  認証情報はローカルに保持      │
   └────────────────────┘  ◀── 読み取り専用エビデンス   │                  │
                                                     └────────────────────┘
  • 能力は環境によって自動選択されます。一つのバイナリであり、着陸した箱に必要なツールを備えています。
  • 接続された ninoxes は、「オウムの衆議院」(
    /parliament
    ) に表示されます。

🔌 コネクタ

すべてのアダプターは読み取り専用です — アラートの確認、ダウンタイム、書き戻しは行いません。UI (

/connections
) で設定され、認証情報は Fernet 暗号化されます。

ツール状態
Checkmk
Prometheus Alertmanager
Icinga2
Zabbix
ジェネリック Webhook
PRTG⛔ stub

AI SRE にスタック(Jira、Sentry、Postgres…など)を読み込ませたい?

  • MCP サーバーを指向するか、Python 能力プラグインを書いたり、ランナープロトコルを通じてツールを公開するだけでよく、すべての外部ツールは同じ安全性シェル(ネームスペース化、インジェクションスキャン、分類強制)を介して実行されます。

🧠 LLM プロバイダー

デフォルトは

template
で、完全にオフライン動作です — LLM 不使用、ネットワークなし、API キーなし、トラッキングなし。サマリーや推奨事項にはそのまま動作しますが、あえてエージェントを駆動させることはできません(それにはツール呼び出しが必要)。役割に応じてリモートを選択してください。

プロバイダーメモ
template
オフライン — LLM なし、ネットワークなし。デフォルト。
mistral
コスト効率が良い、EU ホスト
anthropic
強力なツール呼び出し — 調査機におけるデフォルト
openai
OpenAI、Azure、およびローカル LLM (vLLM / Ollama / LM Studio) をベース URL で利用可能
  • 秘密情報の保護: すべてのリモートコールの前に行われる赤色化(Redaction)と scrubbing — ホスト名、IP アドレス、UUID、メール、パスは決定論的なプレースホルダーに変換され、提案されたコマンドのみで復元されます。認証情報は片道 scrubbing され、決して返されていません。

🛠️ 開発・貢献

  • 開発: 完全な CLI リファレンス、テスト設定、およびリンター規則は
    docs/development.md
    にあります。
  • CONTRIBUTING (コントリビュート): すべての貢献者は Owl(オウム)です。🦉 プルリクエスト、コネクタアダプター、能力プロバイダー、バグ報告など、すべて歓迎しています —
    CONTRIBUTING.md
    を参照してください。
  • コミュニティ: Discord 上の議場に参加してください。

📜 ライセンス

ninoxAI は Apache License 2.0 に完全に準拠したオープンソースソフトウェアです — オープンまたはクローズドのプロジェクトに関わらず、自由に使用、自己ホスト、フォーク、構築可能です。

オウムは観察する;人間が決定する。 🦉

同じ日のほかのニュース

一覧に戻る →

2026/06/08 4:01

Linear がなぜこれほど速いのか?技術的な解説

## Japanese Translation: # リニア革命:ウェブアプリケーションのパフォーマンス革新 リニアは、データベースをブラウザ内に完全に実行する(IndexedDB を使用)ことで、従来の CRUD アプリのデータ読み込み時間である約 300ms を数ミリ秒に短縮します。この「ローカルファースト」アーキテクチャでは、標準的なネットワークループが逆転し、デバイス上で変更を即時適用し、WebSocket を経由で非同期でデルタをプッシュすることで、アップデート待ちの地味な网络待ち時間を排除します。共同創設者のトゥオマス・カンカレは、この自社工程エンジンをゼロから構築することを強く推奨しました。タンスタッククエリや SWR などの一般的な楽観的な更新ライブラリを使用せず、サーバーを単なる同期ターゲットとして厳密に扱うアプローチを採用しています。JavaScript のサイズを最小限に抑えるため(圧縮後の JS は約 21MB にまで削減され、ルートレベルのチャンクに分けられている)、チームはバンドルパイプラインを 4 回も移行しました(Parcel → Rollup → Vite → Rolldown)。これにより、配送されるコード量は約 50% 削減されました。重要資産には、フォント(単一の可変 Inter ファイル)、数百のルートチャンクが含まれており、サービスワーカーと `<head/>` に設定された並行モジュールプレロードリンクを通じて事前キャッシュされます。これにより、オフライン時や繰り返し訪問時でも即座にレンダリングが可能になります。さらに、重要な CSS、JavaScript、認証ロジックは HTML に直接埋め込まれており、認証にはセッショントークンの即時取得ではなく、ローカルストレージ内の存在を確認する方式を採用しています。该系统は、50 件のイシューリストが変更された場合、わずか 50 セルだけを更新するなどの粒度の細かなリレンダを達成します。これは、データをプロパティごとの MobX オブザーバブルに水浸げすることで実現されており、標準的なフレームワークでは追いつけない優れた速度優位性を保証しています。

2026/06/08 3:33

依存症、逮捕、犯罪歴からの再起:ゼロから立ち直すまで

## Japanese Translation: 最も重要な示唆は、技術分野における採用決定において過去の過ちよりも将来の可能性を優先させるべきであるという点です。堅い身元調査は無視できない課題を乗り越えた有能な個人が不当に排除されるためです。著者は自らの驚異的なキャリア回復の実例によってこの主張を具体化しています:未成年の逮捕歴(監禁中に最大保安施設で Schedule II 指定薬物への所有および製造・頒布意図に関する 17 の起訴を含む)から、現代の技術産業における高位な技術職に就くまでです。当初、企業の「前科者なし」という採用ポリシーにより 8 社のオファーが撤回されましたが、彼は後に、ワークリリースインターンシップ期間中やハスラ(現在は PromptQL)で創設者から felony conviction の開示を受け入れた際に再雇用されるなど、採用管理者が大きなリスクを冒して彼を採用したことで成功を果たしました。彼の journey はまた、試行錯誤を通じて学んだ特定の教訓も強調しています:Techtonic での不当な解雇とその後 Slack の履歴を調べて正当化されたことや、Hasura などのコミュニティ主導のツールの発見とその仕事が不可欠になったことなどです。この個人的な物語は、犯罪記録を超えて才能が存在し、支援的なリーダーシップが人生を変えうることを説得力のある証拠として提供します。これからの未来において、業界リーダーは候補者の履歴に基づいて自動的に不合格にするのではなく、実証されたスキルを評価するよりニュアンスのある採用慣行を採用すべきです。功績基準による評価システムへとシフトすることで、技術セクターは見逃された膨大な talent の蓄水池を活用できるほか、更生と労働市場への再統合を積極的に支援し、より包摂的な環境を構築できます。

2026/06/08 3:54

LLM が人間のような属性を持つなら、同じく「エイジ オブ エンパイア2」もそうだ

## Japanese Translation: 本文書(arXiv:2605.31514)は、Adrian de Wynter 氏によるものであり、大規模言語モデル(LLM)に独自の人間のような(擬人化された)特性を帰属させることは欠陥のある仮定であると論じます。その理由は、そのような特性は「Age of Empires II」といったリアルタイム戦略ゲームでトレーニングされたニューラルネットワークを含む、あらゆる十分に複雑なシステムにおいて現れる可能性があるためです。著者は「Age of Empires II」が機能的かつチューリング完全であることを認めつつも、レゴの組み立てやグレート・ボストン地域など他のエンティティを、同様の擬人化的特性を示し得る強力なサブストレートの例として挙げています。基本的な証拠は、根本的な応答特性は一定のままでも、観測される行動の解釈はサブストレートによって変化する可能性があることを示しています。擬人化された属性が存在するかどうかを、サブストレートに依存せずに仮定することは循環的な結論や情報不足の結論につながります。著者は「null(零)」という仮説を提唱しており、明示的な測定がそれを否定するまで、LLM をこれらの特性において非特異であると扱うよう提案しています。この転換は、技術業界に対して、ニューラルネットワークだけでなく他のシステムにも人間のような性質を見出さないよう警戒することを促します。これを裏付けるために、本稿では分野の概要調査、潜在的な異議への言及、そして「null」仮説を適用する具体例について論じています。本研究は、オープンネスとユーザーデータのプライバシーを重視する arXivLabs の取り組みの一部です。