2026年03月18日の技術動向

OnPrem.LLM AgentExecutor — サンドボックス付きAIエージェントを2行で起動する抽象化

OnPrem.LLMプロジェクトがAgentExecutorを公開した。LiteLLM互換のモデルであれば何でも動き、anthropic/claude-sonnet-4-5のようなクラウドモデルからollama/llama3.1hosted_vllm/<model>のようなローカルモデルまで、同一APIで切り替えられる。

from onprem.pipelines import AgentExecutor

executor = AgentExecutor(
    model='anthropic/claude-sonnet-4-5',
    sandbox=True
)

result = executor.run(
    task="calculator.pyとtest_calculator.pyを作成し、pytestを全て通せ",
    working_dir='./calculator_project'
)

デフォルトで9つのツールが有効になっている。read_filewrite_fileedit_filegrepfindrun_shellweb_searchweb_fetchread_linesだ。コード生成・修正・テスト実行・Web調査を一通りカバーする構成になっている。

セキュリティ上の問題として、run_shellを有効にするとworking_directoryの外にファイルを書き出すスクリプトを自動生成・実行できてしまう。これを防ぐ方法は3つある。

# シェルアクセスを切る
executor = AgentExecutor(model='openai/gpt-5-mini', disable_shell=True)

# コンテナで隔離する(最も安全)
executor = AgentExecutor(model='anthropic/claude-sonnet-4-5', sandbox=True)

# ツールを最小権限に絞る
executor = AgentExecutor(
    model='openai/gpt-5-mini',
    enabled_tools=['read_file', 'write_file']
)

sandbox=Trueの実装はPodManベースのコンテナで、WSL上でも動作確認されている。内部的にはPatchPalというコーディングエージェントを使っており、pip install patchpalが別途必要だ。

【警告】PodManはDockerと異なりデーモンレスで動作し、rootlessコンテナをデフォルトでサポートする。ただしWSL2環境ではcgroupv2の設定が必要な場合があり、sandbox=Trueを使う前にpodman infoでコンテナランタイムが正常に動作しているか確認することを推奨する。PodManが未インストールの場合、sandbox=Trueは無効にフォールバックするか、エラーになる可能性がある(公式ドキュメントで要確認)。

LangChainやAutoGenなどの既存フレームワークはツール呼び出しの抽象化には力を入れてきたが、実行環境の隔離はユーザー側に委ねていた。sandbox=Trueの1パラメータでコンテナ隔離を提供するアプローチは、その責任の所在をライブラリ側に引き取るものだ。

OnPrem.LLMはもともとオンプレミス・プライバシー重視の用途向けに設計されたライブラリだ。ローカルLLM実行を前提としていたため、LiteLLMを通じてクラウドモデルも同一インターフェースで扱えるという設計が自然に生まれた。llama.cppとの接続はOPENAI_API_BASE=http://localhost:<port>/v1という環境変数で行う。OpenAI互換エンドポイントを持つローカルサーバーをそのまま使えるため、量子化モデルをエージェントのバックエンドにする構成が比較的容易に組める。


eBPF spinlock × Linux kernel — Superluminalが踏んだ250msフリーズの調査記録

SuperluminalというプロファイラのLinux版開発中に、eBPFのスピンロック実装に起因するカーネルレベルの全システムフリーズが発見された。

Superluminalによるキャプチャを実行中、システムが定期的に250ミリ秒以上フリーズするというものだ。全スレッドが同時に「CPUビジー」状態として記録されるにもかかわらず、その期間中にサンプルが一切収集されていなかった。プロファイラの観点からすると矛盾した状態だ。dmesgには以下のメッセージが残っていた。

INFO: NMI handler (perf_event_nmi_handler) took too long to run: 250.424 msecs
INFO: NMI handler (perf_event_nmi_handler) took too long to run: 250.936 msecs

NMI(Non-Maskable Interrupt)はカーネルクラッシュダンプやwatchdogに使われる最後の手段的な割り込みだ。それが250ミリ秒以上ブロックされているということは、通常の割り込みでは止められないカーネル内のコードパスが長時間CPUを占有していることを意味する。

【補足】NMIがブロックされる仕組み:NMI自体はマスクできないが、NMIハンドラ内でスピンロック取得を試みた場合、同じCPUがすでにそのロックを保持していると無限ループ(ソフトウェアデッドロック)に陥る。ハードウェア割り込みを無効化するirqsave系ロックと異なり、NMIコンテキストはそもそも割り込み禁止状態で動作するため、ロック解放を待つ側も解放する側も進めなくなる。

デバッグ手法の選択でも壁にぶつかった。カーネルのリモートデバッグにはシリアルポートが必要だが、現代のマシンにはそれが存在しない。PCIeのシリアルポートカードを調達してgdbを接続したが、フリーズ中はデバッガ自体も応答しなくなり、gdbがクラッシュした。フリーズの瞬間にカーネルの状態を直接観測することができなかった。

この制約から、最小再現ケースの構築という方向に切り替えた。Superluminalの機能を一つずつ無効化していき、どのコードパスがフリーズを引き起こしているかを絞り込む作業だ。最終的にeBPFのスピンロック実装に問題があることが特定され、Linuxカーネルへのパッチ提出につながった。

NMIコンテキストとスピンロックの組み合わせは本質的に危険だ。NMIはどのコードの実行中でも割り込むため、通常のスピンロックをNMIハンドラ内で取得しようとすると、すでにロックを保持しているコードをNMIが割り込んだ場合にデッドロックが発生する。bpf_spin_lockは比較的新しく追加された機能であり、perf_eventのNMIハンドラとの干渉がこの250ミリ秒のウォッチドッグタイムアウトを引き起こしていたと見られる。


Mistral AI Forge — エンタープライズがフロンティアモデルを一から構築するプラットフォーム

Mistral AIがForgeをリリースした。最大の変化は、エンタープライズが自社の独自データでフロンティアモデルを一から構築できる仕組みを、Mistralが正式にプロダクトとして提供し始めた点だ。

Forgeはプレトレーニング・ポストトレーニング・強化学習という複数のトレーニングフェーズをエンタープライズ向けに統合したシステムだ。公開データで汎用的に訓練されたモデルをファインチューニングするのではなく、企業内部の大量ドキュメント・コードベース・構造化データ・業務記録を使ってモデルそのものを構築する。モデルは企業固有の用語体系・推論パターン・制約を内部化する形になる。

アーキテクチャとしてはDenseとMixture-of-Experts(MoE)の両方をサポートする。MoEは同規模のDenseモデルと比べてレイテンシと計算コストを抑えながら同等の能力を発揮できる。

【補足】MoEの基本構造:MoEはモデル内に複数の「エキスパート」サブネットワークを持ち、各トークンの処理時にルーターが少数のエキスパートだけを選択して活性化する。全パラメータ数は大きくても、1回の推論で使うパラメータは一部に限られるため、同じ総パラメータ数のDenseモデルより計算量を削減できる。Mistral自身のMixtral 8x7Bがこの構造の代表例。マルチモーダル入力(テキスト・画像など)にも対応している。

パートナーとしてASML・エリクソン・欧州宇宙機関(ESA)・DSO National Laboratories Singaporeがすでに採用している。防衛・宇宙・通信・半導体製造といった規制が厳しく、内部知識の機密性が高い分野だ。汎用モデルでは対応が困難な領域を明確にターゲットにしている。

エージェントとの統合も設計の中心に置かれている。ドメイン訓練されたモデルを使うことで、エージェントのツール選択精度が上がり、多段階ワークフローの信頼性が向上する。「コードエージェントが開発ツールの主要ユーザーになる」という前提でForge自体を設計したと明言しており、Mistral Vibeのような自律エージェントがForgeを活用する構造を想定している。

OpenAIやAnthropicがAPIファーストのビジネスモデルを中心に展開するのに対し、Mistralはオープンウェイトモデルとオンプレミスデプロイを強みとしてきた。Forgeはその延長線上にある。「モデルを自社インフラで動かし、学習データも自社で管理する」という完全な自律性を提供することで、欧州AI Actへの対応や国家機関・防衛機関の調達要件を満たしやすくなる。


Chainguard OS Packages — コンテナイメージ丸ごとからパッケージ単位の提供へ

Chainguardが「Chainguard OS Packages」をベータリリースした。これまでのコンテナイメージ丸ごと提供から一歩進み、パッケージ単位でセキュアな素材を提供するモデルへの転換だ。

Chainguardはこれまで、ゼロCVEを維持し続けるコンテナイメージ(Chainguard Containers)を提供してきた。今回リリースされたOS Packagesは、その基盤となるパッケージ群を直接ユーザーに開放する。30,000以上のエンタープライズグレードのパッケージをプライベートAPKリポジトリ経由で提供し、ユーザーは自前のDockerfile・Bazelルール・apko設定でイメージを組み立てられる。

【補足】APKはAlpine Linux由来のパッケージ形式(Android APKとは別物)。Chainguardのベースイメージ群はAlpineをベースとしたWolfi OSを採用しており、APKリポジトリはそのエコシステムに準拠している。apkoはWolfi/Alpine向けのOCIイメージビルドツールで、Dockerfileを使わずにパッケージリストから直接イメージを宣言的に生成できる。CVEの追跡・修正・コンプライアンス対応はChainguard側が自動で行い続ける。各パッケージにはChainguardのソフトウェアファクトリが生成したSBOMが付属する。

基調講演で「AIがエクスプロイト開発のタイムラインを数ヶ月から数時間に縮めている」と述べた。30日・60日・90日サイクルでCVEにパッチを当てる従来モデルは、AIの攻撃速度に対して構造的に追いつけない。

VP of EngineeringのDustin Kirklandが指摘した問題も具体的だ。「DerivativeなLinuxディストロを作っているチームは、ベースディストロ(Debian・Fedora・Alpine)のペースにしか追いつけない」という制約がある。上流が遅ければ、自社のセキュリティ対応も遅れる。OS Packagesはこの依存関係を断ち切る手段として位置づけられている。

背景にはChainguard Factoryという自動化パイプラインの存在がある。これがなければ30,000パッケージを継続的にゼロCVE状態で維持することは不可能だ。Factory 2.0への言及があり、スケールと自動化の深度が上がっていることが伺える。

米国政府の大統領令EO 14028以降、SBOMの義務化が加速した。金融・医療・政府系など規制の厳しい業界では、何が動いているかをパッケージ粒度で把握・証明する必要がある。一方で、自前でパッケージリポジトリを維持するのは現実的にコストが高い。Chainguardはこの「DIYしたいが重労働は嫌だ」というギャップを狙っている。


Kita (YC W26) — VLMを使った新興市場向け与信審査の自動化

VLMを使った新興市場向け与信審査自動化が実用段階に入った。フィリピン・メキシコ・インドネシア・南アフリカといった市場で、ドキュメントベースの与信フローをAIエージェントで代替する動きが始まっている。

Kitaが解決しようとしている問題は、既存のOCR・ドキュメントAIツールが「実際に届く書類」に対して機能しないという点だ。

【補足】VLM(Vision Language Model)とは、画像とテキストを同時に入力として受け取り、視覚的な内容を言語で推論・回答できるマルチモーダルモデルの総称。GPT-4V、Gemini、Claude 3系などが代表例。従来のOCRが文字の位置・形状を認識するのに対し、VLMは書類のレイアウト・文脈・意味を統合的に解釈できるため、フォーマットが不統一な書類への対応力が高い。新興市場では銀行明細や給与明細のフォーマットが統一されていない。PDFもあれば、紙書類を撮影したスクリーンショットもある。画質も低い。こういった条件下では汎用OCRは精度を維持できず、与信チームが手作業でのレビューに戻らざるを得ない。

Kitaのアーキテクチャはベースにモデル非依存のVLMを置き、その上に各市場・各レンダー固有のデータでファインチューニングした言語モデルを重ねる構造だ。新しい市場に入るたびにスタック全体が強化されるネットワーク効果を意図的に設計している。ドキュメントレベルのシグナルを返済結果と紐付けることで、不正検知とリスク評価のモデルが継続的に改善される仕組みになっている。

製品は2つある。ドキュメント解析・フラグ検出・構造化データ抽出を担う「Kita Capture」と、WhatsApp・メール経由で不足書類の収集を自動化する「Kita Credit Agent」だ。与信フローの上流(書類収集)から下流(審査判断)まで一貫してカバーしようとしている。

WhatsApp経由での借り手フォローアップという設計は、新興市場のコミュニケーションインフラに合わせた判断だ。フィリピン・メキシコ・インドネシアはいずれもWhatsAppの普及率が高く、メール中心の設計では到達率が下がる。

規模感として、2025年時点で世界の貸付総額は13.3兆ドルとされており、そのうち90%がドキュメントレビューを伴うとKitaは主張している。GPT-4V以降のマルチモーダルモデルが実用精度に達するまで、この領域に技術的に解決する手段がなかった。


今日の傾向

Mistral AIがForgeをリリースし、ASML・ESA・エリクソン・DSO National Laboratories Singaporeがプレトレーニングから自社モデルを構築する体制に入った。同日、Chainguard OS PackagesがAPKリポジトリ経由で30,000パッケージをベータ提供し始めた。Dan Lorencが「AIがエクスプロイト開発を数ヶ月から数時間に縮めている」と述べたことと、ForgeがMistral Vibeのような自律エージェントを前提に設計されたことは、AIが攻撃側・開発側の双方で前提条件を書き換えつつあることを示している。

OnPrem.LLMのAgentExecutorはsandbox=Trueの1パラメータでPodManベースのコンテナ隔離を提供し、LangChainやAutoGenが「ユーザー側に委ねていた」実行環境の安全性をライブラリ層に引き取った。Kitaは同じVLMの実用化を与信審査に適用し、フィリピン・メキシコ・インドネシア・南アフリカでWhatsApp経由の書類収集エージェントを動かしている。

Fedora 42(カーネル6.17.4-200)上でSuperluminalが踏んだ250msフリーズは、bpf_spin_lockperf_eventのNMIハンドラの干渉として特定され、Linuxカーネルへのパッチ提出につながった。eBPFがプロファイリング・セキュリティ監視・トレーシングに広く使われるようになった結果、NMIコンテキストとスピンロックの組み合わせという従来は稀だった問題が、実際の製品開発の中から発見されるようになっている。


参照記事

記録日: 2026-03-18