2026年11月に出た Python の新しいライブラリ、セキュリティ情報、Python 本体の動きを、週ごとにまとめています(11月8日号、11月2日号、11月1日号。新しい号が上)。
2026年11月8日号
対象期間: 2026-11-01 〜 2026-11-08(集めた件数: 391件。分野別: LLM 162 / 予測モデル・機械学習 52 / ツール開発 11 / 行政・公共 31 / Python 全般 135。ソース: Qiita(Python 4・機械学習 4・LLM 4・生成AI 4・LangChain 4)/ Zenn(Python 20・機械学習 20・LLM 20・RAG 19)/ Real Python 22 / PyCoder’s Weekly 1 / Python Bytes 1 / Planet Python 25 / GitHub Blog 5 / Simon Willison 14 / Hugging Face 8 / LangChain 9 / OpenAI 25 / デジタル庁 31 / PyPI の主要ライブラリのリリース 34 / GitHub(今週できた人気リポジトリ)30 / Hacker News 14 / Reddit(r/MachineLearning 25・r/LocalLLaMA 25・r/Python 23))
今週のポイント
- Pillow は 13.0.0 に上げる:10/16 リリースの 13.0.0 で、CVE-2026-112900(EPS を開くときの Ghostscript への引数注入。ファイル名が
-や@で始まると任意のコマンド実行に至る)など 40 件近い脆弱性を修正。Python 3.10 のサポート終了など互換性のない変更もある。 - LLM まわりのライブラリで「トレースやログに秘密情報が出る」修正が続いた:pydantic-ai 2.66.0 / 1.107.10(埋め込みのテレメトリに
extra_headersが記録される)、litellm 1.108.x(キーのない Vertex の転送で仮想キーが漏れる、OPENAI_ADMIN_KEYが送られる)、MLflow 3.18.0(パストラバーサル CVE-2026-53995、crewai のスパンにツールの API キー)。該当するなら更新し、キーを入れ替える。 - anthropic 2.5.0 で例外の継承関係が変わった:
OverloadedErrorとServiceUnavailableErrorがInternalServerErrorのサブクラスに。exceptの順番でリトライの分岐を書いているコードは確認する。 - 安い判定モデル+迷ったら上位モデル、の多段構成:Hightouch の検証で、確信度 30〜90% の帯だけ Opus 5.5 に回すと、Opus 単独と同等の正解率(98.8% / 99.0%)で費用は約 1/4。決め手は正解率より確信度の較正(キャリブレーション)だった。
- 少ない行数なら表データの基盤モデルが LightGBM に勝つ:BigQuery の TabFM(プレビュー)は 5,000 行までは誤差率で LightGBM を下回り、学習範囲外の予測にも強い。数万行以上や繰り返し予測では LightGBM のほうがよい。
🚨 セキュリティ(要対応)
| 件名 | 内容 | 対処 |
|---|---|---|
| Pillow 13.0.0 の脆弱性修正(PyCoder’s #759 で紹介) | 10/16 リリース。Critical の CVE-2026-96639(モード変換後に古いメモリを再利用)や JPEG デコーダーのバッファオーバーフローなど多数を修正。CVE-2026-112900(2.6.0〜12.3.0 が対象)は、Ghostscript が入った環境で、攻撃者が決めたファイル名の EPS を Image.open() すると、-dSAFER を付けていても任意のコマンド実行に至る(中身は普通の EPS でよい)。ほかに TIFF・PDF・GIF などの解凍爆弾や DoS の修正も多い | Pillow ≥ 13.0.0 に上げる。互換性のない変更あり:Python 3.10 非対応、I モードの PNG 保存で値を切り詰めなくなった(先に convert("I;16"))、Image._show などの削除。アップロードされたファイルを開く処理は、元のファイル名を使わず保存名を付け直す |
| Django 6.1.3 / 6.0.10 / 5.2.19 | 6 件。Moderate は CVE-2026-111362(GeoJSON の crs で外部の URL やファイルを読める)。ほかに base64 のマルチパートでメモリを使い切る(CVE-2026-108147)、Vary のヘッダーがない場合と空の場合でキャッシュキーが同じになり、他人向けの応答を返すことがある(CVE-2026-113593)、閲覧のみの管理者にパスワードハッシュが見える(CVE-2026-113733、6.1・6.0 のみ)など | 使っている系列の最新に上げる。GIS を使うなら GDAL 3.9 以上にする(新しいシステムチェック gis.W001 が古い GDAL を警告)。cache_page() を使っているなら更新後にキャッシュが作り直される |
| MLflow 3.18.0 | FileStore のトレースのパストラバーサル(CVE-2026-53995)を修正。モデルが持ち込むコードの実行を拒否する MLFLOW_ALLOW_MODEL_CODE_EXECUTION=false を追加。mlflow.crewai のスパンにツールの API キーが、mlflow.smolagents のスパンに認証情報が出ていたのを修正 | 更新する。SQL のバックエンドは DB のマイグレーションが要る(バックアップ → 書き込みを止める → mlflow db upgrade → 再起動)。crewai / smolagents のトレースを残していたなら、キーの入れ替えを検討 |
| pydantic-ai 2.66.0 / 1.107.10 | 埋め込みのテレメトリが extra_headers / extra_body を記録し、トレースに認証情報が出ることがあった。保存した会話履歴からファイルを復元するとき、ローカルの URL や s3:// を読めた。web_fetch_tool の大きな JSON でイベントループを止められる(high)。ドメインの許可リストが確認前に DNS を引いていた、など | 2.x は 2.66.0、1.x は 1.107.10 に上げる。埋め込みで extra_headers にキーを入れていたなら入れ替える |
| litellm 1.108.0 / 1.108.2 | プロキシで、キーのない Vertex の転送で呼び出し元の仮想キーが漏れる(#38114)、api_key が空の openai/ デプロイで OPENAI_ADMIN_KEY を送っていた(#50218)、音声の書き起こしのエラーで本文を返していた(#50325)などを修正 | LiteLLM のプロキシを使っているなら 1.108.2 以上(LTS 系列)へ。侵害された 1.107.0 は引き続き使わない |
| transformers 5.22.2 | Jinja のサンドボックスを強化(#50431)。チャットテンプレートの処理に関わるとみられるが、脆弱性の内容と深刻度は未確認 | 外部のモデルのチャットテンプレートを読み込むなら上げておく |
| 続報: eMudhra の中間 CA の件、PSF のまとめ | certifi は「emSign Root TLS CA – G3」を外した(GHSA-6q48-6c7w-9gw2)。Python 本体は拒否リストを追加(CVE-2026-115557)。uv、conda、pixi、virtualenv、manylinux、gh-action-pypi-publish なども対応済み。記事には各ツールの修正版の版番号はない | 前回までの手順(certifi・Python・uv の更新)が済んでいれば追加の対応はなし。Docker イメージは作り直す |
🎯 仕事に関係する分野(重点)
📈 予測モデル・機械学習
- BigQuery の TabFM と LightGBM を Diamonds で比較 — TabFM は
AI.PREDICTから使う表データ向けの基盤モデル(プレビュー)で、学習せずに、予測のたびに学習データを渡して予測する。価格予測の誤差率(中央値)は、250 行で TabFM 7.99% / LightGBM 15.78%、5,000 行で 4.96% / 5.41%、10,000 行で 4.80% / 4.97%(拮抗)。LightGBM は全量(51,794 行)で 4.22%。学習範囲外(1.51 カラット以上)では TabFM(2,000 行で 9.87%)が最もよく、LightGBM は全量でも約 20%。 – 注意:特徴量は 50 列、分類は 10 クラスまで。10/30 からトークンで課金され、予測のたびに学習データ分のトークンがかかる。20,000 行では 5 シード中 4 シードでメモリ超過。データセットは 1 つだけ。 - 日次データの「曜日効果」を曜日ダミー変数で推定する — 曜日ごとの単純平均では祝日の影響が残る(2025 年の祝日 19 日のうち 9 日が月曜で、月曜の平均を押し上げる)。statsmodels の
C(dow)で曜日ダミーを作り、祝日フラグとトレンドを同時に入れた OLS では、仕込んだ効果(土曜 +30 など)に近い値(31.11)が出た。単純平均では 25.4。 – 注意:架空データでの例。効果が倍率で出るなら対数を取る。曜日のパターンが途中で変わっていないか、残差に自己相関が残っていないかを確かめる。需要予測の前処理や、曜日調整した系列を作るときに使える。 - MLflow 3.18.0 — エージェントの失敗をまとめて「課題」にする自動検出、スキルの登録簿(実験的)、新しいトレースを自動で採点するオンライン評価、評価結果の比較画面の刷新。 – 注意:セキュリティの修正を含む(上の表)。SQL ストアの
search_logged_modelsの並び順が変わった。models:/のダウンロードにregistered_model_metaが付かなくなった。 - pandas 3.1.1 — 3.1.0 の不具合の修正。
dtype_backend="pyarrow"で日時の欠損値が 1970-01-01 に置き換わる(GH 71743)、read_csv()/to_csv()がpy.path.localなどのパスを開いたファイルとして扱い、不完全なファイルを黙って書く(GH 71769)、PyArrow の列でffill/bfillの結果が元のデータと共有される(GH 71515)など。 – 注意:3.1.0 を使っているなら上げる。3.1 で入ったDataFrame.select()はdf.select('x', 'y')のように列名を並べて書く(df[['x', 'y']]の代わり)。 - 学び直し向け:scikit-learn 入門 #6 分類モデルの評価(混同行列・適合率・再現率・F1) / ロジスティック回帰の基本と設定できるパラメータ / 競馬予測システム開発記(11) 答え合わせと日次レビュー編(前回の (10) の続き)
🤖 LLM アプリ開発
- 判定モデルが迷ったら Opus に聞く構成で、Opus 並みの正解率を 1/4 の費用で(Hightouch) — 名寄せ(同一人物の判定)の結果の採点に、0〜1 の確信度を返す判定モデル Jev を使い、確信度 30〜90% の帯(約 22%)だけ Claude Opus 5.5 に回した。正解率は易しい/難しいテストで、Opus 単独 99.0% / 95.1%、Jev 単独 95.7% / 89.1%、組み合わせ 98.8% / 95.3%。1,000 件あたりの費用は Opus 単独 $3.86 / $5.39、組み合わせ $0.88 / $2.94。 – 注意:GPT-6 Luna は単独では Jev より正解率が高かったが、自信満々に間違えるため上位モデルに回らず、組み合わせでは負けた。多段にするなら正解率より確信度の較正を見る。難しいデータほど上位モデルに回る件数が増え、費用の差は縮む。回す帯のしきい値は実データで決める。
- 日本のビジネスで使う 5 つの判定タスクで、機械的判定・LLM・判定専用モデルを比較 — 12 通りを同じデータで比較。精度重視なら
gemini-3.7-flash(1 件 3.3 秒)、バランスなら thinking を有効にしたclaude-haiku-5-5(精度は近く、2 倍以上速く、費用は約 1/6)。ローカルでは機械的判定を主にし、拾えない種類をgemma4:26bで補う。thinking の有無で、敬語の誤警報が 63% → 18% に。秘密情報の検出では、gitleaks の誤警報 60 件を LLM の確認で 2〜29 件に減らし、検出は 225/225 を維持。 – 注意:データは小規模で人工の例を含み、1 回ずつの測定。「AI が書いた文か」の判定はどの方式も使えなかった。 - LLM-as-Judge のバイアスに注意する — 自己選好・位置・冗長性のバイアスを MT-Bench の論文の数値で整理(似た回答の順序を入れ替えると GPT-4 の判定が揃ったのは 65.0%、水増しした回答を良いと判定したのは Claude-v1 / GPT-3.5 で 91.3%)。結論は「明らかに弱い候補を落とす足切りには使えるが、接戦の順位付けには使えない」。 – 注意:記事中の評価例は架空。順序を入れ替えて 2 回採点する、系統の違う 2 つ目の judge で順位が動かないものだけ使う、小さな点差は信頼区間で判断する、が実務の要点。
- RAG の動的検索でもプロンプトキャッシュは効くか — 固定の規程(3,500〜5,500 トークン)→ 検索結果 → 質問の順に並べると、2〜5 ターン目のヒット率は約 95%、費用は Anthropic −64%、OpenAI Responses −68%、Gemini −67%。検索結果を先に置くと全方式で 0%。OpenAI の Chat Completions ではキャッシュの読み込みが 0% のままで、Responses API に移し、固定部分を
instructionsに、prompt_cache_keyを固定すると約 96% に。 – 注意:TTL 内のアクセスが 2〜3 回未満なら書き込みの割増で逆に高くなる。週末のキープアライブの ping は割に合わない。検証は 1 人・1 データ・5 ターン。前回の Bedrock の記事と合わせて読むとよい。 - LLM の API 代に家計簿をつけた — 費用を費目ごとに分けると最大は「毎回同じシステムプロンプト」で、プロンプトキャッシュ・effort の調整・Batch API で月 9.6 万円 → 2.5 万円(記事のタイトルによる。内訳は未確認)。
- Managed Deep Agents v0.10(LangChain、パブリックベータ) —
define_browser(scope="thread")でブラウザを使わせる(browser_snapshotでアクセシビリティツリーを読み、browser_runで操作)。browser_handoffでログインや二要素認証を人に渡せ、認証情報がモデルやトレースに入らない。サブエージェントに"async": Trueを付けると裏で動かせる。 – 注意:破壊的変更あり(connectors.mcp()の削除、sandbox のscopeの削除、LANGSMITH_*はシェルの環境変数が.envより優先に)。ハンドオフのリンクは 15 分で切れる。料金の記載はない。 - LangSmith BYOC — トレース・プロンプト・データセット・シークレットを自社のクラウド内のデータプレーンに置き、LangChain は管理プレーンだけを持つ。AWS は一般提供、Azure と Google Cloud はベータ。個人情報を含むトレースを外に出したくない場合の選択肢。申し込みは営業窓口経由で、料金は記載なし。
- llm 0.37(Simon Willison) —
llm openai endpoint addで OpenAI 互換のエンドポイント(ローカル LLM のサーバーなど)を追加しやすくなった。既定のモデルがgpt-6-lunaに(自分で既定を決めていない場合)。埋め込みで画像・音声などのバイナリの種類を区別できる。 - Dharma Field Extractor — 文書の画像から項目を JSON で取り出す約 2B のモデル(DharmaOCR-LITE への LoRA)。キーと型(文字列・数値・真偽値)を指定でき、ない項目は
null。546 文書・1,638 件で F1 ベース 0.834(Claude Opus 5 は 0.816)。帳票の読み取りの候補。 – 注意:学習は英語とブラジルのポルトガル語が中心で、日本語の対応は未確認。ライセンスの記載はなく、ローカルでの動かし方の手順もない。 - 続報: Kimi K3.1 Pro の重みが公開 — 前回「11/4 に公開予定」とした件。Hugging Face で公開され、総パラメータ 2.8T・活性 104B の MoE、文脈長 1,048,576 トークン、推奨の推論エンジンは vLLM・SGLang・TokenSpeed。ライセンスは独自の「Kimi K3.1 Pro License」で、大企業向けの条件があるかは未確認(LICENSE を読んでから使う)。手元の GPU で動く大きさではない。
- PLaMo 3 Translate を完全ローカルの翻訳アプリに — DeepL に貼れない文章向けに、Windows で動く翻訳アプリ NuKa(MIT)を作った。llama.cpp の
llama-serverを子プロセスで動かし、公式の GGUF(0.8B〜31B)を選べる。GTX 1660(6GB)で 0.8B・Q4_K_M が VRAM 約 667MiB、約 199 トークン/秒。 – 注意:NVIDIA GPU(CUDA)が必須。モデルのダウンロードと更新の確認では外部に通信する。更新マニフェストの署名は未対応。モデル自体のライセンスは未確認。
🛠️ ツール開発
- pip 26.3(11/2) —
pylock.tomlの対応を拡張(-r pylock.toml[extra1]で extra を選ぶ、--group pylock.toml:docs、--no-binaryでロックした URL を使う)。インストール中の想定外の import を止める。file:の URL へのリダイレクトを拒否。 – 注意:セキュリティポリシーに「信頼できない wheel のインストールが安全だったことはない」と明記された(#14412)。import を止める仕組みで危険は減るが、なくなるわけではない。入れるのは信頼できる配布元のものだけにする。 - Streamlit 1.67.0(11/5) — カードやギャラリーを並べる
st.grid、st.cache_dataのmax_sizeとサーバー全体の上限server.maxCacheDataSize、入力欄のrequired、既定のテーマの刷新。実験的にserver.enableAgentApiで AI エージェントが HTTP や MCP 経由でアプリを使えるようになった。 – 注意:st.dialogのwidthに不正な値を渡すとエラーになるようになった。エージェント API を有効にすると、アプリの操作を外から受け付けることになるので、社内ツールでは公開範囲を確認してから。見た目が変わるので、画面のスクリーンショットを手順書に使っているなら確認する。 - Flet 1.1.0〜1.1.2 —
RefreshIndicator、flet-shadcn-ui、flet-notifications、flet buildのプラットフォームごとの権限設定。1.1.1 で Web アプリの起動が 2〜3 倍速く、1.1.2 でサイズが最大 2MB 小さく。 – 注意:破壊的変更が多い。macOS の.appの名前がプロダクト名に、シードカラーのテーマの既定が中立の色に(ThemeSurfaces.TONALで戻す)、Windows のビルドで会社名・製品名を自動でエスケープするので手動のエスケープは外す、独自のビルドテンプレートは_options/_pyprojectを読む。 - AI エージェントに使わせる CLI の作り方 —
-f jsonでschema_version・summary・findings(expected/actual/suggestion)を返す、標準出力にはレポートだけを出しログは標準エラーへ、終了コードは 0=正常・1=指摘あり・2=使い方の誤り・3=想定外のエラー、書き換えるツールには--dry-run、AGENTS.md に「やりたいこと → コマンド」の表を書く。社内向けのチェックツールを作るときの型として使える。 - gilguard(Michael Kennedy) — フリースレッド版の Python(3.13t〜3.15t)で、C 拡張が黙って GIL を戻したときに、その import の行で例外を出し、どのパッケージのどの版かを示す。
python -m gilguardで入っているパッケージをまとめて調べられ(CI 向けに--json)、pytest -p gilguardで遅延読み込みも拾う。 – 注意:通っても「スレッド安全」の保証にはならない。版番号は記事に記載なし。 - borb(PyCoder’s #759 で紹介) — PDF の読み取り・作成・編集(テキストや画像の取り出し、表やリストの配置、注釈)を Python だけで行う。帳票の PDF 化の候補。 – 注意:AGPL と商用ライセンスの二本立て。社内の非公開ツールや配布するアプリに組み込むなら商用ライセンスが要る場合がある。対応は Python 3.10〜3.12 と書かれている。
- typer 0.28.0 — metavar を指定してもオプション名の既定を変えないように修正したのみ。
🏛️ 行政・公共分野の AI・デジタル
- ガバメントAI 源内「行政実務用 RAG」の解説動画(デジタル庁、11/6 掲載) — マニュアル・ガイドライン・報告書を登録し、自然な言葉で質問すると、該当部分を整理・比較・要約して答える。回答には参照したファイル名とページ番号が付く。例は「EASY(文書管理システム)の Q&A-RAG」(一部の府省では提供なし)と、庁内向けの「文書管理 Q&A-RAG」(Web サイトや SNS の投稿が行政文書に当たるか、など)。複数の府省が使うと見込まれるものをデジタル庁が開発し、源内で公開する方針。 – 注意(ページの記載):回答に誤りや漏れがありうるので、日付・文書番号・数値は原文で確かめ、規程に頼るときは引用元の条文を読む。入力してよい情報は各府省のルールに従う。自治体や庁内で同様の RAG を作るときの画面と注意書きの参考になる。
- 続報: AI・デジタル改革推進会議(第 1 回)の議事録(10/22 開催) — 年末までに「AX の具体像」「AI・デジタル改革原則」「社会実装加速のアクションプラン」を中間整理として取りまとめ、AI 基本計画の改定に反映する。AI ガバナンスの強化(AI 法を含む見直し)は年明け以降。構成員からは、自治体の導入費用への支援、共同利用できる AI 基盤、国の通知の AI-Ready 化(佐藤山形市長)、行政データの AI-Ready 化(中室氏)、AI エージェントの行為の責任分界の法的な整理(丸山氏)、「源内」など国と地方の共通基盤(村岡山口県知事)などの発言があった。
- 続報: 情報システム調達改革検討会(第 2 回)の議事概要 — 前回「議事概要は後日」とした件。AI を使った開発は、複数の設計案を速く比べられる一方、人月単価を前提にした見積り・契約・検収・支払い・責任分担の見直しが要り、速さや安さだけでなく保守・脆弱性対応を含むライフサイクル全体で評価すべき、とされた。生成 AI を前提にした調達では、情報管理・権利関係・成果物の検証の負担も評価に入れる。アジャイルは小規模な実証から段階的に合意を作る。
- デジタル庁の調達情報 — 企画競争「災害対応業務におけるデジタル技術等活用推進に関する調査研究」(11/6)、一般競争入札「GSS 内製アプリケーション(GSS AMS 等)開発等の支援」4 件(品質保証・フロントエンド・バックエンド基盤とデータ運用・バックエンド業務、11/4)、意見招請「行政文書の電子的管理システム(EASY)の令和 9 年度プロジェクト管理支援」(11/2)など。
🔄 主要ライブラリのリリース
| ライブラリ | 版 | 主な変更 | 影響 |
|---|---|---|---|
| Pillow | 13.0.0(10/16) | 脆弱性の修正多数(上の表)。Python 3.10 非対応、I モードの PNG 保存で値を切り詰めない、Image._show・ExifTags.IFD.Makernote などを削除。IM 形式と JpegImageFile.load_djpeg は非推奨 | 要対応 |
| mlflow | 3.18.0 | 課題の自動検出、スキルの登録簿、オンライン評価。CVE-2026-53995 などを修正。DB のマイグレーションが必要 | 要対応 |
| pydantic-ai | 2.65.0 / 2.66.0 / 1.107.10 | Responses API の WebSocket、ConversationStore、ModelFallback がモデルの拒否でも次へ、新しいサンドボックス。Z.ai の残高切れは ModelQuotaExceededError に、Temporal はリトライしても通らないエラーを既定で再試行しない、FunctionToolset(requires_approval=True) が渡した Tool にも効く。セキュリティの修正(上の表) | 要対応(セキュリティ)・動作の変更に注意 |
| litellm | 1.108.0〜1.108.3(LTS)/ 1.106.7 | Vertex AI の Interactions API、Azure AI Foundry の Entra ID 認証、Bing の検索。prompt_token_calculator を削除(#38132)。1.106.7 は Helm の値から lensWorker.enabled を消してから上げる。認証情報の漏れの修正(上の表) | 要対応(プロキシ利用時) |
| anthropic | 2.4.0 / 2.5.0 / 2.6.0 | 分析・利用上限・RBAC の API。2.5.0 で APIStatusError に error_code・details、OverloadedError と ServiceUnavailableError が InternalServerError のサブクラスに、..;x などのパス引数を拒否、メモリツールが /memories を消さないように修正。2.6.0 で OpenTelemetry のスパンにサンプリングのパラメータを記録しなくなった | 注意(例外の分岐、トレースの項目) |
| langchain | 1.4.8 / 1.4.9 | Python 3.10 のサポートは langchain 1.5.0・langchain-core 1.8.0 で終了と予告。1.4.9 は langchain-core>=1.7.5 が必要(モデルの拒否を表す標準のコンテンツブロック) | 注意(3.10 の環境は移行を計画) |
| langgraph | 1.2.20 | interrupt() の呼び出しごとに ID を振る。古い回答での再開を拒否する厳格な再開モード | 注意(1 つのタスクで複数の interrupt() を使う場合) |
| transformers | 5.22.1 / 5.22.2 | 5.22.1 は文書の修正のみ。5.22.2 は Jinja のサンドボックスの強化、NCCL のときだけデバイス ID を設定 | 注意(外部のチャットテンプレートを使うなら上げる) |
| streamlit | 1.67.0 | st.grid、エージェント API(実験的)、st.cache_data(max_size=...)、テーマの刷新 | 注意(st.dialog の width) |
| flet | 1.1.0〜1.1.2 | 新しいコントロールと拡張、Web の起動の高速化。破壊的変更多数(ツール開発の節) | 注意 |
| openai | 3.43.0〜3.46.0 | Responses の 12 時間キャッシュと書き込みの使用量の報告、プロジェクトのサービスティア、ワークロード ID のフェデレーション、データの保存先に日本・オーストラリア・インドを追加。破壊的変更の記載なし | 特になし |
| uv | 0.13.7 | uv init / uv add がワークスペースのメンバーのパスをグロブとして扱わない、Windows のトランポリンが継承していないハンドルを閉じない、uv audit(プレビュー)で別名の OSV を 1 件にまとめる | 特になし |
| ruff | 0.17.4 | プレビューで tarfile-ignore-zeros-true を追加、BOM 付きファイルでのパニックを修正、SIM102 が elif も報告 | 特になし |
| vllm | 0.33.0 | リリースノートのページが読み込めず、変更内容は未確認 | 未確認 |
| パッチ版 | — | pandas 3.1.1(予測モデルの節)、pydantic 2.14.3(高速化、GraalPy 3.13 の wheel。セキュリティ修正は前回の 2.14.2)、fastapi 0.162.1 / 0.162.2(文書と依存の更新のみ)、typer 0.28.0 | 特になし(pandas 3.1.0 の利用者は上げる) |
🌏 そのほかのトレンド
📦 新しいライブラリ・メジャー更新(重点分野以外)
- Muru(Graham Dumpleton、アルファ) — mod_wsgi の作者による Python の Web アプリのホスティングツール。アプリを一度 import してからワーカーを fork し、その前に DB 接続やスレッドなど fork に向かない状態を調べる。ログで「空きスレッド待ち」と「アプリの処理」の時間を分ける。新しい版の準備ができてから切り替え、起動に失敗したら古い版が動き続ける。
uv tool install muructl→muructl run app:application。Linux と macOS のみ(Windows は非対応)。 - Waymark(HN) — Postgres だけで動く耐久ワークフローのエンジン(MIT)。Temporal のように再実行するのではなく、
run()をバイトコードにコンパイルし、Rust の実行環境が状態を Postgres に保存する。README 自身が「本番では使わないで」としている初期段階。 - NVIDIA Auto Ontology(Apache 2.0) — DB のメタデータから用語と関係の下書きを作り、人が承認した「意味の層」を通して、自然言語の質問を SQL にする。回答に SQL と推論の手順が付く。PostgreSQL 17+pgvector と、NVIDIA の NIM か OpenAI 互換のエンドポイントが必要。 – 注意:取り込みサービスのエンドポイントに認証がない(3001・3002 番は内部ネットワークに限る)。KumoRFM を有効にするとテーブルが外部のサービスに送られる。外部からの貢献は受け付けていない。
🐍 Python 本体
- Core Dispatch #12(10/9〜11/6 の CPython 開発のまとめ) — 3.16.0 alpha 2 は 11/10、3.14.11 と 3.15.3 は 12/1 の予定。10 月は予定の 5 回に対して 16 回のリリース(多くはセキュリティ)。取り込まれた変更:
uuidの C 実装、strptime()のよく使う数値の書式を C で解析、非同期ジェネレーターとasyncioのreadline()の高速化、asyncio.run()のeager_tasks、sslの Encrypted Client Hello(OpenSSL 4.0 以上)、Windows のtarfileのフィルターでドライブ相対のパスを拒否など。PEP 813(pretty print プロトコル)が改訂されて再び議論に。この期間に承認・却下された PEP はない。 - Free-Threaded Python の ABI(Real Python Podcast #318) — フリースレッド版の拡張モジュールの ABI の話。上の gilguard と合わせて。
🔥 GitHub で今週伸びた Python リポジトリ(抜粋)
Trending の常連(anthropics/skills、spec-kit、humanizer、DeepTutor、Graphify、claude-seo、MoneyPrinterTurbo、Kronos、透かしの除去ツール)と、collect.py が拾った新規リポジトリのうちチート・アカウント不正利用・フィルター回避のツールは外しています。説明は README と About 欄によるものです。
| リポジトリ | ★ | 今週の★ | 概要 |
|---|---|---|---|
| NVIDIA/auto-ontology | 9,823 | +9,044 | DB の上に意味の層を作り、エージェントが自然言語から SQL を作る(上を参照) |
| D4Vinci/Scrapling | 99,359 | +8,712 | HTTP・ステルスブラウザ・解析・クロールをまとめたスクレイピングのフレームワーク(BSD-3)。MCP サーバーも。ボット対策の回避をうたう機能があるので、使うなら相手のサイトの規約と robots.txt を守る |
| calesthio/OpenMontage | 78,315 | +4,369 | エージェントで動画を作るパイプラインとツール、コーディングアシスタント向けのスキル |
| scenario-labs/skills | 3,507 | +2,151 | エージェントから画像・動画・音声・3D を生成するスキル集 |
| The-PR-Agent/pr-agent | 15,462 | +1,576 | オープンソースの AI によるプルリクエストのレビュー |
| google/skills | 23,450 | +1,477 | Google の製品・技術向けのエージェントスキル |
| ethanplusai/sellbird | 4,811 | +1,129 | 見込み客を探し、営業メールを書いて送り、返信も扱う。送信の自動化は迷惑メールの規制に注意 |
| shanselman/gputaskman | 540 | 新規 | GPU の中で何がメモリと計算を使っているかを見る端末のモニター(MIT)。ローカル LLM などの処理を見分ける。Windows(NVIDIA / AMD)・Linux・macOS |
📝 日本語の記事(Qiita / Zenn)
- BigQuery の TabFM と LightGBM を Diamonds で比較
- 日次データの「曜日効果」を曜日ダミー変数で推定する — 単純平均がずれる理由と回帰での解決
- 日本のビジネスシーンで日々直面する 5 つの判定タスクで、機械的判定・LLM・判定専用モデルを比べた
- RAG の動的検索でもプロンプトキャッシュは 9 割効くか? 3 社 4 方式の配置順別ヒット率と損益分岐点を実測検証
- LLM-as-Judge を使うときはバイアスに注意する
- AI エージェントに使わせる CLI の作り方:JSON 出力・終了コード・AGENTS.md
その他(目についたもの)
- Gemini の個人向けプランはチャット履歴を学習に使う(HN) — 有料の個人プランでも「アクティビティを保持」が有効なら学習に使われ、一部は人が読み、読まれたものは削除後も最長 3 年残る(Google のヘルプによる)。止めるにはアクティビティの保持を切るか一時チャットを使う。Workspace や API は扱いが異なるとの指摘。業務の情報を個人のアカウントに入れない。
- AI エージェントの API コスト高騰を防ぐ原因分析と LangChain によるトークン削減 / LLM の本番運用のための Observability 設計(OpenTelemetry と LangSmith) / LangGraph のチェックポイント設計と状態復元(Qiita、同じ著者の連載)
- SharePoint の ACL を取得して RAG に使う(Microsoft Graph API) — 前回の「検索の段階でアクセス制御」の実装の入口として。
- Synology の Universal Search を、root を渡さずに AI エージェントに使わせる(Zenn)
- If in doubt, delete the uv.lock file(Simon Willison)
- FastAPI Cloud の一般提供(Reddit) — 投稿を開けず、公式の発表も見つけられなかったため未確認。
2026年11月2日号
対象期間: 2026-10-26 〜 2026-11-02(集めた件数: 381件。分野別: LLM 153 / 予測モデル・機械学習 51 / ツール開発 9 / 行政・公共 34 / Python 全般 134。ソース: Qiita(Python 4・機械学習 4・LLM 4・生成AI 4・LangChain 4)/ Zenn(Python 20・機械学習 20・LLM 20・RAG 12)/ Real Python 23 / PyCoder’s Weekly 1 / Python Bytes 1 / Python Insider 1 / Planet Python 25 / GitHub Blog 2 / Simon Willison 14 / Hugging Face 7 / LangChain 10 / OpenAI 20 / Astral 1 / デジタル庁 34 / PyPI の主要ライブラリのリリース 30 / GitHub(今週できた人気リポジトリ)30 / Hacker News 17 / Reddit(r/MachineLearning 25・r/LocalLLaMA 25・r/Python 23))
今週のポイント
- Brotli の脆弱性 CVE-2026-111497 が実際の攻撃の段階に:CISA の悪用確認済み一覧に 10/27 に追加され、公開された PoC による攻撃の通信も報告されている。Brotli ≥ 1.2.1、brotlicffi ≥ 1.2.1.0 への更新がまだなら優先する。
- pydantic-ai と langgraph の更新に動作の変更がある:pydantic-ai 2.62〜2.64 は
GraphBuilderの分岐順やツール名の接頭辞などが変わり、langgraph 1.2.18 はスナップショットの既定間隔が 1000 → 100 に。これまでの号で「特になし」としていたので、ここで訂正する。 - 社内 RAG のアクセス制御は検索の段階で:Retriever で絞ると、管理者限定の文書が一般社員の検索に出なくなった。ただし、見てよい文書の中にある個人の携帯番号は回答に出ることがあり、別の対策が要る。
- バックテストの回収率 113.5% はリークだった:評価期間が学習期間と重なっていた。除いた後は中央競馬で 4 か月連続の回収率 51〜76%。モデルを組み合わせるときの確認点として参考になる。
- LLM の判定はプロンプトの言い回しで大きく変わる:研究アイデアの新規性の判定で、GPT-5.4 の正解率が言い回しだけで 93.5% → 40.9% に。LLM を評価者に使うなら、実際のデータで言い回しへの感度を測る。
🚨 セキュリティ(要対応)
| 件名 | 内容 | 対処 |
|---|---|---|
| 続報: Brotli / brotlicffi の CVE-2026-111497(Broccoli2Shell) | CISA が 2026-10-27 に既知の悪用された脆弱性の一覧へ追加し、公開された PoC による攻撃の通信も報告されている(このサイトの記載による。CISA の一覧そのものは未確認)。入っていれば urllib3(requests)、aiohttp、httpx[brotli]、Scrapy が自動で使う。一部のスキャナーでは検出できなかったとの報告もある | Brotli ≥ 1.2.1、brotlicffi ≥ 1.2.1.0 に上げ、プロセスの再起動とイメージの再ビルドまで行う。スキャナーの結果だけで判断せず、ロックファイルで版を確かめる |
Python 3.15.2 ほかと Pydantic 2.14.2 への更新がまだなら、10/28 号と 10/30 号を参照。
🎯 仕事に関係する分野(重点)
📈 予測モデル・機械学習
- 競馬予測システム開発記(10) 複数モデルを並べる編 — 安定版の Model A と実験版の Model B を同時に動かし、B は単独で資金を動かさない。数週間分の AUC・LogLoss・回収率・サンプル数で昇格を判断する(基準値の記載はなし)。題材は競馬だが、本番を壊さずに新モデルを試す方法として使える。 – 注意:順位予測モデルとの一致で絞るフィルターはバックテストの回収率が 113.5% だったが、評価期間が学習期間と重なるリークだった。除いた後は、中央競馬で 4 か月連続の回収率 51〜76%、地方競馬は特定の 1 か月の異常値に平均が引っ張られていた。良すぎる結果はまずリークを疑い、モデルごとの学習期間と評価期間を確認する。
- 「AI の自信」は当てになるか、13 行の Python で測る — 確信度を帯に分け、帯ごとの件数・正解率を出す。メール 65 通で、判定 AI の Jev は ECE 0.155・正解率 74%、著者のローカル AI は ECE 0.181・正解率 82%。Jev の 90〜95% の帯(12 件)は正解 50% で、誤り 6 通はすべて定期宅配の注文確定メールだった。著者は AI の欠陥ではなく「注文も取引に含めるか」という質問の定義の曖昧さが原因とみている。 – 注意:難しいメールを多めに含む標本なので、「80% の自信は 80% 当たる」といった結論には使えない。AI 同士の多数決を正解にしない。ECE だけでなく帯ごとの表を見る。
- OpenStreetMap から交通流予測モデルを作り、道路ネットワーク間の転移に挑む(4) — Graph Embedding+Transformer で過去 1 時間から次の 1 時間を予測。Transformer を共有し、ネットワークごとの部分を分けた。横浜の交差点周辺で MAE 2.986・MAPE 36.16%、川崎の高校周辺で MAE 3.021・MAPE 41.62%。 – 注意:2 つのネットワークだけで需要のパターンも共通。ベースラインとの比較はなく、MAPE も高い。
- 旧来の分類器はまだ Jev より強い?(Reddit) — 埋め込みの上に単純な scikit-learn のモデルを載せる方法と判断モデルの Jev を比べた投稿。手元にラベル付きデータがあるならまず試す価値のある構成だが、数値と条件は未確認。
- 学び直し向け:劣勾配法を自分で書く / k-means:少数の代表から圧縮・検索・学習へ
🤖 LLM アプリ開発
- RAG を使う社内 AI にアクセス制御を実装する — 部門・役職の属性で、検索の段階で文書を絞る。制御なしでは一般ユーザーの回答に個人の携帯番号や人事評価が出た。Retriever で絞ると、営業の一般社員は管理者限定の文書を取得できなくなった。プロンプトの強化を比べた実験では、一般社員の回答に携帯番号が出た回数が 3 回中 2 回 → 0 回。 – 注意:試行は少なく、著者も効果を断定していない。一般社員が見てよい顧客連絡先の文書から携帯番号が回答に出る場合があり、文書単位の制御では防げない。キャッシュ、ツール呼び出し、権限情報の更新は未検証。
- LLM に新規性を判定させてよいか(Ai2) — ICLR 2026 の査読コメントを基にしたベンチマーク。GPT-5.4 は言い回しだけで正解率が 93.5% → 40.9% に下がった。単純なプロンプトの Claude Opus 4.6(3 回の多数決)は macro-F1 0.854・$2.59 で、専用の評価器(0.642・約 $30.66、0.772・約 $82.05)を上回った。探索や推論を増やしても精度は一貫して上がらない。データは
allenai/novelty-judge-bench、コードはallenai/novelty-eval。 – 注意:研究アイデアの判定での結果なので、他の評価業務にそのまま当てはめない。LLM を評価者にするなら、実際の対象データでモデルと言い回しごとに測る。 - AI エージェントの RAG に判断モデルを使う 6 パターン — 質問と選択肢に確率を返すモデルを、①検索先の選択、②回答できるかの判定、③文書の選別、④答えのある段落の特定、⑤回答の裏付けの検証、⑥処理の重さの切り替え、に使う。 – 注意:③は対象を取り違えた段落を通す例があり、⑤の引用検証と組み合わせるのが安全。④は選択肢が 255 個まで。⑤の評価に使った主張は手作業で作ったもの。
- 誤りを棄却し、正しい結果を 1 件だけ返すための検索の改善 — 音声対話向けの FAQ 検索で、事後フィルタの 10 手法を比較。全件検索の 1 位の正解率は、事後フィルタで JaGov 0.728 → 0.813、企業 A 0.885 → 0.927、企業 B 0.684 → 0.753 に上がった。 – 注意:正解のカテゴリが推定できている前提の参考値。正解は生成元の FAQ だけで、人手の確認はしていない。Jev を使う手法は JaGov でしか試していない。
- 失敗したコード履歴を残すか、剪定するか — 失敗時に作業内容を元に戻し、エラーを履歴から消して教訓のメモだけを残すと、累積の入力トークンが 59,944 → 4,210、推定コストが $0.0558 → $0.0110、実行時間が 30.70 秒 → 19.55 秒に減った(どちらもテスト 20/20 合格)。 – 注意:1 つのタスク・1 つのモデルでの結果で、反復試行の記載はない。
- Context Engineering with Deep Agents(LangChain) — 長く動くエージェントの文脈管理。約 2 万トークンを超えるツールの結果はファイルに移し(貼り付けられたユーザーの発言は 5 万トークンが目安)、使用率が 85% を超えたら古い発言を要約する。
deepagentsを使わなくても、設計の目安になる。 - The Art of Loop Engineering(LangChain) — エージェントを 4 つのループ(実行・検証・イベント駆動・トレースからの改善)に分けて設計する考え方。 – 注意:検証を入れると遅延とコストが増える。改善案の採用前と、送金や DB 操作の実行前には人の確認を入れる、としている。
- Schedules SDK(LangChain) — Managed Deep Agents で、
define_schedule(cron=..., timezone=..., prompt=...)による定期実行や、runtime.schedules.create(...)による実行時の登録ができる。LangSmith Deployments 上で動くもので、スケジュール数や最小間隔の上限は記事に記載なし。 - d1-2B と d1-3B・d1 API の日本語ベンチマーク比較 — JNLI / JCommonsenseQA / ライブドア分類の正解率は、d1-2B が 75.4 / 86.6 / 64.2%、d1-3B が 81.2 / 90.2 / 68.1%。d1-2B の応答時間は約 25% 短い。 – 注意:JCommonsenseQA の差ははっきりしない、と記事は述べている。測定日はモデルごとに違い、モデルカードの表は検証できていない。自分の用途で測って選ぶ。
- 生成 AI API の instructions と input を分ける — OpenAI の Responses API で、「次の店舗でも同じ文章を使えるか」を基準に、ルールとデータを分ける。 – 注意:
previous_response_idで会話を続けてもinstructionsは引き継がれないので毎回指定する。分けるだけではプロンプトインジェクションは完全に防げない。 - Bedrock のプロンプトキャッシュは何を再利用するのか — 先頭からの完全一致が条件で、ツール定義が変わると後ろの部分も再利用できない。TTL は 5 分(省略時)または 1 時間、チェックポイントは 1 リクエスト 4 個まで。書き込みは通常入力の 1.25 倍なので、再利用されなければ割高になる。記事の条件は Haiku 5.5 のもので、他のモデルは未確認。
- 公開が近いとされるモデル:Kimi K3.1 Pro(二次情報)は文脈長 100 万トークン、入力 100 万トークンあたり $2・出力 $10 で、重みは 11/4 に公開予定。公開とライセンスは未確認。Qwen 4 は 9 月の発表時点で「学習中」とされ、文脈長 100 万トークンという話は公式には未確認。
- Nanbeige4.3-33B(Reddit) — Apache 2.0 の重み、モデルカード上の文脈長は 512K。Terminal-Bench 2.1 で 80.9(Qwen3.8-27B は 73.0)と開発元が報告しているが、すべての評価で勝っているわけではない。第三者の検証は未確認。
🛠️ ツール開発
- tar-codec:uv の新しい tar パーサー(Astral) — uv 0.12 ではプレビューで、0.13 から既定。sdist の解析で tar の系統(UStar/pax、GNU)の混在を拒否するなど、解釈が分かれるものを厳しく扱う。以前の実装よりおおむね 2 倍速いとしている。 – 注意:V7 形式の tar は非対応で、ベンダー固有の pax レコードも既定で拒否するため、古い sdist の展開で失敗する可能性はある。問題が起きたら
UV_LEGACY_TAR_BACKEND=1で元に戻して切り分ける。 - passlib の保守者が交代 — 約 5 年更新のなかった passlib が PEP 541 の手続きで、フォーク libpass(確認時点で 1.9.4)の保守者 notypecheck に 10/24 に移管された。移管の依頼では、bcrypt 5.0 以降との非互換や標準ライブラリからの
crypt削除が理由に挙げられている。PyPI の passlib は確認時点でまだ 1.7.4(2020-10-08)。 – 注意:Web アプリの認証でpasslib[bcrypt]を使っているなら、今後の更新を確認する。所有者が変わったパッケージなので、版を固定し、更新時は 変更履歴を読んでから上げる。 - Stlite(Python Bytes #502) — Streamlit を WebAssembly(Pyodide)で動かし、Python サーバーなしでブラウザ内で動かす。
@stlite/browserでページに組み込め、@stlite/desktopでデスクトップアプリにもできる。サーバーを立てにくい職場で小さなツールを配るときの候補。 – 注意:time.sleep()は何もしない(asyncio.sleep()を使う)。asyncio.run()は動かない。Pyodide 向けにビルドされていないバイナリ拡張は入らない。ファイルは既定で再読み込みすると消える(IndexedDB に保存はできる)。処理がブラウザ内で動くので、コードやデータに機密を埋め込まない。 - 実データをクラウドの AI に送らずに AI を使う設計 — AI に渡すのは処理の仕様、列名、架空の数行だけにして、処理プログラムを作らせ、実データでは人が手元で実行する。個人情報を含むデータの検算や突き合わせのツールを作るときの考え方。 – 注意:実データは AI エージェントの作業フォルダの外に置く。結果の中身やエラーをチャットに貼らない(架空データで再現して相談する)。手元で動くエージェントでも、読んだ内容はクラウドへ送られると考える。中身を読んで判断する仕事には向かない。
- グラフ画像を項目と数値で比べるローカル OCR の試作 — LightOnOCR-3-0.8B を CPU で動かし、数値が印字された棒グラフ 2 枚を読み取り、差分を出す。公開グラフ 1 組では数値 12 セルすべて一致。モデルの準備を含めて約 139 秒、メモリのピークは約 5.08GiB。 – 注意:確認した例が少なく、一般的な精度は未確認。項目が少なければ人の目のほうが速い可能性がある、と記事自身が書いている。
🏛️ 行政・公共分野の AI・デジタル
- デジタル庁 情報システム調達改革検討会(令和 8 年度 第 2 回)(10/21 開催、10/27 掲載) — 機動的な調達、発注者側の能力向上、中小・スタートアップの参入、ベンダーロックインの排除、透明性の確保の最終評価と、新しい調達改革の論点整理。ページ上に AI の記載はなく、事務局資料の中身は未確認。議事概要は後日掲載。
- デジタル庁の調達情報 — 意見招請(10/27〜10/29)で、共通情報検索システムの運用・保守(令和 9〜12 年度)、住民向け汎用電子申請サービスの設計・開発、旅費等内部管理業務共通システムの次期更改などが並んだ。庁内システムの更改の動きとして。
🔄 主要ライブラリのリリース
polars 2.1.0、torch 2.15.0、pytest 9.2.0、gradio 6.31.0、pydantic 2.14.2 / 1.10.27 は 10/28 号と 10/30 号を参照。
| ライブラリ | 版 | 主な変更 | 影響 |
|---|---|---|---|
| pydantic-ai | 2.62.0〜2.64.0 | ModelFallback、DetectLoops、バッチ API(BatchModelRequests)、ArtifactScanner を追加。GraphBuilder の分岐の開始順が .to() の順に変わり、一時停止中の耐久ワークフローの再生が壊れる可能性。ホスト型 MCP のツール名に既定で接頭辞。Coder のツールは既定で厳密スキーマが無効。json-repair は任意の依存に | 注意(これまでの号の「特になし」を訂正。耐久実行やツール名に依存する処理は確認) |
| langgraph | 1.2.18 / 1.2.19 | 1.2.18 で DeltaChannel のスナップショットの既定間隔が 1000 → 100 に。読み取りは速くなるがストレージは増える(snapshot_frequency=1000 で元に戻せる)。1.2.19 はストリーミングまわりの修正 | 注意(これまでの号の「特になし」を訂正。チェックポイントの保存量を確認) |
| transformers | 5.22.0(5.22.1 の内容は未確認) | Mistral Large 4 を追加(Model-as-a-Service として運用する場合は別途商用ライセンスが必要)。FP8 量子化モデルで PEFT のアダプター学習に対応。Expert Parallel のコードを別ファイルに分離 | 特になし(Expert Parallel のコードを直接 import している場合を除く) |
| uv | 0.13.6 | uv run --active --script が仮想環境でないディレクトリを削除しないように修正。x86-64 Windows の解決で platform_machine に AMD64 を使うように。プレビューの wheel variants で NVIDIA GPU を検出 | 注意(Windows でマーカーを使ったロックは差分を確認) |
| openai | 3.41.0 / 3.42.0 | エージェントの文脈圧縮の設定、セッションの絞り込み、WebSocket の再接続の改善など。破壊的変更の記載なし | 特になし |
| ruff | 0.17.3 | UP032 が誤った f-string に変換する問題を修正。字句解析と ruff format の出力を高速化。プレビューで shared-clock-mock を追加。破壊的変更の記載なし | 特になし |
| litellm | 1.103.10 / 1.104.8 / 1.105.6〜7 / 1.106.5〜6 | 各系列へのバックポート。拒否されたリクエストのログの項目を絞り、GCS ロガーがプロキシの設定を使うように。プロキシの gzip 圧縮の範囲を絞る。侵害された 1.107.0 は使わない(PyPI の最新は確認時点で 1.106.6) | 特になし |
| パッチ版 | — | nuitka 4.3.3 / 4.3.4(GitHub にリリースノートがなく、変更内容は未確認) | 未確認 |
🌏 そのほかのトレンド
📦 新しいライブラリ・メジャー更新(重点分野以外)
今週は特になし。
🐍 Python 本体
- PEP 850:Wheel Variants: Providers(下書き) — PEP 825 の wheel variant を拡張し、プロパティの管理方法と互換性の判定方法を定める。互換性の情報は、静的なリストかプラグインへの問い合わせで得る(プラグインは既定では入れず、実行もしない)。ABI の互換性を表す組み込みの
abi_dependencyも定義する。GPU 対応の wheel の配布に関わる提案で、今すぐ必要な対応はない。 - Python Typing Survey 2026 の結果 — 回答 1,794 件。型ヒントを頻繁に使う人は 85.5%、複数の型チェッカーを選んだ人は 49.9%。「AI 生成コードの精度・信頼性の向上」を型の理由に選んだ人は 18.5%(2025 年)→ 38.4%。困りごとの首位はサードパーティの型情報不足(65.1%)。
🔥 GitHub で今週伸びた Python リポジトリ(抜粋)
Trending の常連(anthropics/skills、spec-kit、AstrBot、SkillSpector、AiSOC、Graphify、TradingAgents、DeepTutor、claude-seo、humanizer)、透かしの除去ツール、前回までに載せたリポジトリは外しています。「新規」は今週できたリポジトリで、説明は About 欄によるものです。
| リポジトリ | ★ | 今週の★ | 概要 |
|---|---|---|---|
| higgsfield-ai/skills | 1,840 | +459 | エージェント用のスキル集とみられる(ページに説明なし・内容は未確認) |
| MiniMax-AI/mcode-stack | 493 | 新規 | MiniMax Code の開発チームが使うワークフローとスキル集(MIT、一部 CC-BY 3.0) |
| oxnw/ai-phone | 374 | 新規 | Apple Silicon 上のローカルの音声・言語モデルで動く SIP 電話デーモン(AGPL-3.0) |
| soimy/c3rb3r-rescue | 293 | 新規 | Synology DSM のランサムウェア被害からの復旧手順とみられる(証拠保全、メモリからの鍵回収など。内容は未確認) |
| molence/Mol-1 | 242 | 新規 | 生体分子向けのオープンなモデルとみられる(内容は未確認) |
📝 日本語の記事(Qiita / Zenn)
- RAG を利用する社内 AI にアクセス制御を実装する ― 部門・役職による情報分離とプロンプトインジェクションの検証
- Claude Code と作る競馬予測システム開発記(10) 複数モデルを並べる編
- 15 歳でもわかる Jev その 3 — 「AI の自信」は当てになるか、13 行の Python で測る
- AI エージェントの RAG 処理に判断モデルを使う 6 パターン
- 実データをクラウドの AI に送らずに AI を使う設計 ― 処理プログラムだけを作らせて、手元で回す
- d1-2B と d1-3B・d1 API の日本語ベンチマークでの比較
その他(目についたもの)
- SLEEP フレームワーク(Google Research) — 活動と「睡眠」を交互に繰り返し、デプロイ後の LLM に知識を定着させる研究。特定のモデル構成が前提で、コードの公開はページ上では確認できず、すぐ実務で使うものではない。
- 10-K / 10-Q の数値の取り出し:XBRL か文書の解析か(Reddit) — SEC の companyfacts API や edgartools などを使う方法の比較。結論は未確認。財務データを予測に使うときの入口として。
- PyPI から Reserver が削除された件(Reddit) — パッケージ名の予約を自動化するツールの話とみられる。削除の経緯は未確認。
- Pandas MultiIndex:2 段のインデックスとは / droplevel で段を外す(Reuven Lerner)
- GitHub の言語バーが正しくないときの直し方(Michael Kennedy)
2026年11月1日号
対象期間: 2026-10-25 〜 2026-11-01(集めた件数: 382件。分野別: LLM 154 / 予測モデル・機械学習 51 / ツール開発 9 / 行政・公共 34 / Python 全般 134。ソース: Qiita(Python・機械学習・LLM・生成AI・LangChain)/ Zenn(Python・機械学習・LLM・RAG)/ Real Python / PyCoder’s Weekly / Python Bytes / Python Insider / Planet Python / GitHub Blog / Simon Willison / Hugging Face / LangChain / OpenAI / Astral / デジタル庁 / PyPI の主要ライブラリのリリース 30件 / GitHub(今週できた人気リポジトリ 30件)/ Hacker News / Reddit(r/Python・r/MachineLearning・r/LocalLLaMA))
今週のポイント
- ガバメントAI 源内で「国会答弁作成支援 AI アプリ」の試作版の提供が始まった。約 18 万人の政府職員が対象で、過去の答弁や根拠資料の検索・答弁案の生成・検証支援ができる。臨時国会で試し、来年 1 月の通常国会から本格提供の計画。
- 源内の利用状況アンケート(第 1 回):回答 6,439 人、満足 71.7%、1 人あたり週 約 1.83 時間の削減(推計)。一方で「回答の正確さ」「使い方が分からない」「使う人に仕事が寄る」といった課題も。
- LightGBM 4.7.0 で確率の校正結果が変わる:
CalibratedClassifierCVがpredict_probaではなく新しいdecision_functionを使うようになり、校正後の確率の上限が 96% → 99% に。ただし検証ではログ損失・Brier スコアは悪化。 - MCP ツールが 60 秒でタイムアウトして二重実行される問題の原因と、ジョブを投入してすぐ返す設計。
- 悪性パッケージを止める無料のプロキシ「Takumi Guard」:uv の参照先を変えるだけで、既知の悪性 PyPI パッケージのダウンロードを 403 で止められる。
🚨 セキュリティ(要対応)
| 件名 | 内容 | 対処 |
|---|---|---|
| ChatGPT のアカウントを乗っ取れた脆弱性 | ChatGPT の HTML プレビュー(旧 Canvas)で、サンドボックス内のコードが親ページに postMessage() を送り、innerHTML を使う処理を通じてサンドボックス外で JavaScript を実行できた。細工した共有 URL を開くだけで、個人データの窃取や本人になりすました操作が可能だった。OpenAI は修正済み | 利用者側の対応は不要。LLM の出力を画面に表示するアプリを作るなら、innerHTML で差し込まない、iframe のサンドボックスを緩めない、CSP で広く許可したドメインが悪用されうる、の 3 点を確認 |
| LLM で被害者の「価値」を順位付けするマルウェア VOLTA(Cisco Talos) | Windows の情報窃取マルウェアが、盗んだ認証情報やセッションをまとめて LLM(OpenRouter 経由)に送り、換金できる資産を順位付けしていた | 認証情報はハードウェアで守られた保管場所へ。漏れたおそれのあるトークンは失効させる。不明なプロセスが Chrome を --headless で起動したら警戒 |
| 続報: eMudhra の証明書の件で JetBrains が IDE の更新を案内 | PyCharm などの JetBrains 製品も対象 | PyCharm を使っているなら更新する |
🎯 仕事に関係する分野(重点)
📈 予測モデル・機械学習
- LightGBM 4.7.0 で校正後の確率の上限が 96% から 99% に — scikit-learn の
CalibratedClassifierCV(既定のmethod="sigmoid")は、LightGBM 4.7.0 で追加されたdecision_functionをpredict_probaより優先して使う。そのため、上限のない生のスコアが校正に渡るようになり、確率の上限が約 0.96 → 0.99 に変わった。 – 注意:上限が外れても確率が良くなるとは限らない(著者の合成データではログ損失・Brier スコアとも悪化)。依存ライブラリを上げると、校正に渡る値が黙って変わることがある。確率を使う予測モデルは、更新のたびに自分のデータでログ損失・Brier を確かめる。 - AI の出力を「なんとなく良い」で決めないために物差しを先に作ったら、物差し自体のバグが 2 つ出た — モデルを選ぶ前に評価の仕組みを作り、合成データで試したところ、①測れなかった値(
null)が 0 点扱いになる、②境界値 0.7 が浮動小数点の誤差で 0.6999… になり>= 0.7を通らない、という評価側のバグが見つかった。GPU を使わずに安く見つけられる。 - EDINET の公式データには桁の誤りがある — 有価証券報告書 3,800 社分で、平均年収「7,567,272,000,000 円」「6,132 円」など約 57 社・64 行の桁誤りが見つかった。1,000 倍・1/1,000 などを試して、妥当な範囲に 1 つだけ入るときだけ直し、決まらなければ空欄にする規則で処理した(55 行修正・9 行空欄)。公的統計や行政データを予測モデルに使うときも、手で直さず規則で毎回直す、という考え方が使える。
🤖 LLM アプリ開発
- MCP ツールが 60 秒で timed out するのは処理が遅いからではない — 幽霊二重実行の正体 — 約 90 秒かかる PDF 変換を同期で実行していたため、クライアントが 60 秒で待つのをやめた。ところがサーバー側は処理を続けており、AI が失敗と思ってやり直すと、同じファイルに 2 つ目の処理が書き込む。 – 解決:受け付けたらすぐ
job_idを返し(同じ対象が実行中なら既存のjob_idを返す)、AI にはget_job_status(job_id)で進み具合を確認させる。時間のかかる処理を MCP ツールにするときの基本形。 - Ollama で作るオフライン社内文書検索 —— ローカル LLM と RAG の最小構成 — 生成に
gemma3:4b、埋め込みにnomic-embed-textを使い、Python の標準ライブラリだけで、索引は JSON ファイル。モデルを取ってくれば後はネットに繋がずに動く。 – 注意(記事より):全件を総当たりで比べるので文書が少ないとき向け。アクセス権の制御はないので、利用者の権限で文書を絞ってから LLM に渡す。質問がログに残らないかも確認する。 - 小型のローカル LLM は「形式の指示」にどこまで従うか — 資料作成・要約の用途で 6 モデルを 3 回ずつ試した。「3〜5 個の箇条書き」は全モデルが守ったが、「80 文字以内」のような厳しい条件やスライド枚数の指定は、モデルによって守れたり守れなかったりで、大きさでは説明できなかった。Qwen3.5-4B だけが 3 種類の指示をすべて守った。機械的に確かめられる条件にして、使うモデルごとに試すのがよい。
- LFM3-1.7B を VRAM 6GB で動かす — 小さな GPU でも Q4 量子化で約 152 tok/s。
- OSS「Hindsight」を Claude API に繋いで、エージェントに長期記憶を持たせる / エージェントの「メモリの税」は本当に起きるのか、自作データで検証 — 前回載せた「高度なメモリは素の RAG に負ける?」への追試。
- プロンプトインジェクションを再現して防御策を比較検証する
🛠️ ツール開発
- Takumi Guard:npm・PyPI の悪性パッケージを 403 で止めるプロキシ — 公式のレジストリの手前に置き、既知の悪性パッケージをダウンロードの時点で止める。匿名なら無料。uv では次のどちらかで使える(uv は
pip.confを読まない)。
export UV_DEFAULT_INDEX=https://pypi.flatt.tech/simple/
または pyproject.toml に [[tool.uv.index]](url = "https://pypi.flatt.tech/simple/"、default = true)。
– 注意:止められるのは既に知られている悪性パッケージだけ。--extra-index-url の取得元は対象外。どのパッケージを取りに行ったかはプロキシ側に見える。ロックファイルでの版の固定と組み合わせる。
- duckpad — DuckDB 2.0 を使った、オープンソースの SQL 作業環境。ばらばらのデータを画面上でつないで処理の流れ(パイプライン)を作れ、CLI で定期実行もできる。
pip install duckpad→duckpad start(Python 3.11 以上、MIT ライセンス)。Excel や CSV の集計・加工を GUI で組みたいときの候補。 - Python のソケット通信で JSON が途中で切れる原因と対策:TCP には「区切り」がない
- PyTorch の OOM を読む:allocated・reserved・Tensor の参照寿命
🏛️ 行政・公共分野の AI・デジタル
- ガバメントAI 源内で「国会答弁作成支援 AI アプリ」の試作版を提供開始(デジタル庁、10/30) — 約 18 万人の政府職員が対象。過去の答弁や根拠資料の検索・分析・整理、答弁案の生成、内容の検証を支援する。16 省庁から公募した職員 102 名が開発時の評価に参加。 – 位置づけ:AI は精査や最終判断を代わりに行わず、出力の正確さは保証されない。職員は原則として根拠資料と照らし合わせ、事実関係・過去の答弁や政府方針との整合・表現を確認する。 – 予定:第 222 回臨時国会で試し、結果を踏まえて来年 1 月からの通常国会で本格提供の計画。
- ガバメントAI 源内 利用状況アンケート(第 1 回)の結果 — 各府省庁の職員 6,439 人が回答。 – 効果:利用者の 71.7% が満足。54.4% が「使った業務で週 1 時間以上減った」。1 人あたりの削減は週 約 1.83 時間(約 110 分)と推計。浮いた時間でより深い分析ができた、という声も。 – 課題:31.2% は「ほとんど使わない・使ったことがない」。回答の正確さへの不安、効果的な使い方が分からない、AI を使う人に仕事が寄る、AI の出力が多くて負担が増える、など。 – 今後:10/20 に始まった AI エージェント環境の改善(回答精度・ファイルの入出力)、府省庁でスキル・データ・事例・プロンプトを共有する「源内ライブラリ」を年度内に開始、「源内ガイドライン」(2026 年 10 月)の公表、2027 年 1 月ごろに第 2 回調査。 – 自治体や自分の職場で生成 AI の導入効果を測るときの、設問や推計方法の参考になる。
🔄 主要ライブラリのリリース
| ライブラリ | 版 | 主な変更 | 影響 |
|---|---|---|---|
| lightgbm | 4.7.0(リリース日は未確認) | LGBMClassifier.decision_function を追加。scikit-learn の校正がこれを使うようになり、結果が変わる(上の「予測モデル」参照) | 注意(確率の校正を使っている場合) |
| パッチ版 | — | openai 3.42.0、langgraph 1.2.19、transformers 5.22.1、pydantic-ai 2.64.0、nuitka 4.3.4 | 特になし |
🌏 そのほかのトレンド
📦 新しいライブラリ・メジャー更新(重点分野以外)
- Zero-Breach-Toolkit — 既知の商用スパイウェアの痕跡を、オフラインで調べる無料のツール(今週できたリポジトリで★ 4,059)。
- datasette-llm 0.1a9(Simon Willison) — データ探索ツール Datasette から LLM を使うプラグインの試作版。
- nesformer — ファミコンの CPU を Qwen3.5 の重みの中に組み込んで動かす実験。
🐍 Python 本体
- PEP 851:
list.discard()を追加(下書き、Python 3.16 が目標) — 最初に一致した要素を削除してTrue、なければ例外を出さずにFalseを返す。remove()のValueErrorをtryで囲む書き方が要らなくなる。 - Python の abi3t とは(mathspp) — C 拡張を配布する人向けの解説。
- None 以外の「番兵」の値の使い方
🔥 GitHub で今週伸びた Python リポジトリ(抜粋)
前回も載せたもの(Graphify、TradingAgents、DeepTutor、SkillSpector、claude-seo、humanizer)と、透かしの除去ツールは外しています。
| リポジトリ | ★ | 今週の★ | 概要 |
|---|---|---|---|
| anthropics/skills | 186,142 | +2,389 | Anthropic 公式のエージェント用スキル集 |
| github/spec-kit | 144,736 | +1,984 | 仕様を先に書いて AI に実装させる「仕様駆動開発」を始めるための GitHub 公式ツール |
| AstrBotDevs/AstrBot | 45,472 | +2,137 | 多くのチャットサービスと LLM をつなぐ AI アシスタントの開発基盤 |
| beenuar/AiSOC | 5,923 | +2,364 | LLM エージェントで警報を仕分けるオープンソースのセキュリティ監視(MCP サーバー付き) |
| interplains/Zero-Breach-Toolkit | 4,059 | 新規 | スパイウェアの痕跡をオフラインで調べる |
| hugues31/duckpad | 288 | 新規 | DuckDB を使った SQL 作業環境(上の「ツール開発」参照) |
📝 日本語の記事(Qiita / Zenn)
- 校正後の確率の上限が 96% から 99% に。原因は LightGBM で、96% は確率を式に入力したためにできた上限だった
- MCP ツールが 60 秒で timed out するのは処理が遅いからではない — 幽霊二重実行の正体と、1 秒で返すジョブ投入パターン
- Ollama で作るオフライン社内文書検索 —— ローカル LLM と RAG の最小構成
- EDINET の公式データは、桁間違いがある ― 有報 3800 社分を処理してわかったこと
- ConoHa VPS に無料同梱された Takumi Guard を試す —— npm・PyPI の悪性パッケージを 403 で止めるプロキシ
- 用語集を先に作って訳語をそろえる:正本のゆれと訳文の訳語を Python で照らす
その他(目についたもの)
- 仕様回答ボットを作り直した──AI は質問理解と事実選択、回答はコードで組み立てる — 前回の「名寄せはルールで」と同じく、答えが決まっている部分は LLM に書かせない設計
- LLM が「OK」でも人に回す。緊急の判定を LLM に任せない
- Real Python Podcast #317:Python のメモリ管理とプロジェクトの選び方
- Software is a discovery process(Jaime Buelta)
週報の元データと収集スクリプトは python-lib-weekly にあります。
コメント