Kuaishouが「AI研究開発パラダイムのアップグレード」を全面的に推進する過程で、個人のAI活用による効率向上を、組織全体のデリバリー効率にどう変換するかが、克服すべき核心的な課題となった。インテリジェント・コードレビュー・システムは、まさにこの課題を解決する重要な鍵となる。個人による開発完了後、チームによるデリバリーとマージの前に機能し、品質フィルタリングと知識の蓄積を通じて、AI能力を「個人のアシスタント」から「チームのコラボレーター」へとレベルアップさせるものである。
従来の研究開発プロセスにおいて、Code Review(コードレビュー)は、人的確認のコストが高い、基準が統一されていない、レビューの深さが不十分になりがちという構造的な問題に直面していた。本記事では、Kuaishouのインテリジェント・コードレビュー・システムが、「純粋なLLMヒューリスティック」から「ナレッジエンジン+ルール確定性」、そして「Agentic自律意思決定」へと三代にわたって進化した過程をまとめる。
AIハルシネーション(幻覚)という核心的な難題に対し、Kuaishouの技術チームは、コンテキストエンジンの構築と1,100以上の確定的なルールの蓄積、3層のフィルタリングとBadCase( NG事例)ライブラリの補助によって、レビューの採用率を7.9%から54%へと急増させ、MRレビュー所要時間の80パーセンタイル値を9.9%短縮させることに成功した。「知識エンジニアリング」によって大規模モデルの精度を向上させ、インテリジェントレビューを信頼できる生産性ツールとして定着させた。これは、AI時代において「個人の効率化→組織の効率化」を実現するための再利用可能な実践モデルともなっている。
Kuaishouの高速に反復されるビジネスシナリオにおいて、コード変更の規模は日々増大しており、従来の手動によるコードレビューモデルは徐々にその限界を迎えつつある。その固有の3つの主要な問題点がますます顕著になっている:
効率が低く、レスポンスは「運次第」
コード変更の量が大きい場合、手動CRのコストは著しく増加する。レビューサイクルが長引き、レスポンスの速さは完全にレビューアの忙しさに依存する。コアリポジトリのMRが48時間待機行列に入ることが常態化しており、ビジネスデリバリーの全体スピードに深刻な影響を与えている。
初歩的なミス、防ぎようがない
人間の認知の注意力には限界がある。レビューアは複雑なロジックに対峙すると、無意識のうちに一見単純な初歩的なミスを見落としがちになる。例えば、if((a || b) && c) から条件 b を削除する際に誤って if(a || c) としてしまったり、a.setId(a.getId()) のような明らかな代入ミスが発生したりする。しかし、データによると、この種の「初歩的なミス」は、コード変更に起因する本番環境の障害の中でかなり高い割合を占めている。
効果が不安定、知識の継承が困難
レビューの品質はレビューアの経験と認知的負荷に大きく依存する。シニアエンジニアの貴重な経験と暗黙知を、チームの共通認識として体系的に蓄積することが難しく、ジュニアな開発者は経験不足から深層的な欠陥を見落としがちになる。この不安定性によりコード品質にばらつきが生じ、本番環境のリスクが高まり、チーム内での知識の効果的な継承を阻害している。
従来のCRのジレンマに対し、インテリジェント化は必然的な出口とみなされている。しかし、開発初期に大規模モデル(LLM)を導入してコードレビューを行った際、私たちは典型的なAIに対する信頼危機に直面した。それは主に以下の側面で現れた:
「ハルシネーション(幻覚)」問題
AIが断片的なコードに基づいて推論を行うため、不正確あるいは誤った誤検知(False Positive)を大量に発生させ、レビュー結果の信頼性を低下させる。
低価値な提案
AIが生成したコメントには、「最適化を推奨」「検討の余地あり」など、一般的で実質的な価値の乏しい提案が多数含まれており、開発者の疲弊を招き、採用意欲を低下させている。
コンテキストの欠如
Git Diffの断片のみを分析し、システム内におけるコードの全体的な役割を理解できない。
知識の制御不能
大規模モデルの「ブラックボックス」特性により、レビュー基準の蓄積や継承が困難になり、チーム全体の統一された規範を形成しにくい。
これらの問題により、AIによるレビューコメントの品質が低く、開発者の間で広く抵抗感が生まれ、採用率は長期間10%以下で停滞し、インテリジェントCRツールの普及と適用に深刻な影響を与えていた。
KuaishouのスマートCRが達成した効果は以下の通りである:
コメント品質の着実な向上
コメントの採用率は継続的に上昇し、スマートCR1.0段階での10%未満から着実に上昇し、現在は50%超で安定している。
レビュー効率の向上に貢献
2025年全体(2024年比)において、KuaishouのMRレビュー所要時間の80パーセンタイル値は9.9%減少し、7.07時間から6.37時間に短縮された。特に2025年6月以降、レビュー所要時間は明らかな減少傾向を示しており、そのタイムラインはスマートCRが会社全体で大規模に普及・導入された時期と高度に一致している。
カバレッジの規模と深さ
スマートCRはKuaishou内で会社レベルの導入を完了し、MRのカバレッジ率は74%に達している。Java、C/C++、JS/TS、GOなどの主要言語をサポートし、1,100以上のCRルールを蓄積した。
実践1:コア技術実現のヒューリスティックから
確定性と自律性の融合への進化
スマートCRシステムの構築プロセスにおいて、Kuaishouは常に「ツールは単に『使える』だけでなく、開発者にとって『信頼できる』インテリジェントなパートナーでなければならない」という核心理念を掲げてきた。スマートCRシステム全体は、「純粋なLLMヒューリスティック・レビュー」から「ナレッジエンジン駆動の確定的レビュー」、そして最新の「Agentic自律意思決定レビュー」へと、3つの重要な進化段階を経た。それぞれの進化は、前の段階における核心的な問題への体系的な解決であり、システムをより高い信頼性と実用性へと推進し続けた。最終的に、高信頼なスマートCRフレームワークを構築し、基本機能から高信頼なレビュー能力への飛躍を実現した。
手動CRの課題を解決するため、Kuaishouは2024年第2四半期よりLLMを活用したスマートCRの構築を開始した。全体設計は「粗いふるい分け(粗篩)+精査+フィルタリング」の3段階の直列パイプラインを採用した。
3.1.1 コアプロセス
ステップ1:CRの必要性判断
入力:MR Diff断片
出力:ブール値(true/false)
目的:レビュー不要なMRを除外し、コストを削減
ステップ2:レビュー生成
曖昧なタスク記述に基づき、LLMがヒューリスティックにレビューを行う
チェック項目:構文/論理エラー、パフォーマンス問題、セキュリティ脆弱性、可読性、命名規則など
キーワード検出:XSS関連API(dangerouslySetInnerHTML、v-html、innerHTMLなど)、base64エンコード文字列
ステップ3:コメントフィルタリング
ルールに基づき低価値なコメントを削除:コメント/著作権に関する提案、未定義オブジェクトの問題、CSSの問題、無効な行番号など
3.1.2 コアな問題
コンテキストの深刻な不足
MR Diff断片のみが提供されており、完全なメソッド本体やクロスファイル依存関係が欠如している
モデルがシステム内におけるコードの全体的な役割を理解できず、誤判定率が高い
知識体系の欠如、再現の安定性が低い
ルールライブラリによるサポートがなく、完全にモデルの「ブラックボックス」能力に依存している
チームの知識を蓄積・継承できない
レビュー基準が統一されておらず、品質の変動が大きい
タスク定義があまりに広範すぎる
モデルへの指示がノウハウを欠いており、モデルの自律的な理解に過度に依存している
チェック項目の記述が曖昧(「パフォーマンス問題」「セキュリティ問題」など)
具体的なシナリオや例が不足しており、モデルがレビューの重点を的確に把握できない
最適化手段が限定的
BadCaseに対して実行可能な最適化パスが欠如している
レビュー品質を体系的に改善できない
3.1.3 段階のまとめ
データパフォーマンス:コメント採用率7.9%、コメント品質が低く、誤検知が多く、無価値な提案が氾濫していた
技術的検証:AIによるコードレビューの技術的実現可能性は証明されたが、純粋なLLM駆動モデルの根本的な欠陥が露呈した
進化の方向性:エンジニアリングされたコンテキスト構築メカニズムを構築し、ドメイン知識体系(ルールライブラリ、ベストプラクティス)を確立し、多層的な品質保証メカニズムを設計する
スマートCR1.0段階におけるコンテキスト不足、知識欠如、品質不安定、チューニングコストが高いという課題に対し、問題を深く分析した結果、私たちは「純粋なLLM駆動」というアプローチを捨て、ドメイン知識とエンジニアリングワークフローを組み合わせ、「コンテキストエンジニアリング+ルール駆動レビュー+コメント価値評価とBadCaseインターセプト保証」による確定的レビューフレームワークを構築した。ルールによって高確実性の知識を提供し、LLMに対してレビューの範囲と重点を定め、そこにLLMの強力なコード理解力と論理推論能力を組み合わせることで、両者の補完と融合によりレビュー結果の正確性と解釈可能性を確保し、基本機能から高信頼レビュー能力への飛躍を実現した。
3.2.1 コンテキスト・インテリジェント構築エンジン
「コンテキストの欠如による誤判定」という課題を解決するため、私たちは多層的なコンテキスト理解能力を構築し、コード変更の「全貌」を包括的かつ正確に理解することを目的とした。生のGit Diffからリッチなコンテキストを持つプロンプトの生成まで、以下の主要な能力を含む:
言語のインテリジェント識別:Java、JS/TS、Goなど10種類以上のプログラミング言語を自動識別し、差別化された分析戦略を適応させる
メソッド本体の拡張:Git diffの行制限を突破し、diff行から完全なメソッド本体へ拡張し、文脈無用の判断を避ける
ASTの深い解析:抽象構文木(AST)を通じてコード構造の意味論や制御フローを理解する
クロスファイル依存推論:インターフェースやメソッド間の呼び出し関係を識別し、変更の潜在的な影響範囲を評価する
Diffのインテリジェント分割:大規模な変更セットを論理的に独立したレビューユニットに分割し、トークンウィンドウの制限を突破してレビューの集中度を高める
PRD要件の関連付け:要求仕様書(PRD)と関連付けることで、さらなるコンテキスト情報を豊富にし、レビュー提案がビジネス目標と合致することを確保する
3.2.2 Map-Reduce長コンテキスト処理
スマートCRの普及推進において、巨大なMRや大規模なルールセットによりモデルの注意散漫が引き起こされ、再現漏れやモデルのコンテキストウィンドウ超過の問題が発生した。そこで、Map-Reduceに類似した分散処理ロジックを採用し、長コンテキスト問題を「分割→処理→マージ」の3段階に分解した。
フェーズ1:Mapフェーズ(分割)
大きなDiffを論理的な独立性に基づいてインテリジェントに分割する
ファイルレベルのグループ化:変更されたファイルごとに初步的なグループ化を行う
機能ブロックの識別:AST解析を利用し、関連する関数、クラス、モジュールなどの論理単位を識別する
依存関係の分析:ブロック間の依存関係を分析し、分割が論理的な完全性を損なわないようにする
サイズの均等化:分割後の各DiffがLLMで処理可能な範囲内にあることを確保する
フェーズ2:Processフェーズ(処理)
分割された各ユニットに対してコンテキスト融合とコメント生成を行い、ルールエンジンとLLMが連携して動作する
フェーズ3:Reduceフェーズ(マージ)
分類、類似度計算、クラスタリングによるマージ、優先順位付けを通じて、複数のユニットのコメントを高品質な出力に統合する
3.2.3 価値評価フィルタリング体系:「無駄話」から「至言(金句)」へ
膨大なコメントの中から真に価値のある「至言」をふるい分けるため、Kuaishouは3層の価値評価フィルタリング体系を確立した。
第1層:基本ノイズフィルタリング
一般的な無駄話パターンの識別:「最適化を推奨」「検討の余地あり」など実質的な内容を持たないコメントを自動除外する
重複提案のマージ:類似したコメントをインテリジェントに集約し、情報過多を防ぐ
明らかな誤判定のブロック:修正提案がソースコードと同一であるものなどを除外する
第2層:正当性の検証、各コメントが十分な証拠と合理性を持つことを確保する
証拠の十分性評価:コメントに具体的かつ妥当なコード位置と問題記述が含まれている必要がある
ルール一致度の検証:コメントが有効なルールに基づいてトリガーされたかどうかを確認する
コンテキストの一貫性:提案が現在のコードコンテキストで妥当であることを確保する
第3層:価値密度評価、真に重要な問題にフォーカスする
問題の重大度の分類:ルールレベルとコンテキスト証拠に基づき、問題をP0(ブロッキング)、P1(深刻)、P2(主要)など異なるレベルに分ける
影響範囲と開発者へのフレンドリー度評価:高優先度の提案を優先的に表示する。変更のサイズに応じて1回のレビュー出力あたりのコメント数制限を動的に調整し、レビュー疲れを防ぐ。可能な限り各コメントに具体的な修正提案やサンプルコードを提供する
3.2.4 RAGによる強化されたBadCaseのインテリジェント・ブロック
価値評価フィルタリング体系を導入した後、出力されるコメントの品質は明らかに向上したが、日々のBadCase分析において、依然として一部の誤判定コメントが漏れていることが判明した。AIの「ハルシネーション」問題に対処するため、能動的な防御メカニズムを確立した。LLMが現在のコメントが過去のBadCaseと同種の誤判定に属するかを評価し、誤判定の根本原因(コンテキストの誤解、ルールの厳格さすぎ、シナリオの不適など)を分析し、レビュー戦略を動的に調整して、同種のハルシネーション誤判定が繰り返されるのを防ぐ。
過去のBadCaseベクトルライブラリの構築
検証済みの誤判定案例によるBadCaseベクトルデータベースを構築
ユーザーフィードバックからすべての誤判定ケースを収集する
人間による検証と誤判定タイプ・原因のラベリングを行う
BadCaseの意味的特徴を抽出する
多次元Embeddingによる意味索引の確立
BadCaseの問題記述、コードコンテキスト、コメント内容をベクトル化する
高次元意味空間インデックスを構築する
高速な類似度検索をサポートする
リアルタイムBadCase検出プロセス
リアルタイム類似性検索
生成された各コメントに対してBadCaseマッチングチェックを行う
コメントと過去のBadCase間のベクトル類似度を計算する
潜在的な同種誤判定を識別する
LLM自己検査
類似度が閾値を超えた場合、LLM自己検査をトリガーする
LLMが現在のコメントが過去のBadCaseと同種の誤判定に属するかを評価する
同じエラーパターンが存在するかを判断する
根本原因分析
誤判定の根本原因を分析する
コンテキスト理解エラー:重要なコンテキストの欠如による誤判定
ルールの過度な適用:特定のシナリオでルールが適用されない
シナリオ認識の失敗:コードの使用シナリオを正しく識別できなかった
分析結果を記録し、今後の最適化に活用する
戦略の動的調整
根本原因分析の結果に基づきレビュー戦略を調整する
同種のシナリオに対して修正されたレビューロジックを適用する
同種のハルシネーション誤判定の再発を防ぐ
3.2.5 段階のまとめ
コンテキストエンジニアリング、ルール知識体系、多層品質保証メカニズムを体系的に導入することで、CR2.0アーキテクチャはCR1.0の核心的な問題を根本的に解決した。これにより、スマートCRは「使える」から「使いやすい」へとレベルアップし、コメント採用率を7.9%から54%へと飛躍的に伸ばし、開発者の信頼を再構築した。
スマートCR2.0はレビュー効果(総合採用率54%)を著しく向上させたが、実際の運用において3つのレベルの限界が明らかになり、システムのさらなる高みへの進化が制限されていた。
(1) コンテキスト取得の柔軟性が限定的
コンテキストの取得はエンジニアリングによる事前定義された戦略を採用しており、実行時の適応能力を欠いている。これにより2つの極端な問題が発生する。一方で「過度な取得」が発生しやすく、大量の無関係なコードがコンテキストに含まれてトークンの無駄遣いとなり、モデルの注意力を乱す。另一方で「取得不足」に陥る可能性もあり、深い分析が必要な複雑なシナリオに対して、事前定義された戦略ではコンテキスト範囲を動的に拡張できず、分析の深さが制限される。
(2) 深層的な欠陥識別能力の境界
サービス間のクロス依存分析、長い呼び出しチェーンの追跡、アーキテクチャレベルのリスク識別などの複雑なシナリオに対して、事前定義されたプロセスでは完全にカバーしきれない。システムには自律的な探索能力が欠如しており、問題の特性に応じて分析戦略を動的に調整できないため、大規模なリファクタリングやアーキテクチャ変更などの複雑なシナリオの処理において明らかな弱点が存在する。
(3) 創造的なレビューの欠如
ルール駆動モデルは確実性と安定性は保証できるが、創造性の面では不足している。システムは開発者に「目から鱗」のような洞察に満ちた提案を生み出すことが難しく、レビューの深度は主にコードレベルにとどまり、アーキテクチャ設計やビジネスの意図に対する深い理解が欠けている。
そのため、私たちはAgenticモデルへの進化を推し進め、核心的なアイデアである「速やかに進むべきところは速く、深く掘り下げるべきところは深く」を元に、「自律プランニング+デュアルパス並列処理+Agenticインテリジェントエージェント」による確定性と創造性の融合フレームワークを構築した。
標準的なシナリオに対して:CR2.0の効率的で安定した確定的プロセスを維持する
複雑なシナリオに対して:Agentic自律意思決定能力を導入し、受動的なチェックから能動的なコラボレーションへの本質的な転換を実現する
3.3.1メタデータ駆動のAgenticベース
チームのAIシーンにおけるAgentic構築コストを削減するため、メタデータ駆動の宣言的で拡張可能なAIエージェントベースを構築した。これは、統一された基本能力と宣言的な拡張メカニズムを通じて、ドメイン固有のAIエージェントアプリケーションの迅速な構築をサポートすることを目的としている。
アプリケーション層:ビジネスルール、宣言的設定ツール、プロンプトを注入するだけで、完全なエージェント機能を実現できる。
Agenticベース層(コア):AgentExecutor(宣言的実行エンジン)、Tool Orchestration(ツール呼び出しオーケストレーション)、Skills Manager(動的スキル管理)、History Manager(履歴管理)、Context Manager(コンテキスト管理)の5つの主要な能力を提供する。すべての能力はMETADATA動的駆動エンジンによって実装され、実行時の動的ロードとアセンブルをサポートする。
宣言的拡張層:MCPプロトコル、Skills、Tools、System Promptの4つの拡張メカニズムを通じて、ホットスワップ可能な能力登録をサポートする。FunctionDeclarationとAgentDefinitionに基づく宣言的設計により、拡張の開発と統合がシンプルかつ高効率になる。
インフラストラクチャ層:サンドボックス分離、ローカル操作、ステートレス化などの基礎能力を提供し、エージェントの安全性、信頼性、スケーラビリティを保証する。
3.3.2 Planningインテリジェントプランニング層
Planning層はMRレベルのグローバルルーティング意思決定装置として、変更の特徴を分析しレビューパスをインテリジェントに意思決定する役割を担う。
分析次元
変更複雑度の定量化
コード変更の規模:変更ファイル数、コード行数、変更密度
影響範囲の識別:クロスファイル/モジュール依存、コアインターフェースの変更
論理複雑度:循環的複雑度、ネストレベル、分岐数
ルール特徴の識別
ルールタイプの分類:標準的な汎用ルール vs 深い理解が必要な特殊ルール
コンテキスト要件の評価:事前定義されたコンテキストが十分か、動的な拡張が必要か
実行複雑度の予測:計算コスト、多段階推論の必要性、外部ツールへの依存
ルーティング戦略
CR2.0版3段階アーキテクチャ:単純なMR + 標準ルール → 高効率、安定、低コスト
Agentic経路:複雑なMR + 特殊ルール → 深い分析、柔軟な対応
3.3.3 デュアルパス並列アーキテクチャ
パス1:CR2.0確定性リンク
CR2.0の成熟したアーキテクチャを継承し、標準的なレビューシナリオに適用する。処理フローは、事前定義されたコンテキスト構築 → ルールマッチングとLLM推論 → 3層価値フィルタリング → BadCaseブロック。
コアアドバンテージ
高スループット:事前定義プロセス、平均処理時間1分未満
高安定性:成熟したアーキテクチャに基づき、品質ベースラインが保証されている
低コスト:トークン消費量がコントロール可能
パス2:Agentic自律意思決定リンク
CR3.0のコアイノベーションであり、複雑/深度分析シナリオに適用する。
コアアドバンテージ
自律的なコンテキスト取得:ReAct「思考-行動」サイクルメカニズムを採用し、コンテキストの自律的なプランニングと取得を実現し、コメントの出力に十分な根拠があることを確保する。
深層論理推論:完全なシステム理解、潜在的影響分析、アーキテクチャレベルの洞察
クロスボーダー分析:呼び出しチェーン追跡、サービス間一貫性チェック、システムレベルリスク識別
ビジネス意図の理解:要件整合性チェック、ビジネスロジック検証、ユーザー体験評価
深層意味理解:コメント価値の深い理解、開発者ニーズの洞察、コンテキスト敏感判断
動的品質基準:シーン適応、チーム規範適合、価値密度最適化
BadCaseブロック:CR2.0のRAGベクトルライブラリメカニズムを維持し、二重の保証(Agenticインテリジェント評価+BadCaseベクトルライブラリブロック)を行う
障害回顧ルール:過去2年間の会社の本番環境問題の根本原因を分析し、予防的検査ルール(例:nullポインタ保護、リソースリークチェック)を抽出する。
落とし穴ガイドとベストプラクティスの標準化:チームが実践の中で蓄積した典型的な「落とし穴」、コーディング規範、パフォーマンス最適化などの経験をルールとして固化・蓄積する。「事後対応」の経験を「事前予防」のチェックルールに変換する。パフォーマンス最適化(例:データベースクエリ、キャッシュ使用、並行制御)、セキュリティ保護(例:入力検証、権限検証)などの重要な次元を網羅する。
過去のレビュー知識のマイニング:AIを補助的に活用して過去の手動レビューコメントを分析し、シニアエンジニアのレビューの焦点と判断ロジックを識別し、高頻度の問題パターンを抽出して「不文律」:チームの慣習であり文書化されていない品質基準を掘り起こす。
ビジネスカスタムルール:各ビジネスチームが独自の特性に基づいて専用のチェック項目を設定できるようにし、垂直シナリオのきめ細かな管理を実現する。
フィードバックのインテリジェント収集:開発者が各コメントに対して行った採用、拒否、修正などの行動がすべて自動的に記録され、システム学習のための貴重なデータとなる。
根本原因の深い分析:毎週BadCaseを分析し、システムの脆弱な部分を見つけ、反復的な改善を行う。
漸進的な最適化:小刻みなスピードで進め、各最適化は厳格なA/Bテスト検証を経ることで、イテレーションごとの堅牢性と有効性を確保する。
知識の継続的な蓄積:検証された有効なパターンを新ルールとして固化し、チームのナレッジベースを継続的に豊富にし、更新することで、ルール自体の自己進化を実現する。
開発者にシームレスに接続させ、利用のハードルを下げる方法
異なるチームやリポジトリの差異化されたニーズに適応させる方法
パイロットから規模拡大普及へ移行し、ユーザーの信頼を構築する方法
「増分チェック」から「全プロセス品質エスコート」へと範囲を拡張する方法
シーン統合:
開発者がMRを作成または更新した際に、全量または増分レビューを自動的にトリガーする。
IDEプラグインを通じてレビュー能力をコーディング段階にシフトさせ、即座のフィードバックを実現する。
ブランチマージ方向、MRタグなどの情報に基づいたカスタムトリガー戦略をサポートする。
レビュールールの適応:
チームおよびリポジトリレベルでのルールカスタマイズをサポートし、異なるビジネスの差異化されたニーズを満たす。
大型リポジトリ(モノレポ)、複数チーム協働リポジトリ、複数技術スタックリポジトリにおける細粒度レビュー規範のニーズに対し、リポジトリパス、コードファイル開発言語、MR起因者などに基づいた対応を行った。
精密なパイロット:新しい技術に対して受容度の高いチームを選定してパイロットを行い、リソースを集中させて成功事例を作り上げ、今後の普及の基盤を築く。
反復的な最適化:パイロットチームのフィードバックに基づき製品機能と体験を継続的に最適化し、製品に対するユーザーの信頼と依存を構築する。
口コミによる普及:成功するベンチマークのデモンストレーション効果を利用し、他のチームが自主的に接続するよう促し、自発的な普及の原動力を形成する。
全面的な規模拡大:異なるチームの特性に基づいて差異化された戦略を策定し、最終的に全社レベルでの全面的なカバレッジを実現する。
背景:
ストックコードに起因する本番環境問題の割合が高い:2024年以降、ビジネス部門のコード問題による本番環境問題のうち、32%がストックコードの問題に起因している。
ストック問題の発見コストが高い:ストック問題の発見コストは高く、ガバナンスの推進も難しく、ビジネスの安定性にとって潜在的なリスクとなっている。
構築内容:
全量コード分析:AIを活用して指定されたコードリポジトリを深くスキャンし、コーディング上の欠陥、パフォーマンスのボトルネック、本番環境のリスクを迅速に識別する。
問題の分類と配分:発見された問題を深刻度レベル別に分類し、スキャンレポートを生成して責任者に割り当て、問題のトラッキングと修正のクローズを促進する。
効果と課題:
パイロット対象のビジネスリポジトリにおいて、スキャン精度は75%に達した。スキャンされた問題の例を以下に示す。
スキャン結果
ビジネス画面キャプチャ
説明:ユーザーに10Mサイズのファイルをアップロードできるよう提示しているが、ユーザーがアップロードしようとした際、アップロード制限が2Mであることに気づく。ユーザーエクスペリエンスに深刻な影響を与える。
背景:一般的なスマートCRは、コードがビジネス要件と一致しているか否かを判断することが難しく、ビジネス上の欠陥を識別できない。そのため、私たちは収益化チームと連携してビジネスロジックのインテリジェントレビューを共同構築し、「コードレビュー」から「ビジネスロジック・照合」への飛躍を実現することを目的とした。
構築内容:
要求仕様書(PRD)の解析:コード変更と対応する要求仕様書(PRD)を自動的に関連付け、AIを活用して主要な機能ポイントを抽出し、構造化されたコンテキストに変換する。
要件-コードの比較:標準化された要件記述を基準として、インテリジェントレビュータスクがコード実装と比較照合し、ビジネスロジックレベルでの不一致、欠落、誤りを識別する。
シーン別プロンプト:識別された乖離に対して、具体的かつ実行可能なビジネスロジックの提案を生成し、開発者が実装と要件の整合性を確認するのを支援する。
効果と課題:本機能は一部のビジネスにおいてパイロット実施されており、技術パスの実現可能性を予備的に検証した。現在の核心的な課題は、非標準化された要求仕様書の深い理解と機能分解にあり、今後は要件理解能力の最適化とビジネスシナリオとの結合強化に注力する。
コメントの例:
背景:「セキュリティ左移(Shift Left)」の理念を貫徹するため、Kuaishouはセキュリティチームと協力し、専門的なセキュリティ検出能力をCode Review段階に統合し、コードがリポジトリに取り込まれる前にセキュリティ脆弱性を早期発見・修正することを目指した。
構築内容:
セキュリティ検出エージェントの統合:セキュリティチームが提供する専門的な検出能力をエージェントの形態でインテリジェントレビュープロセスに統合し、インジェクション、情報漏洩、権限昇格などの一般的なセキュリティ問題を識別する。
レビュー提案の融合:検出されたセキュリティ脆弱性をコードレビューコメントの形で開発者に直接提示し、修正提案と根拠を提供する。
効果と課題:パイロット期間中、システムは開発者が約200の有効なセキュリティ脆弱性を識別して確認するのを支援した。現在の採用率は約25%であり、脆弱性検出の精度において最適化の余地があることが反映されている。今後も継続的に協力し、精度の向上と開発者の受容度の向上に焦点を当てる。
コメントの例:
能力の拡張:クロスリポジトリにわたる長いチェーンの欠陥識別を実現し、要件変更に伴うクロスサービス、クロスリポジトリのすべてのコード変更を理解し、潜在的なチェーンレベルのリスクを識別する。
自動修正:信頼度の高い問題に対して「ワンクリック修正」機能を提供し、開発者を反復的な修正業務から解放する。
3.3.4 Agenticコメント評価インテリジェントエージェント
CR3.0では、コメント評価フェーズをAgenticインテリジェントエージェントにアップグレードし、ルール評価からインテリジェント評価への飛躍を実現した。
技術的実装:
3.3.5 段階のまとめ
スマートCR3.0段階では、デュアルリンクモードによって駆動している。標準シナリオに対してはCR2.0の効率的かつ安定した事前定義プロセスを維持し、コストを制御する。複雑シナリオに対しては深い分析能力を提供し、コンテキストを自律的に取得してシステムレベル、アーキテクチャレベルの問題を発見する。確定性の保証と創造性の突破の両方を備え、「速やかに進むべきところは速く、深く掘り下げるべきところは深く」を実現している。
実践2:知識の自己進化
使えば使うほど賢くなる知識基盤
従来のコードレビューはエンジニア個人の経験に大きく依存しており、これらの「暗黙知」を規模模拡大して継承することは難しい。私たちは体系的な手法を通じて、4層のルール体系を構築し、チームの知恵を再利用可能なレビュー能力に変換した。ビジネスシナリオ駆動のコードレビューを通じて暗黙知を形式知化し、4つの重複するルールソース体系を構築した:
この体系を通じて、Kuaishouは断片的なレビュー経験を体系化し、コード品質、パフォーマンス、セキュリティ、保守性、ベストプラクティスの複数の次元をカバーするルールライブラリを形成した。累計ルール数は1,200条を超え、チーム全体のコード品質と安定性を著しく向上させた。
KuaishouのスマートCRシステムが継続的に向上し、長期的に高い採用率を維持できる鍵は、データ駆動の自己進化ループにある。このメカニズムにより、システムは実際のフィードバックに基づいて継続的に学習と最適化を行い、「使えば使うほど正確に、使えば使うほど賢く」なることを実現している。
実践3:製品と運営戦略
精密なパイロットから規模拡大導入へ
解決した課題:
ツールの価値は利用にある。私たちはスマートCRを開発者の日常業務にシームレスに統合し、「潤物細無声(雨の日に静かに潤すごとく)」のように感じられるよう努めている。
KuaishouのスマートCRは、導入プロセスにおいて漸進的な普及方式を採用している。精密なパイロットから開始し、反復的な最適化を通じて信頼を構築し、口コミ効果を利用して影響力を拡大し、最終的に全面的な規模拡大カバレッジを実現した。
最終的に以上の戦略を通じて、Kuaishou内部で74%のMRスマートCRカバレッジを実現した。
インテリジェントレビュー能力の境界を拡張するため、私たちは各ビジネスチームと深く連携し、ストック資産のガバナンス、ビジネスロジック、セキュリティ特化の3つの共同構築能力を作り上げ、スマートCRを「増分チェック」から「全プロセス品質エスコート」へと推し進めた。
5.3.1 共同構築能力1:リポジトリレベルのインテリジェントスキャン——ストックコードの「深層健康診断」
そのため、私たちはライフサービス部門と連携してリポジトリレベルのインテリジェントスキャン能力を共同構築し、低コストで体系的な隠れたリスクの発掘と修正のクローズドループを実現することを目的とした。
5.3.2 共同構築能力2:ビジネスロジックレビュー ——「コードとして正しい」から「ビジネスとして正しい」へ
5.3.3 セキュリティCRの共同構築:セキュリティを開発初期段階へシフトさせる
KuaishouのスマートCRの目標は、コードレベルの問題を発見することにとどまらない。今後は以下の方向性に取り組む:
最終的に、KuaishouはスマートCRを「アーキテクチャアドバイザー」として位置づけ、要件設計とコーディング段階から先を見据えたアーキテクチャ提案とリスク警告を提供できるようにし、研究開発効率とシステム品質をさらに向上させることを目指している。