「あの人も読んでる」略して「も読」。さまざまな寄稿者が最近気になった情報や話題をシェアする企画です。他のテックな人たちがどんな情報を追っているのか、ちょっと覗いてみませんか?
Kanade (@kanade_k_1228) です。最近ハムスターを飼い始めました。ふと横を見ると、もけもけの毛玉が走りまわっていてかわいいです。
テスト生成
Automated Unit Test Improvement using Large Language Models at Meta
Meta 社の LLM を使ったテスト生成についての論文です。実際に Facebook と Instagram のテストに使用された実績についても記載されており、実用性の高い内容でした。論文は 2024 年 2 月と 1 年ほど前のものですが、考え方は今でも通用すると思います。
内容としては LLM が生成されたテストをフィルタリングするパイプラインを構築し、
- Build: ビルド可能か?
- Pass: テストが通過するか?
- Flake: テストが Flakey でないか?
- Coverage: テストカバレッジが向上したか?
これらをパスしたテストコードが、最終的にエンジニアのレビューを経てマージされるという流れです。LLM が生成したコードのフィルタリングやレビューをいかに自動化&効率化するかは、テスト生成に限らず、LLM コード生成全般において有効な手法だと思いました。
依存関係
Guardian で巨大 Haskell レポジトリの依存関係を正気に保つ
Haskell プロジェクトの依存関係管理ツール「Guardian」を紹介する記事です。この記事は Haskell について書かれていますが、より一般に、依存関係が複雑になったプロジェクトを解きほぐす方法として読むこともできます。ちょうど Python と C++ のモノレポで似た悩みを抱えていたので参考になりました。
圏論的量子力学入門
『圏論的量子力学入門』(ボブ・クック & アレクス・キッシンジャー 著 / 川辺治之 訳
量子コンピューティングの基礎理論を「ストリング図」と呼ばれる図式表現で学ぶ一冊です。ストリング図は、線形代数の数式と対応しており、厳密な議論に耐えうる表現となっています。例えば、下の図は量子テレポーテーションを表したストリング図です。
Wikipedia Categorical Quantum Mechanics
本書は、前半で線形代数とストリング図の対応を定義し、後半でストリング図で量子論を展開しています。真面目な量子論の本でありながら、ストリング図のおかげで数式を読む苦痛が少なく、楽しく読めました。量子コンピュータに興味はあるけど、数式は苦手という方にもおすすめです。
Kanadeさんの「も読」過去記事
- Pythonの型 / 増分計算 / 並列処理(4月16日公開)
- 1bit CPU / カバレッジのしくみ / ドメイン特化の中間表現(4月28日公開)