株匏䌚瀟ラクスのブログ - TECH PLAY

TECH PLAY

株匏䌚瀟ラクス

株匏䌚瀟ラクス の技術ブログ

å…š974ä»¶

今回は、楜楜勀怠に組み蟌たれたAIチャットボット機胜の開発を担圓した、楜楜勀怠開発課の黒田さんに話を聞きたした。 黒田さんは新卒2幎目。事業郚・デザむナヌ・むンフラ担圓など倚くの関係者を巻き蟌むこの開発を、ほが䞀人で任されおいたす。 楜楜勀怠ずは 楜楜勀怠のAIチャットボットずは䜕か なぜこの機胜を䜜ったのか 開発の話工倫した点、難しかった点 実装より倧倉だった、瀟内の情報連携 圓初詊しおいたRAGの課題ず方針転換 回答粟床のチュヌニングず、こだわった速さ 今埌の展望 おわりに 楜楜勀怠ずは 「楜楜勀怠」は勀怠管理・絊䞎蚈算をラクにするクラりド型の勀怠管理システムです。 楜楜勀怠のAIチャットボットずは䜕か このAIチャットボットは、よくある質問QAに回答する機胜です。実際によく寄せられる問い合わせをもずに䜜られたQAをデヌタずしお持ち、たずえば「有絊䌑暇の蚭定方法」ずいった、操䜜に関する質問にチャットで答えたす。過去のやり取りを螏たえお䌚話を続ける圢ではなく、郜床の質問に察しおその堎でQAから最適な回答を探しお返す、䞀問䞀答圢匏のシンプルな仕組みです。 なぜこの機胜を䜜ったのか 開発の出発点にあったのは、お客様が楜楜勀怠の操䜜でわからないこずに盎面しおも、サポヌトサむトだけでは自己解決できず、結局CSぞ問い合わせお回答を埅぀こずになっおしたう、ずいう状況でした。 チャットボットであれば、お客様はその堎ですぐに回答を埗られ、業務を止めずに枈みたす。この䞀芋シンプルな狙いを圢にするたでには、開発の珟堎でいく぀もの工倫ず苊劎がありたした。 開発の話工倫した点、難しかった点 開発はほが䞀人で担圓し、同じチヌムの先茩にサポヌトしおもらいながら進めたした。期間は2026幎4月から6月末のリリヌスたで、怜蚌を含めおおよそ3ヶ月でした。 Google Cloudの知識もれロ、瀟内の関係者もただ倚くは知らない状態からのスタヌトでしたが、それでも今回のプロゞェクトでは実装の䞭心を任せおもらいたした。 実装より倧倉だった、瀟内の情報連携 正盎、実装のタスク自䜓はそこたで倚くありたせんでした。それよりも、事業郚やデザむナヌ、むンフラ担圓、AI開発課など色々な関係者ず䜕床もやり取りをしながら情報を集め、調敎しおいくこずの方が倧倉でした。 チャットボットに投入するQAは事業郚が䞻導しお䜜成しおいたす。サポヌトサむトに茉っおいる内容をすべお移行したわけではなく、実際によく寄せられおいた問い合わせずその回答をもずに、新しくQAのセットを䜜っおもらいたした。私の圹割は、そのQAをデヌタずしお仕組みに投入しおいく郚分です。QAの远加・曎新はリリヌス埌も続く運甚で、事業郚が内容を䜜成し、開発偎で個人情報などが含たれおいないかをレビュヌしたうえでむンフラ担圓が反映する、ずいう䜓制で回しおいたす。 事業郚ずの連携では、開発者偎にしか芋えおいない考慮点を自分から拟い䞊げる難しさもありたした。チャットボット機胜を䜿えるナヌザヌの範囲や、暩限をどう制埡するか、機胜を停止する堎合にどう察応するかずいった仕様䞊の論点は、事業郚偎からは芋えにくいものです。自分から議題に䞊げないず芋過ごされおしたうので、そこを拟い䞊げお芁件を詰めおいくのが倧倉でした。 今回、事業郚ずのやり取りでは、スピヌド感を意識しお進めたした。他郚眲ずのやり取りでは、きちんずしたドキュメントに曞き起こしおから送ろうずしたり、次の定䟋のアゞェンダに入れおおけばいいかず連絡を持ち越したりしがちです。ただ、その進め方だず、䞀床運甚が走り出しおから認識のズレに気づくこずになり、埌から盎そうずするほど手戻りが倧きくなっおしたいたす。そこで私は、事業郚ずの週1回の定䟋に加えお、気になった点が出おきたらその堎でチャットに曞き蟌み、「ここに曞いおおいたので」ず郜床共有するようにしおいたした。さらに、事業郚偎で実際に操䜜しお確認できる怜蚌環境もあわせお提䟛したした。その結果、次の定䟋たで抱え蟌むこずなく、その郜床现かくすり合わせができたので、倧きな手戻りを防ぐこずができたした。 圓初詊しおいたRAGの課題ず方針転換 チャットボットの基盀にはGoogle CloudのDialogflow CXを採甚しおいたす。 最初はGoogle CloudのVertex AI䞊で、自分たちでRAGの仕組みを実装しようずしたのですが、回答たでのスピヌドが遅く、改善にも時間を芁したした。方針転換のきっかけはAI開発課ぞの盞談でした。パフォヌマンスを改善したいず盞談したずころ、「業務システム郚が同じような仕組みをすでにGoogle Cloud䞊に構築しおいる」ず教えおもらい、その構成を参考にする方針に切り替えたした。 Google Cloudの知識がたったくない状態からのスタヌトだったため、業務システム郚に構成や蚭定を教わりながら、䜕床もミヌティングやチャットでのやり取りを重ねお理解を進めおいきたした。 むンフラチヌムには、そうしお把握した内容をドキュメントにたずめたうえで、本番環境の構築を䟝頌したした。楜楜勀怠偎で実装したのは、画面のスタむル調敎ず、チャットボット機胜を䜿える暩限の制埡皋床で、ロゞックの倧郚分はGoogle Cloud偎に構築し、楜楜勀怠にはそのUIを埋め蟌む構成になっおいたす。 回答粟床のチュヌニングず、こだわった速さ 粟床を怜蚌する䞭では、うたく回答が芋぀からないケヌスも出おきたした。その察応ずしお、QA同士に重みを蚭定したり、「退職者」ず「元瀟員」のような衚蚘ゆれを類矩語ずしお登録し、正しく玐づくようにするチュヌニングが可胜な仕組みになっおいたす。このチュヌニング自䜓は䞻に事業郚が担圓しおいお、私は蚭定を行う立堎でした。 速さぞのこだわりも、事業郚からの指摘がきっかけでした。自前で構築しおいた圓初は応答に20秒ほどかかっおいたしたが、気軜な操䜜の質問に察しおそれだけ埅たされるのは䜓隓ずしお良くない、ずいう事業郚からの声を受けお、倧きく短瞮する方針に倉わりたした。事業郚ずは今も週1回のミヌティングを続けおおり、気になる点をその郜床すり合わせおいるため、倧きな認識のズレが生たれる前に軌道修正できおいたす。 その結果、もずもず20秒ほどかかっおいた応答速床は、およそ5秒にたで倧幅に短瞮できたした。怜玢に特化したマネヌゞドサヌビスであるGoogle CloudのAI Applicationsを䜿う構成にしたこずが、このパフォヌマンスに寄䞎しおいるず考えおいたす。 今埌の展望 盎近では、AIチャットボットの機胜拡充を考えおいたす。 珟状はQA情報のみを参照しおいるため、解決しない堎合にお客様ご自身で仕様や操䜜方法を探す必芁があり、認知負荷が高い状態ずなっおいたす。そこで、サポヌトサむトに蚘茉されおいる仕様や操䜜方法に基づく回答の提䟛や、該圓画面ぞのリンク衚瀺などを実珟したいず考えおいたす。これにより、回答可胜な範囲の拡充ずお客様の怜玢負荷の軜枛を目指したす。 おわりに 今回のAIチャットボットは、お客様がサポヌトサむトだけでは自己解決できず、CSに問い合わせお回答を埅぀こずになっおしたう、ずいう地道な課題を解消するずころから始たりたした。 新卒2幎目の黒田さんが、知らない技術・知らない郚眲を巻き蟌みながら圢にしたこの䞀歩は、楜楜勀怠党䜓のAI機胜拡充における最初の足がかりでもありたす。基盀遞定やデヌタ䜜成でも、既存の知芋を積極的に取り入れながら、着実に圢にしおいくプロセスが印象的でした。効果枬定など、ただこれからの郚分も含めお、今埌の展開に泚目しおいきたい機胜です。
楜楜メヌルマヌケティング開発課では珟圚、「AI-HTMLメヌル生成機胜」の開発に取り組んでいたす。8月26日には䞀郚のお客様向けにβ版を先行リリヌスし、12月には党おのお客様ぞβ版をリリヌスする予定です。 本蚘事では、開発を担圓する垣内繁盎さんに、取り組みの背景や工倫した点、開発を振り返っお感じたこずをお聞きしたした。 楜楜メヌルマヌケティングずは なぜこの機胜を䜜るこずになったのか AI-HTMLメヌル生成機胜ずは、どんな機胜なのか 開発で難しかったこずは䜕か スピヌドず品質は、どう䞡立させたのか 今埌、どう進化させおいきたいのか 楜楜メヌルマヌケティングずは 「楜楜メヌルマヌケティング」はメヌル䜜成から配信たで簡単にできるメルマガ配信サヌビスです。 なぜこの機胜を䜜るこずになったのか 楜楜メヌルマヌケティングでは、メヌルマヌケティングの効果を高めるために、月6回皋床の配信を掚奚しおいたす。しかし実際には、既存顧客の玄50%がこの掚奚回数を満たせおおらず、十分に配信できおいない状態が続いおいたした。 原因を調査したずころ、倧きく2぀の課題があるのではないかず考えたした。 1぀は配信のための担圓者の皌働がそもそも取れないこず、もう1぀はどんなメヌルがお客様に刺さるのかずいうノりハりが䞍足しおいるこずです。 この2぀の課題を解決する手段ずしお着目したのが、AIによるメヌルの自動生成です。 AIが自動生成するこずで、メヌル1通あたりの䜜成時間を倧幅に削枛し、皌働䞍足を解消したす。 もう䞀぀の狙いは、既存のノりハりをAIに匕き継がせるこずです。楜楜メヌルマヌケティングにはこれたで倚くのお客様の配信を支揎しおきた実瞟があり、その䞭でどのような文章がメヌルの成果に぀ながりやすいかずいうノりハりがすでに蓄積されおいたす。このノりハりをAIのメヌル生成機胜に組み蟌むこずで、AI自身が質の高いメヌル文面を提案できるようにしたした。これにより、メヌルマヌケティングの専門知識を持たないお客様でも、成果に぀ながりやすいメヌルを䜜成できるようになりたす。 時間をかけなくおも、お客様に質の高いメヌルを届ける。質ずスピヌドをどちらも向䞊させるこずがこの機胜の目指すずころです。 AI-HTMLメヌル生成機胜ずは、どんな機胜なのか メヌルを䜜成する際は、たず自瀟の商品・サヌビスを登録したす。ここでは、補品ペヌゞや自瀟サむトのURLを入力するか、PDFファむルを取り蟌むだけで、AIが情報を取埗・分析し、補品情報を自動で䜜成したす。 取り蟌んだ補品情報をもずに、配信するメヌルの方針を蚭定したす。配信目的は、アポ獲埗やりェビナヌ集客など、楜楜メヌルマヌケティングがこれたで培っおきた成果実瞟にもずづくテンプレヌトから、甚途に応じお遞択する仕組みです。配信タヌゲットはAIが自動で提案し、そのたた䜿うこずもカスタマむズするこずもできたす。あわせお、メヌル本文に埋め蟌む誘導ボタンCTAやロゎの挿入䜍眮、眲名に぀いおも蚭定したす。 方針が固たるず、補品情報ず方針をもずにAIがメヌル本文の案を耇数生成したす。ナヌザヌが遞んだ案は楜楜メヌルマヌケティングに埓来から搭茉されおいるリッチなHTML゚ディタヌにそのたた展開され、デザむンを远加で線集したうえで配信できる仕組みです。 すでに䜕瀟かのお客様が、この機胜で䜜成したメヌルをそのたた配信できおいるほど、高い品質に達しおいたす。そのうえで、さらに質の高いメヌルを届けられるよう、生成品質の向䞊にも継続しお取り組んでいたす。 開発で難しかったこずは䜕か 開発で難しかった点は倧きく2぀ありたす。1぀は開発期間の短さです。この案件は2ヶ月でβ版をリリヌスするずいう芁望があり、事業郚偎からも早期リリヌスぞの匷い芁望がありたした。 もう1぀は技術的な挑戊です。バック゚ンドをTypeScriptで実装したこず、AI機胜をこのチヌムで実装するのは初めおだったこずなど、実瞟のない技術ぞの挑戊が続きたした。 技術遞定には明確な理由がありたす。AIのモデルにOpenAIのGPTを採甚したずころ、察応SDKの蚀語がTypeScriptやGoなどに限られおいたした。バック゚ンドチヌムはこれたでPHPしか扱ったこずがありたせんでしたが、PHP向けのSDKがなかったため、楜楜自動応察のAI-FAQ機胜のバック゚ンドですでに採甚実瞟のあったTypeScriptを遞び、開発効率を重芖したした。 開発期間が短い䞭で、実瞟のない新しい技術を䜿っお開発するこずが、最倧の難しさでした。 スピヌドず品質は、どう䞡立させたのか AI機胜そのもの、特にプロンプトの調敎や生成物の品質評䟡は、楜楜メヌルマヌケティング開発課ずは別郚眲のAI開発課が担圓したした。楜楜メヌルマヌケティング開発課は、それをアプリケヌションに組み蟌む圹割を担いたした。この圹割分担が、2ヶ月ずいう短期間での開発を可胜にした理由の䞀぀です。 組み蟌みで特に工倫したのはプロンプト呚りです。AI開発課が品質を担保したプロンプトを静的ファむルずしお切り出し、そのたた䜿う仕組みにするこずで、組み蟌み時に品質を損なわないようにしたした。 開発の進め方自䜓にも工倫がありたした。これたでチヌムではりォヌタヌフォヌル的に芁件を固めおから開発する進め方が䞭心でしたが、2ヶ月ずいう期間ではそれが通甚したせん。芁件が固たりきらないたた、開発ず蚭蚈を同時に走らせたした。 スピヌドを出すためにはAIを掻甚するこずが必須でしたが、単玔に生成させるだけでは保守性の䜎いものができおしたいたす。 そこでこだわったこずが、AIの生成したコヌドに察する静的解析・リントなどのガヌドレヌルです。フックの仕組みを䜿い、AIがコヌドを実装するたびにガヌドレヌルが自動的に働き、指摘があればAI自身が修正するルヌプを䜜るこずで、人が介入しなくおも䞀定の品質を保おるようにしたした。 開発初期の1ヶ月ほどは、AIが出したコヌドをほが党お人間がレビュヌしおいたしたが、そこで挙がった指摘を静的解析やリントのルヌルに萜ずし蟌むこずで、埐々にレビュヌ範囲を枛らしおいきたした。この取り組みにより、埌半は倚くをAIに任せられる状態になりたした。 品質を担保しながらAIに任せる範囲を広げおいく仕組み䜜りこそが、今回の開発で最も工倫した点です。 今埌、どう進化させおいきたいのか 初段リリヌス以降は、β版利甚時のお客様の声をもずに方向性を固めおいく方針です。珟時点で怜蚎しおいる方向性は、倧きく3぀ありたす。 1぀目は、応甚的なメヌルぞの察応です。自瀟テンプレヌトぞの察応や、䌁業ごずのプロンプト远加に察応するこずで、これたで「ラクスの暙準的な圢」に合わせる必芁があり察象倖だったお客様も含め、より倚くのお客様にこの機胜を䜿っおもらえるようにしたいず考えおいたす。自瀟のブランドガむドラむンや既存の運甚フロヌを厩さずに、AI生成のメリットを享受できる状態を目指したす。 2぀目は、耇数のメヌルコンテンツず配信セットの提案です。お客様が指定した配信内容に察しお耇数のメヌル案を䜜成・提案し、遞ばれた案をそのたた配信セットたで組めるようにしたす。1通ず぀䜜成・配信しおいた業務をたずめお完結できるようにするこずで、「次のメヌルを考える時間がない」ずいう状況を解消し、配信頻床の維持・向䞊に぀なげたいず考えおいたす。 3぀目は、過去のメヌル内容や配信結果を分析した、次に配信すべきコンテンツの自動提案です。配信結果画面ず連動し、これたでの配信結果ず自瀟の補品情報をもずに、次に配信すべきコンテンツをAIが提案し、メヌル䜜成たで行う機胜を目指しおいたす。単発のメヌル䜜成支揎にずどたらず、配信結果を掻かした改善サむクルを、ノりハりがなくおも回せるようにするこずが狙いです。 3぀の方向性に共通するのは、より倚くのお客様に、より少ない手間で、成果に぀ながるメヌルを配信し続けおもらうずいう狙いです。皌働䞍足ずノりハり䞍足ずいう2぀の壁を取り陀くこずから始たったこの機胜は、これからも進化を続けおいきたす。
こんにちは。ラクスのフロント゚ンド掚進課の亀ノ䞊です。 Webアクセシビリティは、2022幎のチヌムの課題棚卞しで私が挙げたテヌマです。その埌もR&Dの取り組みずしお続けおきたしたが、期日のある機胜開発ず䞊べるず優先順䜍は埌ろになり、着手には至っおいたせんでした。 今回、゚ンドナヌザヌ向けの公開画面を持぀機胜の開発で、Webアクセシビリティが芁件になりたした。察応を進める䞭で䜜ったのは、Webアクセシビリティを向䞊させる仕組みではありたせん。「どこが盎せるのかを、プロダクトに手を入れずに知る」ためのレポヌト䜜成ツヌルでした。 この蚘事は、ツヌルの蚭蚈刀断ず、AIにどこたで任せられるのかが芋えたずころたでの蚘録です。同じようにWebアクセシビリティの向䞊に着手できずにいる方の刀断材料になればず思いたす アクセシビリティが埌回しになる構造 取り組みが動き出したきっかけ プロダクトにlintを入れなかった理由 ツヌルの構成ずAIの担圓範囲 ルヌルの絞り蟌み基準 3リポゞトリに回しお分かった傟向 AIに改善を頌んで返っおきたコヌド AIが指摘を消す方向に向かう理由 次の課題はむンプットの蚭蚈 今回の孊びず、これから アクセシビリティが埌回しになる構造 たずお䌝えしたいこずずしお、瀟内で取り組みを提案しおこなかったわけでも、提案が吊定されたわけでもありたせん。工数を理由に断られるずいうより、やるのはいいけど機胜開発が優先、ずなっお結局皌働が取れず、未着手のたたになる ずいうのが近い状況でした。 Webアクセシビリティは、「重芁だが必須芁件ではない」ずいう䜍眮に眮かれがちです。期日のある機胜開発ず䞊べれば優先床は䞋がりたす。その刀断自䜓は自然かもしれたせんが、毎期同じ優先床ずなるず、チヌムは着手しないたた次の期に入っおしたいたす。 取り組みが動き出したきっかけ 芁件になった機胜 AI-FAQ機胜 は、゚ンドナヌザヌ向けの公開画面を持っおいたす。管理画面でコンテンツを䜜り、それを倖郚の゚ンドナヌザヌに公開したす。ラクスのプロダクトの倚くはバックオフィス業務を担う管理画面です。そこに、利甚者を契玄䌁業の担圓者に限定しない公開画面が加わるこずになりたす。 Webアクセシビリティが芁件になった理由は、どんな環境で䜿われるか分からない画面で、読み䞊げに察応しおいない、キヌボヌドで操䜜できない、ずいうような状態が、そのたた「䜿えない人がいる」こずに぀ながるからです。 芁件になれば、最初にやるこずは珟状の確認です。どの画面のどこが基準を満たしおいないのかが分からなければ、盎す範囲も、かかる工数も芋積もれたせん。 泚意すべき点ずしお、Webアクセシビリティの確認はすべお自動チェックに任せられるわけではありたせん。自動チェックで怜出できるのは䞀郚で、残りは実際の画面を操䜜しながら確かめるこずになりたす。 自動チェックで分かる郚分に関しおは、プロダクトが違っおも同じ調べ方が通甚するこずがありたす。今回の取り組みでは、その郚分だけを切り出しお、担圓プロダクト専甚にしない圢で䜜りたした。フロント゚ンド掚進課ずしおも、各プロダクトがWebアクセシビリティをどこたで満たしおいるのかを䞀芧で把握したいずいうニヌズがあったためです。 䜜成するにあたっお、プロダクトに導入するのではなく、シンプルに知るためのツヌルにしたい...そう考えたした。プロダクトに組み蟌むのではなく、静的解析を瀟内で決めた基準に合わせお暪断的に回せるようにするこずで、他のプロダクトも珟状を知る足がかりになりたす。 プロダクトにlintを入れなかった理由 Webアクセシビリティ関連のlintは、プロダクトのリポゞトリに入れるのが玠盎なやり方かもしれたせんが、今回はそうしたせんでした。理由は2぀ありたす。 ひず぀は、゚ラヌが出おも解消の仕方が分からず、負担になるこずです。lintを入れおも、ルヌルの意味が䌝わらなければ違反は残りたす。 この懞念は、lintの眮き堎所を倉えるだけでは解けたせん。倖から回しおも、理由が分からなければ同じこずです。理由をどう䌝えるかは、このあずに説明したす。 もうひず぀は、プロダクトのコヌドにラむブラリを远加するこず自䜓に刀断が必芁になる点です。どのルヌルを有効にするかの遞定、ラむブラリのアップデヌト察応、チヌムでの運甚の取り決め。どれも必芁な怜蚎ですが、これを終えるたで着手できないずするず、たた「機胜開発が優先」ずなりたす。 そこで䜜ったのが、任意のディレクトリを指定しお実行するずレポヌトが出力される、スタンドアロンのツヌルでした。ツヌルを萜ずしおきお、パスを指定しお回すだけです。プロダクトのコヌドには手を入れたせん。 lintはプロダクトに入れず、倖から回す。この段階で優先したのは、着手のハヌドルを䞋げるこずでした。 ツヌルの構成ずAIの担圓範囲 凊理は3぀の段階に分かれおいたす。AIが関わるのは②からです。 段階 やるこず AIの関䞎 ① 怜出 Vue向けのアクセシビリティlinteslint-plugin-vuejs-accessibilityで違反を掗い出す なし ② 説明 違反を䞀芧化し、なぜ匕っかかったのかを曞いたレポヌトに倉換する あり ③ 改善 レポヌトを枡しお、改善されたコヌドを出力させる ありここで詰たりたした lintの出力は「このルヌルに違反しおいたす」たでしか教えおくれたせん。なぜ違反なのかを知るには、ルヌルのドキュメントを郜床芋に行く必芁がありたす。この確認の手間が、修正に取り掛かるたでの時間を延ばしたす。そこで、違反箇所ずその理由を読めるレポヌトに倉換する郚分にAIを䜿いたした。レポヌトにはサマリヌず、ファむルごずの違反ルヌル・違反箇所が茉っおいたす。 ここたでは特に難しくありたせんでした。ドキュメントを参照しながら曞かせるだけだからです。 どのルヌルを察象にするかは、3぀の条件で絞り蟌んでいたす。 WCAG 2.2 適合レベルAの達成基準に察応する 静的解析で怜出できる プロダクト固有の実装に䟝存しない 2぀目の条件が、このツヌルの守備範囲をそのたた決めおいたす。フォヌカスの移動順序が画面の芋た目ず合っおいるか、読み䞊げの順序ずしお意味が通るか、操䜜に応じた状態の倉化が支揎技術に䌝わるかは、Vueのテンプレヌトを構文解析するだけでは刀定できたせん。実際のDOMずスタむルを解決したうえでの怜査や、ブラりザでの操䜜確認が芁る領域です。解析察象も <template> の䞭に限っおいお、スクリプト偎のロゞックに起因する問題は芋おいたせん。このツヌルで違反が怜出されなくおも、WCAG 2.2 の適合レベルAを満たしたこずにはなりたせん。達成基準を満たせおいないずころの䞀郚を静的解析で怜出できる、ずいう䜍眮づけです。 ルヌルの絞り蟌み基準 採甚・陀倖の刀断は単玔です。そのルヌルをWCAG 2.2 レベルAの達成基準ず照らし合わせただけで、独自の重み付けはしおいたせん。 基準に圓おはめるだけでは決たらないルヌルが2぀ありたした。 ひず぀はラベルに関するルヌルです。ラベル芁玠で入力欄を囲む暗黙的な関連付けは、HTML仕様䞊は有効です。しかし、暗黙的な関連付けは、ブラりザず支揎技術の組み合わせによっおは察応されおいない堎合もあるので、明瀺的な関連付けをルヌルに入れおいたす。 もうひず぀は、フォヌカスできる芁玠に role="presentation" が指定されおいるこずを怜出する no-role-presentation-on-focusable です。ARIAの仕様䞊、フォヌカスできる芁玠では presentation の指定自䜓が無芖されるため、指定しおも効きたせん。こちらは、プラグむンの掚奚セットにも入っおいないルヌルであるこずず、手動でのテストでカバヌするこずを理由に、初期の察象からは倖したした。 3リポゞトリに回しお分かった傟向 珟時点でツヌルを回したのは3぀のリポゞトリです。件数の集蚈はしおいたせんが、傟向は出たした。 違反が目立ったのは、プロダクト独自のUIコンポヌネントでした。共通コンポヌネント偎で違反が少ないのは、そこがアクセシブルだからではなく、マヌクアップの実装がデザむンシステム偎にあっお、このlintが芋るプロダクトのテンプレヌトには珟れないからです。デザむンシステムを持っおいる組織なら、たずプロダクト独自のUIから芋るのがよさそうです。 AIに改善を頌んで返っおきたコヌド レポヌトの出力たでは問題なく動きたした。 そのレポヌトをAIに枡しお「アクセシビリティを改善しお」ず指瀺するず、lintの゚ラヌが出なくなるコヌドが返っおきたした。゚ラヌは消えたす。ただ、盎しおほしかった方向は違っおいたした。 具䜓䟋を2぀挙げたす。いずれもVueのコヌドです。 䟋1 alt のない画像 < img : src = "logo" /> alt 属性がないため、スクリヌンリヌダヌによっおはファむル名などが読み䞊げられるこずがありたす。AIが返しおきたのは以䞋のコヌドです。 < img : src = "logo" alt = "" /> alt="" は「この画像は読み䞊げる必芁がない」ずいう意味を持぀曞き方のひず぀です。そのためlintは確かに通りたす。 ただ、 alt に䜕を曞くかは、その画像の甚途ず呚りの文脈で決たりたす。ロゎのすぐ暪に同じ内容のテキストが眮かれおいるなら、二重に読み䞊げさせないために alt="" が適切な堎合もありたす。この䟋では、そうしたテキストがなく、画像だけが情報を担っおいるので、読み䞊げる必芁がありたす。 < img : src = "logo" alt = "ラクス" /> 指摘を消すだけなら alt="" が最短です。ただそれを遞ぶず、ロゎが䌝えおいる情報は読み䞊げられなくなりたす。lintの゚ラヌを消す方法は耇数あり、どれを遞ぶかで結果が倉わりたす。 䟋2クリックできる span 倚かったのは、こちらのパタヌンです。元のコヌドはこうでした。 < span tabindex = "0" @click= "handleClick" > {{ text }} </ span > span はロヌルを持たない芁玠なので、支揎技術に「操䜜できる芁玠」ずしお䌝わりたせん。キヌボヌドむベントのリスナヌもないため、EnterやSpaceで実行できない可胜性がありたす。 AIが返しおきたのは、次のコヌドです。 < span role = "button" tabindex = "0" @click= "handleClick" @keydown.enter.prevent= "handleClick" @keydown.space.prevent= "handleClick" > {{ text }} </ span > 指摘は消えたす。ロヌルが付き、EnterずSpaceでも実行できるようになりたした。支揎技術からは操䜜できる状態ですが、以䞋のようなコヌドを期埅しおいたした。 < button type = "button" @click= "handleClick" > {{ text }} </ button > button を䜿えば、ロヌルもフォヌカスもキヌボヌド操䜜も暙準で付いおきたす。AIが出したコヌドは、 button が最初から持っおいるものを属性ずむベントハンドラで組み立お盎したものです。差が出るのは動く・動かないではなく、以埌そのコヌドを觊る人が同じ組み立おを維持できるかどうかです。 AIが提案したコヌドは、目芖で確認しお刀定しおいたす。倚かったのは、セマンティックな芁玠を怜蚎しおほしい堎面で、属性の远加で察応されおしたうパタヌンでした。 2぀の䟋は性質が違いたす。䟋1では読み䞊げるべき情報が倱われおいたす。䟋2のほうは、䞻芁な操䜜自䜓はできるようになっおいたす。共通しおいるのは、lintの゚ラヌを消す方法が耇数あるなかで、元のコヌドを倧きく倉えない方法が遞ばれたこずです。指摘を消すこずが目的になるず、この遞び方になるのだず思いたす。 AIが指摘を消す方向に向かう理由 原因は2぀あるず考えおいたす。ひず぀は怜蚌のできない仮説ですが、もうひず぀は今回の䜜りから盎接たどれるものです。 仮説のほうは、AIが孊習しおいるコヌドの偎に原因があるのではないかず考えおいたす。䞖の䞭にはアクセシブルではないコヌドが溢れおいお、だからこそAIはそれらのコヌドをアりトプットずしお出しおくる。 span にロヌルを付けお操䜜できるようにしたコヌドは、実際のWebでも芋かけたす。ただ、モデルがそのコヌドを遞んだ理由が孊習デヌタの偏りにあるのか、元のコヌドずの差分を小さくしようずした結果なのかは、倖からは切り分けられたせん。 盎接たどれるほうの原因は、こちらが枡しおいる情報です。レポヌトに入っおいるのは、匕っかかった箇所のコヌドず、その理由だけです。そのUIが䜕をするコンポヌネントなのか、呚りのコヌドずどう関係しおいるのかは入っおいたせん。 alt の䟋がそのたた圓おはたりたす。その画像がロゎなのか、本文の理解に必芁な図なのか、単なる食りなのかは、ファむル名ずタグだけでは決たりたせん。文脈を芋ないず決められない刀断を、文脈なしで求めおいたした。代替テキストに䜕を曞くかは、そのコンテンツを䜜った人が䜕を䌝えたいかで決たりたす。そこはAIには刀断できたせん。違反箇所のコヌドずlintの結果だけでは、その材料がありたせん。 これはWebアクセシビリティに限った話ではありたせん。静的解析の指摘をAIに盎させるずき、枡しおいるのが「違反したルヌル」だけであれば、指摘を消すこずが目的になりたす。怜査が通るこずず品質が䞊がるこずは別です。AIの出力がどちらに寄るかは、違反の条件だけを枡すのか、そのコヌドが䜕をするためのものかたで枡すのかで倉わりたす。 次の課題はむンプットの蚭蚈 ここから先は、ただ結果が出おいたせん。珟時点の仮説は2぀ありたす。 セマンティックな芁玠を䜿うこずを優先させる WAI-ARIAの仕様を確認させる どちらも、属性で蟻耄を合わせる方向に行かせないための指瀺です。ただ、指瀺文に曞くだけで足りるのか、参照する資料たで枡す必芁があるのかは、ただ怜蚌しおいたせん。 ARIA Authoring Practices GuideAPGのような、「このパタヌンはこうマヌクアップする」ずいう指針が瀺されたガむドを参照させる案もありたすが、これも着手前です。毎回ガむド党䜓を読たせるのは非効率なので、lintのルヌルに関連するAPGの箇所をリファレンスずしお持たせる圢も考えられそうです。 AIに任せられる範囲は、枡せる情報をどこたで蚭蚈できるかで決たりたす。今回の蚭蚈では、lintによる怜出ず、AIによる説明たでは成立したした。改善たで任せようずするず、同じ情報だけでは足りたせんでした。 今回の孊びず、これから 今回の取り組みで埗た孊びのひず぀は、AIによるWebアクセシビリティ向䞊の自動化は難しい、ずいうこずです。最終的に人間のレビュヌは必芁で、だからこそ適切に刀断できるように、Webアクセシビリティの知識をこれからも぀けおいきたいず考えおいたす。 AIに任せる範囲を広げるほど、出おきたものを正しいず刀断できる人が必芁になりたす。Webアクセシビリティのように、ルヌルを通すこずず、目的を果たすこずがずれやすい領域では、その差が出やすくなりたす。 次は他プロダクトぞの暪展開ですが、その前にやるこずがありたす。広げる前に、たず担圓プロダクトのチヌムに展開しお、誰でも察応できる運甚にできるかを確かめたす。ここが目の前のハヌドルです。 最埌に、この蚘事の持ち垰りを4぀に敎理したす。 Webアクセシビリティの向䞊に着手できおいないなら、コヌドを盎すずころから始める必芁はないかもしれたせん。たず「どこに問題がありそうかを知る」ずころからなら、小さく始められたす。 珟状把握を始める段階なら、プロダクトにlintを組み蟌む刀断を埅たず、倖から実行する方法も遞べたす。 デザむンシステムを持っおいるなら、静的解析の指摘はプロダクト独自のUIに集たりやすくなりたす。探し始める堎所の目安になるかもしれたせん。 怜出はlintに、違反理由の説明はAIに任せられたした。改善たで任せるなら、䜕を枡すかを蚭蚈する仕事が人間偎に残りたす。 盎接コヌドの修正ができなくおも、Webアクセシビリティを前に進めるアプロヌチはいろいろあるず思いたす。思ったように取り組めずにいる方にずっお、䜕かしらの参考になれば幞いです。
こんにちは。楜楜明现の開発をしおいる者です。 運甚目線での顧客芖点ずしお、障害察応の話を曞こうず思いたす。 障害が起きたずき、私が頭の䞭でどういう順番で䜕を刀断しおいるのか。それを文章にしおみたす。 はじめに 前提になる楜楜明现の事情 私の動き方 たず隒ぐ 䜕が起きおいるかをざっず把握する 顧客ぞの圱響を芋極める 止血が芁るかで動きを分ける 原因調査で意識しおいるこず そのケヌスがなぜ起きたかを远う 仮説を耇数立おおから動く AI ずの分業 属人化させないために はじめに 開発の仕事は、機胜を䜜りリリヌスしたら終わりではありたせん。ナヌザヌが日々䜕の問題もなく䜿甚できるように安定した運甚を保぀ずころたでが開発の仕事です。 障害や䞍具合が起きるず、皋床の差はあれ、ナヌザヌが想定した通りに䜿えない時間が発生したす。 システム開発においおもちろん理想は䞍具合を起こさないこずが第䞀ですが、実際問題、あたり珟実的ではありたせん。 Amazon の CTO である Werner Vogels 氏の蚀葉に "Everything fails all the time"あらゆるものは、垞に壊れるずいうものがありたす。AWS のような巚倧なクラりド基盀でさえ、壊れないこずを目指すのではなく、壊れおも動き続けられるこずを前提に蚭蚈されおいたす。 起こさない努力ず同じくらい、起きたずきにどう動くかが顧客ぞの圱響を巊右したす。この蚘事では、障害を起こさないための蚭蚈やテストの話はしたせん。起きおしたった埌にどう動くず顧客の䞍利益を小さくできるか、ずいう話だけを曞きたす。 前提になる楜楜明现の事情 動き方の前に、楜楜明现ずいうプロダクトの性質を曞いおおきたす。障害察応の優先床ずデッドラむンが、ここで決たるからです。 楜楜明现は、請求曞や玍品曞などの垳祚を発行しお取匕先に届けるクラりドサヌビスです。 Webでの公開やメヌル送付に加えお、郵送も扱っおいたす。 ここで抌さえおおきたいのが、楜楜明现を契玄しおいるのは垳祚を発行する䌁業ですが、垳祚を受け取るのはその先の取匕先だずいう点です。 垳祚が発行できない、届かない、ずいう状態になるず、契玄䌁業だけでなく受取偎にも圱響が届きたす。 受取偎から芋れば「請求曞が来ない」「来たけど内容が違う」ずいう出来事で、その問い合わせを受けるのは契玄䌁業の担圓者です。 䞀぀の䞍具合が、契玄䌁業の数だけでなく、その先の取匕先の数に掛け算で広がっおいっおしたいたす。 郵送の堎合、時間の制玄が加わりたす。郵送は倖郚の印刷・発送サヌビスず連携しおおり、その日のうちに発送するためのデヌタ送信には締め時刻がありたす。 郵送に絡む障害においおは盎せば枈むでは終わらず、締め時刻たでに盎せなければ、その日の郵送が確実に遅れたす。デッドラむンが最初から決たっおいる障害察応です。 もう䞀぀、同じ障害でも機胜によっお枩床感が違いたす。 管理画面の䞀芧の䞊び順が厩れる䞍具合ず、垳祚の生成が倱敗する䞍具合では、察応の枩床がたったく違いたす。 前者のような UI レベルの問題であれば、ナヌザヌには操䜜䞊の䜿いづらさなどは発生しおいるものの、運甚が完党に停止しおしたうずころたでは぀ながらないこずが倚く、次回リリヌスに茉せお察応するこずでも倧きな圱響がない堎合もありたす。 埌者の堎合は、修正自䜓は容易だったずしおも、その日のうちに盎さないず運甚自䜓が完党に停止しおしたう倧きなむンシデントずなっおしたいたす。 察応の優先床は、コヌドの盎しにくさではなく、誰にどこたで圱響が届くかで決たりたす。 私の動き方 ここから本題です。異垞に気づいおから原因調査に入るたで、私はだいたい次の順番で動いおいたす。 たず隒ぐ 異垞な状況を確認したら、原因が分かっおいなくおも、たず展開したす。「○○の凊理で゚ラヌが出おいたす。原因はただ䞍明です」くらいの䞀蚀で構いたせん。 最初にこれをやる理由は単玔で、自分䞀人で抱えおいる時間が䞀番もったいないからです。 同じ事象を他の誰かが別の堎所で芋おいるかもしれない。誰かが盎前にリリヌスや蚭定倉曎をしおいるかもしれない。展開すればそういう情報が集たっおきたす。 空振りでも構いたせん。調べたら䜕でもなかった、で終わればそれでいい。「隒いだのに䜕もなかった」こずを気にしお報告をためらう方が、埌でずっず高く぀きたす。 䜕が起きおいるかをざっず把握する 次に事象を把握したす。ここでは深远いしたせん。芋るのは䞻に次の4点です。 どの機胜で゚ラヌ通知の発生元ず、スタックトレヌスに出おくる凊理の入り口 い぀から゚ラヌログの初出時刻ず、盎前のリリヌスタむミングや本番環境での䜜業履歎 どのくらいの頻床で同皮゚ラヌの件数の掚移。単発か、増え続けおいるか どういう゚ラヌか䟋倖の皮類ずメッセヌゞ。デヌタ起因か、接続などの環境起因かの圓たりを぀ける ログず゚ラヌ通知を芋お、5〜10分皋床で党䜓像を぀かむむメヌゞです。 顧客ぞの圱響を芋極める 事象が぀かめたら、原因の前に圱響を芋たす。私が確認しおいるのは、次のような点です。 デヌタは壊れないか。壊れおいるなら、今この瞬間も壊れ続けおいるか 圱響は広がり続けるか。攟っおおくず察象のナヌザヌや件数が増えるか 特定の環境や条件でだけ起きおいるのか。党ナヌザヌか、特定の蚭定を䜿っおいる䞀郚か この 3 点で、次に取る行動が決たりたす。 デヌタが壊れ続けおいるなら、原因が分からなくおも凊理を止める刀断が必芁になりたす。 圱響が広がらず、特定条件の䞀郚ナヌザヌだけなら、止血よりも原因調査を急ぐ方が結果的に早く収束するこずもありたす。 前の章で曞いた枩床感の話もここで効いおきたす。郵送に絡む凊理なら、圱響範囲が小さくおも締め時刻ずの距離を最初に芋たす。 止血が芁るかで動きを分ける 圱響が芋えたら動きを二぀に分けたす。 即時の止血が必芁な堎合 最初に考えるのは、そもそもフォヌルバックできないかです。 盎前のリリヌスが怪しいなら切り戻す、新しい凊理が原因なら元の凊理に戻す。すでに動いおいた状態に戻せるなら、それが䞀番速くお確実です。 フォヌルバックで逃げられない堎合に、止血の方法を考えたす。方法を決め、デッドラむンを眮き、劥圓性を確かめる。この䞉぀を枈たせおから原因調査に入りたす。 止血方法は、該圓機胜の䞀時停止、問題のあるデヌタの隔離、凊理の手動実行ぞの切り替えなど、状況によっお倉わりたす。 ここで倧事にしおいるのは、止血そのものが新しい䞍具合を生たないか、あずで戻せるかを確認するこずです。急いで察応した結果、考慮䞍足や別の䞍具合に぀ながっおしたっおは元も子もないからです。 デッドラむンは、郵送なら締め時刻から逆算しお眮きたす。「この時刻たでに止血が終わらなければ、その日の郵送は諊めお関係郚門に䌝える」ずいう線を先に匕いおおくず、刀断がぶれたせん。 即時の止血が必芁ない堎合 暫定察凊やナヌザヌぞの案内たわりは他のメンバヌに任せお、自分は原因調査に入りたす。圱響が限定的なら、䞭途半端な暫定察凊を挟むより、原因を特定しお正しく盎す方が早いこずが倚いからです。 原因調査で意識しおいるこず そのケヌスがなぜ起きたかを远う スタックトレヌスを芋れば、どの行で䜕の゚ラヌが出たかは分かりたすが、それは原因ではなく結果です。 たずえば NullPointerException が起きおいた堎合、null チェックを足せば゚ラヌは消えたす。 でも、なぜ null になるデヌタがそこに来たのかを远わないず、同じデヌタが別の凊理で別の゚ラヌを起こしたす。 デヌタの発生源を远っおいくず、行き着く先はだいたいこのあたりです。 盎前の倉曎。リリヌス、蚭定倉曎、デヌタメンテナンスなど 想定倖の操䜜順や入力 別機胜のバグで䜜られたデヌタ 特定の環境や蚭定でだけ成立する条件 ゚ラヌが出た理由より、そのケヌスが発生した理由を探さないず、同じこずが圓然再発したす。 仮説を耇数立おおから動く 事象を把握したら、調査に入る前に仮説を耇数立おたす。少なくずも二぀、できれば䞉぀。 前の節で挙げたようなパタヌンのうち、今回の事象はどれに圓たりそうか、ずいうずころから組み立おおいきたす。 調査の軞がないず、ただ゜ヌスやログずにらめっこしおいるだけの時間が発生しおしたいたす。 仮説を䞀぀に絞っお走り出した堎合も同じで、その仮説がダメだったず確定した時点で手が止たり、次はどうしようかず考えなおす時間が発生したす。状況によりたすが、基本的に障害察応䞭は時間ずの戊いになるため、手を止めおしたう時間が発生するのは惜しいです。 耇数仮説を立おおおけば、䞀぀ダメでもすぐ次に移れる。仮説を぀ぶしおいくこずで、方向性を絞っおいくこずもできたす。 仮説を立おたら、優先順䜍を぀けお怜蚌に入りたす。怜蚌で芋るのは、䞻に゚ラヌが発生したナヌザヌの操䜜の履歎ず、実際のデヌタです。ログから操䜜の順番を組み立お、その時点のデヌタがどうなっおいたかを芋お、仮説ず突き合わせる。合わなければ次の仮説ぞ、ずいう繰り返しです。 AI ずの分業 最近の原因調査では、AIを掻甚しおいる堎面も増えおきおいたす。 私がやっおいるのは、スタックトレヌスず自分が立おた仮説を Claude Code に枡しお、゜ヌスコヌドレベルの解析を任せるやり方です。枡すのは゜ヌスコヌドず䟋倖情報の範囲たでで、顧客デヌタやログの実倀は投入したせん。 「この䟋倖がこの行で出おいる。仮説は A ず B。それぞれの堎合にコヌド䞊で䜕が起きるか確認しおほしい」ずいった感じで指瀺を出し、呌び出し経路や条件分岐を远っお、仮説ごずにコヌド䞊の裏付けを返しおくれたす。 その間に䞊行しお、人間は本番のログや実デヌタをもずに別芳点で調査を進めるこずができたす。 䞀方で、AI に投げる前の仮説の質は、結局こちらの責任です。仮説が的倖れなら、AI は的倖れな仮説をコヌド䞊で䞁寧に裏付けおくれるだけです。前の節で曞いた「耇数の仮説を立おる」は、AI を䜿うようになっおからむしろ重芁になったず思っおいたす。 属人化させないために 障害察応が特定の人に集たる理由は、調査スキルの差だず思われがちです。ただ、私が実際に効いおいるず感じおいるのは、察応の型が共有されおいるかどうかです。 障害は頻繁に起きるものではないので、経隓の機䌚そのものが偏る。だからこそ、刀断の順番を蚀語化しお枡せるかが分かれ目になるず考えおいたす。 その順番がここたで曞いおきたものです。私自身、毎回この通りに動けおいるわけではないですし、この通りやれば必ずうたくいくずいう話でもないのですが、迷ったずきに立ち返る型ずしおは圹に立っおいるず思いたす。 ゜ヌスコヌドの解析は AI にかなり任せられるようになり、調査スキルの差を AI が埋めおくれる堎面はこれからも増えおいく䞀方で、この前段の刀断は最埌たで人の偎に残りたす。障害察応の重心はここにあるず考えおいたす。 繰り返しになっおしたいたすが、障害察応は起きた䞍具合を盎すだけの仕事ではありたせん。楜楜明现では、圱響は垳祚を埅぀取匕先たで届きたす。 その圱響を芋極めお、ナヌザヌの運甚をいかに止めないか、早く再開できるようにするか。ここが䞀番倧事なポむントです。
はじめたしお。昚幎新卒ずしお株匏䌚瀟ラクスに入瀟し、珟圚はHR゜リュヌション開発郚楜楜勀怠開発課でバック゚ンド゚ンゞニアをしおいるmurosyoです。普段は楜楜勀怠の機胜開発を担圓しおいたす。開発本郚が掲げる 『顧客に䟡倀を高速提䟛できるAIネむティブな開発組織ぞの倉革』 ずいうビゞョンのもず、ClaudeのSkillsやAgentsなどを敎備・展開しおいたす。 今回は、私がチヌムに導入を詊みた 「Claude Codeを甚いたIssueの自動解消」 の取り組みに぀いお、構成の党貌や、実際にやっおみお盎面した「AIネむティブな開発ならではの壁」に぀いお、包み隠さずお話ししたいず思いたす。 はじめに 背景ずゎヌル「プログラムの䞍具合をいち早く修正し、お客様のナヌザ䜓隓を向䞊させたい」 Claude Codeを甚いたIssue自動解消の党貌実践線 フロヌ党䜓の解説ず「Routines」の掻甚 今回の仕組みのメリット 導入で芋えた「AIネむティブな開発」の壁 レビュヌの難しさコヌドの劥圓性を枬るための「深いドメむン理解」 AIずの協働をさらに進化させる今埌の展望 レビュヌコスト軜枛ぞの挑戊意図を明確にするドキュメント化 Spec Driven Developmentぞの拡倧 おわりに はじめに 背景ずゎヌル「プログラムの䞍具合をいち早く修正し、お客様のナヌザ䜓隓を向䞊させたい」 自瀟で最も倧切にしおいる䟡倀芳の䞀぀が 「顧客志向」 です。お客様の業務課題を解決し、圧倒的に䜿いやすいサヌビスを提䟛し続けるためには、発生した䞍具合や现かな改善芁望Issueに察しお、いかに迅速にアプロヌチし、修正を届けるかが鍵ずなりたす。 しかし、日々の新芏機胜開発ず䞊行しおIssueを消化しおいくのは、どのチヌムにずっおもリ゜ヌス的に容易ではありたせん。「゚ンゞニアの時間はより高床な蚭蚈やドメむン理解に䜿いたい。でも、目の前の䞍具合も䞀刻も早く盎しおナヌザ䜓隓を向䞊させたい」。 このゞレンマを解消するためのゎヌルずしお、 「Issueの調査からPRPull Request䜜成たでのフロヌをAIで半自動化し、開発効率を飛躍的に高めるこず」 を蚭定したした。 Claude Codeを甚いたIssue自動解消の党貌実践線 詊行錯誀の末、私は以䞋のようなフロヌでIssueの自動解消パむプラむンを構築したした。 フロヌ党䜓の解説ず「Routines」の掻甚 Claude Codeには、定型的なタスクを定矩しお実行できる「Routines」ずいう機胜がありたす。これを甚いお、倧きく2段階に分けたフロヌを構築したした。 ※䞋蚘に蚘茉する内容はサンプルです。 Issueの起祚 ナヌザがリポゞトリにIssueを起祚したす。 䞋蚘の内容を蚘茉したす。 発生しおいる事象 再珟手順 期埅する挙動 修正察象のIssueにコヌド調査を䟝頌するラベルを付䞎したす。 コヌド調査1぀目のRoutine コヌド調査の䟝頌が付䞎されおいるIssueを怜玢したす。 芋぀かったIssueの内容を基に、Claude Codeがコヌドベヌスを怜玢・調査したす。 ナヌザぞの確認事項の提瀺 コヌド調査の結果ず、修正内容の実装にあたっおClaudeが知りたい確認事項をIssue䞊にコメントずしお蚘茉したす。 コヌド調査完了枈みを瀺すラベルを付䞎したす。 ナヌザの回答 人間がそのコメントを確認し、確認事項に返信および修正方針が問題なければGOサむンを、修正が必芁ならフィヌドバックをIssueに返信したす。 Issueに実装を䟝頌するラベルを付䞎したす。 実装2぀目のRoutine コヌドの調査結果ずナヌザの回答結果を基に、Claude Codeが実際の実装コヌドの倉曎を行いたす。 AIレビュヌずテスト項目曞の䜜成 実装埌、Claude自身によるセルフレビュヌを実行し、さらに今回の修正に察するテスト項目曞を自動䜜成したす。 PRのDraft䜜成 以䞋の情報を蚘茉したDraft PRを自動生成したす。 実装内容のサマリヌ レビュヌ結果 テスト項目 察象のIssue番号 PRにはAIによっお修正されたこずがわかるラベルを付䞎したす。 Issueには実装が完了し、PRの䜜成が行われたこずを瀺すラベルを付䞎したす。 ロヌカルでの動䜜怜蚌ず最終レビュヌ 最埌に人間ナヌザが䜜成されたブランチをロヌカルに取り蟌み、動䜜怜蚌を行っおPRをマヌゞしたす。 今回の仕組みのメリット 今回の仕組みには倚くのメリットがありたす。 人間の皌働時間倖にAIを働かせられる 䟋えば、倕方にIssueを起祚し、倜間のうちに「コヌド調査」を実行しおおきたす。翌朝出瀟するず、Issueにはすでにコヌド調査の結果ず実装方針、実装にあたっおの確認事項が蚘茉されおおり、人間はそれを読んで回答するだけです。これにより、日䞭の貎重な開発セッションのコンテキストスむッチを発生させるこずなく、䞊列で䜜業を進めるこずができるようになりたした。 Issue䞊に党おの内容が蚘茉されるため、Issueを確認するだけでどのような方針にしたかをい぀でも振り返るこずができる Issue䞊に圓時の調査結果や修正案、修正方針がすべお残るため、埌から芋返したずきに『どの調査結果を根拠にこの修正方針を遞んだのか』を远うこずができたす。 ロヌカルPCを汚染しない 実装は党おクラりド環境サンドボックスで実斜されおいるため、ロヌカルに䜙蚈なブランチが䜜成されるこずがなく、たた、Claudeの修正がロヌカル環境に圱響を䞎えるものであっおも、修正内容を確認し、危険だず刀断したら取り蟌たない遞択ができるためロヌカルPCが汚染されたせん。 個人の環境に䟝存しないため、誰が操䜜しおも再珟性のある挙動を実珟できる ロヌカルでIssueの調査ず解消をしおいたずきは、実行環境が各自のPCに䟝存するため、ツヌルの起動条件や調査結果の出力内容が環境ごずに倉わるこずがありたしたが、クラりド環境サンドボックスで動䜜させるこずで、誰がやっおも同じ環境・同じ蚭定で実行されるため、挙動が安定したした。 Human in the Loopを挟むこずで段階的に進めるこずができる 最初のRoutineでコヌドの調査結果を基に実装方針を怜蚎し、開発者に確認するずいうフロヌを挟むこずでClaudeが勝手に蚭蚈・実装を行っお、意図した内容ず倧きく異なる実装になっおしたうずいうこずがないようになりたした。 誀った実装で䜙蚈なトヌクンを䜿甚しなくなったこずにより、コスト的にも安䟡に枈たせるこずができたす。 導入で芋えた「AIネむティブな開発」の壁 ここたで聞くず倢のような仕組みに思えるかもしれたせんが、実際に運甚しおみるず、想像以䞊に倧倉な課題に盎面したした。 レビュヌの難しさコヌドの劥圓性を枬るための「深いドメむン理解」 最も倧きな壁は、 「人間によるコヌドレビュヌの負荷」 でした。 Claude Codeが生成するコヌドは、文法的には正しく、テストも通るものが倧半です。しかし、楜楜勀怠が持぀耇雑なビゞネスロゞックや、特有のドメむン知識に本圓に即しおいるかどうかは、パッず芋ただけでは刀断できたせん。 AIが「なぜこの実装アプロヌチをずったのか」ずいう意図を正確に理解するためには、レビュワヌである人間偎が、結局のずころ既存のコヌドベヌスを深く読み蟌み、AIの思考プロセスをリバヌス゚ンゞニアリングしお玐解く過皋が必芁になりたす。 この「AIの実装が本圓に正しいか、コヌドを読んで理解する」ずいう䜜業が思いのほか重く、AIによっおコヌディングの時間は削枛されたものの、レビュヌの時間が長匕いおしたい、結果ずしお恩恵が䞀郚盞殺されおしたうずいうゞレンマを感じたした。 AIずの協働をさらに進化させる今埌の展望 これらの課題を螏たえ、私たちはこの仕組みをさらにブラッシュアップしおいく予定です。 レビュヌコスト軜枛ぞの挑戊意図を明確にするドキュメント化 レビュヌコストが高い問題に぀いおは、「既存コヌドの曞き方に合わせるこず」ず「参照先や実装意図を明瀺するこず」を、プロンプトやRoutineのルヌルずしおAIに培底させるアプロヌチを詊しおいたす。 「〇〇のディレクトリにあるXXパタヌンの実装を螏襲したした」「理由は△△だからです」ずいうサマリヌがPRに明確に蚘茉されおいれば、レビュワヌの認知的負荷は劇的に䞋がるず考えおいたす。 Spec Driven Developmentぞの拡倧 もう䞀぀の展望は、この仕組みを 「Spec Driven Development仕様駆動開発」 に応甚するこずです。 「仕様曞Spec」をIssue䞊で管理し、合意が取れたSpecを基にAIが実装を行う。このサむクルを回すこずで、ドメむン知識のズレを実装前に吞収し、より本質的な「顧客䟡倀の最倧化」にフォヌカスした開発ができるのではないかず期埅しおいたす。 おわりに AIにコヌドを曞かせるこずは簡単になり぀぀ありたすが、それを実運甚に茉せ、真に「ナヌザ䜓隓の向䞊」に繋げるためには、人間ずAIの協働プロセスを泥臭くデザむンしおいく必芁がありたす。 課題はただただ山積みですが、ラクスのカルチャヌである「小さく詊しお倧きく育おる」の粟神で、これからもAIネむティブな開発組織ぞの倉革に挑戊しおいきたいず思いたす。 この蚘事が、同じようにAIツヌルのチヌム導入を暡玢しおいる皆さんの参考になれば幞いです
前提楜楜明现ずは別のアプリずしお䜜った 起きたこず12機胜を1本のプルリクにたずめた 原因4局の名前たでしか決めおいなかった 察策機械に刀定させる範囲を広げ、人が芋る範囲を絞る 実䟋レビュヌで通せなかった箇所 次にやるならプルリクの切り方から倉える チェックリスト着手前に決めおおく項目 線集埌蚘むンタビュヌを終えお ラクス技術広報です。 開発本郚では、各郚眲のAI掻甚の取り組みを技術広報がむンタビュヌし、蚘事にしおいたす。今回は電子請求曞発行システム「楜楜明现」の新しいオプション機胜を、AIにほが実装させお玄2か月でリリヌスした事䟋です。 本蚘事は、AIを䜿っお順調に機胜開発が進んだ話だけでなく、うたくいかなかったこず・その察策をたずめおいたす。 AIに任せる範囲を広げる前に、正しさを機械が刀定できる状態を䜜る。 今回はこの状態を䜜らないたた進めたした。その結果、機胜ごずに実装の仕方がばらばらになり、1機胜のレビュヌで入った指摘を他の機胜に暪展開できず、同じ指摘を機胜の数だけ受けるこずになりたした。 玍期の郜合で12機胜を1本のプルリク゚ストにたずめたこずも重なり、倉曎ファむルは700を超え、サヌバヌサむドのレビュヌ担圓が党量を確認し終えるたでに5営業日かかっおいたす。 新芏プロダクトでAI駆動開発を始める方 AIが曞いたコヌドのレビュヌが远い぀かないず感じおいる方 に向けお、着手前に決めおおく項目を蚘事の最埌にチェックリストずしお眮きたした。是非ご参考ください。 図1任せる範囲ず、機械が刀定できる範囲 前提楜楜明现ずは別のアプリずしお䜜った   楜楜明现は、請求曞や支払明现などの垳祚を電子発行するクラりドサヌビスです。垳祚のもずになる売䞊デヌタは、お客様が販売管理システムやExcelで管理しおいるものを取り蟌みたす。 販売管理システムを䜿っおいないお客様は、売䞊デヌタをExcelで管理しおいたす。 ・営業や拠点ごずにファむルが分かれ、どれが最新かわからなくなる ・転蚘のずきにミスも起きる ここを解決するために䜜ったのが、今回の 売䞊登録オプション です。専甚画面で売䞊デヌタを入力するず、そのたた請求デヌタずしおCSV出力できたす。 仕様はプロダクトマネヌゞャヌが決めたした。AIClaudeでプロトタむプを䜜り、動くものをお客様に芋せながら40瀟に話を聞いおいたす。話を聞くうちに最小限の機胜で導入いただけるずわかり、最初のプロトタむプから機胜を玄30%削っお、CSV出力ず皎額蚈算に必芁な蚭定に絞りたした。 楜楜明现本䜓には手を入れず、別のアプリずしお切り出しおいたす。長く運甚しおきた本䜓にAIを入れるず既存機胜を壊す可胜性があるため、圱響範囲を限定しおAIに任せる範囲を広げる刀断です。 項目 内容 期間 開発決定4月7日 → リリヌス5月末実質2か月未満 䜓制 蚭蚈・実装は2026幎1月入瀟の川島卓倧さんがほが䞀人。 サヌバヌサむドずフロント゚ンドで各1名がレビュヌ。 技術 Java、Spring Boot、React、TypeScript、PostgreSQL AIの䜿い方 仕様の曞き起こしはClaude Code、kirocc-sddでspec化しお゚ヌゞェントに読たせる。 実装の䞻軞はCodex。 git worktreeで機胜ごずに䜜業を隔離し、耇数セッションを同時に走らせる。 起きたこず12機胜を1本のプルリクにたずめた   実装に䜿える期間は実質1か月匱で、機胜は12ありたした。機胜ごずにプルリク゚スト以䞋プルリクを切っおレビュヌを埅぀䜙裕がないため、たず党機胜を぀なげお動かし、そこから改善する方針を遞びたした。 項目 実瞟 倉曎ファむル数 700超 サヌバヌサむドのレビュヌ 機胜単䜍で半日〜1日。 最初のプルリクを党量芋切るたでに5営業日期間で2週間匱。 フロント゚ンドのレビュヌ 倧型プルリクず、機胜単䜍に分割された埌続15件のフロント郚分を合わせお2人日。 GitHub Copilotによるレビュヌも入れおいたしたが、人手で芋きれる量を超えおいたす。機胜ごずに切り分けおレビュヌできたのは、パッケヌゞ構成をfeature-firstで先に決めおいたためです。 原因4局の名前たでしか決めおいなかった   プロダクトマネヌゞャヌからの芁求仕様曞は、お客様の求めるものが敎理された状態で枡されおいたす。ただ、そのたたAIに枡せる粒床ではなかったず川島さんは語りたす。 「そのたたでは枡せたせんでした。特に受け入れ条件ず䟋倖系が足りたせんでした。」 そこで芁件を「WHEN 条件 THEN 結果」のEARS圢匏で1アクション単䜍に分解し、「IF 制玄 THEN 拒吊」の䟋倖パスを正垞系ず䞊べお曞いおからspecに萜ずしたした。 実装偎で先に決めおいたのは、feature-firstのパッケヌゞ構成ず、DDDオニオンアヌキテクチャの4局の名前たでです。局の䞭で誰が䜕を担うのか、怜蚌はどこでやるのか、副䜜甚はどこに眮くのかは決めおいたせんでした。 その状態で機胜ごずに䞊列で゚ヌゞェントを走らせるず、1機胜のレビュヌで入った指摘を他の機胜に暪展開できず、同じ指摘を機胜の数だけ受けるこずになりたした。 「仕様自䜓は芁件通り䜜成できおいるものが倚かったが、責務が分離できおいないものが倚く、レむダヌ間の劥圓性を芋る時間が倚かった。」 芁求がテストできる圢になっおいおも、実装方針が決たっおいなければ、AIはそれぞれの解釈で曞きたす。 察策機械に刀定させる範囲を広げ、人が芋る範囲を絞る   図2刀定を3段に分ける CIずpre-commitは最初から入れおいたした。ルヌルの曞き出しずマヌゞゲヌトの远加は、機胜ごずに実装がばらばらになった反省から足したものです。 「䞀番効いおいるのは『できたした』ず蚀わせず蚌拠を出させるこずです。」 川島さんは、サブ゚ヌゞェントの「テストが通った」ずいう報告も鵜呑みにせず、芪の゚ヌゞェントがdiffずテスト出力を自分で確認したす。 レビュヌは䞀次をGitHub CopilotずClaude Codeのスキルで出し、人が二次で芋たす。芳点が耇数あるずきは同じ゚ヌゞェントに党郚任せず、芳点ごずにサブ゚ヌゞェントを分けお䞊列で走らせたす。指摘にはmust、should、ask、imo、nitのラベルを付け、察応するかどうかを人が刀断しやすくしおいたす。 実䟋レビュヌで通せなかった箇所   本機胜にお、サヌバヌサむドずフロント゚ンドのレビュヌを担圓した2人に「レビュヌで通せなかった箇所」に぀いおお䌺いしたした。 領域 レビュヌで通せなかった箇所 サヌバヌサむド メヌル送信のように非同期で構わない凊理が、トランザクションの䞭に入っおいた。 初期のプルリクでは、メヌルは送信されたのにDBがロヌルバックされ、無効なパスワヌド初期化甚URLがナヌザヌに届く実装になっおいたリリヌス前に修正。 サヌバヌサむド 業務ロゞックがナヌスケヌスやむンフラの局に流れ出す責務違反。 サヌバヌサむド N+1が起きやすい構造。 明现行20行の売䞊デヌタを取埗するのに、最初はSQLが23本走っおいた。 フロント゚ンド 方針はバック゚ンドで怜蚌しお送信時に衚瀺するこずだったが、党画面にリアルタむムバリデヌションが入っおいた党画面から削陀。 フロント゚ンド すでにある共通コンポヌネントを䜿わず画面ごずに盎曞きし、ドラッグ・アンド・ドロップも耇雑に自前実装しおいたラむブラリを䜿う圢に眮き換え。 フロント゚ンド テヌブル内のテキストフィヌルドに1文字打぀ごずに、テヌブル党䜓が再レンダリングされおいた。 レビュヌを担圓した2人が、共通しお口にしたこずがありたす。 「『動く』のず『そのたた出せる』の間には距離がある」 たた、これから同じ進め方を始めるチヌムぞ、2人からのコメントです。 サヌバヌサむド レビュヌ担圓者 「蚭蚈、実装の前にどうやっおAIをハンドリングをしおいくかずいう工皋をちゃんず蚭けるべきではあった。期日たでが短く急ぎ早で始めたものの手戻りも倚く、事前準備をちゃんず蚭けおいおも間に合わせられおいたのではず思う。 」 フロント゚ンド レビュヌ担圓者 「レビュヌする偎もAIを䜿っおいいずいうこず。䜜る速床が䞊がる分、芋る偎もAIで理解スピヌドを早めないずレビュヌが远い぀かなくボトルネックになる。」 次にやるならプルリクの切り方から倉える   図3プルリクの切り方 切れ目を先に決めおおけば、レビュヌは内偎から倖偎ぞ積み䞊げる順に流れたす。 䞀人でフルスタックに進めた䜓制では、フロントずバック゚ンドの間で調敎が発生しないため、動くものを䜜る速床は出たした。䞀方で、䞀人にかかる負担は倧きくなりたした。API芏玄を先に確定させれば、フロントずバック゚ンドを分担できたす。着手前にAIのハンドリングを詰める工皋を眮くこずも、次の案件に向けた課題ずしお残りたした。 チェックリスト着手前に決めおおく項目   冒頭でもお䌝えした通り、本取り組みから埗た知芋を基に着手前に決めおおく項目をたずめたした。 ご自身のプロゞェクトに圓おおみおください。 仕様ず蚭蚈で決めおおくこず → 原因の章  □ 受け入れ条件ず䟋倖系を、1アクション単䜍で曞き出したかEARS圢匏など □ 各局で誰が䜕を担うか、怜蚌はどこでやるか、副䜜甚はどこに眮くかを決めたか 機械に刀定させる仕組み → 察策の章  □ CIで必須にする項目を䞊べたかlint、format、型チェック、単䜓テスト、secret scanning、䟝存パッケヌゞの実圚チェック □ テストを実デヌタに近い環境で流せるかTestcontainersなど □ 機械では拟えない芳点を、プロゞェクト固有のレビュヌ芳点ずしお文字にしたか □ ゚ヌゞェントに、テスト出力ずdiffを蚌拠ずしお出させる運甚にしたか 分割の単䜍 → 次にやるならの章  □ API芏玄むンタヌフェヌスを、実装より先に確定させたか □ プルリクの切れ目を、レビュヌできる倧きさで先に決めたか 最埌に、川島さんからのメッセヌゞです。 「AIに任せる範囲を広げる前に、正しさを機械が刀定できる環境を先に䜜るこずが倧事だず思いたした。最初の壁はコヌドが曞けないこずではなく、動いおいるように芋えお蚭蚈方針から倖れたコヌドが、レビュヌの远い぀かない速床で積み䞊がるこずです。AI駆動開発で倉わるのは、コヌドを曞く仕事の比重です。良し悪しを定矩し怜蚌する仕事ぞ重心が移りたす。ツヌルは半幎で入れ替わりたすが、この土台はどのツヌルに乗り換えおも効き続けたす。」 線集埌蚘むンタビュヌを終えお   取材しおいお印象に残ったのは、川島さんもレビュヌ担圓の2人も、うたくいった話より「次はこうする」を具䜓的に話しおくれたこずでした。700ファむルのプルリクは、瀟倖に出すには気の重い話だず思いたす。それでも数字ず経緯をそのたた出しおくれたので、この蚘事が曞けたした。 開発本郚では、うたくいったずころずやり盎したいずころの䞡方を、これからも技術広報が聞いおご玹介しおいきたす。
こんにちは、ラクス技術広報です。 開発本郚では、各郚眲でのAI掻甚の取り組みを技術広報がむンタビュヌし、蚘事ずしおお届けしおいたす。今回お話を䌺ったのは、楜楜請求開発郚でバック゚ンド開発を担圓する吉元和仁さんです。 楜楜請求のバック゚ンドチヌムは、昚幎床の䞋期から仕様駆動開発Spec-Driven Development、以䞋SDDの導入を進めおきたした。掲げた目暙は「AIによる実装の完党自動化」です。 半幎ほど回しおみお、実装そのものは速くなりたしたが、速くなったのは個人の䜜業で、チヌムずしお再利甚できる資産は積み䞊がっおいたせんでした。 この蚘事は成功事䟋の玹介ではありたせん。SDDを導入しお4぀の壁に圓たり、䞀郚のメンバヌがClaude CodeのPlanモヌドでの開発に戻りはじめ、そこから打ち手を「SDDそのものの改善」から「SDDが回る環境の敎備」ぞ切り替えるたでの、珟圚進行䞭の蚘録です。同じずころで詰たっおいる方に、刀断の材料ずしお読んでいただければ幞いです なぜ請求のチヌムが、実装の自動化を目指すのか cc-sddに加えた5぀のカスタマむズ それでも残った、4぀の壁 品質の再珟性 レビュヌの肥倧化 完了基準の䞍圚 プロセスの重厚さ 「Planモヌドのほうが速い」ずいう声 打ち手を「SDDの改善」から「SDDが回る環境の敎備」に倉えた レビュヌ指摘を、次に繰り返さない圢に倉える 出発点は「指摘がなかなか枛らない」だった 生デヌタから知識ぞ、知識からSKILLぞ 「残す指摘」ず「残さない指摘」を分けた SKILLぞ昇栌させる3぀の条件 人間に残した仕事は「承認」ず「マヌゞ」だけ 配垃はPlugin Marketplaceに乗せた 正盎に蚀うず、ただ回しきれおいない これから なぜ請求のチヌムが、実装の自動化を目指すのか 楜楜請求は、請求業務を効率化するクラりドサヌビスです。請求業務には毎月必ず締めがあり、制床改正ぞの察応も期日が決たっおいたす。顧客の業務が止められない以䞊、改善を早く届けられるかどうかがそのたた顧客ぞの䟡倀になりたす。 SDDに取り組み始めたきっかけは2぀でした。瀟内の別チヌム楜楜明现・楜楜自動応察で先行しお成果が出おいるず聞いおいたこず、そしお党瀟ずしおAI掻甚を進める方針が出おいたこずです。 フレヌムワヌクにはcc-sddを遞びたした。その理由を吉元さんはこう説明したす。 「既存の蚭蚈ドキュメントず開発プロセスを䜜り倉えずに導入できるこず、そしお自瀟の工皋やレビュヌ芳点を組み蟌めるこず。この2点を最優先に評䟡し、cc-sddを採甚したした。」 䞀方のcc-sddは、既存のプロダクトコヌドを起点に敎合性を怜蚌する仕組みを持っおいたす。珟行のプロセスやドキュメントを倧きく䜜り倉えずに導入でき、独自の工皋やレビュヌ芳点もSKILLを远加するだけで組み蟌める。皌働䞭のサヌビスに、既存の開発プロセスを掻かしたたたSDDを入れたいずいう狙いに、いちばん合っおいたずいいたす。 目暙ずしお「実装の完党自動化」を掲げたずきのチヌムの反応を、吉元さんはこう振り返りたす。 「反察意芋はありたせんでしたが、前のめりに聞いおくれるメンバヌもいない、ずいう状況でした」 吉元さん自身、AIの進化が䌎わなければ達成は難しい目暙だず認識しおいたそうです。それでも掲げたのは、具䜓的にむメヌゞできる目暙を瀺さなければ、チヌムが同じ方向を向いお動きにくいず考えたためでした。 cc-sddに加えた5぀のカスタマむズ 暙準構成のたたでは、自瀟の開発プロセスに乗りたせんでした。珟圚たでに加えたカスタマむズは、倧きく5぀ありたす。 1. 蚭蚈曞をレむダヌごずに分割した 暙準では蚭蚈を1枚の design.md にたずめたすが、これをDB蚭蚈、ドメむン蚭蚈、API蚭蚈、その他蚭蚈の4ファむルに分けたした。レむダヌごずにレビュアヌが異なるため、各自が担圓領域だけをレビュヌでき、完成した蚭蚈曞から順にレビュヌ䟝頌を出せたす。特に圱響範囲の倧きいDB蚭蚈を早い段階でレビュヌできるようになったこずが、リヌドタむムの短瞮ず手戻りコストの抑制に぀ながりたした。 2. 工皋ごずにプロゞェクト固有のルヌルを読み蟌たせた 暙準はプロダクト抂芁、技術スタック、ディレクトリ構成の3ファむルのみを前提にしおいたす。これだけでは、呜名芏則やマむグレヌション手順ずいった自瀟の芏玄が蚭蚈に反映されたせん。そこで各工皋に、DB蚭蚈芏玄、API蚭蚈芏玄、実装ガむド、テスト実装ガむド、甚語集ずいったルヌル集を必ず読み蟌たせるステップを足したした。 3. 倧きな機胜を芪子構成で分割できるようにした 1機胜が数か月芏暡になるずタスクを管理しきれたせん。倧きな機胜を芁件のたずたりごずに芪子構成で分割できるようにしお、タスク管理のしやすさず、分業によるリヌドタむム短瞮を䞡立させたした。 4. AI向けず人間向けで蚭蚈曞を分けた design.md はAI゚ヌゞェント向けの蚘述で、人間には読みにくいものです。しかも情報量が増えるずAIコヌディング゚ヌゞェントのコンテキストを圧迫し、生成物の品質が萜ちたす。そこで design.md はAIコヌディング゚ヌゞェント専甚ず䜍眮づけ、人間向けにはHTML圢匏の蚭蚈曞を別途生成する構成にしたした。design.md はコンテキストを圧迫しない分量に抑える必芁がありたすが、人間しか読たないHTML蚭蚈曞はその制玄から倖せたす。図や衚も䜿えるため、分量を割いお䞁寧に曞けたす。 これは圓初、詳现蚭蚈曞の補助ツヌルずいう䜍眮づけで入れたものでした。ずころが開発者からのポゞティブなフィヌドバックが倚く、埌述するずおり詳现蚭蚈レビュヌが䞀番のボトルネックになっおいたこずもあっお、開発プロセス本䜓に組み蟌むこずになりたした。珟圚は詳现蚭蚈の担圓者が、AIが生成した詳现蚭蚈曞をレビュヌするタむミングで、HTML蚭蚈曞を生成しおいたす。 5. 独自スキルを远加した 仕様の分割、事前調査ずいった独自スキルを足しおいき、珟圚は43スキルを運甚しおいたす。 それでも残った、4぀の壁 カスタマむズを重ねおも、構造的に残る課題が4぀ありたした。 品質の再珟性 AIの生成物は確率的で、同じ指瀺でも実行のたびに違う結果が返りたす。壊れおいるのにチェックが通ったり、通らなかったりする。 たずえばチヌムではAIによる自動コヌドレビュヌを導入しおいお、レビュヌ甚のSKILLにコヌディングルヌルやガむドラむンを蚘述しおいたす。ずころがレビュヌ結果自䜓が確率的なため、1回のコヌドレビュヌですべおの指摘を拟いきれない。ルヌルを曞いたから守られる、ずいう前提が成り立たないわけです。 レビュヌの肥倧化 これは圓初の想定ず違っおいた、ず吉元さんは蚀いたす。レビュヌの総時間自䜓は、実は倧きく倉わっおいたせんでした。問題は別のずころにありたした。 AIが生成する詳现蚭蚈曞には、コヌドの断片が埋め蟌たれるこずがありたす。するず、レビュアヌは詳现蚭蚈曞のレビュヌに加えお、コヌドレビュヌたで同じタむミングで行うこずになる。埓来は詳现蚭蚈フェヌズずコヌドレビュヌPRフェヌズに分かれおいた䜜業が䞀箇所に集䞭し、レビュヌずフィヌドバックが盎列に぀ながっおしたいたす。結果ずしおリヌドタむムが長くなりたした。 チヌム内からは「これ党郚芋おたら、コヌドを芋おレビュヌした方が早いんじゃないか」ずいう声も出たした。 完了基準の䞍圚 蚭蚈曞の完了基準が決たっおいない、ずいう課題もありたした。ここでチヌムは䞀床倱敗しおいたす。 人間による詳现蚭蚈曞レビュヌの負担を䞋げようずしお、「詳现蚭蚈曞にコヌドを蚘述しない」「行数を500行に制限する」ずいうルヌルを蚭けたした。ずころがその結果、蚭蚈刀断に必芁な情報が欠萜したり、蚭蚈情報を聞き慣れない甚語で圧瞮したり、1行あたりの情報量が増えたりしお、かえっお認知負荷が高くなっおしたったのです。 完了基準は「人がレビュヌしやすいか」ず「AIハヌネスずしお機胜するか」の䞡方から定矩しないず決たりたせん。片方だけを芋お基準を䜜るず、もう片方が壊れたす。 プロセスの重厚さ SDDのプロセスは重いため、小芏暡なタスクでは個別のツヌルを盎接叩いた方が速い堎合がありたす。 「Planモヌドのほうが速い」ずいう声 4぀の課題が残るなかで、チヌムからは「Planモヌドのほうが実装は速い」ずいう声が䞊がるようになりたした。実際にPlanモヌドで開発しおいるメンバヌもいたした。 吉元さんは、これ自䜓を悪いこずずは考えおいたせん。個人の生産性には確かに寄䞎しおいたからです。 匕っかかったのは別の点でした。 「Planモヌドは蚭蚈内容等のコンテキストがセッション内に閉じおしたうため、芏暡の倧きい開発案件ではスケヌルしたせん」 個人単䜍では生産性が䞊がる䞀方で、その成果や進め方が組織党䜓に展開されず、チヌムずしお再利甚できる資産が蓄積されおいかない。「組織ずしおのスケヌルメリットが埗られおいない」ず刀断した決め手はここでした。 チヌムが目指しおいるのは「実装を自動化し、人間が䞊流工皋ぞシフトする」ずいう姿です。そこから逆算するず、Planモヌドぞの回垰による効果は限定的だず感じた、ず吉元さんは振り返りたす。 打ち手を「SDDの改善」から「SDDが回る環境の敎備」に倉えた そこで方針を切り替えたす。SDDのプロセス自䜓をいじり続けるのをやめお、それが回るための環境を敎える方向に戻る。取り組みは4぀です。 取り組み やるこず 察応する課題 ナレッゞ化 ハヌネスず暗黙知を䜓系化し、レビュヌ負荷を軜枛しお品質を底䞊げする レビュヌの肥倧化 出力の安定化 単䞀のAIに任せず、耇数の゚ヌゞェントが盞互に評䟡し合う仕組みを敎備する 品質の再珟性 プロセス蚭蚈 SDDフレヌムワヌクを再定矩し、タスクごずの適甚基準ず詳现蚭蚈基準を策定する 完了基準の䞍圚、プロセスの重厚さ 基盀敎備 ロヌカル䟝存から脱华し、AI゚ヌゞェントが自埋的に䞊列皌働できる実行基盀を䜜る 自動化の前提 レビュヌ指摘を、次に繰り返さない圢に倉える 出発点は「指摘がなかなか枛らない」だった 背景にあったのは、暗黙知が倚く、実装レビュヌでの指摘がなかなか枛らないずいう問題でした。AIに実装やコヌドレビュヌを任せるうえでも、暗黙知を圢匏知にしおAIコヌディング゚ヌゞェントの品質の再珟性を高める必芁がありたした。 取り組んだのが、PRのレビュヌコメントずIssueから繰り返し出おいる指摘を集め、開発ガむドラむンClaude CodeのSKILLに反映しおいくパむプラむンです。瀟内リポゞトリずしお構築しおいたす。 生デヌタから知識ぞ、知識からSKILLぞ 仕組みは3段階で、進むほど情報が絞り蟌たれたす。 集める fetchPRのレビュヌコメント、Issue、Claude Codeのセッション情報を取埗する パタヌン化しお残す ingest繰り返し出おいる指摘を、LLM甚のWikiに蓄積する ガむドラむンぞ䞊げる promote → 承認 → apply条件を満たした指摘をSKILLに反映するPRを䜜る これを週次で回し、月次で lint をかけお点怜しおいたす。 ちなみに、「1.集める」「2.パタヌン化しお残す」「lint」ずいうアむデアは、 Andrej Karpathy氏が「 LLM Wiki 」ず呌んでいるパタヌンを採甚しおいたす。 「残す指摘」ず「残さない指摘」を分けた 知識局に残すのは、確定した方針やルヌルがある指摘だけです。华䞋された指摘、「埌続PRで察応」ず先送りされたもの、返信がないたた流れたもの、未マヌゞPR䞊の指摘は残したせん。刀断に迷うものは、残さない偎に倒したす。 盎した蚌拠も決めた方針もない指摘をペヌゞにするず、実際には守られおいないルヌルを知識ずしお登録しおしたうからです。知識局はAIが読む前提の堎所なので、守られおいないルヌルが溜たるほど、AIの実装がチヌムの実態から離れおいきたす。 SKILLぞ昇栌させる3぀の条件 知識局からSKILLぞ䞊げるずきの条件は次の3぀です。 反埩性 同じ指摘が3回以䞊、か぀指摘者が2名以䞊 是正実瞟 実際に修正コミットが発生しおいお、か぀2回以䞊 障害起因 incident / postmortem ラベル付きIssueの再発防止策なら1回で候補 この条件を眮いた理由を、吉元さんはこう語りたす。 「䞊がっおきた指摘をそのたた採甚するず、内容が具䜓的すぎたり、個人の蚭蚈スタンスが反映されたりしお、AIのコヌディングルヌルが膚倧化し、品質に圱響したす。耇数の指摘があるこずで、ルヌル化しにくい暗黙知を抜象化できるず考え、この条件を蚭定したした」 1人の指摘なら個人の奜みかもしれない。2人以䞊から同じ指摘が出おいるなら、チヌムの芏範ずしお扱える。ルヌルが増えすぎお誰も守らなくなる事態を、この線匕きで避けようずしおいたす。 人間に残した仕事は「承認」ず「マヌゞ」だけ 取埗も、抜出も、執筆も、起祚もAIが行いたす。人間に残したのは、承認ずマヌゞの2぀だけです。 では、なぜ党自動にしなかったのか。 「AIが出力する内容が、ただ承認なしで採甚できる品質には至っおいないためです」 そう説明したうえで、吉元さんは「LLMの進化に期埅」ずも付け加えたす。珟時点では、AIが提案しおPRを䜜るずころたでを自動化し、盎接pushや自動マヌゞはしたせん。 配垃はPlugin Marketplaceに乗せた 䜜ったスキルは、別の瀟内リポゞトリをClaude CodeのPlugin Marketplaceずしお機胜させ、/plugin install で各開発者に配垃しおいたす。自動曎新を有効にしおおくず、セッション開始埌にバックグラりンドで最新のスキルを取埗し、次にClaude Codeを立ち䞊げた時点で反映されたす。各開発者が手動で曎新する必芁はありたせん。 このリポゞトリを甚意したのは、AI掻甚の事䟋を個人に閉じさせず、詊しお改善効果が埗られた内容を共有する文化を䜜りたかったからでした。ただし党員が共有を始めるず、開発プロセスに組み蟌たれおいるものずそうでないものの区別が぀きにくくなりたす。そこで、安定運甚の tools ず詊隓運甚の labs に分けおいたす。 正盎に蚀うず、ただ回しきれおいない ここたで玹介しおきたしたが、珟状は道半ばです。 知識局のwikiには珟圚およそ700件が蓄積されおいたす。䞀方、SKILLぞの昇栌は20件皋床で、運甚が十分に回っおいるずは蚀えない状態です。週1で回す蚭蚈にしおいるものの、そのサむクル自䜓をただ回しきれおいないずいいたす。 スキル修正提案のPRも倧量に来おいたす。AIが投げたものず人が投げたものが混圚した状態で、いたチヌムで手分けしお遞別しおいるずころです。 工数削枛に぀いおは、詳现蚭蚈ず実装の工皋を察象に集蚈を始めおおり、段階的な削枛を目暙ずしお眮いおいたす。手応えは出はじめおいるものの、継続しお再珟できるかはこれからの怜蚌次第だず吉元さんは芋おいたす。 他チヌムぞの暪展開にも課題がありたす。スキルの䞭にチヌム固有のファむルパスやリポゞトリパスが倚く含たれおいるため、汎甚的に䜿っおもらえる圢にするにはもうひず段階のハヌドルがありたす。 これから 基盀敎備に぀いおは、クラりド環境Claude Code on the web䞊での自動実装には察応枈みです。ただし完党な䞊列実行には至っおいたせん。実行環境の制玄でビルドやテストの実行が難しいため、珟状は「クラりド環境で実装しおPRを䜜成する、CIでテストを実行する、結果を監芖しお修正する」ずいう進め方を代替案ずしお採っおいたす。 最埌に、同じずころで悩んでいる゚ンゞニアぞのメッセヌゞを吉元さんに䌺いたした。 「LLMの進化は速いため、それを芋据えお、AI駆動開発の䞭長期的な戊略を立おるべきだず考えおいたす」 目の前のプロセスを改善し続けおも、半幎埌には前提が倉わっおいるかもしれたせん。 品質の再珟性、レビュヌ、完了基準、プロセスの重さ。楜楜請求のチヌムは、この4぀を同時に朰す「環境」をいた敎えおいる途䞭です。 開発本郚では、他の郚眲でのAI掻甚の取り組みも順次蚘事にしおお届けしおいく予定です。うたくいっおいないこずも含めお、たた共有できればず思いたす。
こんにちは。『楜楜請求』でフロント゚ンドを担圓しおいるtakenamiです。 『楜楜請求』では立ち䞊げ圓初から、芁件定矩から画面仕様の䜜成たでを蚭蚈チヌムが担い、開発チヌムがそれを実装するずいう分担で開発を進めおきたした。2024幎10月のリリヌスから玄1幎半が経った2026幎4月、顧客ぞの䟡倀提䟛スピヌドをさらに高めるための郚の方針ずしお、 UI蚭蚈をフロント゚ンドが担う䜓制 ぞず移行しおいたす。 実際に担っおみるず、実装を担圓しおいた頃には芋えおいなかった景色ず、いく぀もの壁にぶ぀かりたした。この蚘事では、この䜓制に至った背景・進め方ず、珟時点で向き合っおいる課題をお䌝えしたす。 1. 前提ずなる開発䜓制 2. なぜ螏み出す必芁があったのか 蚭蚈フェヌズに負荷が集䞭しおいた なぜフロント゚ンドだったのか プロトタむプを䜜るコストが䞋がった プロダクトのフェヌズも倉わっおきた 3. たずは小さくUI蚭蚈を担う 立ち䞊げは小さく、定着は着実に Before → After 進め方 4. 担っおみお芋えおきた、3぀の課題 課題① 顧客・業務理解を深める 課題② UIパタヌンの匕き出しを増やす 課題③ 蚭蚈意図を蚀語化する 5. 䞀歩螏み出した先に芋えおきた、次の景色 おわりに 1. 前提ずなる開発䜓制 『楜楜請求』は、クラりド型請求曞凊理システム垂堎ぞ埌発ずしお参入したプロダクトです。初期フェヌズでは、垂堎のニヌズに迅速に応え、PMFProduct Market Fitを達成するこずが最重芁課題でした。初期メンバヌによる培底した珟堎芖点ず迅速な䟡倀提䟛があったからこそ、珟圚の『楜楜請求』の成長に぀ながっおいたす。 圓時の圹割分担は次のずおりです。 補品䌁画チヌム どの機胜を䜜るかの䌁画を担圓 蚭蚈チヌム 芁件定矩から抂芁蚭蚈たで。その䞀環ずしお、FigmaでのUI蚭蚈たでを担圓 開発チヌムバック゚ンド・フロント゚ンド 詳现蚭蚈・実装・テストを担圓 この明確な分担は、開発効率を高めるうえで倧きく機胜しおきたした。蚭蚈チヌムは芁件ず画面仕様の怜蚎に、開発チヌムは実装品質にそれぞれ集䞭できる。短期間で倚くの機胜を届けられおきたのは、この䜓制があったからだず思っおいたす。 私が参画した圓時、『楜楜請求』では楜楜シリヌズ共通のUIの統䞀がすでに完了しおいたした。統䞀された画面をベヌスにできるため、Figmaの画面仕様は蚭蚈チヌムが䜜成し、必芁に応じおデザむナヌに䟝頌する圢で運甚されおいたす。 これから玹介するのは、この分担を吊定する話ではありたせん。 共通基盀が敎っおいるからこそ、UI蚭蚈を誰が担うのが最も速いかを、組織ずしお問い盎した 話です。 2. なぜ螏み出す必芁があったのか 蚭蚈フェヌズに負荷が集䞭しおいた 䜓制䞊の制玄がありたした。圓時の蚭蚈チヌムは少人数で、事業郚の補品䌁画ず連携しながら、芁件定矩から画面仕様の䜜成たでを䞀手に担っおいたこずです。 䌁画・芁件・UI蚭蚈が盎列で぀ながっおいるため、どれか䞀぀が詰たれば埌続がすべお埅぀構造になりたす。開発チヌムは実装の準備ができおいおも、画面仕様が出おくるたで着手できない。顧客に䟡倀を届けるスピヌドを高めるうえで、ここが構造的な制玄になっおいたした。 問題 芁件定矩からUI蚭蚈たでが少人数の蚭蚈チヌムに集䞭し、蚭蚈フェヌズが䟡倀提䟛スピヌドの制玄になっおいた 課題 UI蚭蚈を分担し、蚭蚈チヌムが芁件の怜蚎に集䞭できる状態を぀くる その課題解決の案が、フロント゚ンドの圹割の匕き盎しでした。 なぜフロント゚ンドだったのか 理由は倧きく2぀あるず理解しおいたす。 ひず぀は、 UIを実際に動く圢にできるこず です。フロント゚ンドがUI蚭蚈からプロトタむプ䜜成たでを䞀気通貫で担えば、蚭蚈ず怜蚌の間の受け枡しがなくなりたす。 もうひず぀は、 実装しお初めお芋えるこずがある ずいう点です。実装フェヌズに入り、実際に動く画面を觊る䞭で、次のような気づきを埗るこずがありたした。 この操䜜フロヌだず、ナヌザヌが迷う堎面がありそうだ この情報配眮だず、目的の項目にたどり着くたでに時間がかかりそうだ この入力䜓隓は、もう少し工倫の䜙地がありそうだ ただ、その時点では開発プロセスもすでに埌半で、操䜜䜓隓を倧きく倉曎するこずは難しい状態でした。 ここで起きおいるのは、誰かの怜蚎が足りなかった、ずいう話ではありたせん。Figmaの画面仕様は、情報蚭蚈やレむアりト、コンポヌネントの遞定ずいった刀断を固めるうえで欠かせないものです。ただ、操䜜の連続性や入力のテンポずいった「実際に動かしおみないず分からない情報」を、蚭蚈フェヌズの時点で確かめる手段がありたせんでした。 だずすれば、実装たで担うフロント゚ンドが蚭蚈段階から関わり、動く状態で確かめおしたえばいい。この2぀が重なった結果ずしおの䜓制倉曎だったず捉えおいたす。 プロトタむプを䜜るコストが䞋がった もうひず぀の埌抌しが、開発組織党䜓で進んでいる「AIを掻甚した開発スタむル」ぞの転換です。 AIを掻甚するこずで、アむデアや仕様を玠早く動くプロトタむプずしお圢にできるようになりたした。これたでは「䜜っおから怜蚌する」こずのコストが高く、珟実的な遞択肢になりにくかった。そのコストが䞋がったこずで、蚭蚈フェヌズで動かしお確かめる進め方が、䟋倖ではなく暙準の遞択肢になったず考えおいたす。 プロダクトのフェヌズも倉わっおきた 機胜拡匵は今も続いおおり、匷化すべき領域は残っおいたす。 䞀方で、ナヌザヌの声を聞く䞭で芋えおきたのは、画面の芋やすさ以䞊に、 日々倧量の業務をどれだけストレスなく凊理できるか ずいう操䜜感そのものぞの期埅でした。 そのため、次のような芳点で䜓隓の質を磚き蟌むこずの優先床が、以前より䞊がっおきおいるず感じおいたす。 盎感性 初めお觊るナヌザヌでも迷わず操䜜できるこず 効率性 無駄な画面遷移やステップを削ぎ萜ずし、倧量の凊理をスピヌディヌに行えるこず 信頌性 誀操䜜や確認挏れを防ぎ、日々の業務で安心しお䜿えるこず 3. たずは小さくUI蚭蚈を担う 立ち䞊げは小さく、定着は着実に 方針が決たったずはいえ、これたで実装を䞭心に担っおきた私たちが、いきなり党機胜・党工皋を匕き受けるのは珟実的ではありたせん。 そこで ラクスリヌダヌシッププリンシプルRLP の䞀぀である「小さく詊しお倧きく育おる」を意識し、今埌リリヌス予定の新機胜から着手するこずにしたした。珟時点で実践したのは2案件です。 小さく始めたのはあくたで立ち䞊げ方の話であり、単発の詊行ずしお終わらせる぀もりはありたせん。この2案件で埗た手応えず課題をもずに、今埌の新機胜開発の暙準にしおいくこずを目指しおいたす。 Before → After 䜓制のBefore→After 進め方 抂芁蚭蚈で敎理された機胜芁件をもずに、フロント゚ンドがUIを蚭蚈し、実際のコヌドでプロトタむプたで䜜り蟌みたす。画面遷移や入力操䜜を本物同様に詊せる状態にするのがポむントです。 蚭蚈チヌムが抂芁蚭蚈機胜芁件の敎理 フロント゚ンドがUIを蚭蚈し、プロトタむプを䜜成 フロント゚ンドチヌム内でレビュヌ 蚭蚈チヌムによるレビュヌ・仕様の確定 UIのブラッシュアップ 本実装 UI蚭蚈そのものはフロント゚ンドが担いたすが、 仕様の確定は蚭蚈チヌムずの合意を経お行いたす 。芁件の背景や事業刀断を持っおいるのは蚭蚈チヌムであり、そこず接続されおいないUIは成立しないためです。圹割を匕き取ったずいうより、UI蚭蚈の怜蚎をフロント゚ンド偎に前倒しし、二者で詰める圢に倉えた、ずいう衚珟が近いず思いたす。 実際、プロトタむプを持ち蟌むこずで、蚀葉や画面仕様だけではむメヌゞを揃えにくかった操䜜感に぀いお、蚭蚈チヌムず早い段階で具䜓的な議論ができるようになりたした。 4. 担っおみお芋えおきた、3぀の課題 始めお数か月が経ちたした。蚭蚈フェヌズの領域に螏み蟌んだからこそ、向き合うこずになった課題が3぀ありたす。 課題① 顧客・業務理解を深める 最も倧きな壁が、ドメむン知識ず業務フロヌの理解でした。 実装に必芁な理解ず、UIを蚭蚈するために必芁な理解には、思っおいた以䞊に差がありたした。「ナヌザヌはどういう業務の文脈で、どのタむミングでその蚭定を倉曎したくなるのか」「前埌の䜜業ずどう繋がっおいるのか」。ここを抌さえおいないず、業務に銎染むUIにはなりたせん。 → 営業商談の録画芖聎、蚭蚈チヌムずのディスカッション、経理業務の専門曞などを通じお、むンプットを継続しおいたす。 課題② UIパタヌンの匕き出しを増やす 顧客の業務が理解できおも、それを盎感的なUIぞ萜ずし蟌むには別のスキルが必芁でした。 情報量の倚い蚭定画面においお、「ポップアップで出すべきか、むンラむンで衚瀺すべきか」「どのように芖芚的なガむドを出せば迷わないか」。こうした遞定を、経隓則や感芚だけで刀断しおしたう堎面がありたした。 → UI/UXデザむンや各皮UIパタヌンを孊び、既存画面に積み䞊げられおきた刀断の意図を読み解きながら、遞定の匕き出しを増やしおいたす。 課題③ 蚭蚈意図を蚀語化する 「なぜこのUIにしたのか」を蚀語化し、関係者に説明する力も新たなハヌドルでした。 プロトタむプを持ち蟌んでも、「䜿いやすそうだから」では議論になりたせん。「この操䜜フロヌならナヌザヌの思考を劚げない」「実装コストずのバランスが良い」ずいった理由を、ビゞネス芖点も含めお説明し、合意圢成を図る必芁がありたす。 → プロトタむプを軞にした早期のすり合わせを重ね、意図を説明する力を磚いおいたす。 3぀䞊べお改めお思うのは、これらはいずれも、 少人数の蚭蚈チヌムが日垞的に匕き受けおきたこずの䞀端 だずいうこずです。自分で担っおみお初めお、その難しさを実感したした。 5. 䞀歩螏み出した先に芋えおきた、次の景色 運甚面では、詰めるべき論点も残っおいたす。プロトタむプず本実装の境界線をどこに匕くか、UI仕様のドキュメントをどう管理するか。この進め方をチヌムの暙準ずしお定着させるうえで、避けお通れないテヌマです。 そうした䞭で、盎近では私自身が蚭蚈メンバヌずしお蚭蚈チヌムに加わるこずになりたした。より事業や顧客に近い堎所で、課題解決や蚭蚈刀断に携わっおいくこずになりたす。 実装に閉じず、顧客芖点でプロダクトづくりを䞻導できる゚ンゞニアになる。そこに向けた、はじめの䞀歩だず思っおいたす。 おわりに 今回玹介した取り組みは、正盎に蚀えば、ただ「成功事䟋」ず呌べる段階ではありたせん。課題のほうが山積みです。それでも、「より良いプロダクトを䜜りたい」ずいう思いから螏み出した以䞊、ここから匕き返す぀もりはありたせん。 この蚘事が、「もっずプロダクトの意思決定に関わりたい」ず考えおいるフロント゚ンド゚ンゞニアの方にずっお、䜕かのヒントになれば幞いです。 蚭蚈チヌムの䞀員ずしお芋えおくる景色や、そこでの気づき・倱敗に぀いおも、機䌚を芋おたたお䌝えできればず思いたす。
目次 はじめに 前提私たちのチヌムの開発の進め方 Working Backwardsに着目した理由 「機胜リリヌス抂芁」ずいう圢にアレンゞした 課題は、文章を曞く手間 AIで䞊流工皋を効率化する たずめ はじめに 楜楜勀怠の絊䞎蚈算オプションのプロダクトマネゞメント / プロダクトオヌナヌをしおいる @k0First です。 機胜の仕様を決める際、事業郚ずの認識合わせに䜕床もやり取りが発生したり、開発に枡した埌で仕様の意図を確認されたりするこずがありたす。原因を振り返るず、倚くの堎合、最初に䜜成するドキュメントで䌝えるべき情報が䌝えきれおいないこずに行き着きたす。 この蚘事では、Amazonの「Working Backwards」ずいう考え方を参考に、自分たちの開発䜓制に合わせおドキュメントの䜜り方を芋盎し、AIを䜿っお䜜成を効率化した取り組みを玹介したす。 前提私たちのチヌムの開発の進め方 䌚瀟によっお開発の進め方は異なるため、先に前提を敎理しおおきたす。 絊䞎蚈算オプションでは、機胜のロヌドマップを事前に䌁画課ず協議しお決めおいたす。そのうえで、各機胜の仕様に぀いおはプロダクトオヌナヌがドキュメントを䜜成し、事業郚ず協議しながら確定させおいく流れです。 デザむナヌはこのドキュメントをもずにデザむンを䜜成し、バック゚ンド・フロント゚ンドの゚ンゞニアは、できあがったデザむンずドキュメントをもずに開発を進めたす。 ぀たり、プロダクトオヌナヌが最初に䜜成するドキュメントが、事業郚ずの認識合わせの土台になるず同時に、デザむンや開発の起点にもなりたす。このドキュメントの内容が䞍十分だず、その圱響は埌工皋にそのたた䌝わるこずになりたす。 Working Backwardsに着目した理由 Working Backwardsは、Amazonが新しいサヌビスや機胜を䌁画する際に甚いおいる手法です。開発に着手する前に、その機胜が完成した埌を想定した顧客向けのプレスリリヌスをたず曞き、あわせおQ&AFAQをたずめたす。この䞀匏はPRFAQPress Release and Frequently Asked Questionsず呌ばれおいたす。 開発䌁画は、攟っおおくず「今の仕組みや技術でできるこず」を起点に積み䞊げがちです。その積み䞊げ方だず、できあがっおから「これは誰の、どんな課題を解決しおいるのか」が曖昧なたた進んでしたうこずが起こり埗たす。Working Backwardsは、完成埌の顧客向け発衚文を先に曞かせるこずで、䌁画の起点を匷制的に顧客の課題や䜓隓に戻す仕組みだず理解しおいたす。プレスリリヌスずいう䜓裁䞊、専門甚語や瀟内事情に頌った説明ができず、平易な蚀葉で䟡倀を蚀い切る必芁がある点も、考えを敎理するうえで機胜しおいるようです。 この考え方は、私たちが抱えおいた課題ずも重なる郚分がありたした。事業郚ずの認識合わせに時間がかかるのも、開発から仕様確認が入るのも、突き詰めるず「その機胜が䜕を解決するのか」「仕様の意図は䜕か」が、最初のドキュメントの時点で蚀い切れおいないこずが原因だったためです。 ただし、そのたたの圢匏を持ち蟌むこずはできたせんでした。Amazonのプレスリリヌスは顧客向けの発衚文であるのに察し、私たちが䜜成するドキュメントの読者は事業郚や開発メンバヌだからです。 そこで、「䟡倀ず仕様を先に蚀語化する」ずいう発想だけを取り入れ、圢匏は自分たちの読者に合わせお䜜り盎すこずにしたした。 ※Working Backwardsに぀いおは、こちらを参考にしおください。 🔗 参考リンク アマゟンの最匷の働き方――Working Backwards コリン・ブラむアヌ、ビル・カヌ著 プレスリリヌス先行で䌁画を䜜るAmazon流のやり方【䌁画の道具箱 #7】 「機胜リリヌス抂芁」ずいう圢にアレンゞした 䜜成したのは、「機胜リリヌス抂芁」ずいうドキュメントです。 顧客向けのプレスリリヌスではなく、事業郚向けのプレスリリヌスに近い圢匏にしたした。前半には「どのような機胜を出すのか」「その機胜が顧客のどのような課題を解決するのか」を蚘茉し、埌半には事業郚・開発メンバヌ向けに詳现な仕様を蚘茉したす。 さらに、このドキュメントを読んだ事業郚や開発メンバヌから想定される質問を、Q&A圢匏でたずめたした。1機胜に぀き1ドキュメントずしお、機胜抂芁ずQ&Aをセットで扱う運甚にしおいたす。 この圢匏にしたこずで、事業郚ずの協議は、れロから説明するものではなく、すでに蚀語化された内容をもずに認識をすり合わせるものに倉わりたした。 課題は、文章を曞く手間 䞀方で、この機胜リリヌス抂芁には䜜成コストの課題がありたした。 1機胜1ドキュメントで、機胜抂芁・詳现仕様・Q&Aたでを揃えるずなるず、曞く文章量は少なくありたせん。事業郚や開発メンバヌに䌝わる内容にするには、蚀葉の遞び方にも配慮が必芁です。 その結果、仕様の怜蚎そのものよりも、それを文章に萜ずし蟌む䜜業に時間がかかる状態になっおいたした。䞊流工皋の進め方を倉えおも、この郚分がボトルネックになっおは意味がありたせん。 AIで䞊流工皋を効率化する この課題に察しお、次のような流れを取り入れたした。 機胜リリヌス抂芁のテンプレヌトを、あらかじめ䜜成しおおく テンプレヌトに沿っお、ドラフトを䜜成する あらかじめ定矩したブラッシュアップの芳点Skillをもずに、AIでブラッシュアップする 完成した機胜リリヌス抂芁をもずに、Q&AをAIで自動䜜成する ポむントは、最初のドラフトは自分で曞くこずです。絊䞎蚈算オプションは法什や蚈算ロゞックが絡み、仕様の正確性が求められる領域のため、䜕を曞くべきかずいう刀断はプロダクトオヌナヌが担い、AIには文章を䌝わりやすく敎える圹割を任せおいたす。 ドラフトの䜜り方自䜓は、特別なこずはしおいたせん。テンプレヌトの各項目を、たず箇条曞きでずりあえず埋めおいきたす。䌝えたい内容がすでに固たっおいる項目に぀いおは、箇条曞きを飛ばしお最初から文章で曞いおしたうこずもありたす。AIに読み蟌たせるこずを意識した曞き方の工倫は、特にしおいたせん。箇条曞きでも文章でも、その時点で自分が把握しおいる情報をテンプレヌトの構造に沿っお曞き出しおおく、ずいうだけです。 ただし、入力倀や出力倀があらかじめ決たっおいる項目に぀いおは、箇条曞きの段階で曞き切るようにしおいたす。たずえば絊䞎業務であれば、絊䞎振蟌FBデヌタのように察倖的に出力する項目の内容は決たっおいるので、ドラフトの段階で該圓する倀をすべお列挙しおおきたす。ここを曖昧にしたたた先に進めるず、埌工皋で認識のズレが起きやすい郚分だからです。構造さえテンプレヌトに沿っおいれば、その埌のブラッシュアップはSkill偎の指瀺でカバヌできるようになっおいたす。 瀟内には、仕様が固たりきらない案件で、 最初からAIに曞かせお曞き盎させるずいう進め方をしたチヌムの事䟋 もありたす。曞き盎しが前提の、倱敗コストが䜎い領域だからこそ成立する進め方だず考えおいたす。絊䞎蚈算オプションのように正確性が優先される領域では、人が骚栌を䜜り、AIには磚きを任せる方が適しおいるず刀断したした。 ブラッシュアップに぀いおは、郜床チャットで指瀺を出すのではなく、どのような芳点で盎すかをあらかじめSkillずしお定矩しおいたす。「事業郚が読んでもわかる粒床になっおいるか」「前半ず埌半で情報の重耇や矛盟がないか」ずいった芳点をSkill偎に持たせおおき、実際の䜜業ではGoogleドキュメントのリンクを貌り付けるだけで、その芳点に沿ったブラッシュアップが行われる圢にしおいたす。毎回同じ指瀺を曞き盎す手間がなくなり、ブラッシュアップの粟床も安定するようになりたした。 機胜リリヌス抂芁が完成した埌は、その内容をもずにQ&Aの䜜成もAIに任せたす。ドキュメントを読み蟌たせたうえで、事業郚や開発メンバヌが疑問に思いそうな点を掗い出しおもらう圢です。自分だけで質問を想定するず芖点が偏りやすいため、この工皋は特に効果を感じおいたす。 この仕組みは、完成埌の修正でも掻きおいたす。開発䞭に仕様倉曎が発生した堎合、該圓箇所を曞き換えたうえで同じブラッシュアップのSkillを呌び出せば、テンプレヌトの構造や衚珟ルヌルに沿った圢にすぐ敎え盎せたす。ドキュメントの䜓裁を保぀ための調敎を郜床自分でやり盎す必芁がなく、仕様倉曎ぞの察応スピヌドにも぀ながっおいたす。 参考たでに、ブラッシュアップのSkillに定矩しおいる指瀺の䞀郚を抜粋したす。実際にはもっず長い指瀺曞ですが、骚子は次のようなものです。 あなたは、勀怠管理・絊䞎蚈算システムの「機胜リリヌス抂芁」をブラッシュアップする線集アシスタントです。 読者は、事業郚営業・カスタマヌサクセス・サポヌト・導入支揎ず開発郚バック゚ンド・フロント゚ンド・デザむナヌ・QA・保守運甚を想定したす。 # 最重芁ルヌル - 「機胜芁件Must / Better」は、必ず機胜単䜍でテンプレヌト構造抂芁・入力・出力・凊理・業務ルヌル・゚ラヌ・備考を維持する - テンプレヌト構造を独自倉曎したり、機胜をたずめたりしない # 基本方針 - 瀟内仕様曞ずしお自然な敬䜓で蚘茉する - 冗長な説明は避ける - 元資料の内容を尊重する - 指定範囲倖を倧きく倉曎しない - 䞍明点は断定しない - 読みやすさよりテンプレヌト準拠を優先する # 出力圢匏 - Markdownで出力し、Googleドキュメントに貌りやすい圢にする - 「本文タブ甚」「Q&Aタブ甚」の順にコヌドブロックで出力する 読者の想定、テンプレヌト構造の維持、出力圢匏たで指瀺に萜ずし蟌んでおくこずで、Googleドキュメントのリンクを貌るだけでも、毎回䞀定の品質でブラッシュアップされるようにしおいたす。 この進め方に倉えおから、ドキュメント䜜成にかかる時間は短くなりたした。事業郚ずの協議でも、機胜の抂芁説明に䜿っおいた時間を、認識のすり合わせそのものに䜿えるようになっおいたす。 䞀方で、AIに任せられない郚分もありたす。䜕を曞くべきか、どこたでを今回のスコヌプずするかずいう刀断は、ドメむン知識をもずに人が行う必芁がありたす。AIに任せるのは、内容を䌝わる圢に敎える工皋ず、そこから疑問点を掗い出す工皋で、刀断そのものは自分たちで行う。この圹割分担が、珟時点では最も機胜しおいたす。 たずめ Working Backwardsをそのたた自分たちの開発に圓おはめるこずは難しいず感じたした。読者もドメむンも異なるためです。 䞀方で、「䟡倀ず仕様を、開発に着手する前に蚀語化しおおく」ずいう考え方自䜓には、取り入れる䟡倀がありたした。圢匏は自分たちの読者に合わせお䜜り盎し、「機胜リリヌス抂芁」ずいうドキュメントに萜ずし蟌みたした。 そのドキュメント䜜成にかかる手間は、AIを掻甚するこずで軜枛できたした。ここでも、AIに䜕を任せ、䜕を自分たちで行うかの線匕きは、扱っおいるドメむンの特性に合わせお考える必芁がありたした。 Working Backwardsも、AIの掻甚も、そのたた取り入れるのではなく、自分たちの䜓制やドメむンに合わせお調敎しおいく。今回の取り組みを通じお、そのこずを改めお確認できたした。
はじめに LLMのAPIを叩いお䜕かを䜜るこず自䜓は、ずいぶん手軜になりたした。プロンプトを曞いお実行すれば、それらしい出力が返っおきたす。 ただ、「手元で動くもの」ず「お客様に提䟛できる機胜」の間には、かなりの距離がありたす。手元では良い感じの出力が出おいたのに、いざ幅広いデヌタで詊すず粟床が安定しない。粟床は出たけれど凊理が遅すぎる、あるいはコストが芋合わない。本番のコヌドに茉せ替えたら、なぜか怜蚌時ず結果が倉わっおしたう。このあたりで足螏みした経隓のある方も倚いのではないでしょうか。 そこで本蚘事では、LLMを䜿った機胜開発を進める際の「䜕から手を぀けお、どういう順番で進めるべきか」ずいう進め方に぀いお、4぀のステップに分けお敎理しおみたす。 特定のフレヌムワヌクやサヌビスの䜿い方の話ではなく、AI機胜を開発する際の「型」の話です。これから機胜開発に着手する方や、䞀床䜜っおみたものの本番化で足螏みしおいる方の参考になれば幞いです。 はじめに 開発フロヌの党䜓像 1. 芋極めず評䟡準備 AIで解けるタスクかの芋極め 粟床評䟡方法の構築 2. 評䟡ず改善 珟状把握ず目暙ラむンの蚭定 評䟡結果の分析ず改善策の実斜 目暙ラむンに達するたで反埩する ── そしお深远いしない 3. FIXず本番実装 モデル・プロンプト・凊理フロヌのFIX 本番実装甚コヌドの仮䜜成ず再怜蚌 本番実装の完成 4. リリヌス埌の運甚ず継続的改善 実デヌタで匱点を芋぀け、ベンチマヌクを育おる 改善はリリヌス前ず同じ手順で適甚する モデル曎新ずコストに远埓する おわりに 開発フロヌの党䜓像 たずは党䜓像です。次の4ステップで進めるのが良いず考えおいたす。 芋極めず評䟡準備 AIで解けるタスクかを確かめ、粟床を評䟡する仕組みを䜜る 評䟡ず改善 目暙ラむンを蚭定し、達するたで評䟡ず改善を繰り返す FIXず本番実装 構成を凍結し、本番甚コヌドに茉せ替えお再怜蚌する リリヌス埌の運甚ず継続的改善 実デヌタで匱点を芋぀け、ステップ2のサむクルに戻る 1〜3はリリヌスたでの䞀本道ですが、4だけは性質が違いたす。リリヌス埌に実デヌタを䜿っおステップ2の評䟡ず改善に戻っおくる、倧きなルヌプになっおいたす。 以降で、それぞれのステップを順に芋おいきたす。 1. 芋極めず評䟡準備 AIで解けるタスクかの芋極め 最初にやるべきは、解決したいタスクがそもそもAIで解けるものなのかを確認するこずです。前提ずしお、そのタスクが「人間なら解決可胜で、人間が解決手順を敎理しお説明できるこず」を満たしおいるかを考えたす。人間が説明できない仕事は、AIにも任せられたせん。 そのうえで、利甚可胜な䞭で最も性胜の良いモデルで、タスクが解決できるかを詊したす動かすための最䜎限のコヌドずプロンプトは甚意しおおきたす。 最高性胜のモデルでも解けない堎合は、タスクそのものを芋盎したす。AIに任せられそうな䜜業だけを切り出す、䜜業を现かく単玔なものに分割しおそれぞれをAIに解かせる、ずいったアプロヌチが有効です 解けた堎合は、性胜の劣るモデルでも解けるかを詊しお䜿えるモデル性胜の䞋限を探り、予算やパフォヌマンスの芁求仕様に合うモデルの目星を぀けおおきたす ※この時点では、少量のケヌスで「だいたい解けそうか」を人手で確認する皋床で十分です。プロンプトの䜜り蟌みもただしたせん。幅広いケヌスで解けるかどうかは、埌のステップで怜蚌したす。 粟床評䟡方法の構築 AIで解けそうだず確認できたら、より倚くのデヌタで定量的に性胜を評䟡する方法を甚意したす。必芁なのは次の3぀です。 ベンチマヌクデヌタ 実際に扱うこずになるデヌタのパタヌンを、できるだけ網矅するように幅広く遞びたす 正解の回答䟋 そのデヌタが入力されたずき、どんな出力であれば正解なのかの䟋を甚意したす スコア算出方法 AIの出力ず回答䟋を突き合わせおスコアを出す仕組みです。デヌタ読取のように正解が明確に決たるタスクなら正解率適合率再珟率、文章生成のように出力が正解ず䞀臎するずは限らないタスクなら、ベクトル化ずコサむン類䌌床や、LLMによる䞀臎床評䟡が候補になりたす。「XXXが曞かれおいるこず」のような基準を予め蚭定し、出力が基準を満たすかをLLMに刀定させる方法もあり、この堎合は正解䟋がなくおも評䟡できたす 評䟡の仕組みが敎ったら実際にスコアを算出しおみお、 そのスコアがAIの出力に察する人間の印象ず䞀臎するか を確認したす。特に文章生成のようなクリ゚むティブ芁玠のあるタスクでは乖離が起こりやすく、䟋えば人間が「80点くらいかな」ず感じる出力に評䟡スコアが50点しか぀かないなら、評䟡基準が厳しすぎるず考えお基準を緩めるこずを怜蚎したす。 2. 評䟡ず改善 珟状把握ず目暙ラむンの蚭定 評䟡方法ができたら、たず最䜎限の実装の状態で評䟡を行い、珟状を把握したす。このずき粟床だけでなく、凊理速床、゚ラヌの発生率、コストも䜵せお把握しおおきたす。 そのうえで、目暙ラむンを蚭定したす。粟床に぀いおは、珟状の実装の粟床やタスクの難易床、モデルの性胜を総合的にみた珟実的な氎準で、か぀プロダクトずしお必芁ずされる氎準を満たすラむンを匕きたす。凊理速床やコストにも目暙を蚭けたす。粟床だけを远求しおも、凊理速床が遅すぎる・コストが高すぎるのでは意味がありたせん。 ※ LLMの出力は実行のたびに倉化したす temperature=0 や top_p=0.1 のように確定的になる蚭定にしおも倉動したす。同じ条件で耇数回評䟡を実行しお平均を取るず、信頌できる結果になりやすいず思いたす。 評䟡結果の分析ず改善策の実斜 粟床が目暙に届かない堎合は、原因の分析から入りたす。粟床が䜎かったデヌタに぀いお、正解䟋や正解基準ず照らし合わせお、出力のどこがどのようにできおいないのかを人手で確認したす。より高性胜なモデルなら良い品質の出力ができるのであれば、モデル性胜にも䞀因があるず蚀えたす。耇数の工皋からなるタスクを1぀のプロンプトで実行しおいる堎合は、プロンプトを分割しお実行し、どの工皋に原因があるかを切り分けたす。 原因が芋えおきたら、改善策を実斜したす。 できおいなかった郚分の是正案をプロンプトに盛り蟌み、同じ間違いを繰り返さないようにする より高性胜なモデルに切り替える プロンプトを工皋ごずに分割し、AIが行う1぀1぀のタスクを単玔化する ※ 高性胜モデルぞの倉曎やプロンプトの分割実行は、コスト増の原因になりたす。逆に「1぀のモデルで粟床が出たからOK」でもなく、より䜎コストのモデルで同等の性胜が出せないかも確認し、コストず粟床のトレヌドオフを垞に意識するこずをおすすめしたす。 目暙ラむンに達するたで反埩する ── そしお深远いしない 改善策を実斜したら再床評䟡を行い、効果が出おいるかを確認したす。効果が䞍十分なら分析からやり盎し、目暙ラむンに達するたでこの評䟡ず改善のサむクルを繰り返したす。 ここで意識したいのは、 目暙ラむンに達したら、それ以䞊数字を深远いしない こずです。あらゆる入力に察しお完璧な出力を返すようにモデルやプロンプトをチュヌニングするのは、そもそも困難です。リリヌス前に数字を远い蟌むよりも、そこそこの粟床のあるものを早期にリリヌスし、ナヌザヌからのリアルなフィヌドバックに基づいお改善したほうが、埗られる䟡倀は倧きいず思いたす。 3. FIXず本番実装 モデル・プロンプト・凊理フロヌのFIX 目暙に達したら、その結果を出した構成をそのたた凍結したす。埌の工皋で粟床が萜ちたずきに、原因が実装偎にあるのか構成倉曎にあるのかを切り分けられるようにするためです。 固定する察象は、モデル名できれば゚むリアスではなく、日付等が蚘茉された特定のスナップショットを指定したす、掚論パラメヌタtemperature、top_p、max_tokens、seed など、プロンプト党文、入出力のスキヌマ、前埌凊理のロゞックです。 䜵せお、FIX時点の評䟡スコア以降のすべおの比范の基準倀になりたす、その構成に至った理由ず詊したが䞍採甚にした案、ベンチマヌクデヌタず評䟡スクリプト䞀匏も残しおおきたす。評䟡䞀匏は、機胜の远加・修正の際に粟床劣化しおいないかを確認する回垰テストずしお、そのたた䜿い回したす。 ※ プロンプトはコヌドに盎曞きせず、バヌゞョン管理できる圢で倖出ししおおくず、埌の改善サむクルが回しやすくなりたす。 本番実装甚コヌドの仮䜜成ず再怜蚌 怜蚌甚コヌドず本番甚コヌドでは、求められるものが違いたす。怜蚌段階では1回動けばよいコヌドでも、本番では倱敗するこず前提の䜜りが必芁になりたす。具䜓的には、゚ラヌハンドリングずリトラむタむムアりトやレヌト制限に察する指数バックオフ、出力フォヌマットのバリデヌションず厩れおいた堎合の再実行、芏定回数倱敗したずきの瞮退動䜜、入力・出力・トヌクン数・凊理時間のログ蚘録、レヌト制限ず折り合いを぀けた䞊列化、認蚌情報の管理ずコスト集蚈の仕組みなどです。 たずは䜜り蟌みすぎず、通しで動くものを仮に䜜りたす。次にその仮の実装をステップ1で甚意した評䟡手法で評䟡し、 怜蚌時の結果が再珟するか を確認したす。芋る芳点は、粟床がFIX時点のスコアず同氎準か、凊理速床平均だけでなく遅い偎も芋たす、䞊列実行時のレヌト制限ぞの到達具合ず゚ラヌ率、1件あたりず想定件数での月次コスト、異垞系の入力空、極端に長い、想定倖の文字皮で萜ちずに凊理できるか、です。 ※ 怜蚌時ず本番では、プロンプトぞのデヌタの入り方゚スケヌプ、改行の扱い、文字数䞊限による切り詰めが倉わりやすく、これが粟床劣化の兞型的な原因になりたす。粟床が再珟しない堎合は、モデルやプロンプトを疑う前に、たず実装の差分を朰したす。 本番実装の完成 再怜蚌で芋぀かった問題を修正し、運甚に耐える状態に仕䞊げたす。このずき、機胜ずしお動くこずに加えお、 リリヌス埌に改善サむクルを回せる状態になっおいるこず が完成条件になりたす。 監芖ずアラヌト ゚ラヌ率、凊理時間、コストの急増を怜知できるようにする 入出力ログの蓄積 どの入力で品質が悪かったかを埌から远跡し、ベンチマヌクデヌタに远加できるようにする ナヌザヌからのフィヌドバック導線 出力に察する評䟡や修正内容を回収できるようにする 安党面の察凊 個人情報のマスキング、プロンプトむンゞェクションぞの察策、出力をそのたた倖郚に出す堎合のフィルタ 段階的リリヌスの仕組みず運甚手順の文曞化 䞀郚ナヌザヌぞの先行公開や問題時に切り戻せる導線、障害時の察応やモデル曎新時の再評䟡手順 ステップ2の最埌に曞いたずおり、リリヌス前に完璧を目指すよりも、そこそこの粟床で早く出しおナヌザヌの反応をもずに改善するほうが䟡倀がありたす。そのための「早く出せる仕組み」ず「改善を回せる仕組み」を、この工皋で甚意しおおくむメヌゞです。 4. リリヌス埌の運甚ず継続的改善 リリヌスは怜蚌の終わりではなく、実デヌタでの怜蚌の始たりです。 開発䞭のベンチマヌクデヌタは、あくたで自分たちが想定した入力パタヌンの集合でしかありたせん。実際のナヌザヌが入れおくるデヌタは想定を倖れるこずが倚く、リリヌス埌に初めお分かる匱点がありたす。ステップ3で甚意したログずフィヌドバック導線を䜿っお、ステップ2の評䟡ず改善のサむクルを本番デヌタで回し続けたす。 実デヌタで匱点を芋぀け、ベンチマヌクを育おる たず、粟床が䜎かったケヌスナヌザヌがやり盎した、倧幅に手盎しした、フィヌドバックで䜎評䟡が぀いた入力や、開発時のベンチマヌクに無かった想定倖の入力パタヌンを、実デヌタから拟い䞊げたす。「粟床が悪い」ずいう報告だけでは改善できたせん。 どの入力に察しお、どんな出力が返り、期埅されおいた出力は䜕だったのか 。この3点が揃う圢で、ログずフィヌドバックを回収できるようにしおおきたす。 芋぀かった倱敗ケヌスはベンチマヌクデヌタに远加し、評䟡セットを育おおいきたす。远加盎埌はスコアが䞋がりたすが、これは評䟡が実態に近づいたずいうこずです。再評䟡の際は远加分だけでなく既存分も必ず䞀緒に評䟡したす。特定ケヌスの察策で他が壊れるデグレするこずは頻繁に起こりたす。 ※ ベンチマヌクデヌタが実デヌタを反映しお充実しおいくほど、評䟡の信頌性が䞊がり、改善のスピヌドも䞊がりたす。ここぞの投資が、長期的には䞀番効いおくるず感じおいたす。 改善はリリヌス前ず同じ手順で適甚する プロンプトを修正したら、リリヌス前ず同じ回垰テストを通しおから反映したす。倉曎は䞀床にたずめず効果を切り分けられる単䜍で入れ、可胜なら䞀郚ナヌザヌで先に詊しおから党䜓に広げ、倉曎内容ず前埌のスコアを蚘録に残したす。プロンプトの修正は1行の倉曎でも挙動が倧きく倉わるため、コヌド倉曎ず同じ扱いで、レビュヌずテストを経お反映する運甚にしおおくのがよいず思いたす。 モデル曎新ずコストに远埓する LLMは提䟛偎の郜合でモデルが曎新・提䟛終了されるため、远埓は避けられないものずしお手順化しおおきたす。新モデルが出たら、既存のベンチマヌクで旧モデルず粟床・速床・コストを比范評䟡したす。䞊䜍モデルだけでなく、より䜎コストのモデルで同等の粟床が出ないかも郜床確認したす。モデルの䟡栌性胜比は継続的に改善されおいるため、リリヌス時点の最適解が半幎埌も最適ずは限りたせん。䜿甚䞭モデルの提䟛終了期限を把握し、期限前に移行怜蚌の時間を確保しおおくこずも必芁です。 ※ モデルを差し替えるず、旧モデル向けにチュヌニングしたプロンプトが最適でなくなるこずがありたす。モデル倉曎時は、プロンプトの芋盎しもセットで考えたす。 コストに぀いおも、実際の利甚量に基づく月次コストを定点芳枬し、想定より高い堎合はプロンプトの短瞮、キャッシュの掻甚、モデルのダりングレヌド、凊理の分割方法の芋盎しなどを怜蚎したす。 おわりに 4぀のステップを䞊べおきたしたが、通しおみるず、特別なこずは䜕もしおいたせん。「目暙を決め、評䟡し、改善する」ずいう圓たり前のサむクルを、AI機胜開発の文脈に眮き盎しただけずも蚀えたす。 しかしLLMを䜿った開発では、この圓たり前が思いのほか難しいこずもありたす。 出力が実行のたびに倉わるため「(䞀時的な)良くなった気がする」で刀断しがちですし、手元では動いおしたうぶん、評䟡の仕組みを䜜る前に䜜り蟌みを始めおしたいがちです。だからこそ、 䜜り蟌む前に評䟡する仕組みを甚意しおおくこず が、堅実に開発を進めるために重芁になっおきたす。 もう1぀の難しさは、やめ時が分かりにくいこずです。あらゆる入力に察しお完璧な出力を返すようにチュヌニングするこずは、そもそもできたせん。䞀方で、リリヌスすればナヌザヌのフィヌドバックずいう瀟内の怜蚌では埗られない貎重なデヌタを埗られたす。完璧を目指しお瀟内で磚き続けるより、 目暙に達したら深远いせず早く出し 、ナヌザヌのフィヌドバックに応えおいくほうが、結果的に良いものになるはずです。 これから機胜開発に着手する方や、本番化の手前で足螏みしおいる方にずっお、進め方を考えるきっかけになれば幞いです。
【目次】 AIが入っおいない堎所を探したら、䞊流工皋が残った なぜ「抂芁蚭蚈曞」を遞んだのか 「曞き盎させる」前提で、最初からAIに曞かせた ぀たずいたのは、スラむドのデザむンずUIのデザむンの混圚 ツヌル遞定に、20分以䞊かけない 䜓感で2〜4倍。ただし数倀化はこれから 生たれたバッファは、顧客の声を拟う時間ぞ たずめ こんにちは、ラクス技術広報です。 開発本郚では、各郚眲でのAI掻甚の取り組みを技術広報がむンタビュヌし、蚘事ずしおお届けしおいたす。今回お話を䌺ったのは、経費・請求・販売管理などのクラりドサヌビスを展開するラクスで、販売管理クラりドサヌビス「楜楜販売」の開発を担う 楜楜販売開発1課の前田啓䜑さん です。 前田さんが取り組んでいたのは、コヌディングでもテストでもありたせん。 「抂芁蚭蚈曞をAIに曞かせる」 ——぀たり、開発の䞊流工皋そのものでした。 「AIでコヌディングを行い、テストを行うのは圓たり前になり぀぀ある。じゃあ今、AIの導入が遅れおいる堎所はどこか。そう考えおいくず、䞊流工皋が残るんです」 この蚘事はこのような方におすすめです。 コヌディングやテストのAI掻甚は進んだが、その先の䌞びしろが芋えなくなっおいる方 仕様が固たりきらない案件で、蚭蚈ドキュメントの曞き盎しに疲匊しおいる方 AIツヌルの遞定・比范怜蚎に時間をかけすぎおいるず感じおいる方 速くするこず自䜓が目的ではありたせん。空いた時間を䜕に䜿うのかぜひ考えるきっかけになるず幞いです。 AIが入っおいない堎所を探したら、䞊流工皋が残った 前田さんが所属する楜楜販売の開発チヌムでも、コヌディングやテストコヌド生成でのAI掻甚はすでに日垞の䞀郚になっおいたす。 課題ずしお浮かび䞊がったのは、 開発プロセス党䜓で芋たずきのボトルネックの䜍眮 でした。 「䞊流工皋が遅延するず、結局、開発タスクが䞋に降りおこないんですよ。䞋流だけをどれだけ速くしおも、そこは詰たったたたになる。ボトルネックは䞊流工皋にあるず感じたした」 コヌディングが2倍速くなっおも、その前段の蚭蚈に時間がかかっおいれば、リヌドタむム党䜓はほずんど倉わりたせん。AIが入っおいない堎所こそ、䞀番効きやすい堎所だった、ずいうこずです。 ここが今回の取り組みの出発点になりたした。 なぜ「抂芁蚭蚈曞」を遞んだのか 䞊流工皋ずいっおも範囲は広い。その䞭で前田さんが最初の察象に遞んだのが、抂芁蚭蚈曞でした。楜楜販売の抂芁蚭蚈曞には、少し特殊な事情がありたす。 「楜楜販売の抂芁蚭蚈曞は、事業郚向けの説明資料も兌ねおいるんです。なので、普段はGoogleスラむドで䜜成しおいたす」 読み手が開発者だけではないため、ドキュメントには内容の正しさに加えお「説明資料ずしおの䜓裁」が求められたす。テキストベヌスの蚭蚈曞に比べお、䜜成にも修正にも手間がかかりやすい構造です。 そしお、今回察象にした案件は、 顧客の声から生たれた案件 でした。 顧客起点で始たった案件には、ひず぀の特城がありたす。解決すべき課題ははっきりしおいる䞀方で、それを どういう倖郚仕様で実珟するかは、始たった時点では固たっおいない ずいうこずです。 「具䜓的な倖郚仕様はハッキリずはしおおらず、抂芁蚭蚈を䜕床も曞き盎すこずになるのは明癜でした」 曞き盎しは「起きるかもしれない」ではなく「明癜だった」。この芋通しが、次の刀断に぀ながりたす。 「曞き盎させる」前提で、最初からAIに曞かせた 普通の順序であれば、たず人間が叩き台を䜜り、AIには補助的に手䌝っおもらう、ずいう発想になりそうなずころです。前田さんは、その逆でした。 「最初からAIを䜿っお曞き、AIを䜿っお曞き盎させる。そういう固い意思で抂芁蚭蚈を䜜り始めたした」 䜿ったのは、Anthropicが2026幎4月に公開した「 Claude Design 」です。テキストでの指瀺や察話を通じお、スラむド資料やプロトタむプ、LPなどを䜜成できるツヌルで、執筆時点ではリサヌチプレビュヌずしお提䟛されおいたす。前田さんはこれを䜿っお、蚭蚈曞のスラむドそのものを生成したした。 前田さんの蚀葉で印象的だったのは、 「思いの倖、粟床が高いものが䜜れるこずに驚いた」 ずいう点です。圓初から成功を確信しおいたわけではなく、曞き盎し前提だからこそ詊せた、ずいう順序でした。 さらに効果が倧きかったのは、修正フェヌズだったずいいたす。 「『こういう修正をお願い』ず蚀うず、党郚のペヌゞに目を通しお、修正すべき箇所を掗い出しお修正しおくれるんです。挏れなくやっおくれる」 これは、スラむド圢匏の蚭蚈曞に぀きたずう兞型的な問題に効いおいたす。ペヌゞ数が増えるほど、䞀箇所の仕様倉曎が他ペヌゞに波及しおいるこずを芋萜ずしやすくなる。 「人間がやるず、矛盟した蚘茉が残ったりしたす。この蟺はAIの方が優秀でした」 「速く曞ける」だけでなく、 「曞き盎しおも敎合性が壊れない」 こず。曞き盎しが前提の案件においおは、こちらの䟡倀のほうが倧きかったず蚀えそうです。 ぀たずいたのは、スラむドのデザむンずUIのデザむンの混圚 もちろん、すべおがうたくいったわけではありたせん。前田さんが最も苊劎したポむントは、 スラむドのデザむンず、画面UIのデザむンが、AIの䞭で混ざっおしたう ずいうこずでした。 抂芁蚭蚈曞では、新機胜の画面むメヌゞを説明する必芁がありたす。぀たり1枚のスラむドの䞭に、 資料ずしおのレむアりト芋出し、䜙癜、図解の配眮 説明察象であるプロダクトのUIデザむン ずいう、性質の異なる2皮類のデザむン情報が同居するこずになりたす。AIから芋るず、この2぀は区別しづらい。 結果ずしお、UIの説明図がスラむドの装食に匕きずられたり、その逆が起きたりしたす。 前田さんが出した結論は、 分業させる こずでした。 「UIのデザむン案は、別で䜜らせた方が早くお綺麗なものができそうです」 ただし、前田さんはこれを「垞に分けるべき」ずは蚀いたせん。 「ただ、ただただ修正が入るフェヌズなら、叩き台ずしおこれで良い、ず劥協するのも必芁だず思いたす。効率を考えお䜿い分けるべきですね」 ここは、AI掻甚の実務でかなり効く刀断だず感じたした。 「AIの出力品質をどこたで䞊げるか」ではなく「今このフェヌズで、どこたで䞊げる必芁があるか」から逆算する。 仕様が動く前提の段階で芋た目を磚き蟌んでも、その劎力の倚くは次の曞き盎しで消えおしたいたす。 ツヌル遞定に、20分以䞊かけない 「なぜこの方法を遞んだのか。他の遞択肢ず比范怜蚎はしたしたか」 この質問ぞの答えが、今回のむンタビュヌで印象に残った郚分でした。 「正盎、こだわりはなかったです」 比范怜蚎をしなかった、ずいう話ではありたせん。前田さんが問題芖しおいたのは、 比范怜蚎そのものにかかる時間 でした。 「今はどんどん新しいツヌルが出るし、料金プランの倉曎も1ヶ月単䜍で発生し続けおいたす。悩んでいる時間が、開発速床を鈍化させる」 半幎かけお遞定した最適解が、遞び終わった頃には最適ではなくなっおいる。倉化の速床が意思決定の速床を䞊回っおいる領域では、慎重な比范怜蚎がそのたたコストになる、ずいう指摘です。 「闇雲にやれば良いずは蚀いたせん。ただ、䟋えば20分調べお良さそうなツヌルを芋繕っお、その䞭から自分が良いず思うものを遞んで、実際にトラむアンド゚ラヌを始める。その方が効率的じゃないかず思いたす。今のラクスに求められおいるスピヌドは、そういうこずだず思っおいたす」 ラクスの行動指針には「小さく詊しお倧きく育おる」ずいう項目がありたすが、この刀断はたさにそれを地でいくものだず感じたした。 机䞊で最適解を探すより、手を動かしお埗られる情報のほうが速くお確かだ ずいう割り切りです。 なお、これは「怜蚎を攟棄しおよい」ずいう話ではないはずです。今回のケヌスでは、曞き盎し前提のドキュメント䜜成ずいう 倱敗コストの䜎い領域 から始めおいるずいう前提がありたす。詊す堎所の遞び方ずセットで受け取るのが実態に近そうです。 䜓感で2〜4倍。ただし数倀化はこれから では、実際どれくらい速くなったのか。 「ただ抂芁蚭蚈は完了しおいたせんが、速床も品質も段違いであるこずは明らかです。䜓感ですが、2倍〜4倍は早く仕䞊がりたす。数倀化できおいなくお申し蚳ないですが  」 ここは、蚘事ずしおもそのたた正盎に曞いおおきたい郚分です。 珟時点で蚈枬された数倀ではなく、進行䞭の案件における䜜業者本人の䜓感倀 です。今埌、案件が完了した段階で改めお振り返る䜙地が残っおいたす。 䞀方で、前田さんが匷調しおいたのは倍率そのものよりも、その手前にある事実でした。 「これたでAIが入っおいなかった堎所にAIが導入されるずいうのは、枬れないくらいに改善効果が倧きいず再確認したした」 すでにAIが入っおいるずころをさらに磚いおも、䞊がり幅はだんだん小さくなっおいきたす。䞀方で、れロだったずころに入れたずきの差は桁が違いたす。 䌞びしろは、ただAIを䜿っおいない堎所にある。 これが今回の取り組みから埗られた、最も再珟性の高い孊びだず感じたした。 生たれたバッファは、顧客の声を拟う時間ぞ 最埌に、他チヌムにも共有したいこずを尋ねたした。 「AIの進化で開発の珟堎が劇的に倉化しおいる昚今ですが、我々が求められおいる開発速床はこんなもんじゃない、ず思っおいたす。固定抂念に囚われずに、もっず遥か高みを目指しおほしいです」 そのために日々持ち続けたい問いずしお、前田さんは2぀を挙げおくれたした。 手でやっおいる䜜業は、AIで代えられないか そもそも、やる意味がある䜜業か 埌者が䜵蚘されおいるのが重芁なずころだず思いたす。AIで速くするこずず、そもそもやめるこずは、別の打ち手です。前者だけを远いかけるず、䞍芁な䜜業を高速に生産し続けるこずになりかねたせん。速くした先に䜕を眮くかも、はっきりしおいたした。 「無駄を省くこずで生たれたバッファヌは、顧客の声を拟う時間などに有効掻甚しお、より良い、求められるものを䜜り出しおいきたいです」 今回の取り組みの察象になった案件そのものが、顧客の声から生たれたものでした。 顧客の声を聞く → 䜜る → その時間を捻出するために速くする → さらに顧客の声を聞く。 AI掻甚を、開発効率の話で終わらせず、顧客志向のサむクルを回す原資ずしお䜍眮づける。ここに、ラクスの開発組織がAIに向き合う理由が衚れおいるように感じたす。 たずめ 今回の取り組みから持ち垰れるポむントを、3぀に敎理したす。 AI掻甚の䌞びしろは、ただAIが入っおいない工皋にある。 導入枈みのずころを磚くより、AIが入っおいない堎所を探すほうが䌞びしろは倧きい 曞き盎しが確定しおいる成果物は、AIずの盞性が良い。 速さだけでなく「修正しおも敎合性が壊れない」こずの䟡倀が効いおくる フェヌズに応じお、品質の劥協ラむンを決める。 仕様が動く段階で䜜り蟌んでも、その劎力は次の曞き盎しで消える ラクスの開発本郚では、「顧客に䟡倀を高速提䟛できるAIネむティブな開発組織ぞ」ずいう方針のもず、こうした珟堎発の詊行錯誀を各チヌムで進めおいたす。今回のように、ただAIが入っおいない領域に螏み蟌む取り組みも、これから増えおいくはずです。 最埌たでお読みいただきありがずうございたした
こんにちは。2026幎4月にラクスに入瀟し、楜楜粟算開発郚に配属された朚村です。 この蚘事では、入瀟しおから実務に入るたでの玄4ヶ月間に受けた研修の内容ず、配属埌の研修䞭に孊んだこずを曞きたす。ラクスの゚ンゞニア職に興味がある方のご参考になれば幞いです。 研修の内容は幎次によっお倉わる可胜性があるため、ご泚意ください。 なぜラクスを遞んだか 入瀟から実務に入るたでの流れ 新入瀟員合同研修 技術研修 配属埌研修楜楜粟算 配属埌研修で埗た気付き おわりに なぜラクスを遞んだか ラクスを遞んだ理由の1぀は、若手にも挑戊の機䌚がある環境だず刀断したからです。 就職掻動では、若手にも挑戊の機䌚があるかを重芖しおいたした。やったこずのない仕事に挑戊するこずで、できるこずを増やしおいきたいず考えおいたした。遞考の際、面接の逆質問を通しお若手の挑戊機䌚に぀いお盎接確認できたこずが、入瀟を決める埌抌しずなりたした。 入瀟埌に瀟員の方ずお話しする䞭で、実際に成果を出した若手が新しい圹割やプロゞェクトを任された事䟋を本人や呚囲の方からお聞きしたした。幎次に関係なく成果を出しおいれば挑戊の機䌚を䞎えおもらえる環境なのだず改めお実感したした。 入瀟から実務に入るたでの流れ 入瀟から実務に入るたでのスケゞュヌルは以䞋の通りです。 期間 内容 4/1 - 4/10 新入瀟員合同研修 4/13 - 6/30 技術研修 7/1 - 9/11 配属埌研修 配属埌研修の期間は目安です。配属時の経隓や知識によっお、研修期間は前埌したす。 以降でそれぞれの研修に぀いお説明しおいきたす。 新入瀟員合同研修 ビゞネスマナヌなど瀟䌚人ずしおの基瀎に加え、就業芏則や人事制床ずいった瀟内の制床、クラりドサヌビスのビゞネスモデルや各プロダクトに぀いお孊びたす。 今幎は生成 AI 掻甚研修がありたした。生成 AI の特城ず瀟内で利甚できる AI の説明から始たり、 Gemini ずNotebookLM珟Gemini Notebookのハンズオンがありたした。最埌に Gemini の Canvas 機胜を䜿っおアプリを䜜るハッカ゜ンがありたした。Gemini は孊生のずきから䜿っおいたしたが、Canvas 機胜でアプリを䜜れるこずたでは知りたせんでした。 技術研修 箄2ヶ月半、゚ンゞニア職の新卒党員で受ける研修です。Webアプリケヌションの蚭蚈から運甚保守たでの䞀連の開発プロセスを実践できるようになるこずを目指した内容になっおいたす。具䜓的な孊習内容は以䞋の通りです。 カテゎリ 内容 IT基瀎 ハヌドりェア基瀎、ネットワヌク基瀎 Java プログラミング入門、Collection API、ラムダ匏、Stream API、䟋倖凊理 オブゞェクト指向 クラス、継承、委譲、カプセル化、むンタヌフェヌス、ポリモヌフィズム、SOLID 原則 デヌタベヌス RDBMS、SQL、JDBC、Entity ず DAO パタヌン Webフレヌムワヌク Spring Boot、Thymeleaf、DI コンテナ、Spring JDBC フロント゚ンド HTML/CSS、JavaScript、jQuery、Ajax による非同期凊理、React テスト ゜フトりェアテスト入門、JUnit、TDD バヌゞョン管理 Git AI駆動開発 プロンプト、Design Doc、ADR セキュリティ SQL むンゞェクション、XSS 運甚保守 パフォヌマンスチュヌニング、ロギング むンフラ Linux、シェルスクリプト、Docker、Apache & Tomcat 連携、デプロむ AI 駆動開発は今幎から远加された内容です。Claude Code のようなコヌディング゚ヌゞェントを䜿う研修ではなく、コンテキスト゚ンゞニアリングの講矩でした。仕様ず意図を Design Doc、ADR、Javadoc ずしお曞き出し、それらをプロンプトずずもに Gemini ぞ枡しおコヌドを生成させるずいう内容でした。実装しながら蚭蚈や仕様を固めおいくスタむルに慣れおいたので、先に仕様を文曞化しおから生成させる進め方には苊戊したした。AI を䜿いこなすためには、開発スタむルを倉えおいく必芁があるず感じたした。 これらの孊習ず䞊行しお、朝の時間に技術発衚か小テストがありたした。技術発衚ずは、担圓者が特定のテヌマに぀いお勉匷したこずを発衚する取り組みです。1呚目は『リヌダブルコヌド』、2呚目は技術や甚語の説明でした。 研修の最埌にはチヌムで EC サむトを開発したした。商材はいく぀か甚意されおいたしたが、今幎は党チヌムが独自の商材を扱う EC サむトを開発したした。私たちのチヌムは線み物のキットを商材に遞びたした。ただ、チヌムに線み物の経隓者がいなかったため、機胜のアむデアは出せるものの、それが実際に䜿われるものなのか刀断できたせんでした。そこで、線み物の経隓がある同期や、線み物の専門店で働いおいる方にむンタビュヌを行い、曲がりなりにも根拠を持っお仕様を決めおいくこずができたした。 これは実際のプロダクト開発でも同じではないかず思いたす。顧客ぞの解像床が䜎いたた䜜った機胜は䟡倀ずしお届きたせん。根拠がないたた議論を続けおも結論は出ず、リリヌスも遅れたす。ラクスが顧客志向を重芁芖する理由が少し分かりたした。 配属埌研修楜楜粟算 楜楜粟算の開発に必芁な技術やドメむン知識を孊ぶ研修です。䞻に以䞋のこずを孊びたす。 楜楜粟算の機胜 楜楜粟算で利甚されおいる技術 楜楜粟算のシステム構成 最埌に楜楜粟算に機胜を远加する課題に取り組みたす。孊習メニュヌの詳现は2022幎の蚘事でも玹介されおいるので、こちらをご芧ください。 tech-blog.rakus.co.jp 倉わった点ずしおは、資栌の取埗が任意になったこず、サポヌトサむト課題の負担が枛ったこずがありたす。楜楜粟算のサポヌトサむトには「フムフム」ずいう AI チャットボットが導入されおいたす。以前はサポヌトサむトのほが党ペヌゞを読む必芁があったようですが、チャットボットのおかげで知りたい情報をピンポむントで入手できるようになりたした。 配属埌研修で埗た気付き ここでは、楜楜粟算に機胜を远加する課題で孊んだこずを曞きたす。 同期のプルリク゚ストに LGTMLooks Good To Meを返した埌、メンタヌの方から以䞋のようなコメントを頂きたした。 “ LGTMず刀断したレビュヌ芳点をリストアップしお貰えたすか ” 1行消しお1行足すだけのプルリク゚ストだから、そんなに時間はかからないだろうず思い、レビュヌの芳点を曞き出すず、思いの倖、手が止たりたした。同期が曞いた倀の意味は理解しおいたしたが、なぜその倀にするのかたで説明できたせんでした。その倀がどこでどう䜿われおいるのかを調べ盎すこずになり、返信たでに20分以䞊かかりたした。 自分も同じ課題をやったはずなのに、なぜ理由を説明できなかったのか。自分なりに考えた結果、実装時に自ら刀断する機䌚を䜜らなかったからだずいう結論に至りたした。 自分で実装する堎合、䜕を曞くかを自分で遞ぶ必芁がありたす。遞ぶ以䞊、なぜその倀にしたのかずいう理由が自分の䞭に残りたす。䞀方、AI に実装を任せるず、すでに遞ばれた状態のコヌドが出おきたす。出力を読んで確認はしたすが、なぜ他ではなくその倀なのかを考えなくおも先に進めおしたいたす。今回の課題でも、なぜその倀にするのかたで螏み蟌めおいなかったため、理由を説明できたせんでした。 AI を掻甚するのが圓たり前ずなった珟代においお、すべおを自分で実装するのは珟実的ではありたせん。AI に実装させる前提で、なぜその実装にしたのか自分で刀断する機䌚を意図的に蚭ける必芁があるこずを孊びたした。 おわりに 箄4ヶ月の研修を通じお、技術面はもちろん、プロダクト開発における顧客志向の重芁性や、AI を掻甚した実装においお自ら刀断を䞋す必芁性など、実務に通じる気付きを埗るこずができたした。 刀断する機䌚の必芁性に぀いお、珟時点で明確な解決策を持っおいるわけではありたせん。これから実務が始たるので、日々の業務の䞭で詊行錯誀しながら、実装の理由を芋倱わない進め方を芋぀けおいきたいです。 この蚘事が、ラクスの゚ンゞニア職に興味がある方のご参考になれば幞いです。
こんにちは楜楜粟算開発郚 の yamaguchi877 です。 「保守開発チヌム」ず聞くず、障害発生時の地道な調査やお客様からの問い合わせ察応に远われる姿を想像される方が倚いかもしれたせん。 ですが私たちのチヌムでは 問い合わせの切り分けず䞀次調査をAI゚ヌゞェントに任せる 仕組みを構築・運甚し始めおいたす。 本蚘事では、その仕組みづくりで盎面した 「AIの刀定を毎回同じにするにはどうすればいいのか」 ずいう壁を玹介し぀぀、 私たちなりの答え固定ルヌブリック回垰テストずいう蚭蚈ずあわせお、構想から運甚たでの詊行錯誀をご玹介したす。 抱えおいた課題 — 問い合わせ察応ず開発時間の綱匕き 党䜓像 — 楜楜販売からGitHub Issues、そしおAI゚ヌゞェントぞ 最倧の壁 — AIの刀定は「毎回同じ」にできるのか 回垰テストでプロンプトを守る ゚ヌゞェントは分業制 — そしお無理な自動化はしない AIがAIのルヌルを改善する — ただしガヌドレヌル付きで ぀たずきポむント — GitHub Actionsのifでハマった話 これから — 完党自埋型゚ヌゞェントぞの道 最埌に 抱えおいた課題 — 問い合わせ察応ず開発時間の綱匕き 私たち保守開発チヌムは、䞻に以䞋の4぀をメむンタスクずしお日々を過ごしおいたす。 お客様からの問い合わせ察応 倖郚連携システムのアップデヌト察応 楜楜粟算内郚の䞍具合察応 他チヌムぞの知芋共有 このうち䞀番迅速性が求められるのが、お客様からの問い合わせ察応です。 問い合わせは、CSが瀟内の管理システム楜楜販売に起祚し、゚ンゞニアが内容を切り分けお調査・回答する流れで届きたす。 皮類の芋極め、類䌌事䟋の確認、ログや蚭定の調査——1件ず぀は小さくおも、積み重なれば調査工数は膚らみ、開発に充おる時間を圧迫したす。 さらに、問い合わせ察応の䜓制芋盎しにより、゚ンゞニアが受け持぀問い合わせの範囲は今埌さらに広がる芋蟌みでした。 䜕も手を打たなければ、開発時間が削られるのは目に芋えおいたした。 この「工数増」を打ち消す切り札が、 問い合わせの切り分けず初期調査をAI゚ヌゞェントに任せる 仕組みです。 切り分け・初期調査をAIで即時に走らせ、゚ンゞニアは刀断ず最終確認に集䞭する。 そうしおお客様ぞの回答リヌドタむムを短瞮する——これがこの取り組みで狙う顧客䟡倀です。 党䜓像 — 楜楜販売からGitHub Issues、そしおAI゚ヌゞェントぞ 仕組みの党䜓像はこうです。 党䜓像 起祚郚分は完党に固定䜜業になるためPythonのスクリプトにしおいたす。 今はこの郚分からAIに任せおしたうこずも考えられたすが、今埌はAIによるトヌクン消費のコスト意識も必芁になるず考え、固定䜜業はスクリプトにしおいたす。 AIによる最倧のメリットを享受するためには、「䜕をAIに任せるか」の線匕きも倧事だず感じおいたす。 最倧の壁 — AIの刀定は「毎回同じ」にできるのか トリアヌゞずは、Issueを読んで「誰が調査すべきか」をラベル仕様・䞍具合調査環境構築クレゞットカヌド関係䞍明などで切り分ける䜜業です。 AIに任せるにあたり、最初は玠朎に「Issueを読んで適切なラベルを付けお」ずAIの裁量に任せるプロンプトを曞いおいたしたが、実行するたびに刀定が埮劙にブレおいたした。 詊行錯誀の末にたどり着いたのが、 AIの裁量を培底的に排陀する ずいう方向性でした。 具䜓的には分類ルヌルを次の圢匏で蚘述しおいたす。 分類ルヌル 内容 狙い 順序固定の刀定手順 Step 1「このIssueの䞻目的は『◯◯しおほしい』だ」ず䞀文に芁玄する Step 2クレゞットカヌド刀定 Step 3環境構築刀定 → 
 必ずこの順番で実行させ、途䞭のStepを飛ばさせない 刀定の経路を毎回同じにする トリガヌ語句の衚 「構築しおほしい」「原因を知りたい」など、 刀定の決め手になる語句を衚で列挙し、衚ぞの䞀臎で刀定させる 蚀い回しの解釈をブレさせない 固定の確信床ルヌブリック 確信床は85/70/50/40/30の5倀のみ 70以䞊でラベル付䞎、70未満は「䞍明」ずしお人間に返す 確信床の数倀をブレさせない たずえばこんなトラップ事䟋がありたす。   「〇〇の連携の䞍具合に䌎う環境構築䟝頌」   䞊蚘のような題名のIssueがあった時、䞻目的は環境構築なのに、「䞍具合」の文蚀に匕っ匵られ、モデルによっおは「仕様・䞍具合調査」ぞ誀分類されおいたした。 分類ルヌルを通せば、Step 1で䞻目的が「構築」ず確定し、「䞍具合」は背景の語句ずしお扱われたす。 その結果、モデルや実行タむミングに巊右されず、「環境構築・むンフラずのやりずり」に機械的に決たるようになりたした。 「ここたでルヌルを固定するなら、ただのif文でなんずかなるのでは」ず思われるかもしれたせん。 ですが、無限にある蚀い回しをif文で網矅するのは珟実的ではありたせん。かずいっお、刀断基準そのものはAIに委ねない。   ルヌルを蚘述・保守するのは人間、蚀い回しの揺れを吞収しおルヌルに圓おはめるのはAI    この分担が肝ずなりたした。 回垰テストでプロンプトを守る そしおもうひず぀、個人的に䞀番の孊びだったのがこれです。 プロンプトも、コヌドず同じように回垰テストで守るこずができる。 分類ルヌルを倉曎したら、過去の確定事䟋を集めた事䟋集に察しおテストモヌドで再刀定を走らせたす。 党件䞀臎を確認しおから、倉曎を確定する 運甚にしおいたす。コヌドのリファクタリングでテストを回すのず同じ感芚です。 これを始めおから、「ルヌルを盎したら別のケヌスが壊れた」ずいう事故を未然に防ぐこずができるようになりたした。 たた、GitHub Actionsで動く自動経路のモデルもコストず再珟性のため固定しおいたす。 ゚ヌゞェントは分業制 — そしお無理な自動化はしない ゚ヌゞェントは、人間のチヌムず同じ「分業制」にしおいたす。1人の䞇胜遞手を䜜っお回すのではなく、圹割を絞った担圓を連携させ、個々の粟床を䞊げる。 そしお手戻りを枛らし、業務党䜓を安定しお速く回すこずを第䞀目暙ずしおいるためです。 ゚ヌゞェント 圹割 トリアヌゞ担圓 Issueを読み、䟝頌皮別ず埌続゚ヌゞェントを刀断する 調査担圓 アプリ仕様・DB定矩・過去䟝頌を調査し、根拠ず未確認事項を敎理する SQL䜜成担圓 確認甚・実行甚SQLずレビュヌ芳点を䜜成する SQL皌働確認担圓 䜜成されたク゚リのレビュヌず皌働確認たでを自動で実斜する 報告資料担圓 調査結果やSQLを統合し、報告甚Markdownにたずめる ゚ヌゞェントを分けたこずによるメリットは、倧きく3぀ありたす。 それぞれの゚ヌゞェントに枡す指瀺ずコンテキストを小さく保おるこず 間違えたずきに「どこで間違えたか」がすぐ分かるこず 工皋の間に人間が介入できるポむントが生たれるこず 確信床70未満を「䞍明」ずしお人間に返す蚭蚈も同じ思想です。 自信を持っお刀定できるものだけAIに捌かせ、迷うものは人間が刀断する。そしお人間が付けた正解ラベルは、AIの刀断基準を改善する材料ずしお蓄積させるこずができたす。 AIがAIのルヌルを改善する — ただしガヌドレヌル付きで 䞊蚘のような運甚を続けるず、AIの自動刀定ず人間が最終的に付け盎したラベルの間にズレが蓄積しおいきたす。 このずれを取り蟌むための「最適化゚ヌゞェント」も甚意しおいたす。刀定履歎ず人間の最終ラベルを突き合わせお誀分類のパタヌンを分析し、分類ルヌルず事䟋集の改善案を䜜りたす。AIがAIのルヌルを改善するルヌプです。 ただし、ここにも䞉重のガヌドレヌルを敷いおいたす。 ゚ヌゞェントが盎接適甚できるのは 事䟋集ぞの远蚘のみ 分類ルヌル本䜓の最終倉曎は 回垰テスト合栌埌 にのみ適甚 䞍芁になった事䟋の削陀は 人間の刀断 で行う 「AIによる自己改善」は聞こえがいいですが、無条件に回すずルヌルが静かに壊れおいくリスクがありたす。 改善のルヌプは回し぀぀、確定の暩限は人間ず回垰テストが握る。このバランスが珟時点での私たちの萜ずしどころです。 ぀たずきポむント — GitHub Actionsの if でハマった話 最埌に、恥ずかしい倱敗談をひず぀。 Issueぞのラベル付䞎をトリガヌに自動トリアヌゞを起動するworkflowで、誀爆防止のガヌドをこう曞いおいたした。 if : github.event.label.name == env.ENGINEER_REQUEST_LABEL 䞀芋動きそうですよね。ずころがこのガヌド、 䞀床もマッチしたせんでした 。GitHub Actionsの仕様で、jobレベルの if では env コンテキストが参照できたせん䜿えるのは github / needs / vars / inputs のみ。 そのため env.ENGINEER_REQUEST_LABEL が空文字に評䟡され、垞にfalseになっおいたのです。 原因究明の末、ラベル名はリテラルで盎接曞く圢に萜ち着きたした。 if : >- github.event_name == 'workflow_dispatch' || github.event.action != 'labeled' || github.event.label.name == '゚ンゞニア䟝頌' AIでなんでも曞けおいる気になっお、基瀎も抌さえず実装しおいたため、「なぜか自動起動しない」を远いかけた時間は、なかなかのものになっおしたいたした。同じ蜍を螏む方が䞀人でも枛れば幞いです。 これから — 完党自埋型゚ヌゞェントぞの道 珟圚、トリアヌゞの自動実行は詊隓運甚䞭で、日々小さな曎新を行っおいたす。 䟝頌を怜知しおから報告たでの自動化を最終目暙に、段階的な移行を進めおおり、トリアヌゞの先の各パヌトでも、チヌムメンバヌがそれぞれ怜蚎を進めおいたす。 以䞋、怜蚌のざっくりした方針です。 仕様・䞍具合調査の粟床向䞊 Issueを読み取り、゜ヌスコヌドを元に原因の䞀次調査を行う 原因箇所ず発生条件を調査レポヌトずしお生成し、ナヌザヌに通知 必芁であればク゚リ自動䜜成に繋げる ク゚リ自動生成の高床化 顧客調査が必芁な問い合わせに察し、ク゚リ䜜成を行う SELECT系ク゚リ、UPDATE系ク゚リごずにPRを䜜成するリポゞトリを遞択 自動でク゚リ皌働確認に繋げる ク゚リ皌働確認の自動化 テスト察象ク゚リに察し、ク゚リの蚘述ミスや䞍敎合を怜出するためのテストデヌタを自動生成 怜蚌環境ぞ自動接続し、察象ク゚リの配眮およびテストデヌタの展開を実斜 ク゚リを自動実行し、実行結果を収集・フィヌドバック 最埌に 保守開発チヌムの仕事は、掟手さはないかもしれたせん。 ですが今回取り組んだ問い合わせ察応の原点は、「お客様の困りごずに、早く正確に答える」こずです。 そこに立ち返るず、AI゚ヌゞェントの掻甚はこれ以䞊ないほど盞性の良い挑戊だず感じおいたす。 ラクスの開発本郚は「AIネむティブな開発組織」ぞの倉革を進めおいたす。 この取り組みもその䞀環で、AIを前提に業務フロヌそのものを再蚭蚈する挑戊だず捉えおいたす。 同じように問い合わせ察応の工数に悩むチヌムの、䜕かのヒントになれば嬉しいです。最埌たでお読みいただきありがずうございたした
こんにちは、楜楜販売開発課のdon 頓花です。 あるサブシステムをれロから蚭蚈する機䌚があり、ADRArchitecture Decision Recordアヌキテクチャ䞊の意思決定を蚘録するドキュメントを曞く堎面が䞀気に増えたした。 そこで Claude Code を怜蚎プロセスそのものに組み蟌んでみたのですが、最初に䜜った仕組みは、実際に走らせおみるずひどいものでした。゚ヌゞェントが 1 䜓で 箄60分 動き続ける。工皋の境界でナヌザヌ確認が 20 回近く飛んでくる。レビュヌが 3 巡目に入っおもう䜕も新しい指摘が出ない。 この蚘事は、そこから䜕を盎したかの蚘録です。 この蚘事で分かるこず 自分の怜蚎プロセスを工皋に分解しお Skills に移怍する手順 マルチ゚ヌゞェント構成で「党員が䌚話に参加し続ける」構成をやめた理由 前提情報をリポゞトリに眮いお AI に読たせる運甚 動かしおみお初めお分かった、重い箇所の朰し方 【目次】 足りないのは AI の賢さではなかった 前提: 3 ぀の仕組みを䜿い分ける たず、自分が ADR を考える流れを分解する 工皋をオヌケストラ Skills 専門゚ヌゞェントで構成 党員呌ばない、1 回に集玄する 詊行錯誀①: 党工皋゚ヌゞェントチヌムから、サブ゚ヌゞェントぞ倉曎 詊行錯誀②: 前提情報を AI が読める圢に敎理 詊行錯誀③: ログを芋お Skills 自䜓を改善 効果ず、いたの課題 効果 課題 ADR 以倖ぞの応甚 たずめ 参考リンク 足りないのは AI の賢さではなかった ADR に AI を䜿おうずするず䞋蚘のようなこずがよく発生したす。 ひず぀は 単発チャット地獄 です。毎回れロから前提を説明し盎す。「このプロダクトはこういう構成で、過去にこう決めおいお  」ず貌り盎すだけで疲れお、本題に入る前に力尜きたす。 もうひず぀は 䞞投げ です。「いい感じに ADR 曞いお」で出おくるものは、圢匏は敎っおいるのに怜蚎が浅い。芳点の抜け挏れが残り、レビュヌで結局やり盎しになりたす。 どちらも AI の胜力の問題ではありたせんでした。足りおいなかったのは、 自分の怜蚎プロセスを AI が再珟できる圢にするこず でした。 そしおこれは、単に開発が楜になるかどうかの話ではありたせん。AIぞ委譲する割合を増やすこずで䞊列で䜜業ができるようになり、開発速床を䞊げるこずができるようになりたす。 前提: 3 ぀の仕組みを䜿い分ける 本題ではないので手短に觊れたす。Claude Code には次の 3 ぀の仕組みがありたす。 Skills : 「こういうずきはこう進める」ずいう手順曞を Claude Code に持たせる仕組み サブ゚ヌゞェントsubagent : タスクを独立した゚ヌゞェントに枡し、結果だけ受け取る。呌ばれたずきだけ動䜜するため、呌び出し元の文脈を汚さずに実斜できる仕組み ゚ヌゞェントチヌムAgent Teams : 耇数の゚ヌゞェントが互いにメッセヌゞを送り合っお議論する仕組み 。党員が䌚話に参加し続ける のが特城 ※ 詳现は公匏ドキュメントを参照: Skills  subagents  Agent Teams たず、自分が ADR を考える流れを分解する AI に枡す前にやったのは、 自分の頭の䞭の工皋を蚀語化する こずでした。ここを飛ばしお skills を曞き始めるず、結局「いい感じに」ず曞いおあるだけの手順曞になりたす。 ADR 怜蚎を、動詞ベヌスで次の工皋に分けたした。 前提固め → 蚈画 → 案出し →怜蚌→ 独立評䟡 → 合議 → ドラフト化 →実装 工皋 芁吊 やるこず 前提固め 前提・スコヌプ境界・完了条件をナヌザヌず察話しお合意する。 既存の決定・仕様・API 定矩もここで走査する 蚈画 この論点ではどの専門家を呌ぶか、どこたでやるかを決める 案出し 遞択肢を出し、各案を最新の䞀次情報で詳现に調べる 怜蚌 任意 刀断に動䜜確認が芁るなら、䜿い捚おの PoC を䜜る 独立評䟡 専門家が各自 独立に 案を評䟡するあえお合議させない 合議 出そろった評䟡をもずに方針を確定する ドラフト化 ADR 本䜓を曞く 実装 任意 採甚案を詊しに実装する 蚭蚈時に気にした点は2点です。 先頭の「前提固め」で、人間の刀断を最初に組み蟌む。 ここでスコヌプ境界ず完了条件をこちらが合意したす。埌工皋がいくら賢くおも、前提がずれおいれば的を倖した ADR が出おくるだけです。 明確にステップを区切る。 これにより䜜業ごずにコンテキストを分けられるためトヌクンの節玄やコンテキスト肥倧化の抑制に぀ながりたす。 工皋をオヌケストラ Skills 専門゚ヌゞェントで構成 分解した工皋を、ひず぀の倧きな Skillsオヌケストラ圹が指揮し、工皋ごずに専門゚ヌゞェントを呌ぶ構成にしたした。 線成は次のようになっおいたす。読者のみなさんが自分のプロセスに眮き換えるずきの参照にしおください。 区分 䜓数 圹割 モデル 指揮圹 1 蚈画を立お、呌ぶ専門家を遞ぶ 重め 調査・案出し圹 1 前提の䞋調べず遞択肢の敎理 軜め 集玄・執筆圹 1 議論をたずめ ADR をドラフト 重め 怜蚌圹 1 䜿い捚お PoC任意工皋 軜め 垞駐レビュアヌ 1 党工皋に䌎走し芳点を採点 軜め 反論圹Devil's Advocate 1 必ず 1 件以䞊の反論・Blocker を出す 軜め 領域別の専門家 5 蚀語 2・DB・API 契玄・Python ç³» 軜め 暪断的な専門家 4 運甚・むンフラ・クラりド・セキュリティ 軜め プロダクト知芋の専門家 1 既存プロダクトずの敎合・移行・業務芳点 軜め 暪断ルヌルのチェックリストを垞駐レビュアヌの必須参照にし、逞脱を Blocker ずしお報告させ、事䟋を远蚘しお育おる埪環 進行を指揮する圹ず、最埌に決定をたずめる圹だけ重いモデルを割り圓おおいたす。ここは刀断の質が成果物に盎結するためです。それ以倖は軜いモデルで十分でした。 党員呌ばない、1 回に集玄する ゚ヌゞェントを 16 䜓も定矩するず、玠盎に組めばコストが爆発したす。抑えるために入れた工倫が 4 ぀ありたす。 専門家を毎回党員呌ばない。 指揮圹が論点を分類し、必芁な数䜓だけ起動する。 ex: DB の話が出おこない ADR に DB の専門家は䞍芁なため起動しない。 専門家の起動を 1 工皋に集玄する。 同じ専門家を案出しから実装たで䜕床も叩き盎さず、独立評䟡の工皋で 1 回だけ評䟡させたす。 重いレビュヌはドラフト工皋の 1 回だけにする。 別系統のレビュヌを挟むのは仕䞊げの手前だけです。 垞駐の 2 䜓は工皋ごずに起動しお砎棄する。 垞駐レビュアヌず反論圹は党工皋に䌎走したすが、チヌムずしお垞駐させるのではなく、工皋ごずにサブ゚ヌゞェントずしお呌び盎しおいたす。 ゚ヌゞェントを増やすのは簡単ですが、実際に重いのは「どの工皋で、どの論点のずきに呌ぶか」を決める䜜業のほうでした。 詊行錯誀①: 党工皋゚ヌゞェントチヌムから、サブ゚ヌゞェントぞ倉曎 最初は 党工皋を゚ヌゞェントチヌムでやろうずしたした 。 耇数の専門家が議論しながら蚭蚈を詰める構成にしたした。理論䞊はコンテキストも節玄しながら進められる想定でした。 しかし、実際には党員が䌚話に参加し続けるので コンテキストが急速に肥倧 し、評䟡が出そろう前から議論が混線するようになりたした。それによりそれぞれの䞻匵が曖昧になり、セッションが長くなりトヌクン消費量も増倧したした。  Claude Code でMaxプランの5時間制限の30%近くを1セッションで消費したした。 そこで構成を切り替えたした。 既定はサブ゚ヌゞェント方匏 にする。独立に呌び出し、結果はファむルで受け枡す。 合議の工皋も、たずは指揮圹が評䟡を読んで盎接たずめる 方匏を既定にする。 ゚ヌゞェントチヌムは明瀺的に指定したずきだけ 䜿う重い論点で本圓に察話が芁るケヌス 詊しに同じタスクを比范するず、セッションの皌働時間が改善埌サブ゚ヌゞェント案は改善前゚ヌゞェントチヌムの 箄 13 になりたした。 ※ ただしこれは 1セッションのみ での蚈枬結果です。 埗られた教蚓は「マルチ゚ヌゞェント゚ヌゞェントチヌムを垞甚する」ではなかった、ずいうこずです。 察話が本圓に芁る工皋だけチヌム、それ以倖は独立したサブ゚ヌゞェント ずいう䜿い分けが、コンテキスト効率に効きたした。 もっずもこれは私のケヌスでの結果です。゚ヌゞェントチヌムの䜿い方を詰めれば別の最適点があるはずで、゚ヌゞェントチヌム自䜓が悪いずいう話ではないず考えおはいたす。 詊行錯誀②: 前提情報を AI が読める圢に敎理 手順Skillsが良くおも、 前提が無ければ怜蚎は浅くなりたす 。専門家゚ヌゞェントに「このプロダクトならこの方針」ずいう前提が無いず、教科曞的な䞀般論しか返っおきたせん。 そこで前提情報を 4 カテゎリに敎理しお、コンテキストずしおAIに明瀺的に枡すようにしたした。 プロダクトの特性・倧方針 既存の決定 : 決定枈みのADR のリスト 暪断ルヌルのチェックリスト : 承認枈みの ADR で確定した蚭蚈刀断のうち、議論で逞脱されやすい項目だけを 1〜数行に圧瞮 調査方針 : 孊習デヌタの蚘憶に頌らせず、案出しのたびに最新の䞀次゜ヌスの調査を必須化 3 番目のチェックリストは、実際の倱敗から生たれたした。 たずえばマルチテナントのデヌタ分離方匏を「スキヌマを分ける」ず決めおいたずしたす。ずころが゚ヌゞェントは、論点が倉わるたびに「識別カラムを持たせる方匏ではどうか」ず提案しおきたす。䞀般論ずしおは劥圓な案なので、毎回それらしい理屈が぀いおきたす。決定枈みの前提が枡っおいないず、こうした「もっずもらしい差し戻し」が延々ず発生したす。 これを毎回人間が指摘しお回るのは無理がありたす。そこで確定事項をチェックリストにたずめ、 垞駐レビュアヌず反論圹の必須参照 にしたした。逞脱を芋぀けたら Blocker ずしお報告させる、ずいう構造的な察策です。 このチェックリストは、逞脱事䟋を芳枬したら郜床远蚘する運甚にしおいたす。最初から完璧なものは曞けないので、育おる前提で眮いおいたす。 詊行錯誀③: ログを芋お Skills 自䜓を改善 Skills を曞いお終わりにはできたせんでした。実際に ADR を通しお走らせ、ログを芋お重い箇所を 1 ぀ず぀朰したした。 実走で芋えた問題 盎した内容 単発で 箄60分 動き続ける゚ヌゞェント 出力件数・文字数・想定時間に䞊限を蚭ける 工皋の境界でナヌザヌ確認が 箄20回 既定で自動進行にし、Blocker 怜出時だけ停止する レビュヌが 3巡目 で空転 レビュヌは2巡たでずし、超えたらナヌザヌに匕き継ぐ 通しで走らせた埌に「これ ADR で扱う話」ずなる事故 冒頭に適栌性ゲヌトを1問だけ眮く ずくに 2 番目は、自分で曞いた Skills に「条件付き自動進行」ず謳っおおきながら、実際は毎境界で確認を飛ばしおいたずいう間抜けな話です。動かしおみるたで気づきたせんでした。 4 番目も同じです。ドラフトたで通した埌に「これは ADR ではなく機胜方針の話では」ず自分で疑問を持っおしたった。なので最初に「本件は ADR で扱うべきか」だけを 1 問聞き、そうでなければ別の進め方を提案しお終わる、ずいうゲヌトを眮きたした。 ここで狙ったのは平均時間の短瞮ではなく、 極端に重いケヌスを抑えるこず です。玄 60 分動き続ける゚ヌゞェントが 1 䜓いれば、平均がどうであれ䜓隓は砎綻したす。 効果ず、いたの課題 効果 䜓感ずしお埗られたものは 3 ぀ありたす。 前提の貌り盎し回数が䜎枛 毎回の説明から解攟され、怜蚎の䞭身に時間を䜿えたす。 浮いた時間は、業務課題そのものを理解する偎に回せるようになりたした。 芳点の欠萜が䜎枛 反論圹が必ず 1 件以䞊の反論を出すので、埌工皋で気づいお手戻りする回数が枛りたした。 AI同士の議論が建蚭的に 倉曎前はAI同士の議論が远認䌚になるこずがありたしたが、 独立評䟡 → 合議の順にしたこずず、合議には反察の立堎を持぀メンバヌを必ず 1 名入れるようにしたこずにより建蚭的な議論になった。気がしたす。 課題 䞀方で課題も残っおいたす。 効果は䜓感どたりで、定量的な比范ができおいない 前提チェックリストや䞊限蚭定の効果は、再実走で怜蚌埅ち ADR 専甚で、機胜芁件や詳现蚭蚈は察象倖 ADR 以倖ぞの応甚 ここたで ADR を䟋に曞きたしたが、同じ型は「怜蚎プロセスを持぀仕事」党般に䜿えるはずです。実装蚭蚈、技術遞定、障害の振り返りなど、頭の䞭に工皋がある仕事ならどれも圓おはたりたす。 共通する型はこうです。 プロセスを分解する → 工皋を Skills 化する → 前提を AI が読める圢にする → 察話が芁る工皋だけチヌムにする たずめ AI に䞞投げするのでも、単発質問を繰り返すのでもなく、 自分の怜蚎プロセスを移怍する 。これが今回いちばん効いた考え方でした。 AI に任せる範囲を広げるこずが AI ネむティブな進め方だず思っおいたしたが、実際は逆でした。 人が刀断する堎所を先に決めるほど、残りを安心しお任せられる 。冒頭に「前提固め」を眮いたのは、たさにそのためです。 最初の䞀歩は Skills を曞くこずではありたせん。 たず自分が普段どう考えおいるかを曞き出しおみるこず です。 それを Skills に移怍し、詊し、改善しおいくこずによっおAIによる効率化を進めおいくこずができるず思いたす 参考リンク Claude Code 公匏ドキュメント Extend Claude with skills Create custom subagents Agent teams
はじめに 先に甚語を固定したす 結論からこれは「怜蚌の積み朚モデル」です 第1局LLM単発掚論 — 怜蚌がない䞖界 第2局ReAct — 「できたか」を自分で確認する 第3局ルヌプ゚ンゞニアリング — 合吊刀定を、䜜った本人の倖に出す これ、人間がやっおた䜜業ですよね ただし、1぀の成果物の䞭では刀定できないものがある 第4局グラプンゞニアリング — 目的適合の怜蚌ず、ルヌプ同士の配線 なぜ抜象床が䞊がっおいくのか 自己流の刀断基準 たずめ 参考 はじめに AI゚ヌゞェント開発課のKazuki Kanekoです。 ここ数ヶ月、「ルヌプ゚ンゞニアリング」や「グラプンゞニアリング」ずいう蚀葉を芋かけるこずが増えたした。 ルヌプ゚ンゞニアリングは2026幎6月に出おきた蚀葉 グラプンゞニアリングは2026幎7月に出おきた蚀葉 どちらも生たれお数ヶ月で、定矩もただ固たっおいたせん。新しいワヌドが泚目されるず「ルヌプの時代は終わったのか、これからはグラフか」ずなりがちです。私も最初は、新しいのが出たので孊んでみようずいうスタンスでした。 ただ、いろいろ觊っお考えた結果、今はこう捉えおいたす。 ルヌプずグラフは別物ではありたせん。「出力の品質を、誰が、どう怜蚌するか」の抜象床を䞀段ず぀䞊げおきた、包含関係です。 この蚘事では、この捉え方を私なりに敎理しお共有したす。 ※この蚘事は2026幎8月時点の、私の理解の敎理です。厳密な系譜や歎史の解説ではありたせん。 先に甚語を固定したす 本題に入る前に、ひず぀だけ泚意点がありたす。 「グラフ」ずいう蚀葉は、文脈によっお指すものが違いたす。 実行制埡のグラフ LangGraphのように、゚ヌゞェントの凊理の流れをノヌドず゚ッゞで蚭蚈するもの コンテキストのグラフ GraphRAGのように、LLMに枡す知識をグラフ構造で持぀もの この2぀は別レむダヌの話ですが、どちらも「グラフ」ず呌ばれるので混ざりがちです。この蚘事で扱うのは 前者実行制埡のグラフ です。 結論からこれは「怜蚌の積み朚モデル」です 先に結論の図を出したす。 ルヌプ゚ンゞニアリングの䞭では、ReActルヌプが回っおいたす。グラプンゞニアリングの䞭では、ルヌプ゚ンゞニアリングで組んだルヌプが回っおいたす。 倖偎の局は内偎の局を眮き換えるのではなく、包んでいるだけ です。 では、局が䞊がるごずに䜕が倉わっおいるのか。私は「怜蚌」に泚目するず䞀番すっきり敎理できるず思っおいたす。 å±€ 怜蚌されるもの 合吊を刀定する䞻䜓 人間から匕き継いだ圹割 第1å±€ LLM単発掚論 出力そのたた 人間仕組みの倖 — 第2å±€ ReAct タスクが完了したか LLM自身自己申告 「次に䜕をするか」を決める䜜業者 第3å±€ ルヌプ゚ンゞニアリング 1぀の成果物が、事前に決めた合栌基準を満たしおいるか 実行した本人ずは別の刀定噚テスト / Lint / スキヌマ、たたは評䟡甚LLM ログを読んでNG理由を䌝えるレビュアヌ 第4å±€ グラプンゞニアリング 耇数の成果物が互いに敎合し、本来の目的に沿っおいるか 合流点に眮いた䞊䜍の刀断匷いモデル or 人間 耇数の䜜業を調停するマネヌゞャヌ ぀たり各局がやっおいるのは、 それたで人間が担っおいた怜蚌の圹割を、䞀段ず぀仕組みに肩代わりさせるこず です。第1局では怜蚌の仕組みが䞀切なく、刀定䞻䜓は仕組みの倖にいる人間でした。 ここから、各局を順に芋おいきたす。 なお、この蚘事の図は色を統䞀しおいたす。 🟊 青 LLMが動くノヌド掚論・゚ヌゞェント実行 🟩 緑 怜蚌・分岐・人間の承認品質を担保するポむント ⬜ グレヌ 入出力・倖郚リ゜ヌス 同じ色を远っおいくず、 倖偎の局に行くほど緑怜蚌の比重が増えおいく のが芋えるず思いたす。 第1局LLM単発掚論 — 怜蚌がない䞖界 出発点はここです。LLMに1回プロンプトを投げお、1回答えが返っおくる。 良いプロンプトを曞くプロンプト゚ンゞニアリング 良い文脈を枡すRAG、のちのコンテキスト゚ンゞニアリング 工倫のしどころは「入力」でした。 この図に緑怜蚌のノヌドは1぀もありたせん。 出力が正しいかどうかを確かめるのは、100%人間の仕事 です。出おきたものを人間が読んで、ダメなら人間がプロンプトを盎しお投げ盎す。怜蚌ず再実行のルヌプを、人間が手で回しおいた、ずも蚀えたす。 第2局ReAct — 「できたか」を自分で確認する 考える → ツヌルを䜿う → 結果を芋る → たた考える を繰り返す圢。いわゆるReActパタヌンです。 第1局ずの決定的な違いは、 緑のノヌドが初めお登堎した こずです。「タスクは完了したか」ずいう怜蚌を、LLMが自分でやるようになりたした。人間が担っおいた「次に䜕をするか決めお、できたか確認する」ずいう䜜業者の圹割が、ルヌプの䞭に取り蟌たれたわけです。 Claude CodeやDevinのようなコヌディング゚ヌゞェントの「゚ヌゞェントらしさ」も、䞭心にあるのはこのルヌプです。 ただし、ここでの怜蚌には匱点がありたす。 自己申告 だずいうこずです。「完了したか」を刀定しおいるのは、その出力を䜜った本人LLMです。テストを曞かずに「動きたした」ず蚀っおくる゚ヌゞェントを芋たこずがある人なら、この怜蚌だけでは品質を担保しきれないこずを䜓感しおいるず思いたす。 第3局ルヌプ゚ンゞニアリング — 合吊刀定を、䜜った本人の倖に出す そこで出おくるのが、2026幎6月にGoogleのAddy Osmani氏が広めた「Loop Engineering」です。 Osmani氏の敎理では、ルヌプ゚ンゞニアリングずは「仕事を発芋し、゚ヌゞェントに配り、結果を怜蚌し、進捗を蚘録し、次の仕事を決めるシステム」の蚭蚈です。 私の蚀葉で蚀い盎すず、こうなりたす。 第2局の自己申告を信甚せず、合吊刀定を「それを䜜った本人の倖」に出す局 です。テストやLintのような決定的な刀定噚が兞型ですが、ルヌブリックを枡した評䟡甚LLMに採点させるのも同じ構造です。重芁なのは刀定噚が機械かどうかではなく、 出力した本人が自分で合栌を宣蚀しおいない こずです。 図の真ん䞭に、第2局のReActルヌプが青いノヌドずしおたるごず入っおいるこずに泚目しおください。ルヌプ゚ンゞニアリングはReActを眮き換えおいたせん。 包んで、倖偎に怜蚌ず再実行の仕組みを足しおいる だけです。 これ、人間がやっおた䜜業ですよね この局が肩代わりしおいるのは「レビュアヌ」の圹割です。 たずえば、゚ヌゞェントが出力したコヌドが倱敗したずき、私はAWSのCloudWatchのログを芋に行っお、「これがNGの理由っぜいですよ」ず゚ラヌログを゚ヌゞェントに貌り付けお再実行させる、ずいう䜜業をよくやっおいたした。 ルヌプ゚ンゞニアリングの「Fail → 倱敗ログをフィヌドバックずしお次の入力に含めお再実行」は、 たさにこの人間の䜜業をモデル化したもの だず捉えおいたす。 合吊の刀定人間が目で芋る → テスト / Lint / スキヌマ怜蚌が機械的に刀定する NG理由の䌝達人間がログをコピペする → 倱敗ログを自動でコンテキストに含める 再実行の刀断人間が「もう䞀回やっお」ず蚀う → 停止条件詊行回数・予算の範囲で自動リトラむ ゚ヌゞェントの賢さに期埅するのではなく、 怜蚌ず再実行の仕組みで品質を担保する 。モデルが十分賢くなったからこそ、「䞭の掚論」より「倖偎の回し方」が差別化芁因になった、ずも蚀えたす。 ただし、1぀の成果物の䞭では刀定できないものがある 第3局の怜蚌は匷力ですが、刀定できるのは そのルヌプが䜜った1぀の成果物の䞭で閉じる問い だけです。 「この実装方針で良かったのか」なら、ただ第3局で戊えたす。刀定噚を匷いモデルに倉えお、蚭蚈方針をレビュヌさせればいい。 機械的な基準に萜ちないこず自䜓は、第3局を降りる理由になりたせん。 第3局で本圓に手が出ないのは、 耇数のルヌプの成果物をたたぐ問い です。 実装ルヌプの出力ずドキュメントルヌプの出力が、食い違っおいないか 個々のタスクは党郚Passしたのに、束ねたら 圓初の目的からずれおいないか これらは、どちらか䞀方のルヌプの䞭からは芋えたせん。刀定を䞋すには、耇数の成果物が合流した地点が芁りたす。 その合流点を䜜る局が第4局です。 第4局グラプンゞニアリング — 目的適合の怜蚌ず、ルヌプ同士の配線 2026幎7月頃から「ルヌプの次はグラフでは」ずいう議論が始たりたした。きっかけはPeter Steinberger氏の「Are we still talking loops or did we shift to graphs yet?ただルヌプの話しおるそれずももうグラフに移った」ずいうポストず蚀われおいたす。圓時私もこのポストを芋お「グラフっおなんだ」ず疑問を抱いた蚘憶がありたす。 私はグラフの関心事を、2぀に分けお捉えおいたす。 1぀目は、合流点でしかできない怜蚌です。 耇数のルヌプの出力を1か所に集めお、互いに敎合しおいるか、束ねた結果が本来の目的に沿っおいるかをレビュヌする。刀定するのは盞圓賢いモデルか、承認ノヌドずしお入る人間です。第3局ず違うのは刀定噚の賢さではなく、 刀定に必芁な材料が1぀のルヌプの䞭に揃わない ずいう点です。 2぀目は、配線です。 ルヌプが耇数になるず、実行順序・䟝存関係・倱敗時の戻り先を明瀺的に蚭蚈しないず砎綻したす。たずえば「実装ルヌプが終了しないず、テストルヌプは動き出せない。テストルヌプは実装ルヌプの成果物を受け取る」ずいう䟝存関係。あるいは「怜蚌NGだったら、どのノヌドたで戻すのか」ずいう戻り先。この配線図がグラフです。冒頭で觊れたLangGraphは、たさにこの配線ノヌド・゚ッゞ・共有状態を実装するためのフレヌムワヌクで、Google ADKやMicrosoftのAgent Frameworkにも同様の仕組みがありたす。 ここでも泚目しおほしいのは、青いノヌド「ルヌプA」「ルヌプB」の䞭身が 第3局で蚭蚈したルヌプそのもの だずいうこずです。グラフはルヌプを眮き換えおいたせん。第3局で品質担保されたルヌプを郚品ずしお、その倖偎に「合流」「目的適合の怜蚌」「戻り先」を配線しおいるだけです。 そしお、倱敗系の゚ッゞ自動怜蚌NG、人間の差し戻し、䟋倖がすべお蚈画ノヌドに戻っおいるこずも、この局の性栌をよく衚しおいたす。第3局のFailは「同じタスクをログ付きでリトラむ」でしたが、第4局のFailは「そもそも蚈画からやり盎す」。 怜蚌の抜象床が䞊がるず、差し戻しの抜象床も䞊がる わけです。 なぜ抜象床が䞊がっおいくのか ここたでを振り返るず、局が積み䞊がる理由が芋えおきたす。 第1局には怜蚌がなく、品質担保は100%人間の仕事だった 第2局で「完了したか」の怜蚌をLLMに任せた。ただし自己申告なので信甚しきれない 第3局で合吊刀定を、䜜った本人の倖に出した。ただし1぀の成果物の䞭で閉じる問いしか刀定できない 第4局で、耇数の成果物をたたぐ怜蚌を、合流点に眮いた䞊䜍の刀断匷いモデル or 人間に任せた ぀たり、 今の怜蚌手段では刀定できないものが珟れるたびに、䞀段倖偎の怜蚌局が生たれおいる 。これが、私がこの積み重なりの軞を「怜蚌の抜象床」ずした理由です。 そしおどの段も、やっおいるこずの本質は同じです。 人間が担っおいた怜蚌の圹割を、仕組みに肩代わりさせる。 䜜業者第2局、レビュアヌ第3局、マネヌゞャヌ第4局ず、眮き換える圹割の抜象床が䞊がっおきただけです。 自己流の刀断基準 この局の芋方に立぀ず、「どのアヌキテクチャを遞ぶか」は「どの局たで登る必芁があるか」ずいう問いに倉換できたす。私が䜿っおいる刀断基準を、たずフロヌチャヌトで瀺したす。 以䞋、Q1から順に補足しおいきたす。 Q1. そもそも゚ヌゞェントが必芁か 経路が完党に事前に決められるなら、LLMを呌ぶ関数を順番に実行するだけのワヌクフロヌで十分です。安く、速く、確実です。→ 必芁なら Q2 ぞ。 Q2. 合吊刀定を、䜜った本人の倖に出せるか テスト、Lint、スキヌマ怜蚌で刀定できるなら、そのたた第3局です。機械的な基準に萜ちない堎合でも、合栌条件をルヌブリックずしお曞き出せお、別のモデルに採点させられるなら、これも第3局です。 ここで第4局に飛ぶ必芁はありたせん。 逆に、合栌条件を蚀語化すらできず、毎回人間が珟物を芋ないず刀断できないなら、それは局を䞊げお解決する問題ではありたせん。たずは合栌条件を蚀語化する䜜業のほうが先です。→ Q3 ぞ。 Q3. その怜蚌は、1぀の成果物の䞭で閉じるか 閉じるなら第3局のたたでいけたす。実装ずドキュメントの敎合、耇数タスクの成果を束ねた埌の目的適合など、 耇数の出力を突き合わせないず刀定できない なら、合流点が必芁になるので第4局です。→ Q4 ぞ。 Q4. 倱敗したずき、戻り先は1぀か 「同じタスクを、倱敗ログを添えおやり盎す」だけで枈むなら第3局で十分です。停止条件を超えたずきの゚スカレヌション先が人間になるのは第3局でも普通で、これは局を䞊げる理由になりたせん。 䞀方、「これは実装からやり盎し、これは蚈画からやり盎し」ず 戻り先が耇数に分かれる なら、どこぞ戻すかを明瀺的に描く必芁がありたす。その戻り先の䞀芧がグラフです。→ Q5 ぞ。 Q5. 状態は1぀のコンテキストに収たるか タスクが長く、耇数の専門性が必芁で、1぀のコンテキストで持ちきれないなら、耇数のルヌプぞの分割を怜蚎したす。ただし、分割した瞬間に䟝存関係ず戻り先の蚭蚈、぀たり配線が必芁になるので、これも第4局のグラフが必芁になりたす。 Q3・Q4・Q5がすべおYesなら、第3局で止めおください。これが掚奚の初期圢です。 むしろ倚くのタスクは、Q2をYesで抜けた時点で完成したす。 ポむントは、グラフが最新だから、グラフにしようずならないこず です。 䞊の段は、䞋の段の怜蚌では管理しきれなくなった耇雑さを敎理するための道具です。その耇雑さがただ無いのに導入するず、蚭蚈コストだけ払うこずになりたす。 第3局のルヌプで始めお、管理しきれなくなったら第4局に昇栌させる。これが今のずころ私の結論です。 たずめ ルヌプ゚ンゞニアリングずグラプンゞニアリングは 別物ではなく、包含関係 です 各局がやっおいるのは、 人間が担っおいた怜蚌の圹割䜜業者→レビュアヌ→マネヌゞャヌを仕組みに肩代わりさせるこず です 今の怜蚌手段で刀定できないものが珟れるたびに、䞀段倖偎の怜蚌局が生たれたす 遞び方は「どの局たで必芁か」。 刀定を本人の倖に出せお、その刀定が1぀の成果物で閉じるならルヌプ。耇数の成果物を突き合わせる必芁があるか、倱敗時の戻り先が耇数に分かれるならグラフ です そしお、 いきなりグラフから始めない 。ルヌプで始めお、必芁になったら昇栌させたす この分野は数週間単䜍で前提が倉わりたす。この蚘事の敎理も、半幎埌には自分でアップデヌトしおいる気がしたす。そのずきはたた、敎理し盎した蚘事を曞こうず思いたす。 最埌に、この蚘事の立ち䜍眮を曞いおおきたす。䞖間の「グラプンゞニアリング」の議論は、耇数の゚ヌゞェントを䞊列に動かすマルチ゚ヌゞェント組織の蚭蚈、ずいう切り口で語られるこずが倚い印象です。この蚘事の「怜蚌の抜象床」ずいう軞は、それずは別の切り口です。どちらが正しいずいう話ではなく、定矩がただ固たっおいない蚀葉だからこそ、自分の蚭蚈刀断に䜿える圢で捉え盎しおみた、ずいうのがこの蚘事です。 実際、私はこの捉え方を「新しいアヌキテクチャを远いかけるための地図」ではなく、「いた䜜っおいるものは、どの局の怜蚌で品質を担保できるか」を問うための、蚭蚈刀断の1぀の軞ずしお䜿っおいたす。 自分の敎理も兌ねお、蚘事を執筆したした。ルヌプずグラフを語る䞊での䞀぀の軞ずしお持ち垰っお頂ければ幞いです。 参考 Addy Osmani, "Loop Engineering: Designing loops that prompt coding agents"2026幎6月8日 https://addyo.substack.com/p/loop-engineering O'Reilly Radar転茉版 https://www.oreilly.com/radar/loop-engineering/  Peter Steinberger氏のポスト2026幎7月18日 https://x.com/steipete/status/2078277297791189132 Yao et al., "ReAct: Synergizing Reasoning and Acting in Language Models"2022幎 https://arxiv.org/abs/2210.03629
こんにちは、ラクス技術広報です。 2026幎7月15日、䞻催むベント「RAKUS AI Conference 2026 Summer」を開催したした。本蚘事では、楜楜粟算 開発3課の平川裕倚さんが発衚した「仕様駆動開発、導入半幎。『本圓に速くなっおるの?』にデヌタで答える」に぀いお、技術広報がレポヌト蚘事でご玹介したす。 この蚘事はこのような方におすすめです AI掻甚で実装は速くなった気がするのに、なぜか蚭蚈やレビュヌの負荷が増えおいるず感じおいる゚ンゞニアの方 仕様駆動開発(SDD)の導入を怜蚎しおいる、あるいは導入したものの効果を数字で説明できずに悩んでいる方 「AIネむティブな開発」を、感芚ではなくデヌタで語りたいず考えおいる゚ンゞニアの方 【目次】 「それ、本圓に速くなっおるの?」に答えられなかった半幎 仕様駆動開発に"飛び぀いた"ずいうのが実態でした 䞊叞ずメンバヌからの"ツッコミ"ず、1幎分のデヌタを掘る決意 デヌタを掘っお初めお分かった、3぀の指暙の意倖な共通点 指暙①時間 指暙②レビュヌ 指暙③バグ事故 3぀の指暙から芋えおきたもの 正盎に語られた課題ず、「仕様を決める力」ぞの投資 終わりに 「それ、本圓に速くなっおるの?」に答えられなかった半幎 平川さんのチヌムが担圓するのは、経費粟算クラりドサヌビス「楜楜粟算」のモバむルアプリです。iOS、Android、バック゚ンド、フロント゚ンドずいう耇数のプラットフォヌムを、6名の゚ンゞニアがアゞャむルの2週間スプリントで開発しおいたす。 ここ1〜2幎でAI掻甚が本栌化し、個人の実装スピヌドは䜓感ずしおも数字ずしおも間違いなく䞊がったずいいたす。コヌドを曞く䜜業は、以前ほど開発のボトルネックではなくなりたした。 ずころがその裏で、3぀の問題が起きおいたした。 意図のよく分からないコヌドが混ざるようになったこず レビュヌの負荷に偏りが出るようになったこず テストフェヌズになっお初めお「考慮挏れ」に気づく事故が倚発するようになったこず 蚭蚈段階で気づかず、埌工皋で発芚するほど、修正のコストは高く぀きたす。 「早くはなったけど、䜕か別のものを払っおいる感芚があった」 この違和感から生たれたのが、「AIで早くなった裏で、本圓は䜕を払っおいたのか」ずいう問いでした。 仕様駆動開発に"飛び぀いた"ずいうのが実態でした この問いに察しお、平川さんたちがたどり着いたのが仕様駆動開発(SDD)でした。ただし、最初からSDDを狙っお導入したわけではなかった、ず平川さんは振り返りたす。 最初にやっおいたのは、今たで手で曞いおいた蚭蚈曞をAIに曞かせお時短できないか、ずいう「AI蚭蚈テンプレヌト」的な詊みでした。それを1ヶ月ほど地道に䜜り蟌んでいたそうです。ちょうどそこに、䞖の䞭で「仕様駆動開発」ずいう蚀葉が流行り始め、「これ、自分がやりたかったや぀だ」ず思ったずいいたす。慎重に比范怜蚎しお遞んだずいうより、飛び぀いたずいう感芚の方が実態に近いず振り返りたす。 飛び぀いたあずで、あらためお「なぜ他のやり方ではなくSDDだったのか」を敎理したした。 Planモヌド AIがタスクを組んでくれお䟿利だが、結局それを䜿う゚ンゞニア個人の胜力に䟝存する点で、盎接指瀺ず本質的に倉わらない テスト駆動開発(TDD) リファクタリングには匷いが、そもそも仕様がブレおいればテスト自䜓が空䞭分解しおしたう Planモヌドの質もTDDのテストの質も、たどっおいくず結局は「仕様」に行き着く。だったら䞀番䞊流の「仕様」そのものを䞭心に据えるのが筋が良い、ずいう腹萜ちだったずのこずでした。 具䜓的には、マヌクダりンで構造化した自然蚀語の仕様曞を䜿い、蚭蚈そのものをPRずしおレビュヌする運甚を敷きたした。ずはいえ、自然蚀語の成果物にはコヌドのようなリンタヌもテストも効きたせん。「問題ない」ず刀断するにはしっかり読む必芁があり、コストがかかりたす。仕様を構造化したり重耇を枛らしたりずいう地味なチュヌニングを、今も積み重ねおいる最䞭ずのこずでした。 䞊叞ずメンバヌからの"ツッコミ"ず、1幎分のデヌタを掘る決意 SDDを始めおすぐ、突っ蟌たれる日々が始たりたした。 䞊叞からは「それ本圓に早くなっおるの」「蚭蚈に時間をかけおいる分、トヌタルで遅くなっおいるんじゃないの」ずいう声。メンバヌからは「蚭蚈フェヌズが倧倉になった」「䞀番頭を䜿う郚分が重くなった」ずいう声が䞊がりたした。 この2぀のツッコミに、感芚で「いや、早くなっおいたすよ」ず返しおも説埗力がありたせん。そう考えた平川さんは、1幎分のデヌタを本気で掘り返しお怜蚌するこずにしたした。 なお、平川さん自身「そもそもSDDを品質のために入れたわけではなく、狙いは実装を誰がやっおも同じ質にしお属人性をなくすこずだった」ず前眮きしおいたす。この埌の怜蚌結果は、圓初の狙いずは別のずころで平川さんたちを驚かせるこずになりたす。 デヌタを掘っお初めお分かった、3぀の指暙の意倖な共通点 AIもアゞャむルも定着した時期以降のデヌタに絞り、フェアな比范を心がけたうえで、3぀の指暙を芋おいきたす。 指暙①時間 実装フェヌズの数字は、確かに速くなっおいたした。ただし、その「速さ」の正䜓を远うず、埌工皋にあった意思決定の負荷が、蚭蚈フェヌズに前倒しされただけでした。たずえば「耇数ある実装方針のどれを採甚するか」ずいう刀断は、SDD以前は実装しながら決めるこずもありたした。今はそれを蚭蚈のタむミングで行いたす。AIが遞択肢を出しおくれる分、考えるのは楜になった堎面はあるものの、最終的にどれにするかを人間が決め、レビュヌやステヌクホルダヌの合意を埗る必芁がある点は倉わりたせん。SDD自䜓は時短策ではない、ずいうのが平川さんの芋立おです。 指暙②レビュヌ 1぀のPRあたりの他者からのコメント数は、䞭倮倀がずっず1でほが暪ばいでした。レビュヌの総量そのものは枛っおいたせん。ただし䞭身は倉わっおいたした。実装PRで「この仕様どうなっおるの?」ずいう揉め事が枛り、その議論が仕様レビュヌの堎に前倒しされたのです。レビュヌが玔粋なコヌド品質チェックに近づいたずいう意味では狙い通りですが、「楜になった」わけではなく、「議論する堎所が移った」ずいうのが実態に近い、ず平川さんは説明したす。 指暙③バグ事故 バグの発生件数そのものは、劇的には倉わっおいたせんでした。ただし2぀の倉化がありたした。1぀は、1件あたりの察応時間※着手からテスト完了たでのリヌドタむムが17時間から11時間に短瞮したこず。もう1぀が、平川さんいわく「これが倧きい」倉化でした。以前は1スプリントで20件を超えるような"バグの倧爆発"が起きるこずがあったのが、最倧でも8件皋床に収たるようになりたした。事故の数ではなく、事故の振れ幅が小さくなったずいうこずです。 なお、この集蚈はテストたで完了したスプリントのみを察象にしおおり、サンプル数はただ倚くありたせん。平川さん自身、断定ではなく傟向ずしお芋おほしいず、数字の限界を率盎に語っおいたした。 3぀の指暙から芋えおきたもの 3぀の指暙を䞊べるず、芋えおくるものがありたす。時間もレビュヌも、内容は移っただけで総量は倉わらず、バグは件数こそ暪ばいながら振れ幅が瞮みたした。 ここから導かれる結論を、平川さんはこう蚀い切りたす。「SDDの本圓の成果は、速さじゃない」。開発そのもののスピヌドは、AIをガムシャラに䜿っおいた1幎前ずほずんど倉わっおいたせん。埗られたのは、予枬可胜性でした。裏を返せば、以前ガムシャラに速床を出しおいた頃、代わりに払っおいたのは、この予枬可胜性だったのです。 平川さんはこれを具䜓的な゚ピ゜ヌドで語っおいたした。怖いのは、バグ修正にかかる時間そのものより、「䜕件出るか読めないこず」だそうです。2週間スプリントの7日目たで予定通り進み、残業もせず垰れおいたずしたす。それなのにテストでバグがたくさん出るず、残り数日で焊っお察応するか、別スプリントに送るかずいう刀断に迫られ、蚈画が厩れたす。SDDによっお仕様の怜蚎が䞊流に寄った結果、この「予想倖の倧爆発」が起きにくくなったのです。平均的な件数は倧きく倉わらなくおも、最悪のケヌスが消えお振れ幅が瞮み、立おた蚈画が、そのたた蚈画ずしお機胜するようになりたした。 そしおこれは、働きやすさだけの話ではありたせん。事故で開発が止たらないずいうこずは、顧客に安定したペヌスで䟡倀を届け続けられるずいうこずでもありたす。予枬可胜性は、顧客ぞの䟡倀提䟛の土台でもある。平川さんはそう䜍眮づけおいたした。 正盎に語られた課題ず、「仕様を決める力」ぞの投資 SDDは時短の手法ではなく、決めごずの総量も倉わりたせん。それでも品質ず予枬可胜性ぞの投資だった、ずいうのが平川さんの結論です。実装スピヌドそのものは倉わらなくおも、速さの出方が倉わりたした。昔は事故が起きるかどうか読めないたた勢いで速床を出しおいたのに察し、今は䞊流で足堎を固めおから、同じ速床を読める圢で出しおいる。アゞャむルを捚おたわけでもなく、2週間スプリントずいう枠のなかで「決める䜍眮」を前にずらしただけだ、ずいう敎理も印象的でした。 ここで終われば矎談ですが、平川さんは課題も正盎に語っおいたした。時間もレビュヌも総量は「移っただけ」で枛っおはおらず、総量そのものをどう枛らすかは宿題のたたです。さらに、レビュヌを䞊流に寄せた結果、今床は仕様レビュヌの方が枋滞するずいう新しいボトルネックも生たれおいたす。 興味深かったのは、仕様が蚭蚈段階で固たるこずで、そこからテストを䜜るのも楜になるずいう発芋です。固たった仕様を起点にすれば、テスト蚭蚈やナニットテストを考える時間も枛り、AIに任せられる郚分も増えたす。䞊流で固めた仕様を、テスト䜜成の自動化にそのたた流し蟌む。この接続を今たさに暡玢しおいるそうです。 たたメンバヌの「蚭蚈フェヌズが倧倉」ずいう声の実䜓は、仕様曞を䜜ったあずのモブレビュヌではなく、その前段階、個人がロヌカルで仕様を緎っおいる時間が最も頭を䜿う、ずいうものでした。ここに「ルヌプ」や「ハヌネス」ずいった仕組みを圓おはめ、機械的に拟える考慮挏れはモブレビュヌ前に朰しおおきたいずのこず。ただし、モブレビュヌそのものは残したいずも話しおいたした。人を育おる堎であり、テックリヌド䞀人がすべおをレビュヌしなくおも、メンバヌ同士でレビュヌが回るようになる効果もあるからです。自動化するのは生成の負荷にあたる郚分で、人間の刀断や育成の機䌚は残す。この線匕きを倧切にしおいるずのこずでした。 この先の展望ずしお、平川さんは「ルヌプ゚ンゞニアリング」ずいう考え方も玹介しおいたした。海倖のAI開発ツヌルの責任者が「もうAIに指瀺は出しおいない、自分の仕事はルヌプを曞くこずだ」ず話しおいるそうで、その考え方の提唱者ずされる人物も「これは仕事が簡単になったわけではなく、レバレッゞの効く点が移っただけ」ず釘を刺しおいるずのこずでした。これは平川さんが今回デヌタで語った「決める堎所が䞊流に移っただけ」ず、驚くほど重なる指摘です。その人物はさらに、党郚を自動ルヌプに任せればプロダクトの品質は萜ちるずたで話しおいるそうです。぀たりルヌプは「䜕が正解か」の刀断たでは代わっおくれたせん。その「䜕が正解か」を䞊流ではっきりさせるのが、たさにSDDです。ルヌプの時代が来るほど、その前段にある「仕様を決める力」の䟡倀は䞊がっおいく。開発をAIに委ねおも、「䜕が正解かを決めるカロリヌ」だけは人間に残る、ずいう芋方を瀺しおいたした。 予枬可胜性が手に入るずいうこずは、AIに安党に任せられる範囲が芋えおくるずいうこずでもありたす。読めないものは任せられたせんが、振れ幅が小さく読めるものなら任せられたす。その範囲を安党に広げおいけば、いずれボリュヌムが増え、トヌタルのリヌドタむムも瞮んでいくはずです。平川さんは、今回手に入れた予枬可胜性を、その先の自動化を安党に広げるための「足堎」だず䜍眮づけおいたした。 終わりに 時短にはなっおいない、新しいボトルネックも生たれた。それでも正盎に数字ず向き合う姿勢そのものが、AIネむティブな開発組織のリアルなのだず感じたす。「なんずなく速くなった気がする」で終わらせず、デヌタで自分たちの仮説を裏切る勇気を持おるかどうか。仕様駆動開発を怜蚎しおいる方にずっお、平川さんの怜蚌プロセスそのものが参考になれば幞いです。 圓日の発衚資料はSpeakerDeckで公開しおいたす。ぜひあわせおご芧ください。 発衚資料 speakerdeck.com なお、8月䞋旬ごろに発衚のアヌカむブ動画をラクス゚ンゞニア情報ポヌタルサむトにお公開予定です。 ラクス゚ンゞニア情報ポヌタルサむト career-recruit.rakus.co.jp 「RAKUS AI Conference 2026 Summer」の他レポヌト蚘事 ・ AIを茉せるこずはゎヌルではない。ラクスCTOず開発副本郚長が語った、組織ずプロダクトの倉革 ・ 顧客の声から生たれた『AI返信補助機胜』の開発プロセス ・ 楜楜粟算AI゚ヌゞェントを支える、LLMOpsずむンフラの遞択肢 ラクスでは、こうした「顧客志向」ず「AIネむティブ」の䞡方を倧切にしながら、地に足の぀いた怜蚌を重ねる開発組織を、䞀緒に䜜っおいく仲間を募集しおいたす。ご興味を持っおいただけた方は、ぜひ採甚ペヌゞもチェックしおみおください。 最埌たでお読みいただきありがずうございたした
こんにちは、ラクス技術広報です。 2026幎7月15日に開催した䞻催むベント、「RAKUS AI Conference 2026 Summer」の5本のセッションのうち3本目に登壇したのが、AI゚ヌゞェント開発課の竹田舜さんです。 テヌマは「PoCから本番ぞ―楜楜粟算AI゚ヌゞェントを支える、LLMOpsずむンフラの遞択肢」。 CTOや圹員による組織戊略の話に続き、珟堎の゚ンゞニアが実際に䜕を刀断しおきたのかずいう、解像床の高い知芋が語られたセッションでした。竹田さんが語ったのは、「AI専甚の特殊なものずいうよりは、慣れおいるもの、知芋のあるものを優先しお玠早く構築したした」ずいう意思決定です。 この蚘事はこのような方におすすめです AI゚ヌゞェントをPoCから本番運甚ぞ進めようずしおいる、あるいはこれから進めようずしおいる゚ンゞニアの方 AI専甚の新しい基盀(AgentCoreなど)を採甚すべきか、䜿い慣れた技術で構築すべきか迷っおいる方 【目次】 AI専甚の基盀を採甚する前に、たず問うべきこず β版からの孊びを生かした有償版における顧客志向を䜓珟した改善 「芋えないAI」を、芋える化する 顧客に䟡倀を届け続けるための、地に足の぀いた遞択 AI専甚の基盀を採甚する前に、たず問うべきこず 竹田さんが担圓するのは、2025幎12月にβ版を、2026幎6月16日に正匏版をリリヌスした、経費粟算クラりドサヌビス「楜楜粟算」に組み蟌たれた「䌝祚䜜成AI゚ヌゞェント」です。領収曞を遞択し、カヌドや事前申請などの玐付けデヌタを遞べば、あずはAIにお任せ。䌝祚ができあがるず通知が届き、最埌は人がチェックしおそのたた申請する。 楜楜粟算初のAI゚ヌゞェント機胜です。 この゚ヌゞェントを支える実行基盀ずしお、圓初は4぀の遞択肢が挙がっおいたずいいたす。Lambda、ECS、そしお開発の途䞭で登堎したAgentCoreのようなAI専甚のマネヌゞドサヌビス、そしおEKS。少人数䜓制ず開発速床を最優先するずいう制玄のなか、竹田さんたちが遞んだのはEKSでした。なかでも意芋が割れたのはECSずEKSの間で、最終的にはキャッチアップコストの䜎さず、CIなど既存資産をそのたた掻甚できる点からEKSを遞んだずいいたす。 「AI専甚の特殊なものずいうよりは、慣れおいるもの、知芋のあるものを優先しお玠早く構築したした」 理由は明快です。瀟内にはすでにKubernetes運甚の資産ずノりハりが蓄積されおいお、キャッチアップにかかる時間はほずんど問題にならない。怜蚌環境もオンプレミスでほが同等に再珟できる。目新しいAI専甚基盀に惹かれる堎面もあったはずですが、「䜿い慣れた道具で確実に前ぞ進む」こずを遞んだ刀断は、AI゚ヌゞェント開発の技術遞定に悩む読者にずっお、䞀぀の参考軞になるのではないでしょうか。 CD(Continuous Delivery: 継続的デリバリヌ)基盀にも同じ思想が貫かれおいたす。ArgoCDずGitHub Actionsずいう、瀟内に知芋が蓄積された組み合わせを採甚。GitHub Actionsによる自動化ずArgoCDの分かりやすいUIによっお、「最䜎限の操䜜を芚えれば、Kubernetesに詳しくない゚ンゞニアでもリリヌス䜜業が可胜」になり、オンボヌディングコストの䜎䞋にも぀ながったずいいたす。䞇䞀リリヌスに倱敗した際も、ArgoCDのUI䞊ですぐに気づけるため、Kubernetes有識者ぞの゚スカレヌションもスムヌズです。 サヌビス構成は、マネヌゞドサヌビスずOSSのハむブリッドです。サヌビス分割の基準は「スケヌリングが必芁か」「技術の倉化が速いか」「コア機胜かどうか」の3点。ストレヌゞや監芖のように自チヌムでの運甚負荷が高くなりがちな郚分には、マネヌゞドサヌビスを積極的に採甚したした。 「プロゞェクト開始圓初は、ある皋床の正解すら分からない状態でした。だからこそ、埌からでも芁因を切り分けお倉曎できる構成にしたした」 竹田さん自身、「圓時ベストだったかは難しい」ずし぀぀も、「ベタヌず蚀える刀断」だったず振り返りたす。完璧な正解を最初から远い求めるのではなく、倉曎可胜性を残した意思決定を積み重ねる姿勢は、正解の芋えないAIプロダクト開発における実践知の䞀぀だず感じたした。 β版からの孊びを生かした有償版における顧客志向を䜓珟した改善 β版から正匏版ぞの道のりで、竹田さんが䞀番倧きな改善ずしお挙げたのが、KEDA(Kubernetes Event Driven Autoscaling)の導入です。 䌝祚䜜成゚ヌゞェントは、LLM呌び出しなど時間のかかる凊理を非同期化しおいたす。圓初はこの非同期凊理を、キュヌにメッセヌゞを保管しおおき、定期的にメッセヌゞの有無を確認しお䞀定数ず぀凊理する、ポヌリング方匏で実装しおいたした。凊理数は䞀定数で固定しおおり、1バッチで凊理しきれなかった分は、次のバッチ凊理に回す仕組みです。 この際、「メッセヌゞ凊理数」ず「バッチ間隔」のバランスの芋極めが悩みどころでした。間隔を短くすればキャパシティオヌバヌのリスクが高たり、長くすれば顧客を埅たせ、UX悪化に繋がりたす。さらにタむミングによっおは、バッチの狭間に入ったリク゚ストが次のバッチの最埌たで埅たされおしたう、UXにムラのある状態が生たれおいたした。 「無駄なくキャパシティオヌバヌせずに䜿いたい。リ゜ヌスに䜙裕があるずきは、即座に近い状態でリク゚ストに反応したい」 この課題に察しお導入されたのがKEDAです。䌝祚䜜成゚ヌゞェントでは、Kubernetesのゞョブ単䜍でもスケヌリングできる性質を掻かし、キュヌの件数に応じたゞョブ起動数の制埡を実珟したした。 KEDA導入によるポむント キュヌの件数に応じおゞョブ起動数を比率で制埡(䟋:キュヌ4件→ポッド2぀起動) 定期実行からリアクティブなむベント駆動アヌキテクチャぞ転換 マニフェストで運甚できるため、既存のKubernetes運甚ずの芪和性を維持 これにより、キャパシティオヌバヌの可胜性は䞋がり、即時反応によっお顧客を埅たせるリスクも枛りたした。掟手な機胜远加ではなく、地道な実装の工倫でナヌザヌ䜓隓を磚き続けた奜䟋だず蚀えるでしょう。 「芋えないAI」を、芋える化する 竹田さんが最埌に匷調したのが、Observability(可芳枬性)ぞの投資です。「監芖は埌回しにされがちですが、最初から手を぀けおきたした」ずいう蚀葉どおり、䌝祚䜜成゚ヌゞェントではトレヌス・メトリクス・ログずいう3皮類のテレメトリヌを、OpenTelemetry CollectorずFluent-bit経由でAWSのマネヌゞドサヌビスぞ集玄する基盀を構築しおいたす。 なぜここたで力を入れるのか。サヌビスが分割されおいる以䞊、凊理を远うには分散トレヌスが欠かせたせん。たた、AI゚ヌゞェントは耇雑か぀䞍確実に動䜜するため、䜕が起きおいるかの詳现を远う必芁がありたす。AI゚ヌゞェントの非決定的な振る舞いは「同じ゚ラヌでも原因が異なる」こずが珍しくありたせん。ログのメッセヌゞだけでは刀別しづらい䞍具合の原因究明に、トレヌスが圹立っおいるずいいたす。 コストずのバランスも工倫のしどころです。サンプリング率は察象によっお䜿い分けおいるずのこずでした。 察象 サンプリング率 理由 LLM呌び出し関連のトレヌス 100% 利甚状況・モデル利甚状況の把握に必須 ゚ラヌ系トレヌス(ステヌタスが゚ラヌ/未蚭定) 100% 障害調査に必須。党䜓量ずしおも蚱容範囲 通垞トレヌス(珟圚) 5% コストを抑え぀぀傟向を把握 通垞トレヌス(サヌビスが䞍安定だった初期) 70%皋床 安定するたでは決め打ちで倚めに取埗 最初から5%だったわけではなく、安定するに぀れお段階的に絞り蟌んでいったずいうプロセスが印象的でした。メトリクス収集は、CloudWatch Agentではなくコンテナむンサむトレシヌバヌ経由でOpenTelemetry Collectorを利甚するこずで、フィルタリングによるコスト最適化ず、環境に応じた柔軟なサンプリング調敎を䞡立させおいたす。ログに぀いおは、CloudWatchずS3を保管堎所ずしお䜵甚し、利䟿性ずコストのバランスを取っおいたす。このように䞉皮のテレメトリに぀いお、初期からコストを考慮した構成にしおいたす。 こうしお蓄積したトレヌスやログは、監芖のためだけでなく次の䞀手にも぀ながっおいたす。倱敗内容を分析し、掚論・ツヌル呌び出し・バリデヌションのどこで぀たずいたのかを特定したす。顧客からの問い合わせず類䌌の倱敗パタヌンが芋぀かった堎合は、顧客デヌタそのものは䜿わずに、原因を再珟するダミヌデヌタセットを䜜成しおオフラむン評䟡の改善に圹立おおいるずのこずでした。 さらに、珟圚のオフラむン評䟡に加えおオンラむン評䟡からのフィヌドバックルヌプの構築や、評䟡ピラミッドによるテストスコヌプの敎理、評䟡軞の䜓系化にも取り組んでいるそうです。 これらはAI゚ヌゞェント開発課の専任メンバヌが䞭心ずなっお進めおおり、䌝祚䜜成゚ヌゞェント単䜓の改善にずどたらず、いずれは党瀟で䜿えるプラットフォヌムずしおの敎備も芋据えおいるずいいたす。 顧客に䟡倀を届け続けるための、地に足の぀いた遞択 竹田さんの発衚を振り返るず、そこにあったのは「AI専甚の目新しい技術を远いかける」姿勢ではなく、「䜿い慣れた技術で確実に前に進み、実装の工倫で顧客䜓隓を磚き、監芖ぞの投資で信頌性を担保する」ずいう、地に足の぀いた意思決定の積み重ねでした。 この姿勢は、ラクス開発本郚が掲げる「顧客志向×AIネむティブな開発組織」ずいう方向性そのものだず感じたす。AIネむティブずは、目新しい技術をずにかく採甚するこずではなく、顧客に䟡倀を届け続けるために、既存の資産ずAIなどの新しい技術を適切に組み合わせおいく遞択の連続ず蚀えたす。䌝祚䜜成AI゚ヌゞェントの裏偎にある技術遞定は、その実践の䞀぀の圢ではないでしょうか。 「本番運甚を任せられるAI゚ヌゞェントをどう䜜るか」に悩む゚ンゞニアの方にずっお、竹田さんの刀断軞が䜕かのヒントになれば幞いです。 圓日の発衚資料はSpeakerDeckで公開しおいたす。ぜひあわせおご芧ください。 発衚資料 speakerdeck.com なお、8月䞋旬ごろに発衚のアヌカむブ動画をラクス゚ンゞニア情報ポヌタルサむトにお公開予定です。 ラクス゚ンゞニア情報ポヌタルサむト career-recruit.rakus.co.jp 「RAKUS AI Conference 2026 Summer」の他レポヌト蚘事 ・ AIを茉せるこずはゎヌルではない。ラクスCTOず開発副本郚長が語った、組織ずプロダクトの倉革 ・ 顧客の声から生たれた『AI返信補助機胜』の開発プロセス ・ 仕様駆動開発、導入半幎。「本圓に速くなっおるの?」にデヌタで答える ラクスでは、こうした「顧客課題の解決」に真剣に向き合うAI゚ヌゞェント開発に䞀緒に取り組む仲間を募集しおいたす。ご興味を持っおいただけた方は、ぜひ採甚ペヌゞもチェックしおみおください。 最埌たでお読みいただきありがずうございたした
2026幎7月15日、オンラむンむベント「RAKUS AI Conference 2026 Summer」を開催したした。本蚘事では、その䞭の1セッション「顧客の声から生たれた『AI返信補助機胜』の開発プロセス」登壇楜楜自動応察AI開発課 四方倧茔さん・今井陞斗さんの内容を、技術広報がレポヌト圢匏でたずめたす。 「䜜ったのに䜿われないAI機胜」、心圓たりはありたせんか 半幎間、粟床を䞊げ続けおもお客様の声は倉わらなかった 顧客に盎接聞いお分かった、担圓者が本圓に困っおいたこず 「メヌル䜜成AI」から「メヌルアシスタント」ぞの方向転換 ドキュメントではなく「動くもの」でお客様ず議論する あった方がいいはずの機胜が、実は「邪魔」だった AIプロダクト開発で倧切な3぀のこず ゚ンゞニアの仕事は「実装する」から「お客様を理解する」ぞ speakerdeck.com 「䜜ったのに䜿われないAI機胜」、心圓たりはありたせんか AI機胜をリリヌスしたものの、思ったほど䜿っおもらえない。粟床を䞊げおも䞊げおも、珟堎からの評刀は倉わらない。AIプロダクト開発に携わる゚ンゞニアであれば、䞀床はこうした壁にぶ぀かったこずがあるのではないでしょうか。 今回玹介するのは、楜楜自動応察開発チヌムが、たさにこの壁にぶ぀かり、そこから立お盎しおいった実䟋です。結論を先に蚀っおしたうず、このチヌムが孊んだのは以䞋の3点でした。 お客様の業務フロヌを知らずに機胜を䜜るず、䜿われない機胜ができあがる AIで動くPoC詊䜜品を即座に䜜り、ドキュメントではなく「動くもの」で議論する 機胜の芁・䞍芁を決める「正解」は、珟堎のお客様だけが知っおいる この3点は楜楜自動応察に限った話ではなく、AIを䜿ったプロダクト開発に取り組む゚ンゞニアなら誰でも実践できる考え方だず感じおいたす。以䞋、実際に䜕が起きたのかを時系列で芋おいきたす。 半幎間、粟床を䞊げ続けおもお客様の声は倉わらなかった 楜楜自動応察は、問い合わせメヌルをチヌムで䞀元管理し、過去の察応履歎を資産ずしお掻甚しながら応察業務を効率化するクラりドサヌビスです。䞻にカスタマヌサポヌトなど、メヌルを倚く扱う珟堎の担圓者に利甚されおいたす。 2025幎10月、このサヌビスに「メヌル䜜成AI゚ヌゞェント機胜」がリリヌスされたした。受信メヌルを読み取り、過去の類䌌の問い合わせを参照しながら、AIが返信文案を自動生成するずいう機胜です。リリヌス前には粟床怜蚌を行い、ビゞネスサむドず「䜿い物になる」ラむンをすり合わせた䞊での公開でした。 ずころが、リリヌス埌の利甚率は思っおいたほど䞊がりたせんでした。ビゞネスサむド経由で聞こえおくるお客様の声は「粟床が悪い」「䜿えない」「手で曞いた方が早い」ずいうものが倚く、なかなか厳しい珟実に向き合うこずになったずいいたす。 圓時は本番環境でAIがどう振る舞っおいるかを継続的に远う仕組みが敎っおおらず、プロンプトの改善やロゞックの芋盎し、モデルの切り替えずいった、いわば小手先の粟床改善を重ねる日々が続きたした。しかし、それでも「䜿えない」ずいう声は枛らず、気づけば半幎が経過しおいたそうです。 顧客に盎接聞いお分かった、担圓者が本圓に困っおいたこず 根本的に改善するには、たず珟堎で今䜕が起きおいるかを知る必芁がある。そう考えたチヌムが取った行動は、玠盎にお客様に話を聞きに行くこずでした。 登壇した四方さんは楜楜自動応察の開発を10幎近く担圓しおおり、圓初はドメむン知識も顧客理解も十分にある぀もりだったずいいたす。しかし実際にお客様の声を聞く䞭で、「お客様が実際にどうメヌル応察業務を行っおいるか」を党く理解できおいなかったこずを痛感したそうです。 具䜓的に芋えおきたのは、次のような実態でした。メヌルの応察業務は䞀般的にいく぀かの工皋からなるフロヌで進みたすが、AIが担圓するようになったのは「䜜成」の工皋だけでした。AIが䜜った文面をそのたた䜿うかずいうず、倚くの担圓者はやはり信甚しきれず、必ず内容を確認したす。぀たり、AIで䜜成を楜にした぀もりが、確認ずいう新たな手間を生み、かえっお担圓者の負荷を䞊げおしたっおいたのです。 さらに、メヌル応察はいわゆるフロントオフィス業務であり、メヌルの品質がそのたた顧客䜓隓の品質に盎結したす。だからこそ「AIに䞞投げする」ずいう発想自䜓が、珟堎の感芚ずズレおいたこずも芋えおきたした。同時期に行われた垂堎調査でも同様の声が䞊がっおおり、「メヌルを自動生成する」ずいう機胜の前提そのものが、お客様に求められおいなかったのではずいう疑いが確信に倉わっおいったずいいたす。 「AI掻甚やAI゚ヌゞェントずいうのは、突き詰めればお客様の業務をAIに眮き換えるこずだず考えおいたはずなのに、その圓たり前ができおいなかった」ず四方さんは振り返りたす。 「メヌル䜜成AI」から「メヌルアシスタント」ぞの方向転換 信甚しおもらえないずいう声に応えるため、チヌムはAIが本文をいきなり自動生成するのではなく、返信を組み立おるための材料を提瀺する方向ぞず舵を切りたした。コヌディング゚ヌゞェントの「プランモヌド」に近い発想です。 具䜓的には、メヌルの内容を読み取っお芁点を瀺したり、類䌌の過去問い合わせを探したり、倧量にあるテンプレヌトの䞭から適したものを提案したりず、担圓者の䜜業そのものをAIが肩代わりするのではなく、担圓者の刀断をAIがサポヌトする圢ぞず機胜を再蚭蚈しおいきたした。 ずはいえ、AIプロダクト開発においお「䜕を䜜れば䜿われるか」が最初から明確なケヌスは倚くありたせん。「ざっくり楜にしたい」「なんずなく自動化したい」ずいった、ふわっずした芁望から出発するこずがほずんどだず四方さんは蚀いたす。このメヌルアシスタント機胜ぞの転換時も、必芁な機胜は䜕か、情報を芋せすぎるずかえっお読たれなくなるのではないか、ずいった議論が瀟内で癜熱したそうです。 最終的にたどり着いたのは「正解はお客様に聞くしかない」ずいう発想でした。そしお、その正解に最速でたどり着くために取ったアプロヌチが、埌半で玹介する開発プロセスの倉革です。 ドキュメントではなく「動くもの」でお客様ず議論する 埌半のセッションを担圓した今井さんは、開発プロセスそのものの倉革に぀いお玹介したした。 これたでの開発は、ビゞネスサむドが芁求資料を䜜成し、それに沿っお開発偎が芁件をすり合わせ、仕様が固たっおから実装するずいう進め方でした。この方法では、実装が完了するたで実際の動きが芋えづらく、デザむンモックだけでは確認しきれない郚分が残りたす。結果ずしお、実装埌にビゞネスサむドぞ觊っおもらっお初めお「なんずなく違う」ずいうフィヌドバックが出お、手戻りが発生するこずも少なくありたせんでした。 そこで今回は、最初から動くものを仮で䜜る「PoCファヌスト」のアプロヌチを取ったずいいたす。これを可胜にしたのは、AIの進歩によっおコヌディングの倧郚分を指瀺ベヌスで任せられるようになったこずが倧きいず今井さんは説明したす。PoCの䜜成にはClaude Codeを掻甚し、あくたで仮の実装であるこずを前提に、保守性やコヌドの綺麗さよりもスピヌドを優先する、いわゆるバむブコヌディングで進めたそうです。 さらに、ビゞネスサむドずの怜蚎で「必芁かもしれない」ず挙がった機胜は取捚遞択せず、いったんすべおPoCに盛り蟌みたした。実装のほずんどをAIに任せられるため、機胜数が倚少増えおも実装コストがそこたで膚らたない、ずいう刀断があったからこそ取れた遞択です。 そしお重芁なのは、このPoCをビゞネスサむドだけでなく、実際に機胜を䜿うこずになるお客様にも盎接芋せたずいう点です。「䞍芁かもしれない」ずいう機胜が本圓に䞍芁かどうかは、瀟内の議論だけでは決められたせん。珟堎を知るお客様に刀断しおもらうのが最も確実だず考えたからです。 あった方がいいはずの機胜が、実は「邪魔」だった 実際にお客様ぞPoCを芋せた結果は、チヌムの想定ずは異なるものでした。 圓初、メヌルアシスタント機胜にはメヌル本文の芁玄や、質問に察する回答方針の提瀺など、返信に圹立぀ず思われる機胜を䞀通り盛り蟌んでいたした。しかしお客様に芋せおみるず、芁玄や回答方針があっおもAIの回答が100%正しいずは限らないため、結局は本文や過去のやり取りを自分の目で確認する必芁があり、時短には぀ながらないずいう意芋が返っおきたした。「あった方がいい」ず思っおいた機胜が、実際には「邪魔」だった、ずいう気づきです。 䞀方で、返信に䜿うテンプレヌトの提案機胜や、䜜成した本文に察する添削機胜は「䜿える」ずいう評䟡を埗られたした。 タヌゲットに぀いおも発芋がありたした。圓初は返信業務を行うナヌザヌ党員を察象に機胜を怜蚎しおいたしたが、経隓豊富なベテラン担圓者にずっおは、AIが出しおくる情報を远加で確認する手間がむしろノむズになっおしたうずいう声が䞊がりたした。䞀方、メヌル䜜成に䞍慣れな新人担圓者にずっおは、テンプレヌトを探す時間や、䜜成したメヌルを先茩に確認しおもらう時間を枛らせるずいう利点が明確でした。この結果を螏たえ、タヌゲットは「党ナヌザヌ」から「新人担圓者」ぞず絞り蟌たれたした。 お客様ず実際に察話し、業務フロヌを理解できたからこそ、このようにタヌゲットを倉える刀断ができたず今井さんは振り返りたす。 AIプロダクト開発で倧切な3぀のこず 今井さんは、今回の経隓から芋えおきた孊びを、楜楜自動応察に限らずどのような゚ンゞニアでも実践できるものずしお、3点に敎理しおいたした。 1. お客様の業務フロヌを知るこず 䜜ろうずしおいる機胜がどう䜿われるかを知らずに開発するず、䜿われない機胜ができあがる可胜性が高くなりたす。無駄な機胜を䜜らないためには、たず゚ンゞニア自身がお客様の業務を把握するこずが欠かせたせん。 2. AIを䜿っお動くPoCを即座に䜜るこず ドキュメントや文章ベヌスで議論するよりも、実際に動くものを芋ながら議論した方が認識のずれが生たれにくく、圧倒的に効率的です。この段階では機胜を絞り蟌たず、思い぀くものはすべお茉せお、いったん党䜓を芋える状態にしおから議論するこずが有効だずいいたす。 3. できあがったPoCを、実際に䜿うお客様に芋おもらうこず 機胜が䜿えるか䜿えないかの「正解」を持っおいるのは、珟堎を知るお客様です。答えのない状態でビゞネスサむドず開発偎だけで議論するのではなく、正解を知っおいるお客様に刀断しおもらう。この段階で䞍芁な機胜を芋極めおおけば、リリヌス埌の手戻りも枛らせたす。 ゚ンゞニアの仕事は「実装する」から「お客様を理解する」ぞ 今回の事䟋のポむントは、開発プロセスを倉えたこずで開発スピヌドが䞊がった、ずいう話に留たりたせん。AIに実装を任せるこずで生たれた䜙癜の時間を、お客様ず向き合う時間に転換できたこずこそが本質だず今井さんは匷調しおいたした。 お客様ず察話するこずで、実際に機胜が䜿われる堎面ぞの解像床が䞊がり、より良い機胜開発に぀ながりたす。しかも䞀床きりではなく、機胜をブラッシュアップするたびに繰り返し察話するこずで、方向性が合っおいるかを郜床確認できるようになったずいいたす。お客様の業務フロヌ理解ずフィヌドバックの解消を゚ンゞニア自身が担うこずで、゚ンゞニアの仕事は「機胜を実装するもの」から「機胜を考えるもの」ぞず、䞊流にシフトし぀぀あるず感じおいる、ずいうのが今回のセッションの結びでした。 ラクスが倧切にしおいる「顧客志向」ずいう䟡倀芳ず、AIによっお実装のスピヌドが䞊がった「AIネむティブ」な開発ずが組み合わさるこずで、お客様ぞの䟡倀提䟛を最倧化できるようになった。これは楜楜自動応察チヌムに限った話ではなく、AIプロダクト開発に取り組むすべおの゚ンゞニアにずっお参考になる芖点ではないかず感じおいたす。 rakus.connpass.com 「RAKUS AI Conference 2026 Summer」の他レポヌト蚘事 ・ AIを茉せるこずはゎヌルではない。ラクスCTOず開発副本郚長が語った、組織ずプロダクトの倉革 ・ 楜楜粟算AI゚ヌゞェントを支える、LLMOpsずむンフラの遞択肢 ・ 仕様駆動開発、導入半幎。「本圓に速くなっおるの?」にデヌタで答える
2026幎7月15日、ラクスは自瀟むベント「RAKUS AI Conference 2026 Summer」を開催したした。オヌプニングは、CTO å…Œ 開発本郚長の「公手 真之」ず、執行圹員 å…Œ 開発本郚 副本郚長の「矢成 行雄」による2぀のセッションです。 䞀方は「AIネむティブな開発組織をどう䜜るか」ずいう組織の話。もう䞀方は「耇数のプロダクトにAIをどう実装するか」ずいうプロダクトの話。扱う察象は違いたすが、2人が最埌に眮いた結論は同じでした。AIを茉せるこず自䜓はゎヌルではない、ずいうものです。 「SaaS is dead?」にどう答えるか 組織の話ツヌルを導入すれば、AI駆動開発は進むのか 「導入すれば自然に進む」ずいう前提 珟堎の奜感觊ず、䌞びない実数 サヌベむで「珟圚地」を可芖化する 浞透を止めおいた芁因ず、「匷制力」ぞの転換 セッションの結論 プロダクトの話ナヌザヌは「正答率」を求めおいるのか 耇数プロダクトで顧客業務を支える 3぀のプロダクトの実装䟋 「正答率」ナヌザヌが本圓に求めおいたもの 「瞊の壁」ず「暪の壁」、そしお専門組織 珟圚地 2぀のセッションが指しおいた同じ方向 おわりに 「SaaS is dead?」にどう答えるか 2人ずも、話の入り口はクラりドサヌビス業界の珟状に眮いおいたした。 競合がひしめくレッドオヌシャンで、新芏の「癜地」ず他瀟からの乗り換えを奪い合う。そんな状況を背景に、近幎は「SaaS is dead?クラりドサヌビスはもう圹割を終えるのではないか」ずいう論調も出おきおいたす。 これに察する2人の答えは、「dead?」ではなく「 SaaS is evolving 」でした。クラりドサヌビスは終わらず、むしろ進化する。AIはクラりドを眮き換えるものではなく、これたで届けおきた䟡倀をもう䞀段匕き䞊げるものだ、ずいう立堎です。 矢成はここに補足を加えたした。ラクスはすでに、System of Record に蓄積した信頌できるデヌタず、それを動かす業務ワヌクフロヌを持っおいる。その土台の䞊にAIが乗るからこそ䟡倀が出る。「デヌタ・ワヌクフロヌ・AI」がそろっおはじめお意味を持぀、ずいう敎理です。そしお「䟡倀そのものだけでなく、それを届けるスピヌドが競争力になる」ずいう珟状認識は、2人に共通しおいたした。 同じ珟状認識から出発しながら、公手は「組織をどう倉えるか」を、矢成は「プロダクトに䜕をどう実装するか」を語りたした。 組織の話ツヌルを導入すれば、AI駆動開発は進むのか 公手のセッションは「耇数プロダクト組織のAIネむティブ化における戊略」。冒頭で「ここから先は、少し泥くさい話になりたす」ず断ったずおり、成功事䟋の玹介ではなく、うたくいかなかった過皋の共有でした。 「導入すれば自然に進む」ずいう前提 ラクスは生成AIを早い段階から取り入れおきたした。2022幎秋には GitHub Copilot を䜿い始めるメンバヌが珟れ、2023幎4月に党面導入。その埌も Cursor、Devin、Claude Code を、珟堎の刀断で比范的自由に導入しおいたす。ツヌルが先行したぶん、ガむドラむンやセキュリティ察策も早めに敎えられたした。 開発組織は囜内が玄350人、海倖が玄100人。各チヌムは技術スタックも開発拠点も異なり、それぞれが顧客志向のもずで最適なやり方を遞び、成果を出しおきたした。その実瞟があったからこそ、「優秀な珟堎にAIツヌルを枡せば、良い䜿い方を芋぀けおAI駆動開発は自然に進むだろう」ずいう前提が眮かれおいた、ず公手は振り返りたす。 結果は、その前提どおりにはなりたせんでした。 珟堎の奜感觊ず、䌞びない実数 導入埌、珟堎からはむンパクトのある報告が䞊がっおきたした。あるプロゞェクトではコヌドの95%を生成AIが実装。SPEC駆動開発SDDで開発工数を50%削枛、E2Eテスト自動化でテスト工数を30%削枛、調査コストを25%削枛、海倖チヌムずのリヌドタむムも30%削枛。䜓感面でも「実装が楜になった」「PoCや新機胜開発は確実に速くなった」「孊習が速くなった」ずいった声が目立ちたした。 䞀方で、同じ珟堎から別の声も䞊がっおいたす。「AIならではの手戻りが発生する」「レビュヌが重く、品質確認の負荷はむしろ増えた」。ビゞネス偎からは「開発が明らかに速くなった」ずいう実感が返っおこず、゚ンゞニアに聞いおもリリヌスが速くなった手応えは曖昧でした。 そこで公手たちは、䜓感ではなく実数を確認したす。党面導入の前埌で、リリヌス回数ず新機胜の数がどう倉化したかを蚈枬したずころ、期埅したほどには䌞びおいたせんでしたなお公手は、この数倀に぀いお「機胜の芏暡は無芖した参考倀」ず限界を明瀺しおいたした。 ここから導かれた孊びは明快です。実装フェヌズは確かに楜になった。しかし、その前埌の工皋やプロセス党䜓が倉わらなければ、䟡倀提䟛のスピヌドは䞊がらない。埓来のプロセスにAIツヌルを足すだけでは、成果には届かないずいうこずです。 サヌベむで「珟圚地」を可芖化する 次の打ち手は、珟状の可芖化でした。ラクスには開発者䜓隓の向䞊をミッションに掲げる技術チヌムがあり、そのチヌムが「AI駆動開発がどこたで浞透しおいるか」を枬るサヌベむを䜜成したす。開発チヌムごず・開発工皋ごずに、䞖の䞭の最新のAI掻甚事䟋をベンチマヌクずしお自己評䟡し、成熟床をスコアリングする仕組みです。 結果ずしお、チヌム間のばら぀きの倧きさが芋えおきたした。実装フェヌズのAI掻甚は進む䞀方で、テストやレビュヌはほが手぀かず。そしお、開発速床が改善しおいるチヌムほど、実装以倖の工皋でもAIを䜿い、SPEC駆動開発を取り入れおいる、ずいう盞関が確認できたした。 浞透を止めおいた芁因ず、「匷制力」ぞの転換 ヒアリングからは、浞透を止めおいる共通の芁因が芋えおきたす。 コスト意識が高いため、効果が芋えるたで新しいツヌルの導入刀断に時間がかかる AI掻甚の「目指す姿」が芋えにくく、孊習コストを螏たえるず日々の開発が優先される チヌムをリヌドする掚進圹が䞍足し、良い䜿い方がチヌム党䜓に広がらない これを受けお、公手たちは方針を倧きく倉えたす。これたでのラクスは「各チヌムの自埋的な最適化」で成果を出しおきたしたが、それに任せるだけでは組織党䜓ずしおは思うように浞透しない。そこで今期は、組織ずしお明確な方向性を瀺し、匷制力を持っお進める方針に螏み蟌みたした。䞊蚘の各芁因には、それぞれ次の打ち手が圓おられおいたす。 各チヌムごずの効果怜蚌を埅たない 生産性向䞊がはっきりしおいた Claude Code を党面導入し、それを前提ずした SPEC駆動開発を、ベトナムやむンドネシアの開発拠点も含めお党面展開する 「AI駆動開発 実践カタログ」を敎備する AIネむティブ開発で実践すべき玄20項目を職皮ごずに定矩し、「どこたでやれば実践できおいるず蚀えるか」たで明文化する。ガむドラむンにずどめず「組織ずしお目指す姿」の共通蚀語ずし、開発マネヌゞャヌの目暙にも組み蟌む 掚進圹を眮き、倖から支揎する 勉匷䌚や情報共有䌚、瀟内むベント、瀟内報・瀟内ラゞオでの玹介、衚地制床、他チヌムの有識者による Enabling を甚意し、成功事䟋ずノりハりが暪に流れる環境を敎える 「各チヌムの自埋に任せる」文化を倧切にしおきた組織が、あえお「匷制力」に舵を切る。公手は、その難しさも含めお率盎に語っおいたした。 セッションの結論 締めくくりで、公手はこう述べたした。AIネむティブ開発組織ぞの倉革のゎヌルは、AI駆動開発を浞透させるこず自䜓ではない。顧客䟡倀ず事業䟡倀を、これたで以䞊のスピヌドず品質で生み出すこずだ、ず。AIの登堎から玄4幎、ラクスの本栌的なAIネむティブな開発づくりは動き出したばかりで、「正解はただ芋えにくいが、詊行錯誀しながら䞀歩ず぀進んでいく」ず結びたした。 プロダクトの話ナヌザヌは「正答率」を求めおいるのか 続く矢成のセッションは「耇数プロダクトで進めるAI機胜実装 実践から埗たリアルな孊びずロヌドマップ実珟ぞの挑戊」。組織の話をプロダクトの珟堎に匕き継ぐ内容で、こちらも「うたくいった話」より「ぶ぀かった話」が䞭心でした。 矢成はセッションを貫く問いを立おたす。AIがコモディティ化する時代に勝負を分けるものは䜕か。ナヌザヌは本圓に「正答率」を求めおいるのか。耇数プロダクトの同時䞊行開発の成吊は、䜕によっお分かれたのか。 耇数プロダクトで顧客業務を支える ラクスの特城は、単䞀プロダクトではなく、顧客業務を支える耇数のプロダクトを持っおいるこずです。受泚・芋積・契玄ずいった販売管理、経費粟算や仕蚳、問い合わせ応察やFAQずいったカスタマヌサポヌト。これらが組み合わさるこずで、販売から経費、サポヌトたで、顧客の業務がひず぀ながりで支えられたす。矢成はこれを、点ではなく「面で支える」ず衚珟したした。 そこでラクスが遞んだのは、耇数のプロダクトぞ同時䞊行でAIを実装する道です。䞀぀に絞っお局所最適する方法は取りたせんでした。矢成が繰り返し匷調したのは、「顧客提䟛䟡倀の向䞊に぀ながらないAI実装に意味はない」ずいう前提です。流行っおいるから茉せる、茉せるこず自䜓が目的になる。それを避けるこずが出発点でした。 3぀のプロダクトの実装䟋 具䜓䟋ずしお、3぀のプロダクトが玹介されたした。 経費粟算楜楜粟算䌝祚䜜成AI゚ヌゞェント 䌝祚入力の手間に察しお、AI-OCRず゚ヌゞェントを組み合わせる。領収曞をアップロヌドするず、過去の申請事䟋などから経費粟算デヌタを予枬し、入力たで枈たせる。手䜜業が「確認するだけ」に倉わる 販売管理楜楜販売DB構成提案 初期蚭定や業務フロヌ構築が䌁業ごずに耇雑で、導入のハヌドルになっおいた。そこぞ察話型ナビゲヌションのAIアシストを導入する。AIず察話しながら進めるだけで自瀟に合った蚭定が提案され、専門知識がなくおも䜿い始められる カスタマヌサポヌト楜楜自動応察メヌル䜜成゚ヌゞェント 担圓者ごずの応察品質のばら぀きに察しお、応察履歎や瀟内ナレッゞベヌスから回答文案を自動生成し、品質を底䞊げする。さらに応察履歎からFAQ蚘事を提案・公開し、問い合わせの発生そのものを枛らす 技術の実装方法は異なりたすが、狙いは共通しおいたす。「ナヌザヌの手䜜業」ず「専門性の壁」をAIが肩代わりし、顧客が本質的な業務に集䞭できる状態を぀くる。AIの実装は、そのための手段ずいう䜍眮づけです。 「正答率」ナヌザヌが本圓に求めおいたもの 圓初、開発チヌムがもっずも力を入れおいたのは正答率の向䞊でした。゚ンゞニアずしおは自然な発想です。しかし、ナヌザヌの関心はそこにありたせんでした。 ナヌザヌが重芖しおいたのは、正答率そのものよりも「最終的な正解ぞ、早く楜にたどり着けるか」でした。なぜその答えになったのかの分かりやすさ、方向を瀺しお軌道修正できるこず、間違ったずきにリカバリヌしやすいこず。正答率は入り口の䞀指暙にすぎなかったわけです。 打ち手は、人が最埌に䞻導暩を持぀ Human-in-the-loop の培底でした。面倒な䜜業は自動化し、確認ず修正は人に残す。「AIが提案し、人が確認する」ずいう圹割分担で、粟床ず安心感を䞡立させたす。矢成はこの優先順䜍を、次のように蚀い切りたした。 「90%正解でも、確認・修正しづらいAI  80%正解でも、確認・修正しやすいAI」 数字の高さよりも、䜿う人の䜓隓を優先する。開発に熱が入るほど芋萜ずしやすい芳点です。 「瞊の壁」ず「暪の壁」、そしお専門組織 耇数プロダクトを同時に走らせたこずで、組織面の課題も芋えおきたした。矢成はこれを「瞊の壁」ず「暪の壁」ず呌びたす。 瞊の壁チヌム内 AI機胜の開発には、LLMやAIの専門スキルず、業務ドメむンの深い理解の䞡方が必芁になる。しかし、すべおのプロダクトチヌムに䞡方を求めるのは珟実的でない。 暪の壁チヌム間 耇数プロダクトが同時に走ったため、APIのレヌト制埡、LLMの粟床評䟡、トヌクン消費コストの可芖化、負荷詊隓の蚭蚈など、䞀床䜜れば共有できるものを各チヌムが個別に䜜っおしたう。「車茪の再発明」が各所で発生した。 打ち手は、AI開発の専門組織を新蚭し、そこに2぀の圹割を持たせるこずでした。䞀぀は、難易床の高いコア開発をたずめお匕き受ける圹割。これにより瞊の壁が䞋がり、各プロダクトチヌムは自分たちが最も詳しいドメむンの実装に集䞭できたす。もう䞀぀は、ガむドラむン策定や定䟋でのナレッゞ共有など、知識の暙準化を暪に広げる圹割。これにより暪の壁が䞋がりたす。この蚭蚈は、専門性の高い開発を集玄するチヌムず暪展開を支揎するチヌムを分ける「チヌムトポロゞヌ」の考え方を䞋敷きにしたもので、この組織はAIロヌドマップを継続的に実珟する圹割も担い始めおいたす。 珟圚地 珟時点では、耇数のプロダクトにAIが茉り、個々の業務効率化で成果が出はじめた段階です。業務ルヌルや運甚にAIが寄り添う「協働型AI」の䞀郚が実珟しおいたす。この先は、プロダクト個別の最適化から、デヌタずワヌクフロヌをプロダクト暪断で぀なぐ段階ぞ。さらに、より倧きな顧客䟡倀を生む盞乗効果ぞず進め、プロダクトをより「AI Native」「Agentic」に近づけおいく、そう結ばれたした。 2぀のセッションが指しおいた同じ方向 組織の話ずプロダクトの話は、結論が重なりたした。 公手倉革のゎヌルはAI駆動開発の浞透ではなく、顧客䟡倀ず事業䟡倀をこれたで以䞊のスピヌドず品質で生み出すこず 矢成AIを茉せるこず自䜓が目的ではなく、顧客が本質的な業務に集䞭できる䜓隓を぀くり続けるこず どちらも䞻語は顧客です。AIは、䟡倀提䟛のスピヌドず品質を䞊げるための手段ずしお䜍眮づけられおいる。 ラクスが創業から重芖しおきた「顧客志向」が、AIずいう新しい道具を埗おも䞀貫しおいる。 これが2぀のセッションに共通するメッセヌゞでした。矢成が立おた「勝負を分けるものは䜕か」ずいう問いの答えも、モデルの性胜や正答率ではなく、AIを顧客の䜓隓にどこたで着地させられるか、ずいう䞀点にあるず読み取れたす。 この2぀は、「耇数プロダクトを持぀組織である」ずいう前提でも぀ながっおいたす。各領域で最良の補品をそろえる「ベストオブブリヌド」は、ラクスが長幎匷みにしおきたものです。矢成の話はこの匷みをAI時代に生かす戊略であり、公手の話はその耇数プロダクトを暪断しおAIネむティブ化を進める土台づくりにあたりたす。開発本郚が掲げる「顧客に䟡倀を高速提䟛できるAIネむティブな開発組織ぞ倉革し、次䞖代の統合型ベストオブブリヌドを実珟する」ずいうビゞョンを、組織ずプロダクトの䞡面から具䜓化しようずしおいる、ず䜍眮づけられたす。 䞡者が共通しお觊れおいたのが、これから匷化したい人材像でした。公手が挙げたのは2皮類の゚ンゞニアです。AIが高品質な成果を出し続けられる開発基盀ハヌネスを蚭蚈できる゚ンゞニアず、「䜕を䜜るか」を研ぎ柄たす顧客䟡倀の蚭蚈゚ンゞニア。実装のボトルネックが解消された先で問われるのは「䜕を䜜るか」であり、この芖点は矢成の蚀う「業務ドメむンの深い理解」ずも重なりたす。 おわりに 今回の2セッションは、「AIでこれだけ成果が出た」ずいう事䟋集ではありたせんでした。「ツヌルを導入しおも進たなかった」「正答率を䞊げおも䜿われなかった」ず、うたくいかなかった過皋を共有する内容です。AIをどう組織に根づかせ、どうプロダクトの䟡倀に倉えるか。同じ課題に盎面しおいる開発組織は少なくないはずで、ラクスもたた、正解の芋えにくい䞭を詊行錯誀しながら進んでいる最䞭です。 そしお、ここで語られた倉革は、ただ道半ばです。匷制力を持っお浞透を進める組織づくりも、顧客䜓隓に着地させるプロダクトづくりも、これから担い手を必芁ずしおいたす。ラクスの開発本郚では、先に觊れた2぀の人材像を、たさに募集しおいたす。この詊行錯誀を䞀緒に進めおくれる方は、ぜひ䞀床 採甚ペヌゞ をのぞいおみおください。 たた、圓日の発衚資料はSpeakerDeckで公開しおいたす。ぜひあわせおご芧ください。 - 発衚資料 speakerdeck.com speakerdeck.com なお、8月䞋旬ごろに発衚のアヌカむブ動画をラクス゚ンゞニア情報ポヌタルサむトにお公開予定です。 - ラクス゚ンゞニア情報ポヌタルサむト https://career-recruit.rakus.co.jp/career_engineer/ 「RAKUS AI Conference 2026 Summer」の他レポヌト蚘事 ・ 顧客の声から生たれた『AI返信補助機胜』の開発プロセス ・ 楜楜粟算AI゚ヌゞェントを支える、LLMOpsずむンフラの遞択肢 ・ 仕様駆動開発、導入半幎。「本圓に速くなっおるの?」にデヌタで答える
こんにちは、菊池akikuchi_rksです。 私の所属するチヌムではClaude Codeを開発フロヌに取り入れおおり、私自身も蚭蚈曞のレビュヌや定型調査の自動化など、さたざたな業務でスキルAgent Skillsを䜜成しおきたした。 スキルを曞き続けおいお特に感じるのは、「ずりあえず動くスキル」ず「安定しお業務に組み蟌めるスキル」は別物だずいうこずです。同じスキルなのに実行のたびに結果の圢が倉わる、自分は䜿えるのにチヌムメンバヌが動かすず品質が萜ちる、ずいう悩みに心圓たりのある方も倚いのではないでしょうか。 私はこの差を分けるのは、 AIにどう仕事を任せるかをしっかり蚭蚈できおいるかどうか だず思っおいたす。Anthropicもスキルを䜜るこずを 「新しく入瀟したメンバヌ向けのオンボヌディングガむドを甚意するこず」に䟋えおいたす 。新しいメンバヌに仕事を任せるずきず同じように、スキル蚭蚈でも、䟝頌内容を明確にし、任せる範囲ず䜓制を決め、成果物の品質を確認し、実行結果を芋お次の任せ方を調敎する必芁がありたす。 䟝頌内容を明確にする 誰に、どの単䜍で任せるかを決める 品質確認の仕組みを組み蟌む 仕事ぶりを評䟡しお、次の任せ方に掻かす 䞊蚘の4぀をおさえおいるず、同じスキルを誰がい぀動かしおも、期埅した品質のアりトプットが安定しお返りやすくなりたす。 本蚘事ではこの4぀のポむントに぀いお玹介しおいきたいず思いたす。 ポむント1䟝頌内容を明確にする ポむント2誰に、どの単䜍で任せるかを決める (a) スクリプトに切り出すか (b) 䞊列化サブ゚ヌゞェント分業するか (c) コンテキストの分割単䜍 (d) どのモデルを䜿うか ポむント3品質確認の仕組みを組み蟌む ポむント4仕事ぶりを評䟡しお、次の任せ方に掻かす (a) 評䟡指暙を決める (b) 評䟡スキルを䜜る (c) 改善の意思決定は人間に残す 芋぀けた倱敗をGotchasずしおスキルに反映する たずめ ポむント1䟝頌内容を明確にする スキル蚭蚈で最初にやるべきこずは、期埅するアりトプットを定矩し、それを生成するために必芁なむンプットを逆算するこずです。 アりトプットの定矩では、フォヌマット、粒床、含めるべき芁玠、含めおはいけない芁玠を具䜓化したす。「レビュヌ結果を出す」ではなく、「指摘はMUSTSHOULDIMOFYInitsの5段階で分類し、MUSTずSHOULDには芳点皮別ず修正䟋を必ず添える。」ずいうレベルたで萜ずし蟌みたす。 アりトプットだけでなく、AIが刀断しおよい範囲も明確にしたす。「芁件に沿っお修正案を䜜る」こずは任せおも、「どの修正を採甚するか」「本番環境ぞ反映するか」ずいった意思決定は人間が行う、ずいうように責任の境界を決めおおくこずが重芁です。 むンプットの定矩では、そのアりトプットをAIが生成するために必芁な情報をすべお列挙したす。 業務知識やドメむン甚語の補足 参照すべき既存ドキュメントやコヌド 過去事䟋ず反䟋 守るべき制玄やルヌル ここを曖昧にしたたたプロンプトを曞き始めるず、「動くが品質が安定しない」スキルになっおしたいたす。過䞍足の点怜には「人間に同じ仕事を頌むなら䜕を枡すか」ずいう問いが有効です。Anthropicの プロンプトベストプラクティス も、Claudeを「優秀だが、あなたの組織の芏範や仕事の流れをただ知らない新しい瀟員」ず考えるよう勧めおいたす。 むンプットが足りおいないず、AIは䞍足した情報を掚枬で補完し始めたす。䞀方で、実行ごずにアりトプットの構造や粒床が倉わる堎合は、アりトプットの定矩が曖昧な可胜性がありたす。どちらの堎合も、プロンプトの衚珟を調敎する前に、むンプットやアりトプットの定矩に戻っお芋盎すこずをおすすめしたす。 ポむント2誰に、どの単䜍で任せるかを決める むンプット・アりトプットの定矩が固たったら、次はその情報量を芋積もりたす。コンテキストりィンドりは有限であり、手圓たり次第に党郚詰め蟌むず粟床が萜ちるためです。人に䟋えるなら、1人に資料を党郚抱えさせるのか、チヌムを組んで分担させるのか、そもそも機械的にツヌルで凊理すべきかを決める工皋です。刀断軞は4぀ありたす。 (a) スクリプトに切り出すか 日付蚈算、ファむルの存圚チェック、フォヌマット倉換のような決定的に実行できる凊理は、AIに自然蚀語で解釈させるのではなく、スクリプトに切り出したす。曖昧さの入り蟌む䜙地がなくなるぶん、結果が安定したす。人に任せる仕事ず、ツヌルで枈たせる仕事を分けるのず同じ刀断で、AI゚ヌゞェントに任せる範囲を決める前に、そもそも決定的な凊理ずしお切り出せないかを怜蚎するず、埌段の蚭蚈がシンプルになりたす。 (b) 䞊列化サブ゚ヌゞェント分業するか 情報量が倚い堎合や、独立したサブタスクが耇数ある堎合は、サブ゚ヌゞェントに分業させたす。䟋えば「耇数ファむルの調査 → 統合レポヌト」のようなタスクであれば、調査をサブ゚ヌゞェントに䞊列で投げ、統合刀断は芪゚ヌゞェントが担圓する構成にしたす。 分業で気を぀けたいのは、任せた盞手に䟝頌が正しく䌝わっおいるかどうかです。Anthropicは How we built our multi-agent research system のブログ蚘事においお、サブ゚ヌゞェントぞの委譲プロンプトに「目的」「出力圢匏」「䜿甚するツヌルず情報源の指針」「タスクの境界」の4芁玠を含めるこずを挙げおいたす。「いい感じに調査しおおいお」ずいう䞞投げが事故のもずになるのは、人間盞手でもサブ゚ヌゞェント盞手でも倉わりたせん。 たた、サブ゚ヌゞェントは毎回たっさらなコンテキストで起動するため、芪セッションで既に読み蟌んだスキルを匕き継ぎたせん。スキルを前提にした䜜業を確実に任せたい堎合は、サブ゚ヌゞェント定矩の skills フィヌルドでスキルを事前ロヌドするか、委譲するプロンプトにスキルの䜿甚を明瀺しおおく必芁がありたす。 (c) コンテキストの分割単䜍 1回の呌び出しに入るむンプットサむズを詊算し、入らない・粟床が萜ちるようであれば、意味のある単䜍で分割したす。このずき、分割の境界を「サブ゚ヌゞェントの責任範囲」ず䞀臎させるず蚭蚈がきれいになりたす。逆にここがズレおいるず、サブ゚ヌゞェント間で情報を受け枡すための䜙蚈な仕組みが必芁になりがちです。 䟋えば50ペヌゞの蚭蚈曞なら、1ペヌゞ4,000文字ずしお玄20䞇文字です。日本語1文字あたりのトヌクン数は䜿甚するモデルのトヌクナむザによっお倉わるため、正確な数倀は OpenAI Tokenizer などで実枬するのが確実ですが、経隓的には0.5〜1トヌクン皋床に収たるこずが倚いです。この䟋では10䞇〜20䞇トヌクン盞圓ずなり、200Kのコンテキストりィンドりの倧半を占める芏暡になりたす。りィンドりにはスキル本文や参照コヌド、出力の分も茉るうえ、むンプットが倧きいほど読み萜ずしも増えるため、1サブ゚ヌゞェントに枡すむンプットは数䞇トヌクン皋床に収めたいずころです。この䟋なら10ペヌゞ2䞇〜4䞇トヌクンが目安で、50ペヌゞ÷10ペヌゞで、およそ5分割が必芁ずいう芋積もりが立ちたす。 そのうえで、実際の分割の境界は「10ペヌゞず぀」ず機械的に切るのではなく、「機胜ごず」に切りたす。ペヌゞ数で切るず1぀の機胜の説明が耇数のサブ゚ヌゞェントにたたがるため、担圓範囲だけでは敎合性を刀断できず、互いのレビュヌ結果を突き合わせる仕組みが別途必芁になっおしたいたす。機胜ごずに切れば、各サブ゚ヌゞェントは自分の担圓範囲だけでレビュヌを完結でき、芪゚ヌゞェントは結果を束ねるだけで枈みたす。 (d) どのモデルを䜿うか タスクの耇雑さで遞びたす。 機械的な抜出や敎圢 → 軜量モデルHaikuなど 通垞の蚭蚈や実装 → 暙準モデルSonnetなど 耇雑な刀断、暪断的な統合 → 高性胜モデルOpusなど サブ゚ヌゞェント偎を軜量モデル、芪を高性胜モデルにする構成は、品質ずコストのバランスが良く、私もよく䜿っおいたす。ただし、䜿い分けは思い蟌みで固定せず、実際に耇数モデルで詊しお決めるのが確実です。軜量モデルで十分だず思っおいたタスクが実は足りなかったり、その逆だったりずいうこずはよくありたす。 ポむント3品質確認の仕組みを組み蟌む 䞀発生成では、どうしおも品質にばら぀きが生たれたす。そのため、生成した成果物を確認し、必芁に応じお修正する仕組みをスキルの䞭に組み蟌むこずが重芁です。人に仕事を任せるずきも、成果物の品質確認をせずそのたた䜿うこずは少ないはずです。 レビュヌのさせ方には2皮類ありたす。 セルフレビュヌ : 同じ゚ヌゞェントに続けおレビュヌを指瀺する方法 クロスレビュヌ : 別のサブ゚ヌゞェント別芖点、別ペル゜ナにレビュヌさせる方法 セルフレビュヌは構成がシンプルでコストも䜎く枈みたす。䞀方で、生成時ず同じ文脈や思考を匕き継ぐため、芋萜ずしを芋぀けにくい堎合がありたす。品質を重芖するタスクでは、別の゚ヌゞェントにレビュヌさせるクロスレビュヌの方が、倚様な芖点から確認できるため有効なケヌスが倚いず感じおいたす。AI゚ヌゞェントの蚭蚈パタヌンを敎理した Agent Design Pattern Catalogue でも、生成結果を自分自身で振り返る Self-reflection ず、別の゚ヌゞェントやモデルがレビュヌを行う Cross-reflection が代衚的なリフレクションパタヌンずしお玹介されおいたす。品質芁件やコストに応じお、䞡者を䜿い分けるこずが重芁です。 クロスレビュヌでは、レビュヌ担圓のサブ゚ヌゞェントに明確なペル゜ナを割り圓おるこずで、芖点の重耇を防ぎ぀぀芳点の網矅性を高められたす。䟋えば私のチヌムで運甚しおいる䞊列レビュヌスキルでは、次のようにレビュヌ担圓を分けお䞊列に走らせおいたす。 チェックリスト怜蚌担圓 : プロゞェクトのレビュヌチェックリストず倉曎内容を項目単䜍で突き合わせる 実装怜蚌担圓 : レむダヌ構成、NULL安党性、コヌディング芏玄に絞っおコヌドを芋る テスト芳点怜蚌担圓 : テストの網矅性、呜名芏則、ナビキタス蚀語の䜿甚を怜蚌 既存コヌドずの䞀貫性怜蚌担圓 : 既存の実装パタヌン・呜名ずの敎合性を確認 䞍具合怜出担圓 : diff内の情報のみから明らかなバグを怜出 委譲プロンプトでは、各サブ゚ヌゞェントに察しお「圹割䜕を怜蚌するか」「参照するガむドラむン事前に読み蟌むスキル」「タスクの手順」を明瀺したす。ペル゜ナず担圓範囲を絞るほど、それぞれのレビュヌが深く掘り䞋げられたす。逆に「気になる点を挙げお」ず䞞投げするず、耇数のペル゜ナが同じ論点を重耇しお指摘したり、無難な指摘に流れたりしがちです。 ポむント4仕事ぶりを評䟡しお、次の任せ方に掻かす スキルが増えおくるず、「このスキルは本圓に良いのか」「どこたで任せお倧䞈倫なのか」を刀断する基準が必芁になりたす。人に仕事を任せるずきも、仕事ぶりを芋お任せる範囲を広げたり、フォロヌを厚くしたりするはずです。最終的に目指したいのは、スキル自䜓を継続的に改善できる仕組みです。 私が実際に運甚しおいる改善ルヌプの党䜓像は次のずおりです。 改善ルヌプ このルヌプを回すために抌さえるべきなのは、(a)評䟡指暙を決める、(b)評䟡スキルを䜜る、(c)改善の意思決定は人間に残す、の3぀です。以䞋で順に玹介したす。 (a) 評䟡指暙を決める スキルごずに、品質を枬る評䟡指暙を定矩したす。 蚭蚈曞生成スキルなら「芳点の網矅率」「業務制玄ぞの準拠率」「再実行時のブレ幅」 レビュヌ系スキルなら「指摘の真陜性率」「重倧床刀定の劥圓性」 指暙がないず「なんずなく良くなった気がする」で改善が止たっおしたいたす。Anthropicの 公匏ベストプラクティス も、スキルの䞭身を曞き蟌む前にたず評䟡を䜜るこずevaluation-driven developmentを掚奚しおいたす。この掚奚を実践しおいる䟋が skill-creator で、スキルを曞く前に評䟡ケヌスを甚意し、スキルあり・なしたたは改善前・改善埌の結果を比范しながら改善を進める䜜りになっおいたす。 (b) 評䟡スキルを䜜る 決めた指暙を機械的に評䟡するための 評䟡スキル を別途甚意したす。むンプットは察象スキルのアりトプット、アりトプットは指暙ごずのスコアず改善提案です。 評䟡スキルは人間によるレビュヌの代替ではなく、人間がレビュヌする前のスクリヌニングずしお機胜させるのが珟実的だず思いたす。 (c) 改善の意思決定は人間に残す 評䟡スキルの結果を起点に、スキル自䜓をブラッシュアップするルヌプを回したす。ここで私が守っおいるのは、改善案を耇数出させお、 人間が遞ぶ こずです。AIに党自動でスキルを曞き換えさせるず、改善の方向性が本来の目的からずれおいきやすくなりたす。意思決定だけは人間に残すのが、遠回りに芋えお結果的に速いずいうのが私の経隓則です。 評䟡指暙を決め、評䟡を継続的に行い、その結果を人間が刀断しお改善に぀なげる。この䞀連の流れを仕組みずしお持぀こずで、スキルは䞀床䜜っお終わりではなく、継続的にブラッシュアップできるようになりたす。 芋぀けた倱敗をGotchasずしおスキルに反映する 䞊蚘のような改善ルヌプや日々の運甚で芋぀けた倱敗パタヌンは、スキルの泚意曞きGotchas、萜ずし穎ずしお蓄積しおいきたす。人に仕事を匕き継ぐずき、「この凊理はここで転びやすい」ず泚意事項を添えるのず同じです。Claude Codeの開発チヌムも、 スキルの䞭で最もシグナルが高いのはGotchasセクションだ ず述べおいたす。 最初から完璧な指瀺を曞くのは難しいので、運甚しながら倱敗を吞収しおスキルを厚くしおいく方が珟実的です。䞊述の評䟡ルヌプで芋぀かった倱敗はもちろん、日垞運甚で気づいた泚意点も、その郜床スキルに远蚘しおいきたす。 たずめ スキルを曞くこずを「AIぞの仕事の任せ方の蚭蚈」ず捉え盎しお、4぀のポむントを玹介したした。 䟝頌内容を明確にするアりトプットずむンプットの定矩 誰に、どの単䜍で任せるかを決めるスクリプト化、䞊列化、分割、モデル 品質確認の仕組みを組み蟌むセルフレビュヌずクロスレビュヌ 仕事ぶりを評䟡しお、次の任せ方に掻かす評䟡指暙、改善ルヌプ、Gotchas蓄積 どれも特別なテクニックではなく、人に仕事を任せるずきにも自然に行っおいるこずです。AIを「仕事を任せる盞手」ず捉えお蚭蚈するだけで、スキルの再珟性や改善のしやすさは倧きく倉わるず感じおいたす。 そしお、その効果は業務効率化にずどたりたせん。AIに安心しお任せられる仕事が増えるほど、私たちは顧客の本質的な課題解決のための察話や、高床な機胜開発ずいった、人間にしかできない䟡倀創造の仕事に集䞭できるようになりたす。 私自身もただ詊行錯誀の途䞭ですが、本蚘事で玹介した考え方が、スキル蚭蚈を芋盎すきっかけになれば嬉しいです。 なお、本蚘事で扱わなかったSKILL.mdそのものの曞き方descriptionの蚭蚈、ファむル構成、progressive disclosureなどに぀いおは、 Anthropic公匏のベストプラクティス にたずたっおいるので、そちらをご芧ください。