May Reading List

Alex O'Callaghan

5月の読書リスト

原文は Alex O'Callaghan により に公開されました。 このブログを購読する

今月読んで面白かったものをまとめた5月版です。先月の投稿はこちらからもご覧いただけます。

またもや侵害されたnpmパッケージ

また今月もサプライチェーン攻撃がありました。いわゆる「Mini Shai-Hulud」攻撃で、複数のTanStackパッケージが侵害されました。Tanner Linsley氏は、GitHub Actionsの設定の脆弱性を突いて攻撃がどのように行われたかを説明する詳細なポストモーテムを公開しています。その後も、見つけたnpm認証情報を利用してパッケージ間で自己複製する同じ認証情報窃取スクリプトによって、さらに317件のnpmパッケージが侵害されました。

サプライチェーンのセキュリティを強化するための対策を講じる必要性を改めて強く感じさせられます。私たちはすべてのプロジェクトを最近リリースされたpnpm v11にアップグレードしました。pnpm v11ではデフォルトでminimumReleaseAgeが1日に設定されています。こうした攻撃の多くはすぐに発見されるため、一定のバッファ期間を設けることが防御に役立つはずです。

同じくセキュリティ関連で、今月Varlockという興味深いツールを見つけました。エージェントに利用可能なシークレットが何であるかのコンテキストを与えつつ、実際の値へのアクセスは防ぐというものです。万が一こうしたパッケージを取り込んでしまった場合でも、シークレットが平文でマシン上に置かれていないようにしておくことで、認証情報窃取攻撃からの保護にもつながります。

モデルのトレーニングとOpus 4.8

Anthropicはアライメントのトレーニング手法の変更についてのブログ投稿を公開し、倫理的な選択の背後にある原則や推論をClaudeに学習させることで、エージェントとしてのアライメントがどのように向上したかを詳述しています。私たちが作成するスキルについても同様のことが言えるのではないかと考えるのは興味深いところです。望ましい振る舞いの具体例を列挙するだけでは、エージェントが未知の状況に遭遇した際には不十分だからです。

OpenAIは「Where the goblins came from」というユーモラスな投稿を公開しました。「nerdy(オタクっぽい)」という性格特性をトレーニングした際に、意図せずクリーチャーの比喩に高い報酬が与えられてしまい、最終的にはモデルにゴブリンについて話さないように指示するシステムプロンプトを追加せざるを得なくなったという内容です。

Anthropicはまた、4.7のリリースからわずか1か月強後の月末にClaude Opus 4.8をリリースしました。

エージェントによる開発

Addy Osmani氏は長時間実行されるエージェントに関するさまざまな戦略についての投稿を公開しましたが、プロダクションコードを書くための戦略としては、まだ納得できていません。

Birgitta Böckeler氏のコーディングエージェントのための保守性センサーについての投稿は、エージェントの自己修正を可能にするために不可欠な、さまざまなガードレールやチェックについて書かれた良記事です。

Helio Medeiros氏のDORAメトリクスでAI導入の効果を測定することについての投稿も読みました。Mintelでレトロスペクティブエージェントの構築を通じて私が体系的に取り組もうとしていることと似たアプローチです。

興味深い考察

Mark Erikson氏はAIコーディングツールに対する懐疑から恐れ、そして導入へと至った自身の経験について綴った長文の投稿を共有しました。

Tuhin Nair氏はシニアデベロッパーが自身の専門性をどう伝えるかについての投稿を書いています。エンジニアがどのように考え、ビジネス側の他部門とどうコミュニケーションを取るべきかについて、共感できる良い指摘がいくつかありました。迅速な実験のための「speed」システムという提案は魅力的に映るかもしれませんが、実際にそれを運用する上で十分なガードレールをどう確保するのか、すでに顧客に売り込んでしまった「speed」版を解きほぐすのにどれだけ余計な手間がかかるのかといった詳細が抜け落ちています。

Lalit Maganti氏は最初の質問に答えないことについての投稿を共有しました。プラットフォームチームで働いている人や、他のエンジニア向けのツールを構築している人なら、とても共感できる内容だと思います。

ウェブプラットフォームとフロントエンド

ChromeチームはDeclarative Partial Updatesについての投稿を公開しました。この提案は、順不同のHTMLストリーミングとより効率的なHTML挿入をウェブプラットフォームの一部にしようとする試みです。端的に言えば、islandsアーキテクチャをウェブの第一級市民にしようというものです。

Storybook 10.4がリリースされました。個人的に最も興味深かったのは、TanStack Reactのファーストクラスサポートが追加されたことです。

Yangshun Tay氏はフロントエンド開発の変化について、フロントエンドデベロッパーが学習や成長においてどこに注力すべきかという推奨事項とともに書いています。

D2というツールも見つけました。これまでブログの図にはMermaidを使ってきましたが、カスタムスタイリングで苦労していたので、D2は試してみたい強力な代替手段に見えます。

その他の興味深いテック記事

How 2004 RuneScape fit a multiplayer RPG into 56k dial-upは、ブラウザ上のJavaアプレットから効率的なクライアント・サーバー通信を実現するために2004年当時のRuneScapeクライアントがどのように設計されたかを深掘りした技術記事です。私の初期のゲームの思い出の一つであり、ウェブがどれほど強力になり得るかを初めて知ったきっかけでもあるので、興味深く読みました。

Netflixのテックブログはリアルタイムサービスマップの構築についての投稿を公開しました。技術的な実装の詳細は薄く、かなりAIによって生成された感はありますが、アプローチ自体は興味深いものでした。仕事でエージェントがシステムを横断して情報をたどれるようにしようとしている中で、システム間の依存関係がどれだけ明確に文書化されておらず、どれだけの知識が人々の頭の中にしかないかを実感しているので、共感できる内容でした。

最後に、Googleのブログからコードレビューへの返信にコンテキストを加えることについての短い投稿です。コードレビューのフィードバックにどう返信すべきか、フィードバックにどう対処したのか、なぜそうしたのかというコンテキストを添える方法について、とても役立つガイダンスが書かれています。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント