[{"data":1,"prerenderedAt":463},["ShallowReactive",2],{"/ja-jp/the-source/authors/taylor-mccaslin/":3,"footer-ja-jp":35,"the-source-navigation-ja-jp":346,"the-source-newsletter-ja-jp":373,"taylor-mccaslin-articles-list-authors-ja-jp":385,"taylor-mccaslin-articles-list-ja-jp":415,"taylor-mccaslin-page-categories-ja-jp":462},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"config":8,"seo":10,"content":12,"type":26,"slug":27,"_id":28,"_type":29,"title":30,"_source":31,"_file":32,"_stem":33,"_extension":34},"/ja-jp/the-source/authors/taylor-mccaslin","authors",false,"",{"layout":9},"the-source",{"title":11},"Taylor McCaslin",[13,24],{"componentName":14,"componentContent":15},"TheSourceAuthorHero",{"config":16,"name":11,"role":19,"bio":20,"headshot":21},{"gitlabHandle":17,"linkedInProfileUrl":18},"tmccaslin","https://www.linkedin.com/in/taylormccaslin/","グループマネージャー、製品 - データサイエンス","Taylor McCaslinは、GitLabのAI/ML担当プロダクトリーダーです。AI PoweredおよびModelOpsステージグループを管理するプロダクトマネージャーチームを率い、GitLabユーザーがDevOpsプログラムの一環としてデータサイエンスを活用できるようにするためのビジョンと方向性を示しています。GitLabに入社する前は、Indeed、Duo Security、WP Engineに勤務していました。",{"altText":11,"config":22},{"src":23},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463427/trfasilaeasosxfcxmsm.jpg",{"componentName":25},"TheSourceArticlesList","author","taylor-mccaslin","content:ja-jp:the-source:authors:taylor-mccaslin.yml","yaml","Taylor Mccaslin","content","ja-jp/the-source/authors/taylor-mccaslin.yml","ja-jp/the-source/authors/taylor-mccaslin","yml",{"_path":36,"_dir":37,"_draft":6,"_partial":6,"_locale":7,"data":38,"_id":342,"_type":29,"title":343,"_source":31,"_file":344,"_stem":345,"_extension":34},"/shared/ja-jp/main-footer","ja-jp",{"text":39,"source":40,"edit":46,"contribute":51,"config":56,"items":61,"minimal":334},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":41,"config":42},"ページのソースを表示",{"href":43,"dataGaName":44,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":47,"config":48},"このページを編集",{"href":49,"dataGaName":50,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":52,"config":53},"ご協力をお願いします",{"href":54,"dataGaName":55,"dataGaLocation":45},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":57,"facebook":58,"youtube":59,"linkedin":60},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[62,89,162,234,296],{"title":63,"links":64,"subMenu":70},"プラットフォーム",[65],{"text":66,"config":67},"DevSecOpsプラットフォーム",{"href":68,"dataGaName":69,"dataGaLocation":45},"/ja-jp/platform/","devsecops platform",[71],{"title":72,"links":73},"価格",[74,79,84],{"text":75,"config":76},"プランの表示",{"href":77,"dataGaName":78,"dataGaLocation":45},"/ja-jp/pricing/","view plans",{"text":80,"config":81},"Premiumを選ぶ理由",{"href":82,"dataGaName":83,"dataGaLocation":45},"/ja-jp/pricing/premium/","why premium",{"text":85,"config":86},"Ultimateを選ぶ理由",{"href":87,"dataGaName":88,"dataGaLocation":45},"/ja-jp/pricing/ultimate/","why ultimate",{"title":90,"links":91},"ソリューション",[92,97,102,107,112,117,122,127,132,137,142,147,152,157],{"text":93,"config":94},"デジタルトランスフォーメーション",{"href":95,"dataGaName":96,"dataGaLocation":45},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":98,"config":99},"セキュリティとコンプライアンス",{"href":100,"dataGaName":101,"dataGaLocation":45},"/ja-jp/solutions/security-compliance/","security & compliance",{"text":103,"config":104},"自動化されたソフトウェアデリバリー",{"href":105,"dataGaName":106,"dataGaLocation":45},"/ja-jp/solutions/delivery-automation/","automated software delivery",{"text":108,"config":109},"アジャイル開発",{"href":110,"dataGaName":111,"dataGaLocation":45},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":113,"config":114},"クラウドトランスフォーメーション",{"href":115,"dataGaName":116,"dataGaLocation":45},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":118,"config":119},"SCM",{"href":120,"dataGaName":121,"dataGaLocation":45},"/ja-jp/solutions/source-code-management/","source code management",{"text":123,"config":124},"CI/CD",{"href":125,"dataGaName":126,"dataGaLocation":45},"/ja-jp/solutions/continuous-integration/","continuous integration & delivery",{"text":128,"config":129},"バリューストリーム管理",{"href":130,"dataGaName":131,"dataGaLocation":45},"/ja-jp/solutions/value-stream-management/","value stream management",{"text":133,"config":134},"GitOps",{"href":135,"dataGaName":136,"dataGaLocation":45},"/ja-jp/solutions/gitops/","gitops",{"text":138,"config":139},"Enterprise",{"href":140,"dataGaName":141,"dataGaLocation":45},"/ja-jp/enterprise/","enterprise",{"text":143,"config":144},"スモールビジネス",{"href":145,"dataGaName":146,"dataGaLocation":45},"/ja-jp/small-business/","small business",{"text":148,"config":149},"公共機関",{"href":150,"dataGaName":151,"dataGaLocation":45},"/ja-jp/solutions/public-sector/","public sector",{"text":153,"config":154},"教育",{"href":155,"dataGaName":156,"dataGaLocation":45},"/ja-jp/solutions/education/","education",{"text":158,"config":159},"金融サービス",{"href":160,"dataGaName":161,"dataGaLocation":45},"/ja-jp/solutions/finance/","financial services",{"title":163,"links":164},"関連リソース",[165,170,175,180,185,190,194,199,204,209,214,219,224,229],{"text":166,"config":167},"インストール",{"href":168,"dataGaName":169,"dataGaLocation":45},"/ja-jp/install/","install",{"text":171,"config":172},"クイックスタートガイド",{"href":173,"dataGaName":174,"dataGaLocation":45},"/ja-jp/get-started/","quick setup checklists",{"text":176,"config":177},"学ぶ",{"href":178,"dataGaName":179,"dataGaLocation":45},"https://university.gitlab.com/","learn",{"text":181,"config":182},"製品ドキュメント",{"href":183,"dataGaName":184,"dataGaLocation":45},"https://docs.gitlab.com/","docs",{"text":186,"config":187},"ブログ",{"href":188,"dataGaName":189},"/ja-jp/blog/","blog",{"text":191,"config":192},"お客様の成功事例",{"href":193,"dataGaLocation":45},"/customers/",{"text":195,"config":196},"お客様成功事例",{"href":197,"dataGaName":198,"dataGaLocation":45},"/ja-jp/customers/","customer success stories",{"text":200,"config":201},"リモート",{"href":202,"dataGaName":203,"dataGaLocation":45},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":205,"config":206},"GitLabサービス",{"href":207,"dataGaName":208,"dataGaLocation":45},"/ja-jp/services/","services",{"text":210,"config":211},"TeamOps",{"href":212,"dataGaName":213,"dataGaLocation":45},"/ja-jp/teamops/","teamops",{"text":215,"config":216},"コミュニティ",{"href":217,"dataGaName":218,"dataGaLocation":45},"/community/","community",{"text":220,"config":221},"フォーラム",{"href":222,"dataGaName":223,"dataGaLocation":45},"https://forum.gitlab.com/","forum",{"text":225,"config":226},"イベント",{"href":227,"dataGaName":228,"dataGaLocation":45},"/events/","events",{"text":230,"config":231},"パートナー",{"href":232,"dataGaName":233,"dataGaLocation":45},"/ja-jp/partners/","partners",{"title":235,"links":236},"Company",[237,242,247,252,257,262,267,271,276,281,286,291],{"text":238,"config":239},"GitLabについて",{"href":240,"dataGaName":241,"dataGaLocation":45},"/ja-jp/company/","company",{"text":243,"config":244},"採用情報",{"href":245,"dataGaName":246,"dataGaLocation":45},"/jobs/","jobs",{"text":248,"config":249},"経営陣",{"href":250,"dataGaName":251,"dataGaLocation":45},"/company/team/e-group/","leadership",{"text":253,"config":254},"チーム",{"href":255,"dataGaName":256,"dataGaLocation":45},"/company/team/","team",{"text":258,"config":259},"ハンドブック",{"href":260,"dataGaName":261,"dataGaLocation":45},"https://handbook.gitlab.com/","handbook",{"text":263,"config":264},"投資家向け情報",{"href":265,"dataGaName":266,"dataGaLocation":45},"https://ir.gitlab.com/","investor relations",{"text":268,"config":269},"Sustainability",{"href":270,"dataGaName":268,"dataGaLocation":45},"/sustainability/",{"text":272,"config":273},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":274,"dataGaName":275,"dataGaLocation":45},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":277,"config":278},"トラストセンター",{"href":279,"dataGaName":280,"dataGaLocation":45},"/ja-jp/security/","trust center",{"text":282,"config":283},"ニュースレター",{"href":284,"dataGaName":285,"dataGaLocation":45},"/company/contact/","newsletter",{"text":287,"config":288},"プレス",{"href":289,"dataGaName":290,"dataGaLocation":45},"/press/","press",{"text":292,"config":293},"現代奴隷制の透明性に関する声明",{"href":294,"dataGaName":295,"dataGaLocation":45},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":297,"links":298},"お問い合わせ",[299,303,308,313,318,323,328],{"text":297,"config":300},{"href":301,"dataGaName":302,"dataGaLocation":45},"/ja-jp/sales/","sales",{"text":304,"config":305},"サポートを受ける",{"href":306,"dataGaName":307,"dataGaLocation":45},"/support/","get help",{"text":309,"config":310},"カスタマーポータル",{"href":311,"dataGaName":312,"dataGaLocation":45},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"text":314,"config":315},"ステータス",{"href":316,"dataGaName":317,"dataGaLocation":45},"https://status.gitlab.com/","status",{"text":319,"config":320},"利用規約",{"href":321,"dataGaName":322,"dataGaLocation":45},"/terms/","terms of use",{"text":324,"config":325},"プライバシーに関する声明",{"href":326,"dataGaName":327,"dataGaLocation":45},"/ja-jp/privacy/","privacy statement",{"text":329,"config":330},"Cookieの設定",{"dataGaName":331,"dataGaLocation":45,"id":332,"isOneTrustButton":333},"cookie preferences","ot-sdk-btn",true,{"items":335},[336,338,340],{"text":319,"config":337},{"href":321,"dataGaName":322,"dataGaLocation":45},{"text":324,"config":339},{"href":326,"dataGaName":327,"dataGaLocation":45},{"text":329,"config":341},{"dataGaName":331,"dataGaLocation":45,"id":332,"isOneTrustButton":333},"content:shared:ja-jp:main-footer.yml","Main Footer","shared/ja-jp/main-footer.yml","shared/ja-jp/main-footer",{"_path":347,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"logo":348,"subscribeLink":353,"navItems":357,"_id":369,"_type":29,"title":370,"_source":31,"_file":371,"_stem":372,"_extension":34},"/shared/ja-jp/the-source/navigation",{"altText":349,"config":350},"the source logo",{"src":351,"href":352},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750191004/t7wz1klfb2kxkezksv9t.svg","/ja-jp/the-source/",{"text":354,"config":355},"購読する",{"href":356},"#subscribe",[358,362,365],{"text":359,"config":360},"人工知能",{"href":361},"/ja-jp/the-source/ai/",{"text":98,"config":363},{"href":364},"/ja-jp/the-source/security/",{"text":366,"config":367},"プラットフォームとインフラストラクチャ",{"href":368},"/ja-jp/the-source/platform/","content:shared:ja-jp:the-source:navigation.yml","Navigation","shared/ja-jp/the-source/navigation.yml","shared/ja-jp/the-source/navigation",{"_path":374,"_dir":9,"_draft":6,"_partial":6,"_locale":7,"title":375,"description":376,"submitMessage":377,"formData":378,"_id":382,"_type":29,"_source":31,"_file":383,"_stem":384,"_extension":34},"/shared/ja-jp/the-source/newsletter","The Sourceニュースレター","ソフトウェア開発の未来への洞察に関する最新情報を入手しましょう。","The Sourceのニュースレターへの登録が完了しました。",{"config":379},{"formId":380,"formName":381,"hideRequiredLabel":333},28467,"thesourcenewsletter","content:shared:ja-jp:the-source:newsletter.yml","shared/ja-jp/the-source/newsletter.yml","shared/ja-jp/the-source/newsletter",{"amanda-rueda":386,"andre-michael-braun":387,"andrew-haschka":388,"ayoub-fandi":389,"brian-wald":390,"bryan-ross":391,"chandler-gibbons":392,"dave-steer":393,"ddesanto":394,"derek-debellis":395,"emilio-salvador":396,"erika-feldman":397,"george-kichukov":398,"gitlab":399,"grant-hickman":400,"haim-snir":401,"iganbaruch":402,"jlongo":403,"joel-krooswyk":404,"josh-lemos":405,"julie-griffin":406,"kristina-weis":407,"lee-faus":408,"ncregan":409,"rschulman":410,"sabrina-farmer":411,"sandra-gittlen":412,"sharon-gaudin":413,"stephen-walters":414,"taylor-mccaslin":11},"Amanda Rueda","Andre Michael Braun","Andrew Haschka","Ayoub Fandi","Brian Wald","Bryan Ross","Chandler Gibbons","Dave Steer","David DeSanto","Derek DeBellis","Emilio Salvador","Erika Feldman","George Kichukov","GitLab","Grant Hickman","Haim Snir","Itzik Gan Baruch","Joseph Longo","Joel Krooswyk","Josh Lemos","Julie Griffin","Kristina Weis","Lee Faus","Niall Cregan","Robin Schulman","Sabrina Farmer","Sandra Gittlen","Sharon Gaudin","Stephen Walters",{"allArticles":416,"visibleArticles":461,"showAllBtn":333},[417,441],{"_path":418,"_dir":419,"_draft":6,"_partial":6,"_locale":7,"config":420,"seo":424,"content":428,"type":436,"category":419,"slug":437,"_id":438,"_type":29,"title":425,"_source":31,"_file":439,"_stem":440,"_extension":34,"date":429,"description":426,"timeToRead":430,"heroImage":427,"keyTakeaways":431,"articleBody":435},"/ja-jp/the-source/ai/4-steps-for-measuring-the-impact-of-ai","ai",{"layout":9,"template":421,"articleType":422,"author":27,"gatedAsset":423,"isHighlighted":6,"authorName":11},"TheSourceArticle","Regular","source-lp-how-to-get-started-using-ai-in-software-development",{"title":425,"description":426,"ogImage":427},"AIがもたらす影響を測定するための4つのステップ","AIイニシアチブの成功を判断するには、適切な測定フレームワークを用意することが重要です。本記事では、正しいメトリクスに焦点を当てるための4つのステップをご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463600/yv1v4ywk7hbobfvlxwhf.png",{"title":425,"date":429,"description":426,"timeToRead":430,"heroImage":427,"keyTakeaways":431,"articleBody":435},"2024-10-29","5分で読めます",[432,433,434],"ソフトウェア開発におけるAIの有効性は、コード生成といった生産性メトリクスだけでなく、コード品質、保守、テスト、セキュリティに対してAIがもたらす影響も考慮して測定すべきです。","AIの統合を成功させるには、ソフトウェア開発ライフサイクル全体から得られる定量的データと、デベロッパーから収集した、開発作業や戦略へのAIの実際の影響に関する定性的なインサイトを組み合わせて包括的なアプローチを取る必要があります。","適切なアプローチを取ることで、ソフトウェアの品質やセキュリティを損なうことなく、AIによってコラボレーションを強化し、コード品質を向上させ、ビジネス目標の達成をサポートできます","AIは、組織の技術スタックの中核へと急速に進化を遂げました。AI搭載の生産性向上ツールを使用すると、反復的なコーディング作業を自動化して効率性を高めることができます。しかし、多くの組織ではAIに関する取り組みの影響を定量化するのに苦労している状態で、求めるビジネス上の成果を得られるようにメトリクスの見直しを行っています。\n\nこれまでも、AI搭載ツールの有無にかかわらず、デベロッパーの生産性を測定することは困難でした。[GitLabが実施した調査](https://about.gitlab.com/ja-jp/developer-survey/)でも、自社において現在実施されているデベロッパーの生産性の測定アプローチに満足しているCxO（組織における最高責任者）は半数に満たず、36%のCxOは現在の生産性測定アプローチに問題があると感じていることが明らかになりました。\n\nAIにより強化されたコーディングの生産性を評価するには、コード行数やコードコミット数、タスク完了数といった従来のメトリクスよりも、より繊細なアプローチが必要となります。そのためには、開発速度、ソフトウェア品質、セキュリティのバランスを考慮した実際のビジネス成果に焦点を移す必要があります。\n\nこの記事では、ソフトウェア開発プロセスにAIがもたらすあらゆる影響を測定できるようにするために、組織が今日からでも実行できるステップをご紹介します。\n\n## 1. AIの導入に際して明確な目標設定を行う\nソフトウェア開発にAIを導入する際、組織は成功を測定できるように明確な目標とメトリクスを設定する必要があります。これには、組織全体の事業戦略に沿った短期的目標と長期的目標の両方が含まれます。たとえば、短期的目標は、AI搭載ツールを使用してコードレビューにかかる時間を30%短縮すること、長期的目標は、リリースサイクルの短縮とコード品質の向上によって顧客満足度を高めることといったものです。\n\nさらに、組織のリーダーは、こうした目標やメトリクスの設定にデベロッパーを関与させる必要があります。デベロッパーはAIが開発作業にもたらす影響を直接経験しているため、AIによって生産性がどのように向上したか、あるいは妨げられたかについて貴重なインサイトを提供できます。[GitLabの調査](https://about.gitlab.com/ja-jp/developer-survey/)によると、デベロッパーの63%が今後5年間のうちにAIが自分たちの役割を大きく変えると予想しており、56%がソフトウェア開発ライフサイクルにAIを導入することはリスクがあると感じています。組織はデベロッパーに対して、AIが役立つと思われる点だけでなく、AIについて懸念している点も尋ねることで、ソフトウェア開発チームにAIがもたらす実際の影響を反映した、より有意義かつ適切なメトリクスを作成して成功を測定できるようになります。\n\nまた、AIを継続的に社内プロセスに統合する中で、こういった目標を定期的に見直して再評価することも重要です。テクノロジーが急速に進化すると同時に、ビジネスのニーズや優先事項もまた急激に変わりつつあります。明確な目標を設定することで、チームは進捗状況を追跡し、必要に応じて調整を行うことができます。\n\n## 2. コーディングに関するメトリクスのみに注目しない\n採用率や生成されたコード行数だけが、生産性を表すわけではありません。デベロッパーは、作業時間の[75%以上](https://about.gitlab.com/ja-jp/developer-survey/)をコード生成以外の作業に費やしています。そのため、AIを効果的に活用することで、デベロッパーがコードのレビューやテスト、保守に費やす時間を削減できる可能性があります。\n\nAIを活用したソフトウェア開発のメリットを十分に理解して評価するためには、組織はソフトウェア開発ライフサイクル（SDLC）全体にわたって、[AIが生産性と収益に与える影響を俯瞰的に捉えるよう意識する必要があります](https://about.gitlab.com/the-source/ai/how-ai-helps-devsecops-teams-improve-productivity/)。最適なアプローチは、日常業務へのAIの実際の影響や長期的な開発戦略への影響に関する数値化しにくい定性的なインサイトをデベロッパーから収集し、それをSDLC全体から得られる定量的データと組み合わせることです。\n\n効果的な測定手法の1つとして挙げられるのが[DORAフレークワーク](https://about.gitlab.com/ja-jp/solutions/value-stream-management/dora/)です。これは、特定の期間における開発チームのパフォーマンスを評価するものです。DORAメトリクスは、デプロイ頻度、変更のリードタイム(LT)、復旧までの平均時間、変更失敗率、信頼性を評価します。これらのメトリクスは、チームのアジリティ、運用効率、ベロシティを可視化し、エンジニアリング組織がスピード、品質、セキュリティのバランスをいかにうまく取っているかを示す指標となります。\n\nさらに、チームは[バリューストリーム分析](https://about.gitlab.com/ja-jp/solutions/value-stream-management/)を活用して、コンセプトから本番環境までのワークフロー全体を調べる必要があります。バリューストリーム分析では、リードタイム、サイクルタイム、デプロイ頻度、本番環境の欠陥などのメトリクスを継続的に監視し、デベロッパー個人の行動よりもビジネスの結果に焦点を当てます。このような包括的なアプローチによって、より生産的で効率的な開発プロセスを実現できます。\n\n## 3. 成長に伴う問題に備える\nAIはコード生成を加速させる一方で、生成されたコードが品質やセキュリティの面で問題がある場合、技術的負債をもたらす可能性もあります。AIによって生成されたコードのレビュー、テスト、保守作業には、通常よりも時間がかかることがよくあります。デベロッパーはAIの使用で最初のうちは時間を節約できるかもしれませんが、結局は節約された分をソフトウェア開発ライフサイクルの後の工程で費やすことになる可能性があります。また、AIによって生成されたコードにセキュリティ上の欠陥があれば、セキュリティチームが注意を払わなければいけなくなり、潜在的な問題に対処するためにさらに時間が必要になります。結果として、AI導入当初は、開発チームとセキュリティチームはAIに対して懐疑的になる場合があります。\n\nまず、チームはAIアプリケーションを大規模に導入する前に、リスクの低い作業に対して導入してベストプラクティスを開発する必要があります。このように慎重なアプローチを取ることで、安全かつ持続可能ななスケーラビリティを実現できます。そうした過程を経た上でAIを使用すると、たとえば、コード生成やテスト生成、構文の修正、文書化を容易に行えるようになり、ツールのより効果的な使用方法を学ぶ中でチームの勢いが高まり、成果が向上します。\n\nチームが新しいワークフローに慣れるまで、最初のうちは生産性が低下する可能性があります。そのため、AIを既存のプロセスに統合する最適な方法を決定できるよう、チームに猶予期間を与えることが良策と言えるでしょう。\n\n## 4. DevSecOpsプラットフォーム全体にAIを統合する\n組織の開発プロセスにAIを導入する際、成長に伴う問題を軽減する方法の1つは、コード生成やディスカッションサマリー、脆弱性の説明などのAI搭載機能をソフトウェア開発ライフサイクル全体に統合するDevSecOpsプラットフォームを活用することです。DevSecOpsプラットフォームを使用することで、デベロッパーとセキュリティチームの双方が、一元化された効率的なワークフローでより効果的なコラボレーションを行えるようになり、[潜在的な問題を開発プロセスの早い段階で発見](https://about.gitlab.com/the-source/ai/4-ways-ai-can-help-devops-teams-improve-security/)できます。\n\nDevSecOpsプラットフォームに含まれる[AI搭載のコードレビューおよびテストツール](https://about.gitlab.com/ja-jp/blog/how-gitlab-duo-helps-secure-and-thoroughly-test-ai-generated-code/)を用いると、セキュリティ上の欠陥やコーディングエラーが本番環境まで残ることのないように、事前に検出して対処できます。これにより、時間を節約できるだけでなく、技術的負債を減らし、ソフトウェア全体の品質を向上させることができます。また、統合プラットフォームの一部としてAIツールが含まれている場合、チームは[根本原因分析とAIを組み合わせて](https://about.gitlab.com/ja-jp/blog/developing-gitlab-duo-blending-ai-and-root-cause-analysis-to-fix-ci-cd/)、CI/CDパイプライン内のエラーを修正し、安全なコードをより迅速にリリースすることも可能です。目指すところは、自動化されたコード品質スキャンとセキュリティスキャンを、組織が生成しているすべてのコード、特にAIによって生成されたコードに適用することです。\n\nさらにチームは、[AIが生産性にもたらす影響を測定するプラットフォームのビルトイン分析](https://about.gitlab.com/ja-jp/blog/developing-gitlab-duo-ai-impact-analytics-dashboard-measures-the-roi-of-ai/)を使用することで、AIのROIを簡単に追跡できます。\n\nAIは、DevSecOpsプラットフォームの進化において重要な役割を果たしており、品質やセキュリティを犠牲にすることなく、開発、セキュリティ、およびオペレーションチームがソフトウェア開発を加速できるように、コラボレーション方法を新たな形へと変化させています。今後ビジネスリーダーは、AI搭載ツールへの投資がどのような成果をもたらしているかを確認したいと考えるはずです。デベロッパーはそうしたビジネスリーダーの厳しい目を受け入れ、この機会を活かして自分たちの仕事が組織のより広範な目標とどのように合致しているかをアピールするべきです。\n\nコード品質、コラボレーション、ダウンストリームコスト、デベロッパーエクスペリエンスを評価する包括的なアプローチを採用すれば、AI技術を活用して人間の取り組みを強化できます。","article","4-steps-for-measuring-the-impact-of-ai","content:ja-jp:the-source:ai:4-steps-for-measuring-the-impact-of-ai:index.yml","ja-jp/the-source/ai/4-steps-for-measuring-the-impact-of-ai/index.yml","ja-jp/the-source/ai/4-steps-for-measuring-the-impact-of-ai/index",{"_path":442,"_dir":419,"_draft":6,"_partial":6,"_locale":7,"config":443,"seo":445,"content":449,"type":436,"category":419,"slug":457,"_id":458,"_type":29,"title":446,"_source":31,"_file":459,"_stem":460,"_extension":34,"date":450,"description":447,"timeToRead":451,"heroImage":448,"keyTakeaways":452,"articleBody":456},"/ja-jp/the-source/ai/how-to-put-generative-ai-to-work-in-your-devsecops-environment",{"layout":9,"template":421,"articleType":422,"author":27,"featured":6,"gatedAsset":444,"isHighlighted":6,"authorName":11},"navigating-ai-maturity-in-devsecops",{"title":446,"description":447,"ogImage":448},"DevSecOps環境で生成AIを活用する方法","プラットフォーム全体に統合された人工知能が、組織とDevSecOpsチームに具体的なメリットをもたらす方法をご紹介します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1751463955/b01uj40kjfhezhwiczhp.png",{"title":446,"date":450,"description":447,"timeToRead":451,"heroImage":448,"keyTakeaways":452,"articleBody":456},"2024-03-07","7分で読めます ",[453,454,455],"AIの可能性をDevSecOpsで完全に活用するには、コード作成の段階だけでなく、ソフトウェア開発ライフサイクル全体にAIを組み込むことが不可欠です。","組織全体でAIツールを統合することで、複雑さ、運用リスク、コストを軽減し、効率化された安全な環境を実現します。","AIの有効性を評価するには、コード生成頻度などの従来のメトリクス以上のものが必要です。組織内で標準ワークフローを実装し、脆弱性の修正時間やコードレビュー効率などの包括的なメトリクスを収集します。","生成AIは、ソフトウェア開発やデリバリーにおける単純で時間のかかる側面を軽減し、結果としてDevSecOpsワークフローを加速させるイノベーションの新しい波をもたらしました。しかし、生成AIの可能性を最大限に実現するには、コード作成の段階だけでなく、あらゆる場所にテクノロジーを分散させる必要があります。\n\n[DevSeOpsの専門家5,000人以上を対象とした2024年の調査](https://about.gitlab.com/ja-jp/developer-survey/2024/ai)によると、コード作成はデベロッパーの時間の25%未満を占めています。最初のコミットから本番環境に至るまで、AIの恩恵を受けられる重要なタスクは他にもたくさんあります。\n\nAIを各段階に組み込むことで、ソフトウェアをアイデアからデリバリーまで管理し、より優れた、より安全なソフトウェアをより迅速に作成できます。たとえば、失敗したビルドを調べるという作業でも、AIを使用して何が問題だったのか、どのように修正すればよいのかを把握し改善できます。AIによってタスクがなくなるわけではありませんが、[タスクを完了するために必要なステップと時間を削減できます](https://about.gitlab.com/ja-jp/the-source/ai/how-ai-helps-devsecops-teams-improve-productivity/)。\n\n生成AIの影響を理解し、測定するために、DevSecOpsチームができることをご紹介します。\n\n## ワークフローの評価から始める\n\nAIの効果を完全に実現するには、ワークフローの見直しなど、いくつかの事前作業を行う必要があります。AIを使用するアプローチに一貫性を持たせ、AIがもたらす可能性のあるリスクを軽減するために[適切なガードレール](https://about.gitlab.com/ja-jp/the-source/ai/velocity-with-guardrails-ai-automation/)を確保できるよう、構築できる理想的なワークフローを理解する必要があるでしょう。\n\nたとえば、チームが生成AIでコードを作成している場合、生成されたコードの一部にセキュリティの脆弱性が含まれている可能性があります。 そのため、[これらの脆弱性を検出するワークフロー](https://about.gitlab.com/the-source/ai/4-ways-ai-can-help-devops-teams-improve-security/)を作成し、本番環境に移行してしまう可能性を減らす必要があります。このワークフローを作成すれば、より一貫した方法で多くのAI機能を導入し、開発速度を向上させることができます。\n\nここでは、ワークフローを事前に評価することで、AIから得られるメリットをどのように改善できるかの例をご紹介します。AIは自動的にテストを構築できますが、コードがすでに作成された後にテストを構築することは望ましくありません。デベロッパーはQAチームの一員ではないため、テストするのは作成したものだけです。生成AIも同様に動作するため、AIが生成するテストのワークフローを早めに開始する必要があります。デベロッパーは問題の詳細を使用して、記述するコードのユニットテストを対話しながら生成できます。ワークフローを考慮すると、最初にテストを含むマージリクエストを作成し、次にブランチをプルして実装の作業を開始すると、コンテキストに適切なテストが含まれるようになるため、コード提案がより堅牢になり、コードを直接開始した場合よりも応答ヒット数が大幅に増加します。\n\nすべてのワークフローを一度に刷新することはできません。そのため、レガシーコードベースのモダナイズ、セキュリティ問題の増加への対応、削減し続ける予算とスタッフでの運用など、ソフトウェア開発とデリバリーの最大の課題に関連するワークフローに重点を置くようにしてください。\n\n## AIのガードレールを確立する\n\nまた、AIのガードレールを確実に導入する必要があります。AIのガードレールとは、AIがやり取りするデータに関するリスクを考慮し、そのリスクを軽減し、独自のコンプライアンスニーズを満たすための対策のことです。使用しているAIモデル、ベクターデータベースにアクセスしているかどうか、大規模な言語モデル(LLM)がどのようにトレーニングされているかを検討する必要があります。\n\nこれらの質問には、法務、コンプライアンス、DevSecOpsチームを結集して、AIプロバイダーに厳しい質問をする必要があります。[GitLab AI Transparency Center](https://about.gitlab.com/ai-transparency-center/)と[透明性を重視したAI戦略の構築に関するブログ記事](https://about.gitlab.com/ja-jp/the-source/ai/building-a-transparency-first-ai-strategy-7-questions-to-ask-your-devops/)から、有益な情報を確認できます。\n\nもう1つの重要なガードレールは、ソフトウェア開発ライフサイクル全体および組織全体で使用している個別のAIツールの数が適切になるよう管理することです。使用するツールが多ければ多いほど、複雑さが増し、運用上の問題、管理上の課題、セキュリティリスクが発生する可能性があります。また、ツールが多い場合、間接費が増加します。\n## AIの影響を測定する\n\n生産性やその他のキーメトリクスの変化を測定することは、[組織におけるAIの影響を真に理解する](https://about.gitlab.com/ja-jp/the-source/ai/4-steps-for-measuring-the-impact-of-ai/)ために不可欠です。通常、組織は、コードを本番環境に出荷する頻度、[4つのDORAメトリクス](https://docs.gitlab.com/ee/user/analytics/dora_metrics.html)、またはバグの修正にかかる時間の観点からAIがもたらす成果としてのアウトプットを評価します。しかし、それでは全体像を捉えることはできません。\n\nGitLabでは、グループやプロジェクトの階層構造内にワークフローの標準化を構築することでAIの影響を測定し、チームからビジネスユニットへのメトリクスをロールアップし、ユーザーインターフェース内で直接アウトプットを分析できるようにしています。\n\nこの構造の上にAIを実装すると、脆弱性の解決速度や、マージ リクエストに対する検証（レビュー担当者やテストが適正か）速度が向上し、結果としてコードレビュープロセスにかかる時間が短縮されます。依存関係を含むGitLab内の各ステージを確認することができ、開発チームがそれらのステージを完了するのにかかる差分も把握できます。ダッシュボードにはその速度の状況が表示され、そのデータに基づいて方向転換しやすくなります。たとえば、ソフトウェアを本番環境にリリースするかどうかを決定できます。\n\n### SDLC AIアシスタントの実用的な用途\n\nソフトウェア開発ライフサイクル全体で[GitLab Duo](https://about.gitlab.com/ja-jp/gitlab-duo/)のようなAIアシスタントを使用する実用的な方法をいくつかご紹介します。\n\n- **マージリクエストの説明を作成する：** マージリクエストの包括的な説明の作成を自動化し、MRの一連のコミットの要点を迅速かつ正確に把握します。また、記述されたコードとMRにリンクされた問題の意図に基づいて、不足しているタスクを明らかにすることもできます。\n\n- **自然言語でのコードの説明：** QAテスターは、コードの説明を使用して、コードを迅速かつ容易に理解できます。たとえば、MRにRustで記述されたコードと複雑なメソッドのセットがある場合、QAテスターはメソッドを強調表示し、変更が何をしようとしているかを自然言語で読み取ることができます。これにより、QAテスターは、あえて比喩的に言えば晴れた日だけでなく雨の日のシナリオもカバーする、はるかに優れたテストケースを作成することができます。\n\n- **パイプラインエラーの根本原因分析：** パイプラインが大きくなり、リファクタリングしようとすると、何かが壊れる恐れがあります。この場合、トラブルシューティングが困難になる可能性があります。特に、一連のbashスクリプトを実行している場合や、イメージ内の内部コマンドを活用してDockerイメージを実行している場合は要注意です。受信したエラーを生成AIで実行すると、考えられる根本原因と推奨される修正案が説明されます。それをコピーしてCIジョブに直接貼り付けることができます。\n- **脆弱性の修正：** セキュリティのシフトレフトの動きが急速に進む中、エンジニアリングチームは早急にセキュリティのエクスパートになる必要がありました。生成AIを使用すると、エンジニアはチャットにアクセスして、脆弱性が何であるか、それがコード内のどこにあるのかを特定し、さらには修正案を含むMRを自動で開くこともできます。これらはすべて開発ウィンドウ内にあるため、頭の切り替えはありません。\n\n## GitLab Duo：影響力のある生成AI機能のためのワンストップショップ\n\n当社は、強力な生成AIモデルとハイパークラウドベンダーの最先端技術を使用して、DevSecOpsプラットフォーム向けのAI機能の拡張ツールボックスであるGitLab Duoを構築しています。現在、[GitLab Duoには、コードアシスタントから会話チャットアシスタント、脆弱性の説明などの機能があり、機能により一般公開、ベータ版、Experiement版で提供されています](https://docs.gitlab.com/ee/user/ai_features.html)。GitLab Duoをソフトウェア開発ライフサイクル全体で一貫して使用すると、サイクルタイムを10倍高速化します。また、組織がより少ないコストでより多くの成果を上げられるようになり、従業員がより価値の高いタスクに時間を費やすことができます。\n\n「[Omdia Market Radar: AI支援ソフトウェア開発、2023～24年](https://learn.gitlab.com/devsecops-plat-ai/analyst-omdia-ai)」レポートでは、アナリスト企業が「エンタープライズグレードのアプリケーション開発に適している」と考える製品の1つとしてGitLab Duoが取り上げられ、「AI支援がSDLCパイプライン全体に統合されている」と評価されています。\n\nGitLab Duoの実際の機能についてはこちらの動画をご覧ください。\n\n\u003C!-- 空白行 -->\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/s19nBOA2k_Y?si=qEcsZbpMChynYlfn\" frameborder=\"0\" allowfullscreen=\"true\">\u003C/iframe>\n\u003C/figure>\n\u003C!-- 空白行 -->\n\n*監修：知念 梨果　[@rikachinen](https://gitlab.com/rikachinen)* \u003Cbr>\n*（GitLab合同会社 カスタマーサクセス本部 カスタマーサクセスエンジニア）*\n","how-to-put-generative-ai-to-work-in-your-devsecops-environment","content:ja-jp:the-source:ai:how-to-put-generative-ai-to-work-in-your-devsecops-environment:index.yml","ja-jp/the-source/ai/how-to-put-generative-ai-to-work-in-your-devsecops-environment/index.yml","ja-jp/the-source/ai/how-to-put-generative-ai-to-work-in-your-devsecops-environment/index",[417,441],{"ai":359,"platform":366,"security":98},1754424548568]