HeadlinesBriefing favicon HeadlinesBriefing.com

AI時代におけるコード検証の重要性

ByteByteGo •
×

AI時代におけるコード検証の重要性はこれまで以上に高まっている理由

エージェントにアクセストークンを与えると、それは拡散します:コンテキストウィンドウに、ツールコールログに、ステップ間で保持しているメモに。各コピーはどこからでも長期間動作できます。Relayは認証情報をWork OSに保持します。あなたのエージェントはユーザーを名前付け、Work OSはそのトークンをアタッチし、リフレッシュし、許可リストホストのみにリリースします。乗っ取られたエージェントセッションは、殺せるライブプロセスです。仕組みを学ぶ →実行できるコードと実際に信頼できるコードのギャップは急速に広がっています。長年、コードを書くことは遅く高価なプロセスであり、そのレビューは最後に小さなタスクでした。AI支援コード作成の台頭により、このバランスは変化しています。AIツールは今、数秒で動作する関数を作成し、数分で完全な機能を作成できます。チームは毎月より多くの機械生成コードを書くことができます。つまり、コードを作成するのは今や速くて比較的簡単ですが、コード検証はより困難な部分です。レビュアーはまだ変更を読み、理解し、本番環境に組み込むべきか判断する必要があります。実際、書かれたコードが多ければ多いほど、検証すべきコードも増えます。我々は最近、SonarのCTOAndrea Malagodi(コード検証ソフトウェアで最も広く使われているものを幾つか開発した会社)と話す機会を得ました。彼はAIの文脈におけるコード検証について深い洞察を提供し、Sonarが最近の変化にどのように適応しているかを説明しました。この記事では、コード検証がどのように機能するか、AI生成コードの増加がもたらす圧力、そしてAndreaが未来について語る極めて有用な洞察を見ていきます。コード生成と検証のシフトはデータを見ると明確にわかります。GoogleのDORA研究からの明確なシグナルの一つ、数千のチームがソフトウェアを構築して配布する長期研究です。最近の研究では、チームがより多くのAIを導入するにつれて、納品の安定性が低下したことが判明しました。AI生成コードへの信頼は低いままで、開発者の3分の1以上がこれらのツールが生成したものに対してlittle confidenceを報告しています [2]。つまり、コードを書く速度が上がると、さらに下流により大きなプレッシャーがかかります。METR研究グループによる同様のインジケーターは、経験豊富なオープンソース開発者が自らの成熟したプロジェクトで作業している参加者に、各タスクをランダムにAIツールの許可または禁止に割り当てたものです。開発者はAIが themselves を約25%高速化すると期待していました。しかし、結果は完全に異なる絵を描いていました。AI支援タスクは約19%長くかかりました [3]。さらに、これは開発者がAIが自分たちをより生産的に助けたと内部的に信じた後に起こりました。どうやら、プロンプト作成、待機、出力の読み取り、修正に多くの余分な時間がかかったのです。公平に言うと、同じチームは後にやや混乱するフォローアップシグナルを報告しました。これは開発者がAIツールを[4]保持したかったための一部です。いずれにせよ、これらの結果を総合すると、AIは確かに作成されたコードの量を増やしますが、同時に下流により多くの検証作業をもたらすことが明らかです。まず、コード検証が実際に何を意味するのかを理解しましょう。コード検証は、コードが正しく、安全で、本番環境に投入するのに十分な維持管理がされているかを保証するあらゆるチェックの総称です。言い換えれば、実際のユーザーの前に変更を置くために十分な信頼を得る作業です。注目すべきキーワードは「得る」です。なぜなら、信頼は一度に与えられるのではなく、一つ一つのチェックで少しずつ築かれるからです。契約草稿を作成するタスクを考えてみてください。言葉を書くのはこのタスクの一部に過ぎません。しかし、レビュー、法的チェック、署名は、その言葉を人々が実際に信頼できるものに変えます。コードを書くのも同様です。編集器から出てコードリポジトリにコミットされた瞬間、機能に関する暗黙の主張を帯びています。