Jev を 25 行の Python で実装する

2026/09/23 16:26

Jev を 25 行の Python で実装する

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

要約▶

Japanese Translation:

このプロジェクトは、Jev の簡素化されたローカル Python 実装であり、軽量な Qwen3-0.6B-GGUF モデルを電子メールの脅威検出に使用します。外部 API を使用せずに高度なセキュリティタスクを実行できることを示しています。Python >=3.12、llama-cpp-python、huggingface-hub、numpy などの依存関係で動作し、A、B、C の 3 つの選択肢をラベル(Legitimate、Spam、Phishing)にマッピングしたプロンプトをロードします。入力例として、給与に関するフィッシング電子メールについて記述し、非企業サインインページでの認証情報の要求を示すものは、0.031 の確率で Legitimate、0.084 の確率で Spam、0.885 の確率で Phishing と分類されます。API 呼び出しや RLCD(強化学習に基づく校正)を回避することで、機密データを完全にローカルに保持し、「NobodyWho」の哲学に沿い、OpenJev、OpenJev-sglang、および DiffusionGemma 上の OpenJev のような他のオープン実装と並んでいます。2026 年 9 月 22 日に Duarte O.Carmo によって発表されたこの作業は、軽量な LLM が重厚なインフラストラクチャや商業的依存関係に依存せず、ユーザーのハードウェア上で直接高信頼性の脅威分類を交付することを示しています。

Text to translate:

The project presents a streamlined, local Python implementation of Jev that uses the lightweight Qwen3-0.6B-GGUF model for email threat detection, demonstrating that advanced security tasks can be performed without external APIs. Running on Python >=3.12 with dependencies such as llama-cpp-python, huggingface-hub, and numpy, the system loads a prompt offering three choices (A, B, C) mapped to labels: Legitimate, Spam, and Phishing. An example input—describing a phishing email about payroll requesting credentials on a non-company sign-in page—is classified with calculated probabilities of 0.031 for Legitimate, 0.084 for Spam, and 0.885 for Phishing. By avoiding API calls and reinforcement learning–based calibration (RLCD), the setup keeps sensitive data entirely local, aligning with the "NobodyWho" philosophy and standing alongside other open implementations like OpenJev, OpenJev-sglang, and OpenJev on DiffusionGemma. Published on September 22, 2026, by Duarte O.Carmo, this work shows that lightweight LLMs can operate independently of heavy infrastructure or commercial dependencies while still delivering high-confidence threat classification directly on user hardware.

本文

「ジェヴ」:わずか 25 行で理解する AI の新たなフロンティア

Twitter 上では「ジェヴ」という言葉が熱い話題となっています。大規模言語モデルや AI パラダイムの次のステップとして称賛され、人々が翻弄されるほどの注目を集めています。しかし、その本質はもっとシンプルに捉えられます。わずか 25 行の Python コードで、「これがジェヴです」とご紹介します。

🚀 動作する Python コード(25 行)

以下のコードをコピーして実行してください。任意の GGUF モデルを使用可能です。

# /// script
# requires-python = ">=3.12"
# dependencies = ["huggingface-hub", "llama-cpp-python", "numpy"]
# ///

import numpy
from llama_cpp import Llama

# さすがに、https://huggingface.co/models?library=gguf より任意の GGUF モデルを使用可能です。

model = Llama.from_pretrained(
    repo_id="Qwen/Qwen3-0.6B-GGUF",
    filename="Qwen3-0.6B-Q8_0.gguf",
    n_ctx=512,
    logits_all=True,
    verbose=False,
)
# プロンプトを読み込み、選択肢を定義します。
labels = ["A", "B", "C"]
choices = ["本物", "スパム", "フィッシング"]
email = "給与部門が会社のログインページではない場所からパスワードを求めてきました。"
options = "\n".join(
    f"{label}. {choice}" for label, choice in zip(labels, choices, strict=True)
)
prompt = f"""{choices}
メール: {email}\n\n{options}
"""
model.eval(tokens=model.tokenize(text=prompt.encode(), add_bos=False, special=True))
# ロジットを確率に変換します。
logits = model.scores[model.n_tokens - 1]
token_ids = [model.tokenize(text=label.encode(), add_bos=False)[0] for label in labels]
choice_logits = numpy.asarray([logits[token_id] for token_id in token_ids])
logprobs = choice_logits - numpy.logaddexp.reduce(choice_logits)
probabilities = numpy.exp(logprobs)

for name, scores in (
    ("ロジット", choice_logits),
    ("ログ確率", logprobs),
    ("確率", probabilities),
):
    values = numpy.round(scores.astype(float), 3).tolist()
    print(f"{name}:", dict(zip(choices, values, strict=True)))

# ロジット: {'本物': 26.254, 'スパム': 27.262, 'フィッシング': 29.614}
# ログ確率: {'本物': -3.482, 'スパム': -2.474, 'フィッシング': -0.122}
# 確率: {'本物': 0.031, 'スパム': 0.084, 'フィッシング': 0.885}

💡 「ジェヴ」の本質とは?

コードを実行した結果、あなたは「まだ理解していない」と感じるかもしれません。しかし、ここが重要になります。我々はこの技術を以下のような過大評価された言葉には呼びません。

  • システム一決定モデルではない
  • API をただ呼び出すだけではない
  • 数千もの合成データを生成していない
  • 強化学習による校准(RLCD)で訓練されていない

(※ただし、RLCD が常に正しいとは限りません)

そもそも「ジェヴ」の正体

これは非常にシンプルです。プロンプトに選択肢を含め、モデルから確率を出力する分類タスクを行います。

その素晴らしい特徴は以下の通りです:

  • 高速: 即時の応答が可能
  • ローカル動作: サーバーへ送信せず、個人のデバイス上で完結
  • プライバシー保護: ユーザーデータを外部に送信する必要がない

重要: 我々はユーザーのデータを外部へ送信することを好まず、**「NobodyWho」**の理念を共有しています。(※パロディブログ投稿ですが、より完成度が高いオープンソース実装は後述のリンクをご覧ください)

オープンソースへの貢献

NobodyWho が行うすべての活動はオープンソースです。プロジェクトを支援したい場合は、お気に入りの Github リポジトリに**スター(★)**を付けてください ❤️


公開日:2026 年 9 月 22 日 | 著者:Duarte O.Carmo | カテゴリ:技術

同じ日のほかのニュース

一覧に戻る →

2026/09/24 3:06

クローデが CRISPR 様反復構造を持つ新たな酵素系を発見した

## Japanese Translation: Anthropic は、基礎生物学に特化した新たな Life Sciences 研究グループを立ち上げ、Claude エージェントを使用して DNA データセットを探査し、人間の科学者とともに物理実験室で仮説を検証する取り組みを開始しました。2026 年春、チームはベイエリアに自社工場を建設し、BSL-1/BSL-2 の安全制限下で低リスクの実験のみを行い、すべての実験作業は人間が行う体制を整えました。約 21 時間にわたって約 2 億 1,000 万トークンを処理する約 950 台の自律型 Claude エージェントが、大規模な遺伝子データベースを走査して興味深い逆転写酵素の例を探しました。1 つのエージェントは、RT ゼーン近傍にあるタンデムリピートアレイを発見し、CRISPR 技術に類似していることに着目することで、「配列関連型逆転写酵素(ART)」システムを特定しました。ART システムは 3 つの部分で構成されており、巨大なファージ由来の逆転写酵素、隣接するパートナー遺伝子、ならびに短い RNA として発現する非コード DNA のリピート配列が均等間隔で並ぶ長アレイからなります。CRISPR 先駆者である Feng Zhang 氏による見解を得たうえ、Anthropic の異種タンパク質に関する専門知識を背景に、プロジェクトは一般公開用のプレプリント技術報告書を発行し、物理実験における本質的な人間の監督下で実行されるスケーラブルな AI 主導の仮説検証において新たな先例を確立しました。

2026/09/24 6:01

VSCode の SSH アгентは素晴らしいです

## Japanese Translation: セキュリティ研究者のトーマス・プタチェクは、Visual Studio Code の SSH 遠隔編集機能はシステム整合性に対して深刻な脅威をもたらすと警告しており、Emacs Tramp といった代替手段の安全限界をはるかに超えていると指摘している。Tramp がリモート接続上でローカルに動作する一方、VSCode は Bash スニペット的なステーガーを実行し、エージェントをダウンロードして Node.js バイナリをインストールすることで、「フルスケールの侵入」を行う点で異なる。このダウンロードされたエージェントは、ローカルの VSCode フロントエンドとの間で永続的な WebSocket 接続を維持し、ファイルシステムを探索したり、任意のファイルを編集したり、独自のシェル PTY プロセスを開始したり、リモートシステム上にて自身を持続化したりする能力を有している。プタチェクは、LLM の「幻覚」はエージェントを通じて LLM と実行環境の間でループを閉じることで軽減できると認めつつも、そのようなプロセスは開発用ラップトップにおいては境界上の問題により実施すべきではないと指摘する。理想的には、LLM エージェントを用いた反復開発は、ホストシステム構成を変更できず瞬時に起動されるクリーンスレート Linux インスタンス上で行われるべきである。プタチェクは、この機能を開発サーバーで使用する際に懸念を覚えるだろうし、本番システムでのインシデント中に発生すれば怒り狂うだろうと警告している。また、Fly Machine のカスタム接続はこの懸念を回避可能だが、彼のブログの主な目的はこのセキュリティ洞察を読者に共有することにあることを明記している。

2026/09/24 6:31

クレードの荷重支持継ぎ目

## Japanese Translation: 核心的な論点とは、荷重支持接合部(load-bearing seams)が偶発的な詳細ではなく、重要な構造的要素であるというものであり、状況の理解方法を本質的に変えるものである。表面的な問題と深層的な構造的な問題の間に違いが存在し、元の結論は提示された質問に答えつつも、その証拠が実際に接合部について問いかけていたことを扱わなかった。状況を単一のバイナリ(二値)に還元することはニュアンスを失わせ、代わりに複数の真理を生産的な緊張関係の中で保持すべきである。重要な過ちの一つは、単に記述する証拠と実際の構造的作業を行う証拠の区別を行わなかった点にある。不確実性はノイズを排除すべきものではなく、複数の解釈を可能にするモデルの限界を示しており、分析は複雑性を増しつつ、外観・支持された主張・整合性にとって必要な真理の間の関係を明確化している。今後には、初期の仮見直しを行い、証拠を荷重支持接合部に直接的に対置して再評価することが必要であり、新しい結論に急ぐこと 대신 収束(convergence)を目指すべきである。最も高いレバレッジを持つ行動は、記述的な外観から構造的現実がどの点で乖離しているかを特定し、特に接合部を中心に例外、パターン、カテゴリーエラーを把握することにある。この転換により証明責任の枠組みが再定義され、元の結論が接合部を回避するのではなくそれを考慮するようになり、結果的に組織が表面の詳細と本質的な構造的制約との関係をどのように変革するかを示す。

Jev を 25 行の Python で実装する | そっか~ニュース