
2025/12/18 23:52
Your job is to deliver code you have proven to work
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
ジュニアエンジニアは、言語モデルによって生成された大きく未テストのプルリクエストを提出することがよくあり、レビュアーの時間を浪費し、開発者の責任感を損ないます。本文では、LLM を通じて追加されるコードは、手動で(関連状態を設定し、変更を実行し、結果を文書化する)と自動で(それらの手順をテストハーネスに反映したテストを書く)の両方で機能することが証明されなければならないと主張しています。Claude Code や Codex CLI のようなコーディングエージェントは、人間と同様にコードを実行し検証します。そのため、彼らも同じ機能性の証拠を必要とします。歴史的には、LLM が生成したパッチは検証なしに追加されていましたが、今日ではエージェントがテストを走らせ、問題を反復し、既存のテストスイートを拡張するためにますます利用されています。また、エージェントは一度限りの視覚チェック(例:CSS 変更のスクリーンショット取得)や CLIRunner を使った CLI ツールの実行も行うことがあります。したがって、開発者はエージェントが再利用できるように、よく構造化されパターン豊富なテストを保持しなければなりません。このシフトによりレビュアーの時間が節約され、コード品質が向上し、LLM 支援開発への厳格な責任追及とともに、テスト自動化実践も強化されます。
このバージョンは主要なポイントをすべて保持し、スクリーンショット取得についての根拠のない推論を除外し、エージェントの将来役割を過大評価せずに明確にしています。
本文
2025年12月18日
ソフトウェア開発におけるAI支援の価値を巡る議論では、いつも見かける落ち込むような逸話があります。
それは、あるクラスのLLMツールに力づけられたジュニアエンジニアが、大量でテストされていないPR(プルリクエスト)を同僚やオープンソースメンテナに投げ込み、「コードレビュー」プロセスに残りの作業を任せるというものです。
それは失礼で、他人の時間を浪費し、正直なところソフトウェア開発者としての義務怠慢にも等しい。あなたの仕事は、動作が確認できたコードを届けることです。
コードが動くことを証明する方法
コードが動くと証明するには二つのステップがあります。どちらも省略できません。
-
手動テスト
- 自分で正しく動作しているのを確認しなければ、そのコードは動きません。
- 手動テストスキルは実際に身につける必要がある真剣なスキルです:変更を示す初期状態へシステムを設定し、変更を実行し、期待した効果が現れたことを確認・デモします。
- 可能であれば、これらの手順をターミナルコマンド一連にまとめ、出力も合わせてコードレビューコメントへ貼り付けます。
- 難しい変更の場合は画面キャプチャ動画を撮影し、PR に添付します。
-
自動テスト
- LLM ツールのおかげで今やこれが以前よりずっと容易になりました。省略の言い訳は通用しません。
- あなたの貢献は、変更とそれを証明する自動テストを一緒にパッケージ化すべきです。実装を元に戻した場合に失敗します。
- プロセスは手動テストと同様です:システムを既知の状態へし、変更を実行し、正しく機能したことをアサートします。
「自動テストがあるので手動テストは不要」と思って飛ばす誘惑に負けないでください。私自身も何度かやったらすぐに後悔しています。
コーディングエージェントにまず証明させる
2025年の最重要トレンドは、Claude Code や Codex CLI など、作業中のコードを実際に実行して動作確認し問題点を修正できる「コーディングエージェント」の爆発的な成長です。
これらのツールをマスターするには、変更が機能することを証明させる方法を学ぶ必要があります。
- 彼らは同じプロセスに従います:開発中に手動テストし、次に将来の安定性を保証する自動テストを書きます。
- CLI ツールを扱う際は Claude Code に一度だけ実行させ、後で
のClick
などを使った自動テストへ移行します。CLIRunner - CSS の変更では、エージェントにスクリーンショットを撮らせて期待通りの変化があったか確認させます。
コーディングエージェントはテストを書くためにほとんど刺激を必要としませんので、テストコードを整理整頓し、自分好みのパターンで満たしておくことが重要です。こうすることで彼らはあなたの味覚に合ったテストコードを書きやすくなります。良いテストの趣味を身につけることも、シニアエンジニアと差別化できるスキルです。
人間が責任を担う
コンピュータは決して責任を問われません ― それはあなた人間の役割です。
ほぼ誰でも LLM に数千行のパッチを書かせてコードレビューへ提出できます。これだけでは価値がありません。重要なのは、動作することが証明されたコードを提供することです。
次回 PR を送る際には、必ず「正しく動く」ことを裏付ける証拠を添えてください。