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?

プログラミング雑記 2026年2月24日

0
Posted at

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

AIがSDLCを終わらせた、AIエージェントがコードを書いてコードを管理する時代の到来、LLMが苦手とするコード構造の分析、Goのnil問題の歴史と実務での付き合い方など、幅広いテーマを扱っています。

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

プログラミング雑記2026年2月24日.jpg

プログラミング

Go言語

このスライドは「Go Conference mini in Sendai 2026」での発表で、Goにおける nil の仕組みを4つのパートで解説しています。

① nilを言語仕様から見る
nil はキーワードではなく、truefalse と同じ「事前宣言された識別子(predeclared identifier)」です。デフォルト型を持たず、pointer・channel・func・interface・map・sliceの6つの型にのみ使えます。また、interfaceだけが内部的に16バイト(2ワード)の構造を持ちます。

② interfaceの内部構造と「nil != nil」
interfaceは内部的に「型情報(*itab)」と「データポインタ」の2つのポインタで構成されます。interface == nil となるのは両方がゼロのときのみです。そのため、nilポインタ(例:*MyError)をerrorインターフェイスに代入すると、型情報が入るため != nil となる「typed nil」問題が発生します。これはGoの仕様通りの動作です。

③ 改善提案の歴史
この問題はGoチームも認識しており、nilptr/nilinterfaceの分離、nullキーワードの導入、zero値の追加、?演算子によるエラーハンドリングの簡略化など、15以上の提案が出されてきました。しかし「Go 1互換性の保証」と設計思想のトレードオフから、いずれも不採用となっています。2025年6月にはエラーハンドリング構文の変更を断念することが公式に表明されました。

④ 実務での付き合い方
独自エラー型や errors.As でのtyped nil混入に注意し、関数の戻り値では必ず明示的に return nil を使うべきです。また、nil channelをselectで活用する設計パターンも有効です。バグ防止には nilaway(Uber)や staticcheck などの静的解析ツールの活用が推奨されています。


株式会社UPSIDERのRyo Mimura氏によるスライドで、AI(LLM)を活用した開発における「速さ」と「治安(コード品質・秩序)」の両立をテーマにしている。

AIによる治安の悪化
AIコーディングツールの普及で実装スピードは飛躍的に向上した一方、古い書き方の量産・既存アーキテクチャ無視・悪癖の増幅など「治安の悪化」が生じやすい。Rules/Skillsといったソフト制約だけでは防ぎきれないため、物理的・機械的に違反を阻むハード制約が必要だと主張する。

アーキテクチャ:依存の制御
Goの internal パッケージによる参照制限や、depguard 等のLintで依存ルール違反をCI段階で検出・遮断する。また「Package by Feature」(ドメイン単位のパッケージ分割)でAIのコンテキストを絞り、精度を高める工夫も紹介。

テスト:AIのハックを防ぐ
AIはテストを「通す」ことに最適化しがちなため、Fuzzing testやMutation testで実装の品質を担保する。実DBを使った結合テスト(testcontainers-go等)も有効で、CIを品質ゲートとして機能させることが重要と説く。

結論
これらは目新しい技術ではなく従来のプラクティスの延長。AIによって実装フェーズが爆速になった結果、ボトルネックがその前後にシフトし、従来の良い開発プラクティスの重要性がむしろ増している。「開発者体験の向上=エージェント体験の向上」であり、GoはAI時代にも適した言語だとまとめている。


.NET

この記事は、C# 14の新機能である「拡張メンバー(Extension Members)」について解説しています。

従来の拡張メソッドと異なり、新しいextensionブロック構文を使用することで、既存の型に対してメソッドだけでなく、インスタンスや静的なプロパティ、さらには演算子も追加可能になりました。これにより、ヘルパーメソッドのプロパティ化や外部APIのより自然な統合が可能になり、コードの整理が容易になります。


論文・その他

AIエージェントがSDLCを終わらせた

AIエージェントは開発を「速くした」のではなく、従来のソフトウェア開発ライフサイクル(SDLC)そのものを崩壊させた。要件定義→設計→実装→テスト→レビュー→デプロイ→監視という逐次的なプロセスは、各フェーズが融合し消滅しつつある。

Cursor以降にキャリアを始めたエンジニアはSDLCを知らない。スプリント計画もストーリーポイントもPRレビュー待ちも経験せず、「意図を伝えてエージェントがコードを書き、確認して改善してリリース」というフローで開発している。

各フェーズの変化は明確だ。要件はイテレーションの副産物になり、Jiraはコンテキストストアとして機能不全を起こしている。設計はエージェントとの対話の中で「発見」されるものになった。テストはコードと同時生成され、QAフェーズは消えた。PRレビューはエージェントが1日500件のコードを生成する時代には成立しない。デプロイは継続的かつ自動化され、唯一生き残るのは「モニタリング」だが、それも人間向けのダッシュボードではなく、エージェントへのフィードバックループとして再設計が必要だ。

新しい開発の形は「意図→ビルド→観測→繰り返し」というタイトなループ。SDLCが終わった今、求められる新しいスキルはコンテキストエンジニアリングであり、安全網はオブザーバビリティだと著者は結論づける。


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

コーディングエージェントを使う際、コンテキストウィンドウの枯渇やハルシネーションが課題になりがちです。この記事では、それを解決するASTベースの超軽量MCP「cocoindex-code」を紹介しています。

Tree-sitterでコード構造を解析し、関数・クラス単位で意味のあるチャンクを取得することで、トークン消費を約70%削減。RustベースのCocoIndexエンジンにより、変更ファイルのみをインクリメンタルに再インデックスするため高速です。ローカル埋め込みモデルを使うためAPIキー不要で、Python・JS/TS・Rust・Goなど多数の言語に対応。Claude・Codex・Cursorなど主要なMCP対応エージェントに約1分でセットアップできます。


AIにテストコードを書かせる際、単に「テストを書いて」と指示するだけでは表面的なテストしか生成されない。この記事では質の高いテストを得るための3つの戦略を紹介している。

エッジケース探索
実装前にAIにテストケースのリストアップだけをさせ、人間がレビューしてから実装を依頼する。

プロパティベーステスト
個別の値でなく「常に成り立つ性質」を検証し、予期しないケースを網羅する。

敵対的テスト生成
「意地悪なQA」役のAIに既存コードの穴を突かせる。また、仕様変更時のテストメンテナンスもAIが得意とする作業であり、人間は「何を保証すべきか」の品質設計に注力すべきだとまとめている。


AI

Anthropic

Anthropicは、DeepSeek・Moonshot・MiniMaxの3社によるAI蒸留攻撃(distillation attack)を検出・公表しました。これら3社は約24,000の不正アカウントを使い、Claudeから計1,600万回以上の応答を不正取得し、自社モデルの訓練に利用していました。蒸留攻撃とは、高性能モデルの出力を使って低性能モデルを強化する手法で、安全対策が失われたまま危険な能力が拡散するリスクがあります。Anthropicは、検出システムの強化、業界間での情報共有、アクセス管理の厳格化などで対抗しており、業界・政策立案者の連携による対応を呼びかけています。


この記事は、Anthropicが2026年のソフトウェア開発を変える8つのトレンドをまとめたものです。2025年にAIがテスト作成やデバッグなど実装ワークフロー全体を担えることが判明し、2026年はその能力がさらに拡大すると予測しています。エンジニアの役割はコードを書くことからエージェントを指揮・監督することへ移行し、アーキテクチャや設計などの戦略的判断に集中するようになります。ただし完全な委任は困難で、AIとの積極的な協働・検証が不可欠です。Rakuten、TELUS、Zapierなどの企業事例も紹介され、マルチエージェント連携やセキュリティ設計の早期組み込みが今後の重要課題として挙げられています。


Anthropic社内のチームがClaude Codeをどのように活用しているかを紹介した記事です。

主な活用事例として、コードベースの理解・ナビゲーション(新入社員の立ち上げ支援など)、ユニットテスト自動作成やPRレビュー、本番障害時のデバッグ高速化(解決時間を3分の1に短縮)、プロトタイピングや機能開発、ドキュメント整備、そして業務自動化が挙げられています。特筆すべきは、法務チームが社内電話案内システムを構築したり、マーケターがJavaScript未経験でも広告バリエーションを大量生成したりと、非技術職の活用が広がっている点です。Claude Codeは「コード生成ツール」を超え、技術職と非技術職の壁を溶かす「思考パートナー」として機能していると締めくくられています。


OpenAI

Responses APIのWebSocketモードは、ツール呼び出しが多い長期ワークフロー向けの機能です。/v1/responsesに持続的な接続を維持し、各ターンでprevious_response_idと新しい入力のみを送信することで、通信オーバーヘッドを削減し、レイテンシを改善します。20回以上のツール呼び出しでは最大約40%の高速化が確認されています。

接続はシーケンシャルで並列実行は非対応、接続時間は最大60分です。store=falseおよびZero Data Retention(ZDR)にも対応しており、セッション状態はメモリ内にのみ保持されます。


Why SWE-bench Verified no longer measures frontier coding capabilities

OpenAIは、SWE-bench Verifiedがフロンティアモデルのコーディング能力を測定するベンチマークとして不適切になったと報告しています。主な理由は2つあります。第一に、テストケースの欠陥により、正しい解答が不合格になるケースが監査対象の約59.4%で確認されました。第二に、ベンチマークの問題と解答がオープンソースであるため、主要モデル(GPT-5.2、Claude Opus 4.5、Gemini 3 Flash等)が訓練データを通じて解答を記憶しており、スコアが実力ではなく汚染度を反映するようになっています。OpenAIはSWE-bench Verifiedのスコア報告を停止し、代替としてSWE-bench Proの使用を推奨しています。


Introducing Frontier Alliances

OpenAIは、企業向けAIエージェント構築・運用プラットフォーム「Frontier」の導入を支援する「Frontier Alliances」を発表しました。パートナーとして、BCG、マッキンゼー、アクセンチュア、キャップジェミニの4社と複数年の提携を締結。BCGとマッキンゼーは戦略策定や組織変革の支援を、アクセンチュアとキャップジェミニはシステム統合やデータ連携を含むエンドツーエンドの導入支援を担います。各社はOpenAI技術の認定チームを構築し、OpenAIのエンジニアリングチームと連携して、企業全体へのAIエージェント展開を推進します。Frontierは現在限定提供中で、今後数か月で拡大予定です。


Microsoft

Azure AI Foundryブログが、今週注目の埋め込みモデル3つを紹介しています。

PubMedBERT Base Embeddings(NeuML):
医療特化の109Mパラメータモデルで、PubMedデータで学習し医療RAGに実績あり。

Paraphrase Multilingual MiniLM(Sentence Transformers):
50以上の言語に対応した117M軽量モデルで、月間1,840万ダウンロードを誇り多言語カスタマーサポートなどに最適。

BGE-M3(BAAI):
Dense・Sparse・Multi-vectorの3種検索を1モデルで実現し、8192トークンの長文脈と100言語以上に対応。いずれもMicrosoft Foundryから数クリックでデプロイ可能です。


Docker

Dockerは、Docker専用AIエージェント「Gordon」のアップデートをDocker Desktop 4.61(ベータ版)で公開しました。Gordonはターミナルでdocker aiコマンドまたはDesktopのサイドバーから利用でき、シェル・ファイルシステム・Docker CLIへのアクセスを持ち、コンテナのデバッグ・修正、Dockerfileの自動生成、ディスク管理などを実行できます。汎用AIと異なり、実際の環境を理解して操作する点が特徴です。操作はすべてユーザーの承認後に実行される安全設計で、全Dockerサブスクリプションに含まれています。


標準化

「AIエージェント標準化イニシアティブ」の発表(NIST、2026年2月17日)

NISTのAI標準・革新センター(CAISI)は、AIエージェント標準化イニシアティブの立ち上げを発表した。

AIエージェントは、コード作成・デバッグ、メール・カレンダー管理、商品購入など、自律的なタスクをこなす能力を持つ。しかし外部システムとの相互運用性や信頼性が不十分なままでは、エコシステムの断片化や普及の停滞が懸念される。

本イニシアティブはこの課題を解決するため、以下の3つの柱で推進される。

  1. 業界主導の標準開発と国際標準機関における米国のリーダーシップ強化
  2. コミュニティ主導によるオープンソースプロトコルの開発・維持
  3. AIエージェントのセキュリティとアイデンティティに関する研究推進

NISTは国立科学財団(NSF)などの省庁間パートナーと協力し、公募(RFI)や意見聴取セッションなどを通じて幅広い関係者の意見を収集する。具体的には、AIエージェントセキュリティに関するRFI(締切:3月9日)およびAIエージェントのアイデンティティ・認証に関するコンセプトペーパーへの意見募集(締切:4月2日)が進行中であり、4月からはセクター別の普及障壁に関するヒアリングセッションも開催予定となっている。


論文・その他

OpenAIのチームは過去5か月間、手書きコードを一切使わず「Codex」AIエージェントのみで内部製品を構築する実験を実施した。3名のエンジニアで約100万行のコードと1,500件のプルリクエストを処理し、従来比10分の1の時間で開発できたと推定している。

エンジニアの役割は「コードを書く」から「エージェントが作業できる環境を設計する」へと移行した。具体的には、タスクを細分化してCodexに指示し、エージェント同士がレビューし合うループを構築した。

品質管理では、アプリのUIや可観測性ツール(ログ・メトリクス)をCodexが直接読み取れるようにし、バグ再現・修正検証を自律的に行えるようにした。

ドキュメント管理は「巨大な1つのAGENTS.md」ではなく、目次+構造化されたdocs/ディレクトリで管理し、CIによる自動検証と定期的なドキュメント更新エージェントで鮮度を維持した。

アーキテクチャは厳格なレイヤー構造とカスタムリンターで制約を機械的に強制し、一貫性を保った。また、定期的な「ガベージコレクション」タスクでコードのドリフトを継続的に解消する仕組みも構築した。

結論として、規律はコードではなくスキャフォールディング(環境・ツール・フィードバックループ)に現れる時代になりつつあることが示されている。


LLMのコード理解における弱点を調べた研究の紹介記事です。従来の「循環的複雑度」などの指標はLLMの正答率とほとんど相関がなく、LLMが本当に苦手とするのは「ネストの深さ」と「分岐の多さ」、とくにその組み合わせであることが判明しました。研究チームはLLM視点の難易度指標「LM-CC」を提案し、LM-CCを下げるようコードをリライトするだけで正答率が最大約20%向上することを実証。実務への示唆として、ネストを浅く保つ、長い関数を分割して渡す、処理の流れをコメントで補足するといった工夫が、LLMの出力品質向上に有効だとしています。


JetBrainsとUC Irvineの共同研究により、AI支援開発者の74%がツール切り替えの増加を自覚していないことが判明した。しかしテレメトリデータでは、AIユーザーのウィンドウ切り替えは明確に増加傾向にあった。この「見えない摩擦」は自覚できないため行動的な対策では解決できない。解決策はアーキテクチャ的アプローチ、すなわちアクセスレイヤーの統合です。プラットフォームエンジニアリングの原則を応用し、AIツール自体を1つに絞るのではなく、IDE上でBYOK(自前APIキー利用)やACP(エージェント連携プロトコル)を通じて複数のAIモデル・エージェントにアクセスできる環境を整えることで、柔軟性を保ちつつ認知負荷を低減できると提案しています。


マルチエージェントAIシステムでは、個々のエージェントの精度が高くても、検証なしに連鎖させると確率的に誤りが複合し、全体の信頼性が急速に低下する。これを防ぐには、エージェント間にPydantic等による検証ゲートを設け、Best-of-Nサンプリングや強化学習を活用することで、システム全体の堅牢性を設計段階から確保すべきだと論じている。


クラウド

データーセンター

テキサス最大の光ファイバー事業者Logixは、AIおよびクラウド需要の急増に対応するため、ダラス南部とオースティン〜バストロップ郡の2ルートで高容量ファイバー網を拡張すると発表した。ダラス・フォートワース圏には190以上のデータセンターが集積し、Google・Stack Infrastructure・QTSなどが大規模投資を進める。テキサスは緩やかな規制、広大な土地、豊富なエネルギーを背景に急成長しており、2030年までに北バージニアを抜き世界最大のデータセンター市場になるとの予測もある。


AIの推論(インファレンス)市場が新たなチップ競争の場となっている。GPUは引き続き主流だが、企業がAIをパイロットから本番運用へ移行するにつれ、低コスト・低消費電力・低レイテンシを実現するASICや専用チップへの需要が拡大。NvidiaはGroqと約200億ドルのライセンス契約を結び、AMDはUntether AIとMK1を買収、IntelはSambaNova(約16億ドル)の買収を進めるなど大手の再編が加速。一方でCerebras、Tenstorrent、韓国のFuriosaAIやRebellionsなどスタートアップも台頭。AWSのTrainium、GoogleのTPUも存在感を増している。2026年はXPU(ASICなどGPU・CPU以外)の成長率がGPUを上回ると予測され、多様なアーキテクチャが市場に共存する時代へ移行しつつある。


OS

Apple

Appleは2026年2月23日、開発者向けにmacOS 26.4 Tahoe、iOS/iPadOS 26.4、watchOS 26.4、visionOS 26.4などのBeta 2を公開しました。macOS 26.4では、Liquid Glass UIのウィンドウリサイズエリアが丸いコーナーに沿わない不具合の修正が再開されています。また、Rosetta 2のサポートがmacOS 27で最後となるため、IntelアプリをApple Silicon Macで使用するとmacOS 28までにアプリ更新が必要との通知が表示されるようになりました。


macOS

Apple Silicon用のターミナルベースのシステムモニタリングツール「mactop」がv2.0.9にアップデートされ、新たに「--menubar」オプションが追加されました。これにより、メニューバーに常駐してCPU、GPU、メモリ、ANE、ネットワーク、ディスク、電力のリアルタイム情報を確認できるようになりました。メニューバーの表示項目や幅、フォントサイズ、カラーは設定画面から変更可能で、テーマ用のJSONファイルによるカスタマイズにも対応しています。


アプリケーションソフトウェア

Google Workspace

Googleスプレッドシートに「=SHEET」と「=SHEETS」の2つの新関数が追加されました。「=SHEET(値)」は指定したシート名や参照のシート番号を返し、引数を省略すると関数が含まれるシートの番号を返します。「=SHEETS()」はスプレッドシート内の全シート数を返します(引数は不可)。両関数はシートの追加・削除・移動・名前変更に応じて動的に再計算されます。2026年2月23日から段階的に展開され、すべてのGoogle Workspaceユーザーと個人アカウントで利用可能です。


業界動向・時時

OpenAIのサム・アルトマンCEOは2026年2月20日、インド政府主催の「India AI Summit 2026」に参加し、現地メディアの対談に登壇した。主な発言として、AIインフラ整備は「人類史上最大のプロジェクト」になると述べる一方、宇宙データセンター構想はコスト面から「馬鹿げている」と否定。GoogleがAIレースに追いついたことへの感心や、AIの軍事利用への慎重な姿勢も示した。またAGI(汎用AI)の実現が近づいており、ASI(人工超知能)もそれほど遠くないと言及。イーロン・マスク氏との和解は「可能性が低い」とも述べた。


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?