2026年03月11日の技術動向

Datadog Agent — GoバイナリをFull機能維持のまま77%削減

DatadogのAgentバイナリは5年間で428 MiBから1.22 GiBへと膨張した。機能を一切削らずに77%削減を達成するまでに6ヶ月かかった。

(削減後のバイナリサイズは約280 MiBに相当する。1.22 GiB × 0.23 ≈ 280 MiB)

問題の根本はGoの依存モデルにある。transitive importsを含むため、小さな変更が数百パッケージを引き込む。Kubernetes SDKのような大型サードパーティ依存が加わると、バイナリサイズは制御を失いやすい。ネットワークコストの増加、リソース制約環境での利用困難という実害が積み重なり、本格的な調査に踏み切った。

削減は3段階で実施された。

第一段階: 依存関係の監査と分離

//go:build feature_x のようなビルドタグでオプション機能を除外し、コードを独立パッケージに移動することで不要な依存を切り離した。1つの関数を独立パッケージに移動するだけで、約570パッケージと約36 MBの生成コードが削除された事例がある。監査ツールは go listgodago-size-analyzer の3つを組み合わせた。

第二段階: リフレクションの削減

非定数のメソッド名を使ったリフレクションがあると、リンカはビルド時にどのメソッドが実行時に呼ばれるかを判断できない。到達可能なすべての型のすべてのエクスポートメソッドとその依存シンボルを保持し続ける結果になる。この問題はDatadog自身のコードベースだけでなく、kubernetes/kubernetesuber-go/diggoogle/go-cmp など外部プロジェクトへのPR提出で対処した。この段階だけで追加20%の削減を達成した。

第三段階: Goプラグイン機構の除去

plugin パッケージをインポートするだけでリンカがバイナリを動的リンク扱いにし、メソッドのデッドコード除去が無効化される。未エクスポートメソッドまで保持が強制されるため、この変更だけで一部のビルドで追加約20%の削減につながった。

Goコンパイラ・リンカの最適化がリフレクションやプラグインによって無効化されるという挙動は、公式ドキュメントに明示されていない部分が多い。Datadogが体系的に整理したことで、この「隠れたコスト」が広く認識される契機になった。

kubernetes/kubernetes など上流プロジェクトへのPRがマージされれば、Goエコシステム全体のバイナリサイズが恩恵を受ける。go-size-analyzergoda を使った依存監査のプラクティスが、Goプロジェクト全般に広がる可能性がある。


GitHub Copilot SDK — AIを「テキスト応答」から「実行エンジン」へ再定義

これまでの2年間、ほとんどのチームはAIを「テキストを入れてテキストを受け取る」インターフェースとして使ってきた。IDEの中でCopilotに質問し、返ってきた答えを自分で判断して次のアクションを起こす流れだ。GitHub Copilot SDKは、その構造を変える試みだ。

Copilot CLIを動かしているのと同じ計画・実行エンジンを、開発者が自分のアプリケーション内にプログラマブルな層として埋め込める。イベント(ファイル変更、デプロイトリガー、ユーザー操作)を検知して、アプリケーション側からCopilotをプログラムで呼び出す。実行ループはIDEの外、自分のシステムの中で回る。

記事が挙げている具体的なパターンは3つだ。

1つ目は「意図の委譲」だ。「このリポジトリをリリース準備する」という意図とConstraintだけを渡し、固定ステップを自分でエンコードしない。スクリプトはコンテキスト依存の分岐やエラーリカバリが絡んだ瞬間に脆くなる。エージェント実行はその問題を、ステップの定義ではなく意図の定義にシフトすることで回避する。

2つ目はMCP(Model Context Protocol)との統合だ。

MCPはAnthropicが2024年11月に公開した仕様で、AIエージェントがファイルシステム・データベース・外部APIなどのツールを標準化されたインターフェース経由で呼び出せるようにするプロトコルだ。LSP(Language Server Protocol)のAIエージェント版に相当する位置づけで、複数のAIフレームワークやIDEがすでに対応を表明している。オーナーシップデータ、APIスキーマ、依存ルールをプロンプトに詰め込む代わりに、エージェントが計画・実行フェーズで外部システムに直接アクセスする。プロンプトにシステムロジックを埋め込むと、テストも推論も難しくなる。構造化されたコンテキストとして扱うことで、ワークフローの信頼性が上がる。

3つ目はIDEの外への展開だ。CI/CDパイプライン、内部ダッシュボード、Slack Bot、カスタムツールチェーン、どこでもCopilotの実行能力を呼び出せる。「AIはIDEの中にある」という前提を崩す。

背景には、AIオーケストレーション層の乱立がある。LangChain、AutoGen、CrewAIなど、エージェント実行を実現するフレームワークは2023年から急増した。しかしそれらは「自前でオーケストレーションスタックを組む」前提で設計されており、チームごとに同じ問題を再実装する状況が続いていた。

GitHubがCopilot SDKで狙っているのは、そのコモディティ化だ。計画・実行エンジンをGitHubが管理し、開発者は「何をすべきか」の定義に集中させる。GitHubの強みはCopilotがすでに数百万人の開発者のワークフローに組み込まれている点だ。実行エンジンへの信頼がすでにある状態からSDKを展開できる。

MCPはAnthropicが主導して標準化を進めているプロトコルで、AIエージェントが外部ツールやデータソースに接続するための「配管」として機能する。GitHubがこれをSDKに組み込んだことで、エコシステム全体の接続性が前提になる。


Nvidia NemoClaw — チップ非依存のオープンソースAIエージェント基盤をGTCで発表予定

Nvidiaは「NemoClaw」と呼ばれるオープンソースのAIエージェントプラットフォームを、2025年3月16〜19日にサンノゼで開催されるGTC開発者会議で発表する予定だ。Salesforce、Cisco、Google、Adobe、CrowdStrikeといった大手企業への売り込みがすでに始まっており、自社従業員を支援するAIエージェントの展開基盤として提案されている。

注目すべきは「Nvidiaチップ以外のユーザーにも開放する」という方針だ。短期的なハードウェア収益を犠牲にしてでも、エコシステムの中心に座り続けることを優先するという意思表示に読める。

このタイミングは偶然ではない。ローカル動作・自律タスク実行型のAIエージェントへの関心が急激に高まっている。一方で、オープンソースエージェントがセキュリティ研究者に2時間以内にハイジャックされたという報告も出ており、エージェントのセキュリティリスクは業界の共通課題になっている。NemoClawがセキュリティとプライバシーツールの追加レイヤーを提供すると報じられているのは、この懸念への直接的な回答だ。

Nvidiaの直近の動きを並べると、戦略の輪郭が見えてくる。Nemotron(言語モデル)、Cosmos(物理AIモデル)、そして今回のNemoClaw。これらはいずれもAIエージェントのライフサイクル全体を支える基盤として設計されており、チップ販売に依存しないソフトウェア・エコシステム戦略への転換を示している。

GTC会議ではGroq設計チップを搭載した新しい推論コンピューティングシステムの発表も予定されている。

NvidiaはGroqと2025年にライセンス契約を締結している。これはハードウェアとソフトウェアの両面から推論インフラを押さえようとする動きだ。

注: ここでの「Groq」はAIアクセラレータチップ「LPU」を開発するGroq Inc.(2016年創業、元Google TPUチームが設立)を指す。同名の推論APIサービス「Groq」と混同されやすいが、同一企業である。

GoogleのTPU、AmazonのTrainium、MetaのMTIAなど、主要AIラボが自社チップ開発を加速している。Nvidiaのハードウェア独占は今後5〜10年で徐々に侵食される可能性が高い。この状況でNvidiaが取りうる最も合理的な手は、チップに依存しないソフトウェアスタックでAI開発の標準を握ることだ。オープンソース化はその布石であり、Linuxカーネルを中心にRedHatが商業的成功を収めたモデルに近い発想だ。


Ollama + Open WebUI — Debian/UbuntuへのローカルLLMサーバー構築がLinux標準運用に

ローカルLLMサーバーの自宅ラボへの導入が、一般的なLinuxサーバー運用スキルだけで完結するようになった。Ollama + Open WebUI + Dockerという構成が、そのデファクトスタックとして定着しつつある。

構成は以下の3層になる。

[LLMエンジン] Ollama
[Web UI]      Open WebUI (Dockerコンテナ、ポート3000)
[モデル]      llama3.2(テスト用の軽量モデル)

Ollamaのインストール自体は1コマンドで終わる。問題はデフォルト設定でOllamaがローカルホストにしかバインドしない点だ。リモートからアクセスするには、systemdのサービスファイルに環境変数を追記する必要がある。

# /etc/systemd/system/ollama.service の [Service] セクションに追加
Environment="OLLAMA_HOST=0.0.0.0"

この設定を忘れると、Open WebUIからOllamaのAPIエンドポイント(:11434)に接続できない。「LLMがUIに表示されない」という状態がここで起きる。

Open WebUIのデプロイはDockerの1コマンドで済む。

docker run -d \
  --network=host \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart always \
  ghcr.io/open-webui/open-webui:main

--network=host を使うことでコンテナ内からホストの :11434 にアクセスできる。ブリッジネットワークを使う場合はホストIPを明示する必要がある。

セキュリティ上の注意: --network=host はコンテナとホストのネットワーク名前空間を共有するため、本番環境や外部公開サーバーでは推奨されない。外部からのアクセスを制限する場合は、リバースプロキシ(Nginx等)を前段に置き、ファイアウォールで:11434および:3000への直接アクセスをブロックすることが望ましい。

Open WebUIの初回起動後、デフォルトではOpenAI APIが有効になっている。ローカルOllamaを使うには、UIの設定でOpenAIを無効化し、接続先を http://SERVER:11434 に変更する手順が必要だ。この「デフォルトがOpenAI向き」という設計は、Open WebUIがもともとクラウドAIのフロントエンドとして育ってきた経緯を反映している。

自宅やオンプレ環境にLLMサーバーを立てる理由として、この記事が挙げているのはプライバシーと電力消費の2点だ。クラウドAIサービスへのクエリは第三者に渡る。ローカルインスタンスならその心配がない。電力グリッドへの負荷という観点を個人ユーザーが意識し始めているのは、2024年以降のAIインフラ議論が一般層にまで浸透してきた証拠だと感じた。

Ollamaが2023年後半に登場したとき、macOS向けの手軽なLLMランタイムという位置づけだった。それが2024年にLinux対応が安定し、サーバー用途での利用が急増した。Open WebUIはもともと「Ollama WebUI」という名称で、Ollamaのフロントエンドとして開発が始まった。その後OpenAI互換APIにも対応し、名称をOpen WebUIに変更した経緯がある。

以前はtext-generation-webuiやLM Studioが選択肢として並立していたが、LinuxサーバーにDockerで立てるという用途ではOllama + Open WebUIの組み合わせが最も導入コストが低い状態に収束しつつある。


RunAnywhere RCLI — MetalRTでSTT+LLM+TTSのフルパイプラインを200ms以下に

Apple Silicon向けのオンデバイス音声AIツール「RCLI」がリリースされた。最大の特徴は、独自GPUエンジン「MetalRT」によるSTT + LLM + TTSのフルパイプラインをクラウドなしで動かし、エンドツーエンドのレイテンシを200ms以下に抑えた点だ。

RCLIはRunAnywhere(YC W26)が開発したmacOS向けCLIツールだ。インストールは1コマンドで完了する。

brew tap RunanywhereAI/rcli https://github.com/RunanywhereAI/RCLI.git
brew install rcli
rcli setup  # モデルのダウンロード(約1GB)

パイプラインの構成は以下の通りだ。

  • VAD: Silero(音声区間検出)
  • STT: Zipformer(ストリーミング)+ Whisper / Parakeet(オフライン)
  • LLM: Qwen3 / LFM2 / Qwen3.5(KVキャッシュ継続 + Flash Attention)
  • TTS: Kokoro 82M(ダブルバッファリングによる文単位合成)

3スレッドがMetal GPU上で並列動作する設計になっている。

MetalRTの性能数値として公開されているのは、LLMスループット最大550 tok/s、STT処理速度がリアルタイムの714倍という値だ。比較対象はllama.cppとApple MLXで、M3 Max上での計測とされている。

実用機能として38種類のmacOSアクション(AppleScript + シェルコマンド経由)、ローカルRAG(ハイブリッドベクトル + BM25、5K+チャンクで約4msレイテンシ)、PDF/DOCX/テキスト対応のドキュメントインデックスが含まれる。

rcli ask "open Safari"
rcli ask "play some jazz on Spotify"
rcli rag ingest ~/Documents/notes
rcli ask --rag ~/Library/RCLI/index "summarize the project plan"

制約として、MetalRTはM3以降が必須でMetal 3.1のGPU機能を使う。M1/M2はllama.cppへの自動フォールバックになる。MetalRTはプロプライエタリライセンスで、RCLIのCLI部分はOSSとして公開されている。

対応モデルはLLMがLFM2 1.2B(デフォルト)、Qwen3シリーズ、STTがWhisper系とParakeet TDT 0.6B(WER約1.9%)、TTSがKokoro / Piper / Matchaなど20モデル以上だ。

ローカルLLM実行の文脈では、llama.cppとApple MLXが長らく主流だった。どちらもLLM単体の推論エンジンであり、STT・TTS・VADを含むリアルタイム音声パイプライン全体を一つのエンジンで最適化する設計ではない。MetalRTはMetal 3.1の機能を直接使い、LLM・STT・TTSの3コンポーネントを単一GPU上で並列実行する点が既存ツールとの本質的な差異だ。特にTTSのダブルバッファリング(現在の文を再生しながら次の文を合成)はレイテンシ削減の具体的な実装判断として注目に値する。

企業の機密文書をクラウドに送れないという制約が、ローカルRAGの実用化を後押しする。RCLIが「No cloud, no API keys」を前面に出しているのはこの文脈だ。


今日の傾向

DatadogがGoバイナリを428 MiBから280 MB台へ77%削減した手法を公開し、kubernetes/kubernetesuber-go/diggoogle/go-cmp へのPRを通じてGoエコシステム全体への波及を狙っている。リフレクションと plugin パッケージがリンカのデッドコード除去を無効化するという「隠れたコスト」が、今日初めて体系的なデータとともに示された。

GitHub Copilot SDKがMCP(Model Context Protocol)を組み込んだ実行エンジンとして公開され、LangChain・AutoGen・CrewAIが各チームに再実装を強いてきたオーケストレーション層をGitHub側に引き取る動きが明確になった。

NvidiaがGTC 2025(3月16〜19日、サンノゼ)でNemoClawをオープンソース公開する予定であり、Salesforce・Cisco・Google・Adobe・CrowdStrikeへの売り込みがすでに始まっている。Nemotron・Cosmos・NemoClawという3製品の並びは、Nvidiaがチップ収益に依存しないソフトウェアエコシステム戦略へ軸足を移していることを示している。オープンソースエージェントのハイジャック報告が出た同じ日に、NemoClawのセキュリティレイヤーが注目されているのは偶然ではない。

RunAnywhere(YC W26)のRCLIがMetalRT(Metal 3.1、M3以降必須)でSTT+LLM+TTSのフルパイプラインを200ms以下で動かすことを示し、llama.cppとApple MLXが担ってきた「LLM単体推論」の領域に音声パイプライン統合という新しい軸を持ち込んだ。Ollama + Open WebUIがDebian/UbuntuへのローカルLLMスタックとして収束しつつある流れと合わせると、クラウドを経由しないAI実行環境の整備が、エンタープライズ(NemoClaw)・開発者(Copilot SDK)・個人(RCLI、Ollama)の各層で同時に進んでいる。


参照記事

記録日: 2026-03-11