project
FrogBoss - マイクロソフトのオープンソースプログラミングモデルスイート
FrogBossは、Microsoft Researchが開発した一連のプログラミングモデルです。これらのモデルは、革新的で高度な脆弱性生成手法(BugPilot)を用いてトレーニングされます。この手法では、言語モデルエージェント(LLM)がコードベースに新しい機能を追加します。
FrogBossとは何ですか?
FrogBossは、Microsoft Researchが開発したプログラミングモデルシリーズです。このモデルは、革新的で複雑な脆弱性生成手法(BugPilot)を用いてトレーニングされます。BugPilotは、言語モデルエージェント(LLM)がコードベースに新機能を追加することで、意図せず脆弱性を導入し、より難易度が高く多様なトレーニングデータを生成します。FrogBossの32パラメータモデルは、SWE-Bench-Verifiedベンチマークにおいて、合格率54.6%を達成し、この分野における最新のベンチマークとなりました。このモデルの優れたパフォーマンスは、データ効率の向上と、実際のソフトウェア開発シナリオへの適応性の向上を示しています。
FrogBossの主な機能
-
高効率な脆弱性修復このモデルは、コード内の複雑な脆弱性を迅速に特定して修正することができ、ソフトウェアの品質と安定性を向上させます。
-
コードの最適化と改善既存のコードを分析することで、コードの効率性と保守性を向上させるための最適化案を提案できます。
-
自動テストのサポートこのモデルは、コードの変更によって新たな問題が発生するかどうかを検証し、ソフトウェアが正常に機能することを保証するためのテストケースを生成できます。
-
開発効率の向上面倒な作業を自動化することで、開発者の反復作業を減らし、ソフトウェア開発サイクルを加速させることができる。
FrogBossの技術原則
- 複雑な脆弱性生成(BugPilot):
- FeatAdd メソッドこの手法は、言語モデルエージェント(LLM)がコードベースに新機能を追加することで、意図せず脆弱性を導入してしまう。これは、実際のソフトウェア開発における機能拡張から生じる脆弱性をシミュレートし、より多様で複雑な脆弱性を生み出す。
- BugInstruct メソッド対照的に、プロキシが直接脆弱性を導入する場合、現実世界のシナリオとは大きく異なる、より単純な脆弱性が生成される。
- 高品質データトレーニングFeatAddメソッドを用いて生成された高品質な脆弱性データは、他のデータセット(R2E-GymやSWE-Smithなど)と組み合わせられ、教師ありファインチューニング(SFT)と強化学習(RL)を用いて学習されます。この学習手法により、FrogBossは複雑なソフトウェアエンジニアリングタスクの解決において優れた性能を発揮すると同時に、データ利用効率も向上させます。
FrogBossプロジェクトのアドレス
- プロジェクト公式サイト:https://microsoft.github.io/debug-gym/blog/2025/10/bug-pilot/
- ハギングフェイスモデルライブラリ:
- https://huggingface.co/microsoft/FrogBoss-32B-2510
- https://huggingface.co/microsoft/FrogMini-14B-2510
- arXiv技術論文:https://arxiv.org/pdf/2510.19898
FrogBoss アプリケーションシナリオ
-
コードのデバッグと脆弱性の修正FrogBossはコードの脆弱性を自動的に検出し、修正案を生成することで、ソフトウェアの安定性と開発効率を大幅に向上させます。
-
ソフトウェア開発の効率を向上させるFrogBossは、アクセシビリティ機能を提供し、コードを最適化することで、開発者が高品質なコードを迅速に作成できるよう支援します。
-
自動テストFrogBossはテストケースの自動生成とテスト結果の分析が可能で、より包括的なソフトウェアテストを容易にします。
-
コードレビューと品質保証コードレビュー中に潜在的な問題を迅速に特定し、ソフトウェアが高い品質基準を満たしていることを確認する。
-
教育と訓練教育ツールとして、FrogBossはコード例とエラー分析を提供し、学生や開発者がプログラミングスキルを向上させるのに役立ちます。