핵심 개념
LLMベースのコードアシスタントを使用する際に、開発者の独自のコードがアシスタントサービスプロバイダーに露出される可能性があるという問題に取り組む。コードの再構築手法とCodeCloakと呼ばれる新しいDRLエージェントを提案し、コードリークを最小限に抑えつつ、関連性の高い提案を維持することを目指す。
초록
本研究では、LLMベースのコードアシスタントを使用する際のコードリークのリスクに取り組んでいる。
まず、開発者がコードアシスタントサービスに送信したプロンプトから元のコードベースを再構築する手法を提案している。これにより、コードリークの程度を評価することができる。
次に、CodeCloakと呼ばれる新しいDRLエージェントを提案している。CodeCloakは、プロンプトを操作することで、(1)コードリークを最小限に抑えつつ、(2)開発者に有用な提案を維持することを目指す。
評価では、GitHub Copilot、StarCoder、CodeLlamaのLLMベースのコードアシスタントモデルを使用し、様々なサイズのコードリポジトリに対して有効性を示している。また、実際の開発シナリオを模擬した環境を生成し、提案手法の有効性を徹底的に分析している。
통계
小規模リポジトリの平均再構築率は94.10%であり、大規模リポジトリの平均再構築率は88.3%であった。
CodeCloakは、プロンプトの類似度を61.1%まで高め、提案の類似度を75.54%に維持することができた。一方、ベースラインモデルはプロンプトの類似度が50.5%、提案の類似度が48.5%であった。
CodeCloakは、リークGPTスコアを59.55%まで低減し、提案の類似度を85.43%に維持することができた。
인용구
"LLMベースのコードアシスタントを使用する際に、開発者の独自のコードがアシスタントサービスプロバイダーに露出される可能性がある。"
"CodeCloakは、(1)コードリークを最小限に抑えつつ、(2)開発者に有用な提案を維持することを目指す。"