エンジニアの主な責任は、精査に耐えられるコードを提供することです。 Simon Willison の最新ブログからのこの記事では、AI プログラミング ツールが普及した時代にソフトウェア エンジニアが中核的な価値観と責任をどのように再定義できるかについて説明します。 主な議論:安価なコード生成 vs. 高価なデリバリー品質。AI時代において、「コードを書く」ことの障壁とコストは極めて低いレベルにまで低下しました。サイモン氏は、単にコードを生成してプルリクエスト(PR)を送信するだけではもはや価値がないと指摘しています。 エンジニアがAIを使って大量のコードを生成し、それを検証もせずに同僚にレビューを依頼した場合、それは重大な職務怠慢であるだけでなく、他者への敬意を欠く行為でもあります。エンジニアの真の価値は、コードの正確性を保証することにあります。 「コードが有効であることを証明する」責任をどのように果たすのでしょうか? Simon 氏は、コードが有効であることを証明するには、次の 2 つの不可欠な手順を厳密に実行する必要があると考えます。 ステップ1:手動テスト。これは最も基本的なステップです。著者は一つの原則を強調しています。それは、コードが自分の目で正常に動作しない場合は、欠陥があると想定することです。 • 百聞は一見に如かず: 自分でコードを実行し、その動作を観察する必要があります。 • 証拠を提供する: レビューのためにコードを提出する際は、積極的に証拠を提供する必要があります。例えば、ターミナルの実行ログをPRの説明に貼り付けたり、UIの変更の場合は画面録画やスクリーンショットを添付したりします。 • エッジをカバーする: 最良のシナリオだけをテストするのではなく、エラーが発生しやすいエッジケースを試します。 ステップ2:自動テストだけでは不十分です。手動テストだけでは不十分です。コードベースには、継続的な有効性を確保できる自動テストが含まれている必要があります。 • 検証ではなくテスト:提出されたコード変更には、新しいテストケースを含める必要があります。理想的には、テストはアプリケーションの変更前(赤)に失敗し、アプリケーションの変更後(緑)に成功する必要があります。 • AIの強み:現代の法学修士課程の学生はテストコードの作成に非常に長けています。著者は、今日のAIの力を考えると、これを言い訳にしてテストの作成を省略することは全く容認できないと考えています。 • 補完関係: 自動テストは手動テストを完全に置き換えることはできません。2 つを組み合わせて使用する必要があり、どちらも省略することはできません。 「AIプログラマブルエージェント時代の生存ルール」という記事では、2025年の重要なトレンドとして、自律的にタスクを実行できるコーディングエージェントの急増が挙げられています。このトレンドに対して、著者は非常に実践的なアドバイスを提供しています。 • メンターのように考える:AIエージェントを後輩のように扱うべきです。あなたの仕事は、彼らをトレーニングし、コードを実行したりテストを書いたりして、自分の仕事を「自己検証」する方法を教えることです。 • 「テイスト」が高度を決定する:AIは模倣に優れています。プロジェクトに既に構造化され、パターン化されたテストスイート(著者はこれを「テイスト」と呼んでいます)がある場合、AIは模倣によってこれらのテストを拡張することができます。 • ツールの機能を活用する:エージェントは人間のようにテストを書くことに飽きることはありません。むしろ、喜んでテストをこなします。シニアエンジニアとして、この特性を活かして、優れたテスト文化を築くべきです。 結論として、人間の責任はかけがえのないものです。AIがどれほど賢くなっても、コンピューターはミスの責任を取ることはできません。責任を取れるのは人間だけです。現代では、Promptを使えば数千行ものコードを数秒で生成できますが、それでは意味がありません。本当に重要なのは、「人間がループの中にいる」あなたが自信を持ってコードを指し示し、「このコードは動作すると証明したので、私はこのコードに責任を持ちます」とチームに伝えることです。 元のブログ投稿
スレッドを読み込み中
X から元のツイートを取得し、読みやすいビューを準備しています。
通常は数秒で完了しますので、お待ちください。
