エンドイブ:JVM ネイティブの WebAssembly ランタイム

2026/05/29 1:40

エンドイブ:JVM ネイティブの WebAssembly ランタイム

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

要約

Japanese Translation:

  • 決定: 既存のサマリーは一般的に高品質ですが、キートイムズリストの詳細な「完了した機能」と「継続中の開発」セクションとより密接に合わせるよう、およびコミュニティリソースが言及されている点を含めることで若干改善できます。以下の改良版ではタイムラインの文脈を追加し、具体的なロードマップステータスを明確にしています。

  • 改良されたサマリー:

サマリー:

Endive は Java 仮想マシン (JVM) 内で WebAssembly を直接実行することを可能にするという点で大きな進歩を表しており、従来のセキュリティを損なう恐れのある外部ネイティブライブラリの必要性を取り除きます。Dylibso Inc. によって開発され、2023 年 9 月から始まる数年間のインキュベーション作業を経て Chicory のフォークとして生まれました。Endive の目標は JVM ネイティブな WebAssembly ランタイムをデフォルトの選択肢になることです。現在の代替手段である v8 や wazero では、不安定なネイティブコードの配布が必要で、かつ Foreign Function Interface (FFI) を使用することで JVM の安全性保証から抜け出ることを強いられますが、Endive はアプリケーションが JVM が動作する場所にどこでも WebAssembly を実行できるようにし、完全な JVM の安全性、可視化ツール、およびメモリアンサンティを保証します。現在、プロジェクトは安定した API を提供しており、コアの WebAssembly 仕様の他、スレッド、ガーベージコレクション、例外処理などの高度な機能もサポートしています。ビルドタイムのコンパイラーパスを安定性のために最適化している間、チームは将来の性能向上と WASIp2 標準の実装に向けて積極的に準備を進めています。FFI に関連する摩擦を取り除くことで、Endive は組織が安全な Java エンビロンメントから退くことなく、高度な WebAssembly の機能を取り込むことを可能にします。関心のある方は公式ドキュメントをお読みいただくか、Zulip チャットに参加してプロジェクトをさらに探求することを歓迎します。

本文

Endive: JVM ネイティブな WebAssembly ランタイム

Endive は、JVM ネイティブな WebAssembly (Wasm) ランタイムです。ゼロ依存関係によるネイティブの実行か、または JNI(Java Native Interface) を介した実行のどちらもサポートします。JVM が動作する環境であればどこでも Wasm を実行可能とし、その設計の基盤には 簡素性と安全性 を置いています。

プロジェクト背景

本プロジェクトは、Dylibso, Inc. によって開発されていた Chicory のフォークです。Dylibso によるインキュベーション期間への感謝ならびに、当プロジェクトの基礎を成す貢献に対する心からのご礼を表します。

  • 📞 お問い合わせ: エンドイブを利用しておられ、何かをお作りになっていることがございましたら、お気軽にご連絡ください。
  • 💬 コミュニティ: Zulip チャンネルへ参加の上、ご議論に加わりたく存じます。
  • 📚 ドキュメント: 公式ドキュメントをご参照いただければ、すぐにスタートが可能です。

なぜか?

Wasm モジュールを実行するための成熟したランタイムは多数存在しますが(v8, wasmtime, wasmer, wasmedge, wazero など)、Java アプリケーションへの組み込みにおいては以下の課題を抱えています。C/C++/Rust などの言語で記述されているため、ネイティブコードとして配布しなければならない必要があり、主に以下の二つの「摩擦点」が生まれます。

1. 配布の難易度

  • Java ライブラリ(jar, war など)を配布する際、対応する アーキテクチャおよびオペレーティングシステム向けにネイティブバイナリー も合わせて配布する必要があります。
  • このマトリックスは非常に大きく複雑となり、Java コードを送信する手軽さや元々の利点が損なわれてしまいます。

2. ランタイム時の挙動とセキュリティ

  • ランタイム時に FFI(Foreign Function Interface) を用いてモジュールを実行する必要があります。
  • そうしますと、セキュリティ面および可観測性について、完全に JVM の枠から脱却することになってしまいます。
  • 純粋な JVM ネイティブランタイム(Endive)であれば、全てのセキュリティ保証およびメモリ保証を維持しつつ、関連するツールも引き続き利用できます。

目標

  • ✅ JVM 上で動作する Wasm の デフォルトランタイム となること
  • 🔒 可能な限り 安全性を高める こと
  • 📖 コア Wasm 仕様 を完全にサポートすること
  • ⚡ 非常に制限の厳しい環境を含む、あらゆる JVM 環境で ネイティブコードなし で Wasm を実行しやすくすること
  • 🔗 Java(および他のホスト言語)との統合を 容易かつ自明のもの にすること

ロードマップ

エンドイブの開発は、2023 年 9 月に始まった Chicory の何年もの作業の積み重ねの上に成り立っています。開発活動の詳細は Zulip からご連絡ください。

✅ 完了済み機能

  • Wasm バイナリーのパース処理
  • シンプルなバイトコードインタプリタの実装
  • Wasm テストスイートから JUnit テストケースを生成する機能
  • インタプリタにおける全テストの合格(正しさの確認)
  • 検証ロジック(安全性の担保)
  • v1.0 API(安定性と開発者体験の向上)
  • 相互接続されたインタプリタとコンパイラ「エンジン」への分離
  • コンパイルパスにおける仕様の一貫性の確保
  • WASI p1 サポート(テスト生成機能を含む)
  • SIMD 指令セットのサポート
  • Tail Call の実装(インタプリタおよびコンパイラ両方)
  • エクセプションハンドリング
  • スレッドサポート
  • 拡張定数表現のサポート
  • GC(Garbage Collection)のサポート
  • マルチメモリ空間の支持

🚧 進行中機能

  • パフォーマンス向上
  • WASI p2 サポート

プレスリリース・関連記事

Chicory の発展過程における主な発表記事とイベント記録です。

タイトルコンテキスト
Chicory: A Zero Dependency Wasm Runtime for the JVM on Java Advent 2023初出 / 概要紹介
Chicory - a WebAssembly Interpreter Written Purely in Java with Zero Native Dependencies on InfoQTech News
Chicory: Write to WebAssembly, Overcome JVM Shortcomings on The New StackTech Analysis
Meet Chicory, exploit the power of WebAssembly on the server side! (Devoxx BE 2024)Conference Talk
WebAssembly, the Safer Alternative to Integrating Native Code in Java on InfoQSecurity Focus
Chicory: Creating a Language-Native Wasm Runtime (Wasm I/O 2024)Deep Dive
Chicory, a JVM Native WebAssembly Runtime (Dylibso Insiders)Insider View
WebAssembly the ace up the sleeve of your Java and Quarkus apps (Quarkus Insights 206)Ecosystem Integration
The Chicory Photo Album: Celebrating 1.0.0... on Java Advent 2024Anniversary / Milestone
Wazero vs Chicory: An In-Depth Comparison... (FOSDEM 2025)Comparative Analysis
WASM in the Enterprise: Secure, Portable, and Ready for Business (QCon London 2025)Enterprise Use Case
A Go CEL Policy Engine in Java, with Quarkus Chicory on Quarkus BlogSpecific Framework Integration
Introduction to the Chicory Native JVM WebAssembly Runtime on BaeldungTutorial / Guide
Bring WebAssembly to the JVM... on Java Advent 2025Ecosystem Growth
The State of Zero-Dependency Wasm: A 2026 Update... (Wasm I/O 2026)Future Outlook

先行技術

以下のプロジェクトが Endive の開発に影響を与えています:

  • asmble
  • kwasm
  • wazero

エンドイブを採用している方々

エンドイブを利用されている組織およびプロジェクトの完全なリストについては、ADOPTERS.md をご参照ください。

同じ日のほかのニュース

一覧に戻る →

2026/05/29 1:49

Claude Opus 4.8

## Japanese Translation: Claude Opus バージョン 4.8 が正式にリリースされ、前世代と比較してコストが同等あるいは優位でありながら、パフォーマンスと信頼性の大幅な向上を示しています。このアップグレードは、Super-Agent ベンチマークにおけるすべての課題を制覇した最初のモデルとなった点で重要なマイルストーンとなります。同時に、高速モードや Genie といった特定のオーケストレーターを通じて比較的低価格帯のプランでも、ハイエンドクラスの GPT-5.5 に匹敵する性能を提供します。重要なのは、以前の問題だったコード生成の不備やツール呼び出しのエラーが解決されており、モデルの誠実性の向上により、コードの不備を見逃す確率が約 4 分の一に抑制されたことです。新しいアーキテクチャは「動的ワークフロー」を導入し、フルコードベース移行など大規模なタスクのために数百もの並列サブエージェントを可能にします。また、「Effort Control」といった機能によりユーザーが応答の深さをカスタマイズでき、Messages API のシステムエントリーを通じて計算リソースを浪費せずにリアルタイムで指示を更新することも可能です。複雑な財務文書や法律文書の処理において、Genie や Hebbia などのオーケストレーターを利用する企業は、大幅に向上した効率性と引用の精度を享受できます。全体として、Opus 4.8 は優れた推論能力、ユーザーの自律性を支える親社会的なアライメント、そして以前の コストパフォーマンス記録を更新し得るエンドツーエンドの完了機能を備えています。

2026/05/29 3:41

持続的なワークフローには PostgreSQL をそのまま使用してください

## Japanese Translation: 記事は、複雑な外部オーケストレーションサーバーを置き換え、永続的なワークフロー管理の中央エンジンとして PostgreSQL を採用することでインフラストラクチャを単純化することを提唱しています。Temporal や AWS Step Functions、Airflow といった専用のオーケストレーターに依存し、隔離されたワーカープール間でタスクを調整する従来のシステムとは異なり、このアプローチではオーケストレーションロジックを直接データベースに埋め込むことで、すべてロジックをリレーショナルデータベースエコシステム内に維持します。アプリケーションサーバーは標準的な workflows テーブルポーリングによってタスクをデキューし、ワーカーは Postgres テーブルに直接チェックポイントを行います。データベースの整合性制約が外部ロック機構なしで重複作業を防ぎます。高い可用性は、ワーカーが相互置換可能であることから達成されます(任意のワーカーがストリーミングレプリケーションと複数 AZ デプロイメントを使用して Postgres から状態を回復できます)。スケーラビリティは基盤となるデータベースの容量とともに拡大し、数千ものワークフローを処理できるよう垂直にスケールするか(CockroachDB などのように)分散化することができます。可観測性はチェックポイントに対する組み込み SQL クエリによって向上し、セキュリティオーバーヘッドは減少します(ワークフローデータが信頼された Postgres エンビロメント外に出ることはありませんので、別のオーケストレーターを強化する必要がありません)。DBOS は実用的な Postgres 裏付けの永続実行ソリューションを提供しており、Quickstart ドキュメント、GitHub リポジトリ、Discord コミュニティにてリソースを利用できます。

2026/05/29 4:02

多種多様な LLM のにおい

## Japanese Translation: 2026 年 5 月 28 日、著者は昨年終わりごろに数学ブログを立ち上げ、大規模言語モデル(LLM)を使用して文章を推敲した経験について考察する。当初は単なる改修のみを意図していたが、やがてインターネット全体にわたって同様の文構造が無数に出現することに気づき、これを「AI 臭」と呼んでいる。このような言語的な人工物の例としては、過度なツッコミポイント、あるいは「ただし、傾きは偶然ではない。それは最適解の形状である」といった連続した短い文や、「X は Y の Z であり」(例:「不愉快さは、選択した勾配を進むことの可視的签名である」)といった硬直的なメタセンテンスがある。また、「人類は対称性を信頼するのは、それが知性の可視化のように感じられるから」といった例も含まれる。また、AI 関与を識別するための視覚的な指標もある:ウェブサイトでは通常、JetBrains Mono フォントを特定の UI パターン(例:正確な段階ごとの箇条書きリスト、同一のボタン、標準化されたカード、点滅するドットのバッジ)と組み合わせて使用することが多い。脚注も別の指標として機能し得る。ガイドは AI ツールに対する非難ではなく、読者がこれらの新たな様式基準を認識することを助け、デジタルコンテンツをより適切に評価できるようにすることを目的としている。著者は LLM を創造的なタスクに使用することに反対しているのではなく、人間の表現と機械生成の出力を区別する検出可能な痕跡を特定することに焦点を当てていることを明記する。 ## Text to translate: Summary: On May 28, 2026, the author reflects on their experience starting a math blog late last year and using Large Language Models (LLMs) to polish their writing. Initially intending only enhancements, they soon noticed that identical sentence structures began appearing ubiquitously across the internet—signals they term "AI smells." These linguistic artifacts include excessive punchlines, consecutive short sentences such as "Yet the tilt is not an accident. It is the shape of the optimum," and rigid meta-sentences like "X is the Y of Z" (e.g., "Cringe is the visible signature of moving along a gradient you chose.") as well as examples like "Humans trust symmetry because it feels like intelligence made visible." Visual markers also help identify AI involvement: websites often use the JetBrains Mono font paired with specific UI patterns such as exact step-by-step bullet lists, identical buttons, standardized cards, and blinking-dot badges. Footnotes may serve as another indicator. Rather than condemning AI tools, the guide aims to help readers recognize these emerging stylistic standards so they can better evaluate digital content. The author clarifies that they are not against using LLMs for creative tasks; instead, the focus is on identifying detectable traces that distinguish human expression from machine-generated output.