Show HN: Jido 2.0, Elixir Agent Framework  
→ Show HN:Jido 2.0、Elixir エージェント・フレームワーク

2026/03/06 0:48

Show HN: Jido 2.0, Elixir Agent Framework → Show HN:Jido 2.0、Elixir エージェント・フレームワーク

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

要約

Japanese Translation:

Jido 2.0 – BEAMファーストのエージェントフレームワークを更新したものが、Hexにリリースされました。2024年にBotHiveとして始まったこのプロジェクトは、AIブームの後で書き直され、Jido 1.0 の過剰設計に対処するため、より軽量で API‑centric なバージョン 2.0 が生まれました。
コアアーキテクチャでは、エージェントを単なるデータ構造として扱い、

cmd/2
関数が副作用用の指示(ディレクティブ)を生成します。各エージェントは監督付き GenServer (
Jido.AgentServer
) 内で動作し、シグナルルーティングと親子階層を備えています。
組み込み戦略には Direct(逐次処理)と FSM(状態機械)があり、さらに ReActChain‑of‑Thought のようなプラグイン戦略が LLM 呼び出しを追加します。フレームワークは複数のパッケージを提供しています:
jido_action
(検証済みアクション契約、25 以上のプリビルトツール、DAG プランナー)と
jido_signal
(CloudEvents ベースのメッセージング、Trie ルーター、pub/sub)。
Jido の AI レイヤーは ReAct、Chain‑of‑Thought、Tree‑of‑Thoughts、Graph‑of‑Thoughts、TRM、Adaptive の六つの推論戦略を提供し、ReqLLM と統合しています。ReqLLM はストリーミング優先でマルチプロバイダークライアントであり、現在 11 社のプロバイダーと 665 以上のモデル(バージョン 1.6)をサポートします。
エコシステムは拡大中です:ビルダーがコード補助ツール、ワークフローオーケストレーター、リサーチエージェントなどを作成しており、今後のパッケージではブラウザ自動化、メモリシステム、評価ハーネス、MCP 統合が対象になります。Ash Framework の完全サポート(
ash_jido
)により、ユーザーは AI 呼び出し可能なツールをポリシー実行と型安全性で定義でき、
ash_ai
は現在 ReqLLM を活用しています。
詳細については、ドキュメント(jido.run/docs/getting-started)、エコシステム概要(jido.run/ecosystem)、GitHub リポジトリ(github.com/agentjido)を参照し、Discord(jido.run/discord)でコミュニティに参加してください。

本文

Jido 2.0 が完成し、Hex で入手可能になりました。


BotHive から Jido 2.0 へ

  • BotHive (2024) – ボットプラットフォーム
  • AI の波が押し寄せた頃に「BEAM(Elixir/OTP)がエージェントシステムには最適だ」と投資した
  • TypeScript フレームワークはまるでおもちゃのようだった。Python エージェントは長時間稼働できず、
  • その課題を解決するために BEAM を設計し直した

BEAM 上で 18 か月を費やした結果、その投資が実を結びました。


1.0 から 2.0 へ

Jido 1.0(昨年3月リリース)は過剰に設計され、抽象化とフローが複雑すぎていました。
フィードバックは明確でした――「フレームワークを操るのではなく、エージェントを作りたい」。
2.0 は次のように応えています。

  • シンプルな API
  • 少ない儀式(設定やコマンド)
  • まさに BEAM ファースト設計

リリース内容

強固で耐久性のあるエージェント核

基盤は純粋関数型アーキテクチャです。
「エージェント=データ」 ― 状態、アクション、ツールを保持する構造体が GenServer 内で動作します。

すべてのフローは 1 つの関数に集約されます:

cmd/2   # アクション入力 → 更新されたエージェント + 出力ディレクティブ

副作用は ディレクティブ(型付きデータ構造)として扱われるため、
エージェントの挙動を容易に推論・テスト・デバッグできます。

例:

defmodule MyAgent do
  use Jido.Agent,
    name: "my_agent",
    description: "A simple agent",
    strategy: Jido.Agent.Strategy.Direct,
    actions: [MyApp.Actions.ProcessOrder],
    schema: [
      order_count: [type: :integer, default: 0]
    ]
end

# 純粋関数 – プロセスも副作用も無し
{:ok, updated_agent, directives} =
  Jido.Agent.cmd(agent, {ProcessOrder, order_id: "123"})

ユニットテストはネットワークを介さずに実行できます。

実行時と拡張機能

  • Jido.AgentServer は任意のエージェントをスーパーバイズされた GenServer に包みます。
  • Strategy(Direct, FSM)は
    cmd/2
    がアクションを処理する方法を決定し、プラグイン可能です。
  • AI レイヤー(ReAct、Chain‑of‑Thought 等)は LLM 呼び出しを追加する戦略実装に過ぎません。

他の戦略:行動木実行 (

jido_behaviortree
) ― LLM を一切使用しない設計です。

パッケージ

パッケージ目的
jido_action汎用アクション契約。コンパイル時スキーマ検証、25+ 事前構築ツール、DAG ベースのワークフロープランナー
jido_signalCloudEvents v1.0.2 をベースにしたメッセージング・神経系。標準化されたエンヴェロープ、Trie ベースルーター、pub/sub バス、9 つのディスパッチアダプタ

Jido AI

コア上に Jido AI があり、生の LLM 呼び出しを構造化されたエージェント知能へ変換します。

  • 付属で 6 種類の推論戦略:ReAct、Chain‑of‑Thought、Tree‑of‑Thoughts、Graph‑of‑Thoughts、TRM、Adaptive
  • 例:
defmodule MyApp.SupportAgent do
  use Jido.AI.Agent,
    name: "support_agent",
    description: "Customer support agent with tool access",
    tools: [
      MyApp.Tools.LookupOrder,
      MyApp.Tools.CheckInventory,
      MyApp.Tools.CreateTicket
    ],
    model: "anthropic:claude-sonnet-4-20250514",
    max_iterations: 6,
    system_prompt: """
      You are a customer support agent. Use the available tools
      to look up orders, check inventory, and create tickets.
      Be concise and helpful.
    """
end

{:ok, pid} = Jido.AgentServer.start_link(agent: MyApp.SupportAgent)

{:ok, answer} =
  MyApp.SupportAgent.ask_sync(
    pid,
    "Order #4521 hasn't arrived. Can you check on it and open a ticket?",
    timeout: 60_000
  )

Jido AI は ReqLLM(Elixir 用 LLM クライアント)を使用し、11 のプロバイダーと 665+ モデルに対応します。


成長するエコシステム

  • ビルダーは BEAM を使ってコード補助ツール、ワークフローオーケストレーター、リサーチエージェントなどを構築
  • ブラウザ自動化、メモリーシステム、評価ハーネス、MCP 統合パッケージが登場中

第一級 Ash Framework サポート

ash_jido
は 2.0 と共にリリースされます。
Ash リソースに Jido DSL ブロックを追加すると、CRUD アクションは AI 呼び出し可能なツールへ変換され、認可・データ層・型安全性が保持されます。
ash_ai
は ReqLLM を LLM クライアントとして採用しています。

全エコシステムを確認するには jido.run/ecosystem へアクセスしてください。


感謝

このリリースは、Phoenix、LiveView、Ash、Req、Telemetry、NimbleOptions といった Elixir コミュニティのおかげです。
率直なフィードバックをくださった早期テスターとコントリビューターに感謝します―― 2.0 はその正直さの結晶です。


使い始める

# mix.exs
def deps do
  [
    {:jido, "~> 2.0"},
    {:jido_ai, "~> 2.0"}
  ]
end

同じ日のほかのニュース

一覧に戻る →

2026/03/06 1:04

多数の管理者アカウントが侵害された後、ウィキペディアは読み取り専用モードになった。

## Japanese Translation: **概要:** 本書は、2026年2月20日から3月5日にかけて Wiki サービスに影響を与えた一連の技術的インシデントを記録しています。 - **2月20日:** 19:28 UTC に問題が確認され、19:44 UTC に修正が適用されました。23:33 UTC に監視を再開しました。 - **2月25日:** 16:40 UTC に調査が開始され、17:24 UTC に解決しました。 - **2月26日:** 16:25 UTC に修正で問題が解消され、16:58 UTC に監視を開始しました。 - **3月3日:** 10:09 UTC にデータベースサーバーの問題が検知され、10:24 UTC に修正が適用されました。10:17 UTC に監視更新が行われました。 - **3月5日:** 16:11 UTC に問題が確認され、17:09 UTC に初期修正(読み書き復旧)が実施されました。さらに編集は17:36 UTC の追加修正まで無効のままでした。18:36 UTC に監視を継続し更新しました。 3月4日、2月1–2、2月27–28、2月22–24、または2月21日はインシデントが報告されていません。 インシデントは運用上の問題、性能低下、一部停止、大規模停止、およびメンテナンスカテゴリにわたります(ただし各イベントに対する具体的なカテゴリは割り当てられていません)。 すべての修正後、チームは安定性を確認するために継続的監視を実施し、完全回復を宣言しました。ユーザーは一時的な読み取り専用アクセスと編集制限を経験し、継続的な Wiki 利用が必要な企業や教育グループの協力に影響を与える可能性があります。新たな症状が出現した場合に備えて、引き続き観測が行われることが示唆されています。 *この拡張版がご要望に合致する場合は、元の概要を置き換えることができます。*

2026/03/06 2:44

**「ブランドの時代」**

## 日本語訳: **要約:** スイスの時計業界は、1970年代に起こったクォーツ危機によって軌道を変えました。この危機は日本企業の競争とフランス・米ドル為替レートの急騰が引き金となり、ユニット販売数は1970年代初頭から1980年代初頭にかけて約3分の2減少しました。その結果、多くのメーカーは破綻または買収を余儀なくされました。残存した数社は純粋な技術的精密さから**ブランド主導のラグジュアリー**へとシフトしました。 視覚的マイルストーンがこの転換を確固たるものにしました:パテック・フィリップの1968年「ゴールデン・エリプス」ケース、オーデム・ピゲの1972年ロイヤルオーク(ジェラルド・ゲンタ設計)、そして1976年のノーティラスはすべて技術的洗練よりも瞬時に認識できるデザインを強調しました。1984年にはパテックの広告代理店長レネ・ビッテルが「ホブナイル・カラトラバ」(3919)を提唱し、手巻き機構と独特な模様が投資銀行家の注目を集め、1987年までに売上を急増させました。 メカニカル時計は**高級アクセサリー**として再登場しました。大きさと視覚的インパクトが男性の「ユーピー」(若手社会人)に富を披露するために理想的だったためです。ブランド時代は現在、オーバーサイズで独特な形状のケース、人工的希少性、および二次市場(例:パテックの時計買い戻し)の積極的管理によって定義されます。 主要ブランドは階層化された製品ラインを割り当てる持株会社に統合されました。独立ブティックは、パテック・オーデム・ピゲ、ロレックスなどの数少ないフラッグシップハウスでのみ存続しています。業界がステータスシンボルに焦点を当てることで、メーカーによって管理される**資産バブルに似たビジネスモデル**が生まれました。 **教訓:** ブランド力は収益性を推進しますが、過度の依存はイノベーションを抑制するリスクがあります。次の「黄金時代」は、名声を売るだけでなく、本当に興味深い問題に取り組むことで生まれる可能性が高いです。

2026/03/02 18:26

**Linuxにおけるハードウェア・ホットプラグイベント ― 詳細解説**

## Japanese Translation: **概要:** Libusb の Linux ホットプラグシステムは、`linux_netlink.c` と `linux_udev.c` という 2 つのバックエンドに依存しています。デフォルトでは `--with-udev=yes` が設定されており、udev を無効にするとプレーンな netlink バックエンドが使用されます。 カーネルデバイスイベントは Netlink プロトコル 15(`NETLINK_KOBJECT_UEVENT`)を介して到達し、ヌル終端文字列として `add@/devices/...` のようなアクション行から始まり、`ACTION=add`、`SUBSYSTEM=usb` などのキー/バリュー ペアが続きます。udev はこれらのメッセージを受信し解析して、カスタムパケット形式でマルチキャストグループ 2(`MONITOR_GROUP_UDEV`)に再送信します。 udev パケットは `"libudev"` というマジック文字列から始まり、ビッグエンディアンのバージョンワード `0xfeedcafe` を持ち、次にネイティブエンディアンで格納された複数フィールド(`header_sz`、`properties_off`、`properties_len`、`subsystem_hash`、`devtype_hash`、`tag_bloom_hi`、`tag_bloom_lo`)が続きます。ハッシュは `SUBSYSTEM=` と `DEVTYPE=` の値に対して MurmurHash2 を用いて計算され、2 つの Bloom フィルタワードは `TAGS=` キーから導出されたビットをエンコードします。その後パケットには元のキー/バリュー文字列と、`SO_PASSCRED` 経由で送られる Unix 認証情報(pid/uid/gid)が含まれます。カーネルメッセージはゼロ認証情報を持つため、libudev は有効な認証情報がないパケットを拒否します。 プロトコルバージョンは固定で `0xfeedcafe` となっており、後方互換性や前方互換性に関する保証は文書化されていません。そのため、パケットレイアウト、フィルタリングロジック、または認証情報処理の変更は libusb と udev の両方で協調して更新を行う必要があり、ホットプラグイベントに依存するアプリケーションのデバイス検出、安定性、セキュリティに影響を与える可能性があります。

Show HN: Jido 2.0, Elixir Agent Framework → Show HN:Jido 2.0、Elixir エージェント・フレームワーク | そっか~ニュース