0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

プログラミング雑記 2025年12月11日

Posted at

本日も、ネットに流れるトピックから個人的に興味を引かれたものを拾っていきます。

この記事への感想等コメントで頂けるとありがたいです

ポッドキャスト版

プログラミング

本講演は、PHP 8.4/8.5世代の言語機能を活かして「バグをチェックで取り締まる」のではなく、そもそもバグが入りにくい設計=予防によって堅牢なコードを書くための指針を示す内容である。

具体的には、型宣言・列挙型・静的解析・型のモデリング・不変性・完全性・責務の配置といったトピックを通じて、引数や状態を曖昧な配列や文字列で扱うのではなく、区間やステータスなどのドメイン概念を型として表現し、DateTimeImmutable+専用クラス+アトリビュートなどを組み合わせて誤用をコンパイル時・実行時に早期検出するテクニックが紹介される。

また、例外やアサートの使い分け、NoDiscard的な仕組みによる戻り値の取りこぼし防止、ヘルパやDSL風APIによる「Simple & Easy」なテストコード記述などを通じて、読みやすさと安全性を両立させる設計の考え方が示されている。


Go言語

この記事は、GoのWebフレームワーク「Gin」が標準ライブラリよりも大きく複雑で、長期的には有害だという批判的な論考です。​
筆者は、HTTP自体はシンプルであり、Go標準のnet/httpは少ないコード量と小さいAPIサーフェスでその構造を素直に表現していると評価します。​

一方Ginは、サーバー機能、ルーティング、テンプレート、QUIC対応など多くの関心事を1つの巨大なAPIに詰め込み、膨大な依存関係とコード量(数十万行・数十MB)をプロジェクトに持ち込むと指摘します。​
さらに*gin.Contextなどの型はメソッドが過剰に多く、複雑さの割に抽象化は弱く、バイナリサイズや初期化コストの増大、不要なフォーマット・プロトコル(複数のJSONライブラリやHTTP/3など)の強制読み込みを招くと批判します。​

また、人間は退屈な技術選定を雑に済ませがちで、「とりあえず検索して最初に出たGinを選ぶ」ような意思決定が依存性地獄とライブラリロックインを生むとも述べます。​
筆者はGinを絶対使うなとは言わないものの、「小さく、標準に近く、置き換えやすい」ライブラリや標準ライブラリを優先し、Gin的な巨大・過剰・一体型の設計には強い警戒心を持つべきだと結論づけています。


Android

StrandHogg攻撃は、Androidのマルチタスク機構の穴を突き、銀行やSNSなど他アプリのタスクを乗っ取ってフィッシング・スパイウェア・ランサムウェアなどを仕掛ける致命的脆弱性です。[1]
Android 11以降ではv1/v2ともにパッチ済みだが、それ以前の端末では依然リスクがあり、開発者は最低SDK 30対応、ManifestのtaskAffinity=""設定、allowTaskReparenting不使用などで防御する必要があります。

RDBMS

Django Admin から発行されたインデックスなし JOIN+大量テーブル結合+ ORDER BY を含む 1 行の SELECT が、MariaDB の一時ファイルを /tmp に大量生成し、モノリス構成の単一 VM のディスクを逼迫して本番システムを止めかけた事例の共有記事。​
原因分析として、巨大 DB でのテスト不足・ORM/オプティマイザ盲信・生成 SQL 未確認・古い MariaDB 利用を挙げ、対策として tmp 領域の分離、巨大 DB 環境での実行計画確認、Django Debug Toolbar による SQL 可視化などを実施し、「SELECT でも本番では危険」「ORM 任せにせず SQL とインデックス設計・リソース分離・障害対応手順を意識すべき」という教訓をまとめている。

感想:
ORMはインデックス作成までは面倒を見ないし、実際に出力されたクエリーがどのように動作するかは、RDBMSのクエリーエンジン次第であり、クエリーの内部動作もRDBMSの稼働状態で変わり得る。特にこの事例のように他のサーバーと同居している場合は尚更だ。

常日頃スロークエリーを監視したり、実際に使用されているクエリーの実行プランの確認をして、インデックスの見直しをするなど心掛けたい。


SQL Server

SSMS 22.1 がリリースされ、GitHub Copilot の改善と不具合修正が含まれています。
Copilot ではプロンプトや応答は学習に使われず暗号化され、BYOM によりツール呼び出し対応モデルを選択可能です。
SSMS 上で実行プランを添付して解析させたり、現在は SELECT のみ実行する Ask モードのみ対応で、今後は承認付きで書き込みも可能な Agent モードが導入予定です。
管理者はグループポリシーのテンプレートを通じて Agent モードや Copilot 自体の利用を制御できます。


JavaScript

Node.js v24.12.0 (LTS “Krypton”) は、HTTP の optimizeEmptyRequests オプション追加、util.deprecate のオプション拡張、モジュールの type stripping の stable 化、Node-API の新規オブジェクト生成 API、SQLite defensive フラグ対応、watch 設定名前空間やポータブルなコンパイルキャッシュ、--allow-inspector 権限、V8 の CPU プロファイルなど、複数の機能追加と依存関係更新・ドキュメント修正を含むリリースです。


エージェンティックコーディング・仕様駆動開発

本稿では、LLMや自動運転的な運用基盤の進化により「自分で書き・追い・直せるコードだけを扱う」という前提が崩れつつあると指摘している。開発では、AIに機能追加とテスト生成を任せ、テストと振る舞いが正しければ中身を詳細には読まずに出荷するスタイルが現実的になってきている。運用面でも、監視・解析・自己修復を担う機械側の「MCP」のようなコントロールプレーンが前提となり、人間はダッシュボードを凝視して手でデバッグするのではなく、その仕組みに適した記述や設計を行う役割へとシフトする。こうしたコード生成や自己運用の仕組みは、CPUやOSと同様に「中身を完全には理解しないまま使う強力な抽象プリミティブ」となり、開発者はより高い抽象レイヤで精密に振る舞いを記述することが重要になると結論づけている。


AI

Mistral

Mistralは次世代のコーディング向け大規模モデル「Devstral 2(123B)」と小型版「Devstral Small 2(24B)」、およびそれを活用するCLIエージェント「Mistral Vibe CLI」を発表している。

Devstral 2はSWE-bench Verifiedで72.2%と高性能で、競合よりパラメータ数が少ない一方、最大256Kコンテキストやコードベース全体をまたぐ編集・リファクタリングなど生産環境向け機能を備え、API経由で当面無料提供される。 Devstral Small 2は68.0%の性能を持つ24Bモデルで、Apache 2.0ライセンスのオープンソースとしてローカルやコンシューマGPU/CPU上でも動作可能な軽量モデルとなっている。 いずれもオンプレ展開やファインチューニングに対応し、DeepSeekやKimiなどより小型ながら同等以上の性能を目指している。

Mistral Vibe CLIはDevstralをバックエンドとするオープンソースのコマンドライン開発エージェントで、プロジェクト全体を解析し、複数ファイルにまたがる変更、Git連携、シェル実行などを自然言語で操作できるインタラクティブなチャットUIを提供する。 Zed拡張としてIDE内でも利用でき、config.tomlによるモデル・プロバイダ設定やツール権限の制御、履歴永続化と補完などを備え、自動コード修正やPRサイクル短縮を狙っている。 Devstral 2はH100級GPU 4枚以上を推奨し、Devstral Small 2は単一GPUやCPUのみ構成でも動作可能で、無料期間終了後はDevstral 2が入力/出力それぞれ100万トークンあたり0.40/2.00ドル、Small 2が0.10/0.30ドルで提供される予定である。


Anthropic

Anthropicは、AIアプリと外部システムをつなぐオープン標準「Model Context Protocol(MCP)」を、Linux Foundation傘下の新組織「Agentic AI Foundation(AAIF)」に寄贈し、OpenAIやBlockらのプロジェクトと共に中立かつコミュニティ主導で発展させていくことを発表した。 また、主要クラウドやAI製品に広く採用されたMCPを今後もオープンソースとして継続的に改良し、エージェント型AIエコシステムの標準基盤として育てていく方針を示している。


Microsoft

Microsoft Agent 365は、エージェントに専用のEntra ID、メール、OneDrive、Teamsアカウントを付与し、人間の同僚のように業務フローへ組み込むための仕組みです。​
ユーザーは調達など特定業務向けエージェントをエージェントストアからオンボードし、ポリシーやナレッジを与えて自律実行させ、その活動履歴や影響を可視化できます。​
IT管理者はAgent 365のコントロールプレーンから、全エージェントの登録・権限・利用データ・リスクを一元管理し、条件付きアクセスやPurview、Defenderと連携したセキュリティ/コンプライアンス制御を行えます。


GitHub Copilot

GitHub Copilotの「Auto model selection」がVS Codeで一般提供され、全プランで利用可能になりました。
利用中のプランやポリシーに応じてGPT-5.1-Codex-MaxやGPT-4.1など複数モデルを自動選択し、レート制限を緩和しつつ透明性と手動切替の自由を維持します。


GitHub MCP Serverは、X-MCP-Toolsヘッダーや--toolsフラグによりツール単位の有効化が可能になり、必要なツールだけを読み込んでコンテキスト使用量やコストを大幅に削減できるようになりました。[file:page:1] さらに公式 Go SDK への移行でMCP仕様への追従性を高め、Lockdownモードやデフォルト有効のコンテンツサニタイズにより、公開リポジトリでの外部コントリビューター由来のプロンプトインジェクションリスク低減や信頼できない内容のフィルタリングなど、セキュリティ面も強化されています。


Google

FACTS Benchmark Suiteは、LLMの事実性を体系的に評価するための新しいベンチマーク群で、内部知識(Parametric)、検索利用(Search)、画像理解(Multimodal)、与えられた文脈への根拠付け(Grounding v2)の4領域・合計3,513問で構成されます。 Kaggle上で公開リーダーボードと非公開評価セットを用いてスコア(FACTS Score)を算出し、Gemini 3 Proは総合68.8%で先行モデルより大幅に事実性が向上した一方、全モデルが70%未満と今後の改善余地も示されています。


Gemini CLI v0.20.0以降に「セッション管理」機能が追加され、対話内容やツール実行結果、トークン使用量などを自動保存し、プロジェクトごとに履歴を切り替えながら再開できるようになりました。[1]
/ resumeによるセッションブラウザや、gemini --resume / --list-sessionsなどのCLIオプションで過去セッションを検索・復元でき、設定ファイルのポリシーで履歴の自動クリーンアップや、保存された詳細ログを用いた利用状況分析も可能です。


OpenAI

Strengthening cyber resilience as AI capabilities advance

OpenAIは、急速に高度化するAIのサイバー能力を前提に、モデルの安全設計、防御用途への最適化、多層的なセーフティスタックで悪用リスクを抑えつつ防御側を強化する方針を示している。 具体的には、アクセス制御や監視、検知・対応、レッドチーミングに加え、防御用途向けのトラステッドアクセスプログラム、脆弱性発見エージェント「Aardvark」、専門家によるFrontier Risk Council、他社との脅威モデル共有などを通じ、エコシステム全体のサイバー・レジリエンス向上を長期的に目指すとしている。


論文・その他

この記事は、Anthropic 周辺でここ1年に登場した MCP、Subagent、Context engineering、Agent Skills、Code execution、Advanced tool use などの位置づけと関係性を、時系列で整理したガイドです。それぞれは「外部システムへの接続をどう標準化するか」と「コンテキスト肥大・手続き知識・ツール乱立をどう制御するか」という課題に対する連続した解決策として説明されています。

まず 2024 年 11 月の MCP は、AI アシスタントとファイル・DB・SaaS などをつなぐオープン標準として、カスタム統合の乱立問題を解消することが目的でした。 その後、1 体の巨大エージェントではコンテキストが破綻するため、リーダーと複数のサブエージェントで役割とコンテキストを分割する Subagent 型のマルチエージェント構成が提案されます。

ツールや履歴が増えるとコンテキストが逼迫するため、「何を入れ/残し/外に逃がすか」を設計する Context engineering という発想が導入され、要約や外部メモリで情報を圧縮・退避する方針が示されます。さらに、ドメイン固有の手順や運用ルールを SKILL.md などから成る Skill としてパッケージ化し、必要時だけ段階的に読み込む Agent Skills により、「知識は多く持ちつつコンテキストは節約する」構造が整えられました。

しかし MCP サーバやツールが増えると、定義や中間結果だけで数万トークン規模になるため、ツールを自然言語から直接呼ぶのではなくコード(Python 等)経由で呼ぶ Code execution with MCP が登場し、コード側で集計して最終結果だけをモデルに渡す方式に変えています。これを一般化した Advanced tool use では、ツール検索で必要な定義だけロードし、プログラム的ツール呼び出しで中間結果をコード内に閉じ込め、サンプル付き定義で誤用も減らすという三本柱で、ツール利用とコンテキスト管理を体系化しています。

最終的に、MCP による「どこにつなぐか」の標準化から始まり、Subagent・Context engineering・Skills・Code execution・Advanced tool use へと、コンテキスト設計とツール利用効率化のためのレイヤーが段階的に積み上がってきた、という流れが 2025 年 12 月時点の俯瞰図としてまとめられています。


本記事は、国内外306名の実務家調査と20件のインタビューから、AIエージェント本番運用の実態と課題を整理したものです。多くの企業は生産性向上を主目的に、クローズドモデルをそのまま利用し、プロンプト中心かつ10ステップ以内・人間介入ありの「慎重な小さな自律性」の設計を採用しています。評価は人手確認が中心で、サイレント失敗の検知や自動テストの設計が難しく、正確性・信頼性の担保が最大のボトルネックとされています。それでも金融・医療など多業種で本番適用は進んでおり、「制約付き自律性+人間の監視」が当面の現実解だと結論付けています。


クラウド

Azure

Azure Updates (2025-12-11) | ブチザッキ

Azure StorageのSFTP再開アップロードGAやCosmos DB向け長期バックアップPreviewなどのストレージ/データ系アップデートに加え、DatabricksのServerless Workspace Previewが紹介されています。
Microsoft FoundryではFoundry MCP ServerやGPT-5.1-codex-max、Kimi K2 Thinkingなど各種モデル・機能のPreviewが登場し、Azure Local/ArcではMicrosoft 365 LocalやRTX PRO 6000サポート、Disconnected Operations対応などローカル環境向け機能が強化されています。
ほかにMicrosoft 365 E3/E5へのDefender/Intune同梱と値上げ予告、VibeVoiceという低遅延TTSモデル、.NET 10ネットワーキング改善、Azure SRE Agentのメモリ機能、AI Dev Daysなど多数のDocsやイベント情報がまとめられています。


2025/12/09 時点の Azure/Microsoft 関連公式情報を横断的にまとめた記事で、Azure Application Gateway V2 の FIPS 140-2 準拠モード対応や、Windows 11 における Microsoft Entra ID 認証フローの WebView2 対応などのセキュリティ・認証関連アップデートが紹介されています。 また、Entra PowerShell v1.1.0 のリリース、Azure Container Apps 向けの azd による Blue/Green デプロイ対応、Fabric の Spark Notebook 高速化や Real-Time Intelligence の評価など、開発者向け・データ基盤向けの技術ブログやイベント情報も包括的にピックアップされています。


OS

macOS

Mac用ユーティリティ「SoundAnchor」は、AirPodsなどマイク付きイヤホン接続時にmacOSが自動でマイク・スピーカーを切り替える動作を無効化し、ユーザーが入出力デバイスの優先順位を指定できるアプリです。​
メニューバーから自動切り替えの有効・無効やデバイス順の並べ替え、切り替え時の通知設定が可能で、macOS 12以降のIntel/Apple Silicon Macに対応し、公式サイトから無料で入手でき、気に入ればApp Storeの有料版購入などで開発支援もできます。


Linux

本記事は、ミドルレンジGPUであるGeForce RTX 5060 TiとRadeon RX 9060 XTを使い、Ubuntu 24.04 LTS上でllama.cppを動かしてローカル生成AIを始める手順とベンチマーク結果を解説している。GPU価格高騰を見据えたミドルレンジGPUの利点(価格・消費電力・発熱のバランス)を述べつつ、NVIDIAドライバとCUDA 13.1、AMDのROCm環境のセットアップ方法、llama.cppのVulkan/CUDA/ROCm各バックエンドでのビルド手順を示し、gpt-oss-120BモデルでのベンチマークではCUDA版が最も高速であること、llama-serverを用いてOpenAI互換APIやWeb UIとして利用できることを紹介している。


エンジニア

AIとお仕事

AIエージェント併用で深く集中できなくなった筆者が、「自分の状態をぼんやり観察し続ける『微観法』」という方法により、注意の逸脱を数秒で検知して素早く作業に戻れるようになり、複数案件・複数タスクを並列で進めながらも質と学習感を取り戻したという話。案件を時間で区切り、同一モード内でのみタスクを並列化し、飽きは「作業の並列」と「内面観察」の二重構造で無効化する。集中は才能ではなく環境との関係と方法の問題であり、AI時代には「深く沈む集中」から「すぐ戻れる集中」へシフトする必要があると結論づけている。


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?