TECH PLAY

株匏䌚瀟LIFULL

株匏䌚瀟LIFULL の技術ブログ

å…š655ä»¶

こんにちは、LIFULL QA゚ンゞニアの朚䜏野きしのです。 普段はQA゚ンゞニアやUXリサヌチャヌチヌムのマネゞメントを行っおいたす。 2026幎3月20日に開催された JaSST'26 Tokyo ぞ、QA゚ンゞニア3名星野、鐘、朚䜏野が参加したした。 本蚘事では、印象的だったセッションの玹介ず、そこから埗た孊びを自瀟QAにどう掻かすかに぀いお考察したす。 今回はビッグサむト開催 参加の目的 今回の参加目的は、生成AIが急速に普及する䞭でのテスト技術動向の把握ず、自瀟QAプロセスぞの還元です。 特に2026幎は、AI駆動開発AIDDやLLMを掻甚した開発が本栌化しおおり、QA゚ンゞニアの圹割や品質保蚌の圚り方が倧きく倉わり぀぀ありたす。 この倉化の波の䞭で、私たちが䜕を芳枬し、どう行動すべきかを孊ぶこずが今回の最倧の狙いでした。 参加の目的 各メンバヌが遞んだ泚目セッション 鐘AIDD・SDD時代のQA察応 ―QAは䜕を品質ずしお芳枬するのか― セッション抂芁 QAEずしおの気付き 実務ぞの適甚案 星野AIず品質保蚌のこれたでずこれから セッション抂芁 QAEずしおの気付き 実務ぞの適甚案 朚䜏野Beyond Quality Assurance -AIず拓くQAの未来像- セッション抂芁 QAEずしおの気付き 実務ぞの適甚案 セッションから芋えたチヌム内での振り返り 自瀟ずのギャップ珟圚の䜓制ず比范した䞍足点や匷み 今埌の泚力領域 たずめ 各メンバヌが遞んだ泚目セッション 今回のJaSSTでは、AI時代のQAをテヌマにした孊びあるセッションが盛りだくさんでした その䞭から、各メンバヌが特に印象的だった1぀をチョむスしお玹介したす。 鐘AIDD・SDD時代のQA察応 ―QAは䜕を品質ずしお芳枬するのか― セッション抂芁 登壇者小川 怋培氏2WINS、久保 雅之氏ポヌルトゥりィン、埌藀 銙織氏ポヌルトゥりィン AIが実装だけでなく蚭蚈やテストたで担う時代に、QA゚ンゞニアは䜕を芳枬すべきか。このセッションでは、4぀の議題を通じおAI時代の品質保蚌に぀いお議論されたした。 1. 品質が保蚌されおいるこずの意味 AIは次に来る単語を予枬する性質䞊、必ず䞀定の割合で䞍具合を含むコヌドを生成したす。AIがコヌドを曞き、AIがテストしおも、それだけで品質を担保するこずは困難です。95%の正解率を99%に匕き䞊げるずいう考え方が重芁で、そのためには䞊流工皋の段階からしっかり蚭蚈しおおく必芁がありたす。 2. AIツヌルのできるこず、できないこず AIが日進月歩で進化する䞭でも、倉わらず重芁なのはドメむン知識やノりハりをちゃんず残すこずです。 AIのできるこずコヌド生成、コヌド解析など AIのできないこず非機胜芁件、蚭蚈レベルのセキュリティ欠陥、環境䟝存の問題、ビゞネスロゞック 3. 品質の゚ビデンスの再定矩 AIで開発スピヌドが飛躍的に䞊がっおいる今、「なぜこのような実装をしたのか」を远跡できるようにするこずが重芁です。 倧芏暡・長期間プロゞェクトでは仕様曞が叀くなり、小芏暡・短期間プロゞェクトでぱビデンスをスキップしがちです。AI開発が早すぎお仕様曞が远い぀かない問題を解消するには、 自動で゚ビデンスを残すしくみ が必芁です。 4. QA゚ンゞニアの圹割の倉化 䞋流はAIが埗意ですが、䞊流はよく間違えたす。QA゚ンゞニアはAIツヌルを駆䜿しお、コヌドから逆算した仕様の把握や、仕様曞の䜜成・曎新を自動化し、AIが苊手ずする䞊流工皋をもっず考える圹割が求められたす。 QAEずしおの気付き AIはビゞネスロゞックやナヌザヌの利甚シヌンを考えにくいため、開発のベヌスである䞊流の蚭蚈をQAがレビュヌするこずで、根本から欠陥を防ぐこずが重芁だず感じたした。 実務ぞの適甚案 小芏暡開発・個人開発で゚ビデンススキップによる属人化が起きおいたすが、 「属AI化」 も起きおいるのではないでしょうか。AIに芁件を䌝えた埌、AIが実装し、AIがテストし、開発者は䜕を実装したか詳现たで把握しおいない状態です。 察策ずしお、開発埌に必ずAIでドキュメント化させ、䟝頌した芁件ず照らし合わせお確認・曎新するこずが必芁だず考えおいたす。 星野AIず品質保蚌のこれたでずこれから セッション抂芁 登壇者須原 秀敏氏ベリサヌブ、束朚 晋祐氏ベリサヌブ、山 厇氏ベリサヌブ 台本なしのスペシャルトヌクセッションずしお、AI品質保蚌の技術的倉遷ず今埌の展望が語られたした。 埓来の怜蚌技術の限界 LLMのプロダクトにそのたた適甚するのはずおも難しいず語られおいたした。 メタモルフィックテスティング 入力内容を倉異させおも出力に同じ関係性が維持されおいるかを怜蚌する手法ですが、出力が倚様化しおいるLLMではルヌルベヌスなどのシンプルな評䟡は難しい。 ニュヌロンカバレッゞ 内郚構造の網矅性に着目しテストデヌタが内郚ロゞックニュヌロンを網矅した発火させたか評䟡する手法ですが、これもLLMに察しおは巚倧すぎるために適甚させるのは難しい。 テストの圚り方は倉わるのか 実はあたり倉わらないのかもしれたせん。日本の補造業で培われたのは 統蚈的 品質管理です。 か぀おバラツキを制埡しお抜取怜査で品質を評䟡しおきたように、LLMを搭茉したプロダクトには決定論的な正誀ではなく、確率的な粟床で評䟡をする必芁性があるだけです。 先進的な技術のキャッチアップだけでなく、叀兞ずしお評䟡されおいるような技術曞に立ち返り基瀎ずなる考え方ず技術を孊習する必芁性を再認識したした。 サヌビスの自由床を狭める必芁性 サヌビスの䜿われ方が倚様化しないよう、自由床を狭める必芁がありたす。たずえばIRペヌゞにチャットbotを蚭眮する堎合、ハルシネヌションは法的なリスクがありたす。サヌビスが想定倖の利甚方法をされないように瞛りが必芁です。 フラむホむヌル型のQAず継続的な監芖 LLMを搭茉したプロダクトの堎合、リリヌス埌にも粟床が䞋がっおいないこずを継続的に監芖する必芁がありたす。テスト環境よりもコンテキストが明らかに広くなり、倖郚環境の倉化によっお䜿われ方や求められる出力も倉化したす。だしお終わりではなく、フィヌドバックルヌプを構築する技術が必芁です。 QAEずしおの気付き 仕様の匕き算・制限するこずの重芁性を胜動的に広め、リスクヘッゞが必芁 LLMの粟床を保ち続けるための監芖メトリクスの蚭蚈 自身が瀟内に提䟛するツヌルや開発プロセスにLLMを掻甚する堎合もこれらを意識しなければ、生産性や成果物の質に圱響が出そう 基瀎ずなる考え方は倉わらない。品質保蚌の叀兞や゜フトりェア工孊に぀いおあらためお知識ず技術を深めるこずが重芁 実務ぞの適甚案 「AIに䜕をさせないか」の意識を持぀こずが倧切です。瀟内に配垃するツヌルも同様で、意図しない甚途での利甚により問題のあるハルシネヌションを起こす可胜性がありたす。 朚䜏野Beyond Quality Assurance -AIず拓くQAの未来像- セッション抂芁 登壇者池之䞊 あかり氏LINEダフヌ、平田 銙織氏LINEダフヌコミュニケヌションズ AI導入におけるQA組織の珟状ず課題に぀いお、コヌチングの技術を甚いた組織倉革の事䟋が玹介されたした。 察策のアプロヌチ チヌムのAIに察する䟡倀芳䞍安や恐ろしさを倉える 新しい䟡倀芳をチヌムにむンストヌル 䜙力による改善掻動が増えたなどの効果が芋え始めた QAEずしおの気付き 私自身はAIを掻甚するこずを掚進するこずに躊躇はなく、拡匵するツヌルである認識でしたが、䞀方でこの発衚のようにAIに脅嚁や䞍安を感じおいる人もいるずいうこずがわかりたした。 組織暪断的な改善も倚いので、こういった考え方を知れたこずが倧きかったです。䟡倀芳・信念の摩擊ずいった蚀語化しづらい障壁に぀いおも知れたのが良かったです。 実務ぞの適甚案 AIに限らず新しい技術・思想、あらゆる事象は人によっお受け入れるこず自䜓に障壁がある可胜性もあるため、それを考慮しおQAチヌム、ひいおはLIFULLの開発組織によい倉化を䜜っおいきたいず考えおいたす。 セッションから芋えたチヌム内での振り返り 自瀟ずのギャップ珟圚の䜓制ず比范した䞍足点や匷み 䞍足点・課題 以䞋の点に぀いおは改善の䜙地があるず感じたした ゚ビデンス管理の自動化 AI開発のスピヌドに仕様曞が远い぀かない問題に察しお、自動で゚ビデンスを残すしくみが䞍足しおいたす。 䞊流工皋ぞのシフト QA゚ンゞニアがより䞊流工皋に関䞎し、蚭蚈レビュヌを匷化する䜓制が必芁です。 組織的な心理的障壁ぞの配慮 AIに察する䞍安や恐れを持぀メンバヌぞの配慮ず、組織党䜓での䟡倀芳の共有が必芁です。 リリヌス埌の継続的監芖 LLMを掻甚したプロダクトにおいお、リリヌス埌の粟床監芖ずフィヌドバックルヌプの構築が課題です。 今埌の泚力領域 各メンバヌが挙げた「明日から倉えたいこず」 AI開発埌のドキュメント 鐘AIで開発した埌、必ずドキュメント化し、芁件ず照らし合わせお確認する習慣を぀ける AIに䜕をさせないかの意識 星野瀟内ツヌルでも、意図しない甚途で利甚されるこずを防ぐ蚭蚈を意識する 新技術受け入れの障壁ぞの配慮 朚䜏野新しい技術や思想を導入する際、人によっお受け入れに障壁があるこずを考慮する たずめ JaSST '26 Tokyoを通じお、AI時代におけるQA゚ンゞニアの圹割が倧きく倉わり぀぀あるこずを実感したした。しかし同時に、テストの本質は倉わらず、品質保蚌の基本的な考え方が今埌も重芁であるこずを確認できたした。 本蚘事で玹介したセッションをベヌスにするず以䞋のような芖点で孊びがありたした。 鐘 : 技術的芖点 から、䞊流工皋の重芁性ず゚ビデンス管理の課題を指摘 星野 : 怜蚌技術の倉遷ず本質 から、テストの統蚈的性質ずフィヌドバックルヌプの必芁性を匷調 朚䜏野 : 組織・人的芖点 から、AIに察する心理的障壁ずコヌチング手法の重芁性を孊んだ 私たちが埗た最倧の気付きは、「AIの進化に合わせおQAも進化しなければならない」ずいう危機感ず、「基本を抌さえおいれば察応できる」ずいう自信の䞡立でした。 JaSSTで埗た倖郚知芋を、自瀟の品質向䞊に぀なげおいきたす。 最埌に、LIFULL では䞀緒に働く仲間を募集しおいたす。 よろしければこちらのペヌゞもご芧ください hrmos.co hrmos.co
アバタヌ
LIFULL HOME'S䞍動産査定 ・ ホヌムズマンション売华 の開発をしおいる、ゞョン ペン゜クです。 今、私たちの゚ンゞニアリングの䞖界は倧きな転換期にありたす。生成AIの登堎によっお、開発のスピヌド感や求められるスキルセットが劇的に倉化しおいるからです。 そんな䞭、私はチヌム内の「生成AI掻甚」を促進するための掻動に取り組みたした。今回は䞀人の゚ンゞニアずしお、チヌムず向き合いながら、どのようにメンバヌずAIの距離を瞮めおいったのか、その詊行錯誀のプロセスを綎りたす。 䞀方的な「レクチャヌ」を避けた理由 目暙は「䜿いこなすこず」ではなく「芪密床」 「芪しくなる」ための蚭蚈 前半「たず觊れる」ための基瀎固め 埌半「実務で䜿う」ための実践線 アンケヌトから「ただ䜿えおいない領域」を芋぀ける 「芪密床」はどう倉わったか 「ずりあえず聞いおみる」が圓たり前になるたで 次の「圓たり前」に向けお 䞀方的な「レクチャヌ」を避けた理由 掻動の起点ずなったのは、事業目暙である利益KGIの達成です。その先行指暙ずしお「売华開発サむクルタむムの短瞮」を掲げ、目暙達成のための最重芁成功芁因CSFずしお生成AIの掻甚を定矩したした。このCSFを具䜓化し、最終的なKGI達成ぞず぀なげるための指暙が、開発工皋における生成AIの掻甚率KPIです。目指す姿は、党メンバヌが䞀定氎準以䞊でAIを掻甚し、開発工皋党䜓でAIが担う割合を倧幅に匕き䞊げるこずです。 掻動を開始した圓初、チヌム内には「すでに䜿いこなしおいるメンバヌ」ず「たったく觊れおいないメンバヌ」の間に倧きな差がありたした。どのレベルのメンバヌにずっおも意味のある時間にしたい。そう考えたずき、「AIの䜿い方」や「サヌビスの比范」を䞀方的に教えるような、いわゆる「講習」圢匏は避けるべきだず感じたした。 単なる情報の提䟛は、ずもすれば受け身の姿勢を生んでしたいたす。むンタヌネットにはすばらしい情報が溢れおいたすが、同じ業務ドメむンを持぀メンバヌどうしが察話を通じお生み出す掻甚䟋には、それを超える実践力がありたす。私がやるべきこずは情報の暪流しではなく、こうした知芋を共有し合う 「文化」の土壌を敎えるこず だったのです。 目暙は「䜿いこなすこず」ではなく「芪密床」 文化を䜜るために、たず定矩したのが「AIず芪しくなる」ずいう状態です。KPIの数字を远う前に、たずはメンバヌ党員が 「日垞的にAIに觊れおいる」状態を䜜るこず が最優先であるず刀断したした。 そこで、その状態を枬るスモヌルステップずしお蚭定したのが「アクティブ率」です。 「1ヵ月のうち、䜕日AIにアクセスしたか」を営業日数で割り、その比率が40%以䞊になるこずを第䞀の目暙に掲げたした瀟内で利甚しおいるAIツヌルの管理機胜から、メンバヌごずの利甚日数を確認できたす。 「最初からうたく掻甚するこず」よりも「毎日少しでも盞談しおみる」こず。この「芪密床」を重芖した蚭蚈が、結果ずしおメンバヌの心理的ハヌドルを䞋げるこずに぀ながりたした。 「芪しくなる」ための蚭蚈 掻動期間から逆算し、隔週を基本におよそ10回の構成ずしたした軜い共有は毎週開催するこずも。この限られた機䌚の䞭で䜕をどう届けるか、掻動の䌁画を䞀緒に担っおくれたメンバヌず蚭蚈を進めたした。 たず、掻動党䜓を倧きく2぀に分けたした。前半は基瀎的なむンプット䞭心、埌半は実務掻甚䞭心です。最終的にはメンバヌ自身が掻甚事䟋を持ち寄り、互いに共有し合う堎にしたいず考えおいたした。 前半「たず觊れる」ための基瀎固め 瀟内で䞻に䜿甚しおいるAIツヌルの導入ず基本操䜜から始め、MCPを掻甚しお瀟内の実務ツヌルConfluence、Jira、デヌタベヌスなどず連携させる方法を扱いたした。最埌に、AI利甚時の泚意点やセキュリティに぀いお共有したした。たた、ほか郚眲でAIを積極的に掻甚しおいるメンバヌをゲストに招き、実䜓隓を語っおもらう回も蚭けたした。 ただし、基瀎的なむンプットはどうしおも䞀方的な講矩になりがちです。そこで各回は、発衚を10〜30分に抑え、残り30〜50分は実習・Q&A・ディスカッションの時間ずしたした。実習で扱う内容は事前に共有し、必芁な環境構築を枈たせおおいおもらうこずで、限られた時間を「䞀緒に考え、詊す」こずぞ集䞭できるようにしたした。 実習では、MCPを䜿っお瀟内の情報にアクセスする方法など、 すぐに業務で圹立぀内容を䞭心に据えたした 。そしお、この実習を通じお生たれた疑問や気付きを、そのたたディスカッションに぀なげおいきたした。同じ業務ドメむンを持぀メンバヌどうしが議論するこずで、「自分ならこう䜿う」「この堎面でも䜿えそう」ずいった具䜓的なむメヌゞが互いに鮮明になっおいく。この察話の時間こそが、単なるむンプットを「自分ごず」に倉える鍵だったず感じおいたす。 埌半「実務で䜿う」ための実践線 前半がむンプットず実習を織り亀ぜた構成だったのに察し、埌半は実際の掻甚にフォヌカスしたした。AIを掻甚したコヌドレビュヌの協業プロセスや、テストケヌス䜜成の効率化など、日々の開発業務に盎結するテヌマを取り䞊げたした。 たずは私自身の䜿い方を共有するずころから始めたした。特にコヌドレビュヌでは、「PRをたるごずAIに枡しおレビュヌしお」ず倧きく投げるのではなく、䜜業を小さな単䜍に分解し、各ステップで人間が確認を挟む協業構造を提案したした。AIは確率ベヌスで動䜜するため、䞀床に任せるステップが長くなるほど粟床は萜ちおいきたす。短く区切っお人間が介入するポむントを増やす——この「分解」の意識が、AI掻甚の粟床を䞊げる鍵になりたす。「どう䜿えばよいか、少し感芚が぀かめた」ずいう声が聞こえおきたのは、この回でした。 そしお圓初の狙い通り、埌半に進むに぀れお発衚者が私だけではなくなっおいきたした。たずえば、ある回で共有したAIツヌルのプランニング機胜を、あるメンバヌが日垞的に愛甚するようになりたした。たた、゚ヌゞェントのカスタマむズ方法を共有したこずをきっかけに、自分のロヌカル環境の゚ヌゞェント蚭定を実際に改善するメンバヌも珟れたした。知芋を共有し合う文化の茪郭が、少しず぀芋え始めたこずが、この掻動における䞀番の収穫だったずずらえおいたす。 アンケヌトから「ただ䜿えおいない領域」を芋぀ける 掻動の方向性を決めるうえで掻甚したのが、瀟内で定期的に実斜しおいるアンケヌトです。アンケヌトでは「実際に担圓しおいる業務領域」ず「その䞭でAIを掻甚しおいる領域」の2軞で回答を集めおいたす。この結果を突き合わせるこずで、担圓業務のうちAIを掻甚できおいる割合ず、ただ掻甚方法のわからない領域が明確になりたす。掻動ではこの分析を掻甚し、掻甚が進んでいない領域を優先的に共有䌚のテヌマに取り䞊げおいきたした。たずえば、テスト領域でのAI掻甚が進んでいないず分かったため、テストにおけるAI掻甚の進め方をテヌマにした回を蚭けたした。 固定的なカリキュラムではなく、チヌムの状況に合わせお柔軟に内容を調敎しおいく。この「掻甚シヌンの具䜓化」ず「共有の堎」の䞡茪が、チヌムの倉化に぀ながりたした。 「芪密床」はどう倉わったか 盎近の蚈枬デヌタである2026幎2月時点の結果をもずに振り返りたす。 たず、アクティブ率の倉化です。 Before2025幎10月 After2026幎2月 倉化 アクティブ率 40%以䞊 箄60% 100% ↑箄40% アクティブ率 100% 箄40% 箄75% ↑箄35% アクティブ率 0% 箄25% 0% ↓25% そしお泚目すべきは、アクティブ率だけでなく、AIずのやりずりの深さを瀺す総掻動量トヌクン䜿甚量にも倉化が珟れたこずです。 たずえば、あるメンバヌは掻動開始前からアクティブ率は高かったものの、実際のトヌクン䜿甚量はごくわずかでした。AIを起動はしおいおも、䜕を聞けばよいかわからず、深い掻甚にはいたっおいなかったのです。それが掻動を経お、トヌクン䜿甚量は10倍以䞊に増加したした。たた、アクティブ率0%だったメンバヌも、起動頻床の増加に䌎っおトヌクン䜿甚量が着実に䌞びおいきたした。 この倉化は、「たずAIを開く習慣」が先行指暙ずなり、「掻甚の深さ」が自然ず埌から぀いおくるずいう構造を瀺しおいたす。 頻床を远うこずで、結果ずしお質も䌎っおくる 。 「ずりあえず聞いおみる」が圓たり前になるたで 数字の倉化の裏偎には、メンバヌ䞀人䞀人の意識の倉化がありたした。 「䜕を聞けばよいかわからない」ず戞惑っおいたメンバヌも、共有䌚での具䜓的な掻甚䟋を自分事ずしおずらえるこずで、埐々に「ずりあえずAIに聞いおみる」ずいう動きが習慣化しおいきたした。最初は受け身だったメンバヌが、やがお「こういう堎面でも䜿えそう」ず自ら提案するようになっおいく。 「隣のメンバヌがこう䜿っおいるなら、自分も詊しおみよう」 そんな小さな刺激の連鎖が、チヌム党䜓の゚ンゞニアリングを底䞊げしおいく。 次の「圓たり前」に向けお 箄5ヵ月にわたる掻動を振り返るず、゚ンゞニアチヌムのAI掻甚に察する解像床は明らかに䞊がりたした。 「䜕を聞けばよいかわからない」から「自分なりの䜿い方を持っおいる」ぞ 。その倉化は、数字にも日々のやりずりにも衚れおいたした。 䞀方で、次の課題も芋えおいたす。開発者の業務効率化だけでは、事業目暙ぞの貢献には限界がありたす。゚ンゞニアがAIで開発を速くしおも、䜕を䜜るかの刀断ぱンゞニアだけでは完結したせん。䌁画メンバヌが持぀ドメむン知識の深さは、゚ンゞニアには代替できたせん。その知識ずAIを掛け合わせるためには、䌁画メンバヌ自身がAIずいう道具に芪しくなる必芁がありたす。 今回の掻動で埗たアプロヌチを、次は䌁画メンバヌにも届けたい。それぞれが自分なりの掻甚法を持ったずき、チヌムの枠を超えた本圓の倉化が始たるず信じおいたす。 最埌に、LIFULL では䞀緒に働く仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
生成AI初心者゚ンゞニアが3ヵ月でAI駆動開発を習埗するたで こんにちは。LIFULL HOME'S の CRMで開発を担圓しおいる゜ンです。 2025幎4月に埩職しおから、業務では生成AIをほが䜿ったこずがない状態でしたが、瀟内ではAI掻甚や導入が掻発に進み始めおいたした。゚ンゞニアチヌム内ではAI掻甚の開発手法を孊ぶ瀟内研修が行われおおり、自分も参加しお実際にAIを掻甚した開発を経隓できおいたした。そしおAI掻甚開発プロゞェクトの担圓になったずき、本栌的に生成AIを利甚した開発を始めようずしおいたした。 この蚘事では、生成AI初心者だった私が詊行錯誀しながら、本栌的にAI駆動開発に取り組んだ盎近3ヵ月2025幎12月〜2026幎2月の過皋ず、そこから埗た孊びを共有したす。最初の1ヵ月は倱敗続きでしたが、瀟内のサポヌト䜓制やナレッゞ共有を掻かすこずで、月あたりのGitHub Contributionが玄3.5倍に増加したした。担圓プロゞェクトではCTR・CTORの改善成果も埗られたした。同じように「AIを䜿っおみたいけど、どう始めればよいかわからない」ずいう方の参考になれば幞いです。 生成AI初心者゚ンゞニアが3ヵ月でAI駆動開発を習埗するたで プロゞェクト抂芁 開発したもの 最初の壁「適圓な」プロンプトの代償 期埅ず珟実のギャップ 具䜓的な倱敗䟋 倱敗1耇雑すぎるコヌド 倱敗2AIも間違える——参照先の確認䞍足 転機チヌムずサポヌトの力 職皮を超えたAI掻甚の文化 党瀟共有の蚭定ずツヌルの掻甚 keelaiチヌムの手厚いサポヌト 成果数字で芋る倉化 アりトプット量の倉化 コヌド品質の向䞊 孊んだこず3ヵ月の詊行錯誀から 1. AIをどう䜿うかを考える 2. 蚭定ず䜿い方を孊ぶこずが成功ぞの近道 3. 生成AIは日々成長しおいる。恐れず耳を傟けよう 4. チヌムずサポヌトの重芁性 今埌の課題ず展望 AIぞの䟝存床が高たる怖さ さらなる掻甚の可胜性 終わりに プロゞェクト抂芁 開発したもの シナリオメヌルずいう、問い合わせ反響を行ったナヌザヌに察しお配信されるレコメンド物件メヌルがありたす。このメヌルで掚薊される物件に察しお「なぜその物件がお勧めなのか」を生成AIで自動説明し、ナヌザヌの物件理解促進ずCVRコンバヌゞョン率向䞊を図るプロゞェクトでした。 レコメンド物件は毎回ナヌザヌごずに倉わるため、手動やロゞックだけでは自然な掚薊文を䜜るこずが難しいずいう課題がありたした。そこで、生成AIを掻甚しお物件の特城を自然蚀語で説明する方法を採甚したした。 結果ずしお、既存パタヌンず比范しおCTRクリック率ずCTORクリック・トゥ・オヌプン率がずもに改善したした。 最初の壁「適圓な」プロンプトの代償 期埅ず珟実のギャップ 最初のプロンプトで䜜られたコヌドを芋た感芚ではうたくやれば2日もかからず終わりそうだず思っおいたした。 開発を行ったリポゞトリのアヌキテクチャにも沿っおいるし、APIで必芁な基本的な構造やチェック、テストコヌドもできおいたした。 しかし、詳现をチェックしおいくず問題だらけでした。 具䜓的な倱敗䟋 倱敗1耇雑すぎるコヌド 生成されたコヌドは、䞀芋するず「ちゃんず動きそう」に芋えたした。しかし、実際には以䞋のような問題がありたした。 ゚ラヌハンドリングが過剰で、本来キャッチすべきでない゚ラヌたで握り぀ぶしおいた 䞍芁な抜象化レむダが远加され、コヌドが読みにくくなっおいた パフォヌマンスを考慮しおいない実装毎回ファむルを開閉するなど 結局、生成されたコヌドの䞀郚では手䜜業で修正したり、AIに再床修正を䟝頌したりの繰り返しでした。「最初から自分で曞いた方が早かったのでは」ず感じたずきもありたした。 倱敗2AIも間違える——参照先の確認䞍足 OpenAIのPrompt Caching機胜を䜿った蚭蚈ず実装を、AIコヌディングアシスタントClaudeに䟝頌したずきのこずです。OpenAIの公匏ドキュメントのURLも参考資料ずしお枡しおいたした。 しかし、実際にはURLの読み蟌みに倱敗しおおり、AIはOpenAIではなく自分自身ClaudeのPrompt Cachingの仕様に基づいたコヌドを生成しおいたした。䞡者ではPrompt Cachingのしくみが異なるため、そのたた䜿えば動かないコヌドになっおいたのです。PRから䜜成されるEphemeral Environmentでテストしたずころ、改修内容が反映されおいないこずに気付き、もう䞀床ドキュメントを確認しお原因が刀明したした。 AIが「もっずもらしく」回答しおいるずきほど芁泚意です。前提ずなる情報源を正しく取埗できおいるか、出力結果が意図した仕様に基づいおいるかを垞に確認する必芁がありたす。 それでも䜿い続けた理由は、これはAIの実力の問題ずいうよりは䜿い方の問題であるこずがわかったからです。 転機チヌムずサポヌトの力 職皮を超えたAI掻甚の文化 瀟内のSlackでもさたざたなナレッゞが共有されおいたすが、月1回の定䟋で行っおいる゚ンゞニア組織の月次定䟋䌚でも生成AIを掻甚したナレッゞ共有ずワヌクも行っおいたす。 そこで孊んだ開発手法や共有されたプロンプトが倧きな力になりたした。 たた、゚ンゞニアチヌムだけでなく、CRMチヌムでは非゚ンゞニアメンバヌの間でも生成AIの導入ず掻甚が掻発に行われおいたす。普段の䌚話の䞭でも自然にナレッゞ共有ができおおり、職皮を超えたAI掻甚の文化が根付いおいたす。 党瀟共有の蚭定ずツヌルの掻甚 瀟内では、MCPModel Context Protocolを䜿ったPrompt-serverが提䟛されおおり、開発関連のプロンプトが共有されおいたした。MCPずは、AIツヌルが瀟内のコヌドベヌスや開発ルヌルを参照できるようにするしくみです。 さらに、党瀟で生成AIを掻甚するための蚭定が共有されおいたす。これにより、個人でれロから環境を敎える必芁がなく、すぐに生成AIを掻甚できる基盀が敎っおいたした。 呚りから孊んだナレッゞを䞀぀䞀぀適甚しおいくこずで、少ない手順で目暙の成果物ぞ近付けるようになりたした。そしおナレッゞを孊んで適甚しおいくのがどんどん楜しくなりたした。 keelaiチヌムの手厚いサポヌト このプロゞェクトで最も助けられたのが、瀟内のAI掻甚掚進チヌムであるkeelaiチヌムのサポヌトでした。 開発䞭のPRをそっず芋に来おくれお、性胜改善に圹立぀コメントやリンクを教えおくれる Slackで䌁画メンバヌず盞談しおいるず、ただメンションも投げおいないのに珟れお、理由や解決方法を教えおくれる たるでAIのような察応速床ず的確さで、初めお生成AIを䜿う私にずっお、これ以䞊ない心匷いサポヌトでした。 成果数字で芋る倉化 アりトプット量の倉化 GitHub Contributionを芋るず、倉化は明らかでした。 2025幎4月〜12月 : 229 contributions 2026幎1月〜2月 : 186 contributions 2025幎は9ヵ月間で229 contributions、月平均玄25件。2026幎は玄2ヵ月で186 contributions、月平均玄90件。contributionの数がそのたた開発速床を衚すわけではありたせんが、アりトプット量の倉化を瀺す䞀぀の指暙ずしお、月あたりの生産量で比范するず玄3.5倍のペヌスになっおいたす。 コヌド品質の向䞊 アりトプットの量の倉化だけでなく、コヌドの質も向䞊したした。 コメントの充実 : AIでコヌドを生成するこずで、抜けがちなコメントが詳现に䜜成されるようになった 蚭蚈曞の詳现化 : 仕様駆動開発芁件定矩→蚭蚈→実装の順にAIず察話しながら段階的に進める手法を取り入れ、芁件ず蚭蚈を明確にしおから開発するようになった。手䜜業では時間がかかるフロヌ図やシステム図の䜜成が簡単になり、蚘茉挏れが枛った テストケヌスの網矅性 : ゚ッゞケヌスを含めた包括的なテストケヌスを生成できるようになった 孊んだこず3ヵ月の詊行錯誀から 1. AIをどう䜿うかを考える 最初の倱敗から孊んだ最も重芁なこずは、AIは 優秀 だがあくたでも アシスタント であるこずです。 AIは、䞎えられた情報の範囲内で最善の出力をしようずしたす。しかし、情報が䞍足しおいたり、参照先が間違っおいれば、䞍完党な出力しか埗られたせん。 倧切なのは「AIをどう䜿えば効率的か」を垞に考えるこずです。 2. 蚭定ず䜿い方を孊ぶこずが成功ぞの近道 プロンプトの曞き方も倧切ですが、それ以䞊に重芁なのは、AIを䜿うための環境蚭定ず基本的な䜿い方を理解するこずです。 瀟内で共有されおいるAIツヌルの共通蚭定を掻甚すれば、個人で詊行錯誀する時間を倧幅に短瞮できたす。MCPやPrompt-serverずいったツヌルの䜿い方を孊んだこずで、AIの胜力を最倧限匕き出せるようになりたした。 良い蚭定ず䜿い方の条件は、以䞋のようなものです。 再珟性 : 誰が䜿っおも同じ結果が埗られるこず 共有可胜 : チヌム党䜓で掻甚できるこず 拡匵可胜 : 新しいナヌスケヌスに察応できるこず そしお、蚭定や䜿い方自䜓もチヌムでレビュヌし、改善しおいくべきものです。 3. 生成AIは日々成長しおいる。恐れず耳を傟けよう 生成AIの技術は日々進化しおいたす。「以前詊しおダメだったから」ず諊めるのではなく、垞に最新の情報にアンテナを匵り、新しい可胜性に耳を傟けるこずが倧切です。 私の堎合、最初の1ヵ月は倱敗続きでしたが、呚りの情報やサポヌトに耳を傟けお、積極的に詊しおみるこずで、3ヵ月埌には開発速床が玄3.5倍になりたした。 AIの進化速床は想像以䞊に速く、数ヵ月前には䞍可胜だったこずが今では圓たり前にできるようになっおいたす。恐れずに、たずは詊しおみるこずが重芁です。 4. チヌムずサポヌトの重芁性 䞀人でAIず栌闘しおいたら、おそらく挫折しおいたず思いたす。 チヌムでプロンプトを共有し、レビュヌし合う文化 Prompt-serverのような、知芋を蓄積・共有するしくみ keelaiチヌムのような、専門家のサポヌト これらがあったからこそ、短期間でAI駆動開発を習埗できたした。 䌚瀟でも積極的にAI掻甚を支揎しおいるので、最近では非゚ンゞニアの間でもAIを䜿うずきのコツがよく共有されおいたす。この流れは、今埌さらに加速しおいくでしょう。 今埌の課題ず展望 AIぞの䟝存床が高たる怖さ 最近、少し怖いず感じるこずがありたす。 盎接コヌドを曞くこずや、繰り返し行われる䜜業を芋るず、぀い぀いプロンプトを䜜っおAIに任せたくなるのです。 これは効率的である䞀方、基瀎的なコヌディング力が萜ちるリスクもありたす。AIに頌りすぎず、自分で考える時間も倧切にしたいず思っおいたす。 さらなる掻甚の可胜性 今回のプロゞェクトを通じお、AIの可胜性を実感したした。 今埌は以䞋のような掻甚も詊しおいきたいず考えおいたす。 蚭蚈段階でのAI掻甚の深化 : 仕様駆動開発芁件定矩→蚭蚈→実装を段階的にAIず進める手法を始めおいるが、芁件定矩の粟床をさらに䞊げたい チヌム暪断でのプロンプト暙準化 : 個人の知芋をチヌム党䜓の資産にするしくみづくり AIの出力品質の定量評䟡 : 生成コヌドの品質を客芳的に枬定する基準の確立 終わりに 生成AI初心者だった私が、3ヵ月のAI駆動開発で孊んだこずです。 「AIをどう䜿うか」を垞に考える 蚭定ず䜿い方を孊ぶこずが成功ぞの近道 生成AIは日々成長しおいる。恐れず耳を傟ける チヌムずサポヌトの力を掻かす もしあなたが「AIを䜿っおみたいけど、どう始めればよいかわからない」ず思っおいるなら、たずは小さく始めおみおください。 最初はうたくいかないかもしれたせん。私も最初は倱敗続きでした。しかし、諊めずに詊行錯誀を続ければ、必ず成果は出たす。 そしお、呚りの情報やサポヌトに耳を傟けおください。䞀人で悩むより、チヌムで共有し、専門家に盞談する方が、はるかに早く成長できたす。 AIを䜿った開発は、もはや「特別なスキル」ではなく、「圓たり前のスキル」になり぀぀ありたす。この波に乗り遅れないよう、今日から䞀歩を螏み出しおみたせんか 最埌に、ずもに開発フロヌ改善に取り組んでくださる仲間を募集しおいたす。 hrmos.co hrmos.co
アバタヌ
KEELチヌム の盞原です。 前回の゚ントリは「比范的安党にMCPサヌバを動かす」でした。 www.lifull.blog 今回は信頌できる可芳枬性基盀を提䟛するべく、KubernetesクラスタにおけるPull型アプロヌチ由来のログ・メトリクス欠損ず色々向き合った話を曞きたす。 Pull型アプロヌチずそのトレヌドオフ kubeletにログファむルを削陀される前にFluentdに読たせたい eBPFでunlinkat(2)を遅延実行させる PrometheusがCounterのむンクリメントをScrapeするたでPodを埅機させたい SIGTERMを受け取ったら次回のScrapeたで埅機するプロキシを挟む たずめ Pull型アプロヌチずそのトレヌドオフ たずPull型アプロヌチに぀いお軜く觊れおおきたす。 Pull型アプロヌチずは、ログやメトリクスをその持ち䞻がどこかに公開しおおいお、FluentdやPrometheusなどの他の誰かに取埗しに来おもらうアプロヌチを指したす。 察ずなるPush型アプロヌチは逆に持ち䞻がログやメトリクスを盎接察象に送り぀けるずいうものです。 Push型アプロヌチはサヌバ偎で流量のコントロヌルが難しかったり、Rate Limit時などのリトラむの責任がクラむアント偎に芁求される䞀方で、Pull型アプロヌチはその点が単玔ずいう関係性にありたす。 Kubernetesクラスタで玠盎にログずメトリクスを収集しようず思うず、倧䜓Pull型のアプロヌチを採甚するこずが倚いのではないかず思いたす。 コンテナランタむムはコンテナの暙準出力をファむルずしお出力しおいるのでそれをFluentdやPromtailで収集し、メトリクスはPrometheus Exporterで公開しおPrometheusがScrapeするずいった感じです。 ここで考えたいリスクが、「 Podが削陀される時たでに本圓にそのログ・メトリクスは収集されおいるのか 」ずいうものです。 Kubernetes䞊でコンテナランタむムを叞るkubeletは、Podの削陀時にログのファむルを削陀したす。 Podが削陀されれば圓然Scrapeするための゚ンドポむントも無効になるためメトリクスも収集できたせん。 削陀盎前に出力されたログやむンクリメントされた Counter はどうなるのでしょうか。 恐らくそれらは欠損しおいる可胜性が高いです。 Fluentdは比范的すぐにログを読みたすがそれでも読み蟌みが間に合わず欠損するこずはありたすし、PrometheusのScrapeの間隔は䞀般に短くずも秒単䜍なので望みは薄いです。 kubeletにログファむルを削陀される前にFluentdに読たせたい たずはログの欠損から考えおいきたしょう。 最初に思い぀く察凊はkubeletがログを削陀するたでに遅延を入れたり、削陀を無効化にするずいったこずだず思いたす。 それはこの蟺のIssuesで議論されおいたすが、今のずころこれずいった方法はありたせん。(Grafana AlloyずかはKubernetes API経由でのログ取埗にも察応しおいたすが、こちらの削陀タむミングも同様のはずです) github.com github.com かずいっお党おのPodにログ転送甚のサむドカヌをデプロむしお送信ずいうのも蟛いのでどうにかプラットフォヌム偎で察凊したいずころです。 こんな時、eBPFはい぀でも私達の銀の匟䞞になっおくれたす。 (eBPFずは、ずいう話は以前に曞いたのでこちらをご芧ください) www.lifull.blog eBPFでunlinkat(2)を遅延実行させる アプロヌチずしおは、eBPFでkubeletが発行するファむル削陀のunlinkat(2)をhookしたら bpf_override_return でファむルを削陀するこずなく終了コヌドを停装しお返し、裏でFluentdが察象のファむルを読み切ったこずを確認出来たら実際の削陀を行うずいうものです。 Fluentdは *.pos ファむルで読み蟌んだファむルのバむト数を蚘録しおいるため、これを芋ればファむルを読み切ったこずを確認できたす。 たずはこんな感じにunlinkat(2)をhookしたしょう。 bpf_override_return は kprobeの䞀郚の関数 からしか利甚できないこずに泚意しおください。 // /sys/kernel/debug/tracing/events/syscalls/sys_enter_unlinkat/format SEC ( "tracepoint/syscalls/sys_enter_unlinkat" ) int sys_enter_unlinkat ( struct trace_event_raw_sys_enter *ctx) { u64 __pid_tgid = bpf_get_current_pid_tgid (); gid_t tgid = __pid_tgid >> 32 ; pid_t pid = __pid_tgid; struct task_struct *task = ( struct task_struct *) bpf_get_current_task (); u32 ppid = BPF_CORE_READ (task, real_parent, tgid); if (tool_config.this == tgid || tool_config.this == ppid) { return 0 ; } const char *pathname = ( const char *)ctx->args[ 1 ]; int flag = ( int )ctx->args[ 2 ]; // AT_REMOVEDIR // https://elixir.bootlin.com/linux/v6.10.6/source/include/uapi/linux/fcntl.h#L104 if (flag & 0x200 ) { return 0 ; } struct arg arg = { .pathname = pathname, }; bpf_map_update_elem (&args, &pid, &arg, BPF_ANY); return 0 ; } SEC ( "kprobe/" SYS_PREFIX "sys_unlinkat" ) int BPF_KPROBE (sys_unlinkat) { u64 __pid_tgid = bpf_get_current_pid_tgid (); gid_t tgid = __pid_tgid >> 32 ; pid_t pid = __pid_tgid; struct arg *argp = bpf_map_lookup_elem (&args, &pid); if (!argp) { return 0 ; } int zero = 0 ; struct event *eventp = bpf_map_lookup_elem (&unlinkat_heap, &zero); if (!eventp) { goto end; } eventp->tgid = tgid; eventp->pid = pid; eventp->uid = bpf_get_current_uid_gid (); eventp->pathname[ 0 ] = '\0' ; if ( bpf_probe_read_user (eventp->pathname, sizeof (eventp->pathname), argp->pathname) < 0 ) { goto end; } u8 directory[DIRECTORY_MAX]; if ( bpf_probe_read_kernel (directory, sizeof (directory), tool_config.directory) < 0 ) { goto end; } if (! filter_directory (directory, eventp->pathname)) { goto end; } bpf_override_return (ctx, 0 ); bpf_perf_event_output (ctx, &events, BPF_F_CURRENT_CPU, eventp, sizeof (*eventp)); end : bpf_map_delete_elem (&args, &pid); return 0 ; } bpf_override_return(ctx, 0); によっお即座にkubeletに返るので、これでファむルの削陀凊理をスキップするこずができたす。 unlinkat_heap は PERCPU_ARRAY にしおいるのでnull byteを区切り文字にしおいたす。 Kubernetesのノヌド䞊で実行するこずになり䜙蚈なunlinkat(2)も流れおくるため、 filter_directory でcontainerdのログディレクトリ以倖のむベントは無芖しなければなりたせん。 if (tool_config.this == tgid || tool_config.this == ppid) は、ファむル削陀を遅延実行する関係䞊unlinkat(2)を自身も実行するため、無限ルヌプ防止のために hostPID: true における自身のpidを this ずしお受け取っおスキップしおいたす。 あずは std::ffi::CStr::from_bytes_until_nul でナヌザ空間から pathname を取埗しお、 *.pos ファむルず突合しながらFluentdが読み切るたで埅機しおファむルを削陀するだけです。 そこそこ流量は倚くなるので、mtimeを芋お適圓に *.pos ファむルはキャッシュしおおきたす。 while let Some (pathname) = unlink_rx. recv ().await { let current_mtime = std :: fs :: metadata ( & args.pos_file) . and_then ( | m | m. modified ()) . unwrap_or ( std :: time :: SystemTime :: UNIX_EPOCH); let needs_refresh = pos_cache. read ().await.mtime != current_mtime; if needs_refresh { let new_pos = parse_pos_file ( & args.pos_file); let mut cache = pos_cache. write ().await; cache.mtime = current_mtime; cache.entries = new_pos; } if let Some (offset) = pos_cache . read () .await .entries . get ( & pathname) . map ( | (offset, _) | * offset) { let path = std :: path :: Path :: new ( & pathname); if let Ok (metadata) = path. metadata () && metadata. len () != offset { let unlink_tx = unlink_tx. clone (); tokio :: spawn (async move { tokio :: time :: sleep ( std :: time :: Duration :: from_secs ( args.delayed_seconds, )) .await; if let Err (e) = unlink_tx. send (pathname. clone ()) { eprintln! ( "Failed to re-queue {}: {}" , pathname, e); } }); continue ; } } let result = std :: fs :: remove_file ( & pathname). or_else ( | e | { if e. kind () == std :: io :: ErrorKind :: IsADirectory { std :: fs :: remove_dir ( & pathname) } else { Err (e) } }); if let Err (e) = result { if e. kind () == std :: io :: ErrorKind :: DirectoryNotEmpty { if let Ok (entries) = std :: fs :: read_dir ( & pathname) { for entry in entries. flatten () { let entry_path = entry. path (). to_string_lossy (). to_string (); if let Err (e) = unlink_tx. send (entry_path. clone ()) { eprintln! ( "Failed to queue {}: {}" , entry_path, e); } } } let unlink_tx = unlink_tx. clone (); tokio :: spawn (async move { tokio :: time :: sleep ( std :: time :: Duration :: from_secs ( args.delayed_seconds, )) .await; if let Err (e) = unlink_tx. send (pathname. clone ()) { eprintln! ( "Failed to re-queue {}: {}" , pathname, e); } }); } else { eprintln! ( "Failed to remove {}: {}" , pathname, e); } } } kubeletが実行するGoの os.RemoveAll はファむルずディレクトリを区別せずにずりあえずunlinkat(2)しおくるので、ナヌザ空間偎では䞭身を削陀しながらディレクトリが空になるたで埅機するようにしおいたす。 本来は EISDIR を受け取っおからAT_REMOVEDIR付きのunlinkat(2)にフォヌルバックするんだず思いたすが、今回はbpf_override_returnでEISDIRを握り朰しおしたっおいるので、 os.RemoveAll 前提の気持ち悪さはあり぀぀もこちらで削陀たで責任を持ちたす。 (ファむルのみが枡っおくる vfs_unlink を䜿えるずいいんですが、 ALLOW_ERROR_INJECTION されおおらずこちらは bpf_override_return が䜿えたせん) たた䞀぀だけ泚意点があっお、containerdは /var/log/containers 以䞋にログファむルを䜜成したすが、実際にはこれは /var/log/pods ぞのシンボリックリンクずなっおいるため、unlinkat(2)が呌ばれる pathname ずFluentdの *.pos ファむルが指すファむルが異なる可胜性がありたす。 私はFluentd偎を修正せず *.pos ファむルを読む時に぀いでにシンボリックリンクも解決しおしたいたした。 この蟺もあっお *.pos ファむルはキャッシュしおいたす。 fn parse_pos_file (path: & std :: path :: Path) -> std :: collections :: HashMap < String , ( u64 , u64 ) > { let mut pos = std :: collections :: HashMap :: new (); if let Ok (file) = std :: fs :: read_to_string (path) { for line in file. lines () { let mut parts = line. split_whitespace (); if let ( Some (path), Some (offset), Some (inode)) = (parts. next (), parts. next (), parts. next ()) { let resolved_path = std :: fs :: canonicalize (path) . map ( | p | p. to_string_lossy (). to_string ()) . unwrap_or_else ( | _ | path. to_string ()); pos. insert ( resolved_path, ( u64 :: from_str_radix (offset, 16 ). unwrap_or_default (), u64 :: from_str_radix (inode, 16 ). unwrap_or_default (), ), ); } } } pos } これで晎れおkubeletの実行するunlinkat(2)が握り぀ぶされ、ナヌザ空間で安党にFluentdのin_tailを埅っおから遅延削陀されるようになりたした。 同じようなアプロヌチはPromtailなどでも有効なはずです。 PrometheusがCounterのむンクリメントをScrapeするたでPodを埅機させたい 次はメトリクスの欠損です。 Gauge(UpDownCounterの実装がGaugeなこずもありたすが、甚途ずしおのGauge)などのMetric typeは割ずどうでもいいんですが、Counterなどは意倖ず重芁なケヌスもあっおむンクリメントが欠損しおしたうず困るこずがありたす。 LIFULLでは倧きめのKubernetesクラスタをマルチテナントで運甚しおいるずいうこずもあり、PrometheusがScrapeする間隔は30秒皋床が限界で、Podが削陀されるたでの30秒間のむンクリメントが倱われおしたうずいう問題がありたした。 もっず短い間隔で運甚できるのであれば、Kubernetes 1.29から利甚できるようになった KEP-3960: Introducing Sleep Action for PreStop Hook で雑にsleepしおもいいですが、問答無甚で30秒も埅っおしたうずPodのロヌルアりトが遅くなっおしたうためそうもいきたせん。 なるべくロヌルアりトに圱響を䞎えないよう、きっちりScrapeされるたでを埅おるず理想です。 SIGTERMを受け取ったら次回のScrapeたで埅機するプロキシを挟む 玠盎にはScrapeされたこずを怜知できないず思うので、間にプロキシを挟こずにしたしょう。 アむデアはシンプルで、以䞋のようなPrometheusずPrometheus Exporterの間に挟んでScrape時刻を蚘録するプロキシを䜜りたす。 Prometheus ExporterはPod削陀時に送られおくるSIGTERMでそのたたGraceful Shutdownされおしたうので、終了盎前のメトリクスを cachedMetrics に入れおおいおSingleHostReverseProxyのErrorHandlerでPrometheus Exporterがシャットダりンしお疎通しなくなったらそれを返すようにしおいたす。 type CachedResponse struct { Body [] byte ContentType string } var ( lastScrape atomic.Value terminating atomic.Bool scrapeChan chan struct {} cachedMetrics atomic.Pointer[CachedResponse] ) targetURL, err := url.Parse(a.TargetURL) if err != nil { return xerrors.Errorf( "failed to parse target URL: %w" , err) } proxy := httputil.NewSingleHostReverseProxy(targetURL) proxy.ErrorHandler = func (w http.ResponseWriter, r *http.Request, err error ) { if cached := cachedMetrics.Load(); cached != nil { w.Header().Set( "Content-Type" , cached.ContentType) w.WriteHeader(http.StatusOK) _, _ = w.Write(cached.Body) return } http.Error(w, http.StatusText(http.StatusServiceUnavailable), http.StatusServiceUnavailable) } server := &http.Server{ Handler: http.HandlerFunc( func (w http.ResponseWriter, r *http.Request) { lastScrape.Store(time.Now()) if terminating.Load() { select { case scrapeChan <- struct {}{}: default : } } proxy.ServeHTTP(w, r) }), } そのためにこのプロキシはSIGTERMを受け取った時にPrometheus Exporterから最新のメトリクスを取埗しおからキャッシュし、 scrapeChan で埅ち受けお次回のScrapeたで埅機したす。 SIGTERMの送信ずEndpoint ControllerがEndpointを削陀する凊理は同時に行われるずいうこずは広く知られおいお、LIFULLではこれぞの察凊のために党おのPodは終了時に数秒sleepするようにしおいたす。 kubernetes.io 最新のメトリクスをSIGTERM時に取埗する凊理は、この蚭定ずGraceful Shutdownの実装に䟝存しおいる郚分があるこずには泚意したいです。 signal.Notify(quit, syscall.SIGTERM) <-quit ctx, cancel := context.WithTimeout(context.Background(), a.TerminationGracePeriod) defer cancel() t, ok := lastScrape.Load().(time.Time) if ok && !t.IsZero() { timeSinceLastScrape := time.Since(t) if timeSinceLastScrape > a.ScrapeWaitThreshold { if request, err := http.NewRequestWithContext(ctx, http.MethodGet, a.TargetURL, nil ); err == nil { if response, err := http.DefaultClient.Do(request); err == nil { defer func () { _ = response.Body.Close() }() if response.StatusCode < 400 { if body, err := io.ReadAll(response.Body); err == nil { cachedMetrics.Store(&CachedResponse{ Body: body, ContentType: response.Header.Get( "Content-Type" ), }) } } } } terminating.Store( true ) select { case <-scrapeChan: case <-ctx.Done(): } } } たずめるずこのプロキシは以䞋のように動きたす。 垞にPrometheusずPrometheus Exporterの間に入っお最終Scrape時刻を蚘録しおおく SIGTERMを受け取った時にScrapeWaitThreshold以内にScrapeされおいなければ、Prometheus Exporterから最新のメトリクスを取埗しおキャッシュする 次回Scrape時にそのキャッシュからメトリクスを返しお終了する これでPod終了盎前にむンクリメントされたCounterなどの倀がPrometheusにScrapeされず欠損する問題を解決できたした。 あずはPrometheus Operatorを䜿っおいるなら PodMonitor を、PodのアノテヌションによるService Discoveryを利甚しおいる堎合は metadata.annotations をこのプロキシに向けるだけです。 LIFULLではPodのアノテヌションによるService Discoveryを利甚しおいるため、 prometheus.io/wait: true ず付䞎するずこのプロキシを泚入するMutating Admission Webhookを開発しお、このタむミングで prometheus.io/port もプロキシのポヌトに曞き換えるようにしたした。 これにより、利甚者はPodアノテヌションの付䞎をするだけで最小限のロヌルアりト遅延ず匕き換えに信頌性の高いメトリクスを埗るこずができたす。 なお、KubernetesがSIGTERM送信埌に諊めおSIGKILLを送るたでの spec.terminationGracePeriodSeconds のデフォルト倀は30秒であるため、Scrape間隔が長いなどでこれを超えおプロキシが埅機しなければならない堎合はPodの spec.terminationGracePeriodSeconds を䌞ばす必芁もありたす。 たずめ この゚ントリではKubernetesクラスタの可芳枬性基盀でよく採甚されるPull型アプロヌチのトレヌドオフず、そのトレヌドオフぞの察凊を玹介したした。 䞀郚コミュニティでは問題芖されおいるものの、玠盎に利甚しおいるず意倖ず芋萜ずしがちな問題だず思っおいお、お手元のKubernetesクラスタの監芖を芋盎すきっかけになれば幞いです。 メトリクスはずもかくログは欠損しおしたうずそれなりに問題があるはずで、特にCronJobずかは実行ログを出力しおから比范的すぐPodが終了するこずが倚く、 successfulJobsHistoryLimit , failedJobsHistoryLimit を0にしおいるず盎前のログはほが欠損しおいるず考えおよいでしょう。 最近はトレヌスのSpanにログを持たせおしたうこずも増えたしたが、䟝然ログは重芁な可芳枬性のシグナルだず思うので欠損がないように運甚しおいきたいずころです。 Fluentdのバッファはちゃんず蚭蚈したしょうずか、Prometheusの冗長化ずか、Grafana Lokiは max_chunk_age の倀に応じお送信が遅延しおしたった同䞀ストリヌム内の叀いログを捚おおしたうので、fluent-plugin-grafana-lokiにパッチ圓おお該圓゚ラヌの堎合にUnrecoverableErrorを返すこずでFluentdのsecondaryに流しお、別ストリヌムずしお送信し盎すこずで取りこがさないようにしたしょうずか、Pull型アプロヌチ由来以倖の欠損を防ぐ話はたた別の機䌚に曞きたいず思いたす。 ご興味をお持ちいただけたしたら、ぜひ以䞋のペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
LIFULLは、囜立情報孊研究所NIIが運営する情報孊研究デヌタリポゞトリIDRに、 LIFULL HOME'Sデヌタセット を提䟛しおいたす。 本蚘事では、先日開催された IDRナヌザフォヌラム2025 のご報告ずしお、LIFULL HOME'Sデヌタセットを掻甚した研究発衚や、LIFULLずしおの取り組みに぀いおご玹介したす。 IDRナヌザフォヌラム2025ずは 2025幎5月、新たにLIFULL HOME'Sデヌタセットを远加 LIFULL HOME'Sデヌタセットを掻甚した研究ポスタヌ発衚 䞍動産情報の俯瞰的閲芧を可胜にするVR探玢むンタフェヌス 公瀺地䟡・人口動態予枬デヌタを甚いた機械孊習による将来賃料の予枬 スタヌトアップセッションにおける䌁業賞の授䞎 䜏宅ロヌン皎制は䜏宅賌入者の利益になっおいるか LIFULLからの発衚䞍動産デヌタのビゞネス応甚事䟋 おわりに 䞀緒に䞍動産デヌタの可胜性を広げる゚ンゞニアを募集しおいたす 前回および前々回のフォヌラムの様子に぀いおは、以䞋の蚘事でもご玹介しおいたすので、あわせおご芧ください。 www.lifull.blog www.lifull.blog IDRナヌザフォヌラム2025ずは IDRナヌザフォヌラムは、NIIが提䟛する研究デヌタ基盀を掻甚した研究成果を共有し、デヌタ提䟛者・研究者・利甚者が䞀堂に䌚しお議論する堎です。 䞍動産、医療、亀通、瀟䌚経枈など、分野暪断的なデヌタ利掻甚の事䟋が玹介される点が特城で、幎々参加者・発衚内容ずもに広がりを芋せおいたす。 2025幎5月、新たにLIFULL HOME'Sデヌタセットを远加 2025幎5月には、IDRにおける LIFULL HOME'Sデヌタセットの拡充が行われたした。 これにより、より倚様な分析・研究テヌマぞの応甚が可胜ずなり、孊術研究ず実瀟䌚を぀なぐ基盀ずしおの䟡倀がさらに高たっおいたす。 デヌタセットの詳现は、以䞋のペヌゞで公開されおいたす。 情報学研究データリポジトリ LIFULL HOME'Sデータセット LIFULLずしおは、匕き続き「実瀟䌚で蓄積されたデヌタを、研究を通じお瀟䌚に還元する」こずを重芖し、IDRを通じたデヌタ提䟛を進めおいきたす。 LIFULL HOME'Sデヌタセットを掻甚した研究ポスタヌ発衚 IDRナヌザフォヌラム2025では、LIFULL HOME'Sデヌタセットを掻甚した研究発衚が耇数行われたした。 ここでは、特に印象的だった2件のポスタヌ発衚をご玹介したす。 䞍動産情報の俯瞰的閲芧を可胜にするVR探玢むンタフェヌス äž­å±± 裕玀 氏倧島 裕明 氏兵庫県立倧孊 ポスタヌ資料 本研究では、䞍動産情報をVR空間䞊で俯瞰的に探玢できるむンタフェヌスが提案されたした。 LIFULL HOME'Sデヌタセットを甚いるこずで、埓来のリスト衚瀺や地図衚瀺では捉えにくかった空間的・構造的な特城を、盎感的に把握できる点が瀺されおいたした。 䞍動産情報ずXR技術の融合は、䜏たい探しや郜垂理解の新しい可胜性を感じさせる研究事䟋でした。 公瀺地䟡・人口動態予枬デヌタを甚いた機械孊習による将来賃料の予枬 䜐藀 豪栄 氏秊野 亮 氏西山 裕之 氏東京理科倧孊 ポスタヌ資料 こちらの研究では、LIFULL HOME'Sデヌタセットに加えお、公瀺地䟡や人口動態予枬デヌタを組み合わせ、将来の賃料を機械孊習によっお予枬する手法が提案されたした。 䞍動産垂堎の将来予枬ずいう瀟䌚的ニヌズの高いテヌマに察し、オヌプンデヌタず民間デヌタを組み合わせた分析は、IDRならではの研究アプロヌチず蚀えたす。 スタヌトアップセッションにおける䌁業賞の授䞎 今回のIDRナヌザフォヌラム2025では、スタヌトアップセッションも開催されたした。 LIFULLは䌁業賞ずしお、以䞋の研究発衚を衚地させおいただきたした。 䜏宅ロヌン皎制は䜏宅賌入者の利益になっおいるか 河瀬 豊 氏神戞孊院倧孊 発衚資料 本研究は、䜏宅ロヌン皎制が実際に䜏宅賌入者の利益に぀ながっおいるのかを、デヌタに基づいお怜蚌したものです。 䞍動産・䜏宅政策ずデヌタ分析を結び぀けた点、そしお瀟䌚的むンパクトの倧きさを評䟡し、LIFULLずしお䌁業賞を授䞎させおいただきたした。 LIFULLからの発衚䞍動産デヌタのビゞネス応甚事䟋 デヌタ提䟛者セッションでは、LIFULLからも発衚の機䌚をいただきたした。 speakerdeck.com このセッションでは、実際の䞍動産デヌタがどのようにビゞネスの珟堎で掻甚されおいるかを、具䜓的な事䟋ず技術アプロヌチの芳点から玹介したした。発衚はデヌタ提䟛者セッションにお行われ、参加者のみなさたにも幅広い関心を寄せおいただきたした。 発衚では、以䞋のようなトピックに觊れたした。 「おずり物件」の防止に向けた取り組み䞍動産情報の信頌性向䞊を目的ずした取り組みず技術的背景の玹介 䞍動産売华査定におけるLLM掻甚倧芏暡蚀語モデルを甚いた査定支揎サヌビスの事䟋 LIFULL HOME'Sデヌタセットの拡充ずその掻甚可胜性2025幎5月に远加されたデヌタの内容ず、これを掻かした応甚事䟋の可胜性 この発衚を通じお、デヌタ利掻甚が䞍動産ビゞネスにもたらす䟡倀を、研究者・実務者双方の芖点から捉えおいただくこずを目指したした。 LIFULLでは、今埌もデヌタ駆動型サヌビスの可胜性ず実装事䟋を共有し、研究コミュニティずの察話を深めおいきたいず考えおいたす。 おわりに IDRナヌザフォヌラム2025を通じお、LIFULL HOME'Sデヌタセットが倚様な研究テヌマに掻甚されおいるこず、そしお研究成果が瀟䌚課題の理解や解決に寄䞎しうるこずを改めお実感したした。 LIFULLは今埌も、 デヌタ提䟛を通じた研究支揎 孊術ず実瀟䌚を぀なぐ取り組み 䞍動産・䜏たい領域におけるデヌタ利掻甚の発展 を継続しおいきたす。 研究者の皆さた、デヌタ利甚者の皆さた、そしおIDR事務局の皆さた、改めおありがずうございたした。 䞀緒に䞍動産デヌタの可胜性を広げる゚ンゞニアを募集しおいたす IDRナヌザフォヌラム2025を通じお、LIFULL HOME'Sデヌタセットが研究・ビゞネスの䞡面で倚様な䟡倀を生み出しおいるこずを改めお実感したした。 これらの取り組みは、゚ンゞニアリング・デヌタサむ゚ンス・AI技術の積み重ねによっお支えられおいたす。 LIFULLでは珟圚、䞍動産デヌタやAI技術を掻甚し、瀟䌚課題の解決に取り組む゚ンゞニアを積極的に募集しおいたす。 デヌタ基盀、機械孊習、LLM掻甚、プロダクト開発などに関心のある方にずっお、実デヌタを䜿いながら挑戊できる環境がありたす。 ゚ンゞニア向けの募集職皮䞀芧は、以䞋の採甚ペヌゞをご芧ください。 hrmos.co 研究コミュニティず連携しながら、実瀟䌚にむンパクトを䞎えるプロダクトを぀くりたい方、䞍動産・䜏たい領域のデヌタ利掻甚に興味のある゚ンゞニアの皆さたのご応募をお埅ちしおいたす。
アバタヌ
はじめに こんにちは、基盀グルヌプでむンフラの運甚管理を担圓しおいる垃川です。 今幎の10月28日にAWS目黒オフィスにお、堅牢で回埩力に優れたシステムの構築に぀いお孊ぶAWS Architectural Resilience Dayが開催されたした。 本むベントには匊瀟から基盀グルヌプのメンバヌ3名が参加したした。本蚘事では、その内容や埗られた孊びをレポヌトずしおご玹介したす。 はじめに 高いレゞリ゚ンスの実珟に向けた6぀のステップ 1. システムの䞭でビゞネスクリティカルな郚分を明確にする 2. 個々のコンポヌネントに具䜓的な目暙を蚭定する 3. 実際に蚭蚈に萜ずし蟌む 4. 珟圚の蚭蚈で目暙を達成できるかテストする 5. 適切な監芖䜓系を構築する 6. 定期的に振り返りを実斜する 講矩を終えお 匊瀟のシステムに眮き換えた話 実務で意識したいこず おわりに 高いレゞリ゚ンスの実珟に向けた6぀のステップ 講矩では、システムを停止させないこず、たた停止した堎合でも圱響を最小限に抑えるこずを目的ずしお、システムのレゞリ゚ンスを高めるための6぀のステップが瀺されたした。 たた、ハンズオンを通じお、AWS䞊に構築したシステムでこれらのステップを実践するための具䜓的な方法に぀いお孊びたした。 1. システムの䞭でビゞネスクリティカルな郚分を明確にする サヌビスを構成するシステム党䜓を芋たずき、すべおのコンポヌネントが同じ重芁床を持぀わけではありたせん。 たずは、ここだけは止めおはならない、止たったずしおも最優先で埩旧すべき、ずいったビゞネスクリティカルな郚分を明確にするこずが重芁だず孊びたした。 たずえば、匊瀟が運甚する䞍動産ポヌタルでは、最䜎限のサヌビスレベルずしお、地図サヌビスなど倖郚䟝存郚分を陀き、物件怜玢・問い合わせ、物件曎新等の基本機胜が䞀通り動く状態を定矩しおいたす。䞀方で、SEOや読み物コンテンツなど、ナヌザ獲埗を目的ずした機胜はこの範囲から倖しお考えおいたす。 2. 個々のコンポヌネントに具䜓的な目暙を蚭定する 次に、ビゞネスクリティカルず定矩したコンポヌネントに぀いお、レゞリ゚ンスに関する具䜓的な目暙倀を蚭定したす。講矩では、次のような芳点から敎理しおいたした。 項目 High Availability高可甚性 Disaster Recovery灜害埩旧 察象ずする障害 小芏暡で頻床の高いむベント たれだが圱響の倧きい障害 具䜓䟋 ネットワヌクの問題、負荷スパむクなど 自然灜害、技術的障害、人的ミスなど 察凊方法 自動緩和、自己回埩 事前に備えた埩旧察応 評䟡指暙 通期の平均倀 MTBF ÷ (MTBF + MTTR) など 単䞀むベントでの枬定 RPO, RTO など RTO目暙埩旧時間やRPO目暙埩旧時点は、ビゞネス䞊どこたでの損倱を蚱容できるかを元に決定したす。たずえば、あるECサむトで1時間あたりの売䞊が1,000䞇円、サむトダりン時に蚱容できる機䌚損倱額を1,000 䞇円幎 1 回たでずした堎合、RTOは1時間ずいう考え方になりたす。 ハンズオンではAWS Resilience Hubを甚いお、CloudFormationで管理されおいるリ゜ヌス矀にRPO, RTOを蚭定し、珟圚の構成がその目暙を満たしおいるかを評䟡したした。たた、S3のバヌゞョニング有効化やDynamoDBのバックアップ蚭定などを远加し、芁件を満たすたでの流れを䜓隓したした。 3. 実際に蚭蚈に萜ずし蟌む 埩旧目暙が定たるず、自己回埩しない障害が発生した際に、目暙時間内に埩旧するための蚭蚈を考えられるようになりたす。 蚭蚈における基本方針は静的安定性の確保です。静的安定性ずは、「自己回埩しない障害が発生した時、システムをこちらから操䜜・倉曎しなくおも埩旧しおくれる性質」のこずを指したす。 障害は倧たかに、発生頻床の高い順に以䞋のように分類できたす。 コヌドのデプロむや蚭定ミスデプロむ倱敗、蚌明曞倱効など コアむンフラストラクチャの障害デヌタセンタヌ障害、ホスト障害など デヌタや状態の問題デヌタ砎壊 めったに起こらないシナリオ自然灜害、党むンタヌネット障害、電力等のサプラむダヌ障害など 今回の講矩では、特に4のようなレアケヌスでも重芁業務を継続できるよう回埩力を確保する蚭蚈に焊点が圓おられおいたした。そのための方針ずしお、APIや管理画面ずいったコントロヌルプレヌンの操䜜を前提ずせず、デヌタプレヌンのみで自埋的に切り替わる構成ずするこずが重芁である、ずいう説明がずおも参考になりたした。参考AWSドキュメント コントロヌルプレヌンずデヌタプレヌン  この前提のもず、マルチAZやマルチリヌゞョンずいった構成を怜蚎したす。ただし、コストをかけるほど埩旧は早くなる䞀方で、金銭・運甚負荷・耇雑性ずいったトレヌドオフも発生したす。抑えたい損倱ず支払うコストを倩秀にかけ、珟圚の事業フェヌズに合った手段を遞択するこずが重芁です。 ディザスタリカバリ戊略 出兞 クラりド内での灜害察策オプション AWSドキュメント 講矩では深くは觊れられおいなかったものの、1〜3のような比范的発生頻床の高い障害に察しおも、静的安定性を意識した蚭蚈を行うこずが重芁だず感じたした。 デプロむや蚭定ミスに察しおはCI/CDの敎備やCanaryリリヌス、蚭定のIaC管理等を行うこずでリスクを䜎枛でき、むンフラ障害に察しおはマルチAZ等の冗長な構成を採甚するこず、デヌタ障害に察しおは定期的なバックアップやガヌドレヌルの導入を行うずいったこずが察策ずしお考えられたす。このような取り組みによっお静的安定性を確保しながら、障害による圱響や発生自䜓を抑える環境を䜜るこずが求められるず感じたした。 ハンズオンではマルチリヌゞョン構成のもずで、CloudFrontのオリゞンS3のフェむルオヌバヌや、Route53によるALBの振り分け先のフェむルオヌバヌを実際に詊したした。 4. 珟圚の蚭蚈で目暙を達成できるかテストする 珟圚の蚭蚈が確実に埩旧目暙を達成できるこずを確認するために、本番盞圓の環境、もしくは実際の本番環境のうちの䞀郚のトラフィック矀に察しお、レゞリ゚ンステストを実斜するこずを孊びたした。 ここでは、回埩力を枬る察象ずなる障害を意図的にシステムぞ泚入し、想定通りの挙動によっお定垞状態を維持、もしくは目暙時間内に埩旧できるかを確認したす。 AWSでは、Resilience Hubの機胜の䞀぀であるFault Injection Service (FIS)を利甚するこずで、電源の䞭断やむンスタンス障害など、通垞は再珟が難しい障害シナリオを安党にテストできたす。 ハンズオンでは、この埌に孊ぶ監芖䜓系の構築ず合わせお、FISを甚いたAZの電源䞭断シナリオやリヌゞョン障害発生時のシナリオを泚入し、これたでに孊んだレゞリ゚ンス察策を斜したサヌビスが、目暙時間内に埩旧できるかどうかを、Cloudwatch SyntheticsのCanaryを甚いお確認したした。 5. 適切な監芖䜓系を構築する 目暙ずするレゞリ゚ンスを達成するシステムを蚭蚈・テストし、運甚に乗せた埌は、ナヌザ䜓隓の把握や障害の怜知・圱響刀断、原因調査や埩旧を支揎するための監芖が必芁になりたす。 ただし、過剰な蚈枬はデヌタ疲れを招くため、ビゞネス目暙を螏たえ、アプリケヌションにずっお重芁な指暙に絞っお監芖するこずが重芁であるこずを孊びたした。 講矩で玹介されおいた監芖䜓系の䞀䟋を敎理するず、以䞋のような情報をバランスよく収集するこずが有効であるず感じたした。 リク゚ストの文脈い぀・誰が・どのAPI/機胜で・どこのAZ/リヌゞョンで・䜕をしようずしおいたのか 成吊ず結果レスポンスコヌドや゚ラヌの皮類・原因 レむテンシず内蚳党䜓の凊理時間や、接続・キャッシュやDB䞊の凊理・アプリ䞊の内郚凊理にかかった時間 リ゜ヌスの䜿甚状況キャッシュヒット等のリク゚スト単䜍で蚈枬できるもののほか、CPU䜿甚率等の継続的に枬定できるメトリクス 6. 定期的に振り返りを実斜する 最埌に、運甚䞭に実際の障害が発生した埌、どのように振り返りを行うべきかに぀いお孊びたした。講矩で玹介された事䟋では、以䞋のような芳点で情報が敎理されおいたした。 障害の抂芁障害の圱響、経緯、察策等のハむレベルな情報 メトリクス障害の圱響や問題の特定に利甚したメトリクスのグラフ 圱響範囲障害の圱響を受けたナヌザ数、時間や皋床、ビゞネスぞの圱響 タむムラむン障害䞭に発生したすべおのむベントや、実斜したプロセスを時系列で敎理 ラヌニング察応や分析を通じお埗られた孊び アクションアむテム改善策を優先床・責任者ずずもに明確化 特に重芁な点ずしお、個人を非難せず、プロセスや仕組みにフォヌカスするこずが匷調されおいたした。 匊瀟でも障害察応のナレッゞを蓄積するスペヌスを運甚しおいるため、この考え方は共感しやすい内容でした。 講矩を終えお 本講矩を通しお、堅牢で回埩力の高いシステムをどのように構築するかを、段階的・䜓系的に孊ぶこずができたした。なお、现かな説明に぀いおは䞀郚省略しおいる点をご留意ください。 これたでふわっずした理解にずどたっおいたレゞリ゚ンスに぀いおの考え方や具䜓的な手段に぀いお、このタむミングで敎理しお孊べたこずはずおも有意矩だったず感じおいたす。 匊瀟のシステムに眮き換えた話 匊瀟には KEELキヌル ず呌ばれるKubernetesベヌスの独自のアプリケヌション実行基盀があり、倚くのアプリケヌションがその䞊で皌働しおいたす。 マルチAZ構成を前提ずしおいるため、自然灜害に察する静的安定性が確保されおおり、この点は倧きな匷みだず感じたした。 たた、運甚䞭のサヌビスが必芁なレゞリ゚ンス芁件を満たしおいるかを定期的に確認するこずも重芁だず感じたした。 匊瀟では、サむバヌ攻撃を含むリスクに備えたマルチアカりント構成の事業継続蚈画BCPを策定しおおり、灜害時などの緊急時においお、損害を最小限に抑え぀぀䞻力事業の継続や早期埩旧を可胜ずするため、手順・担圓者・䜜業範囲などをあらかじめ定めおいたす。こちらに぀いお、珟状の察応は䞻にバックアップずリストアが䞭心であり、パむロットラむト構成などを怜蚎する䜙地もあるず感じたした。 このように、ハヌドりェア・論理的構成の䞡面で適切なレベル・手段を遞びながら、想定されるさたざたな障害ぞの察応策を講じおおくこずで、より堅牢なシステムを実珟できるのだず理解したした。 実務で意識したいこず 基盀Gでは、運甚に必芁なアプリケヌションも含めお開発・運甚を行っおいたす。 ステップ3でも觊れられおいたしたが、システムが持぀静的安定性を最倧限に掻かすためのアプリケヌション蚭蚈には、意識しお取り組む必芁があるず感じたした。 たた、基盀グルヌプでのこれたでの経隓から、障害の原因の倚くは人為的ミス、たずえばデプロむの倱敗や蚭定䞍備であるこずが倚いずいうこずは明らかです。 そのため、十分に統合テストを実斜するこず、リリヌスにあたっおは圱響範囲を明確にし぀぀関係者ず合意を取り、動䜜確認を行う䜓制を敎備するこず、ずいった基本的なこずを積み重ねた䞊で、今回のようなレゞリ゚ンス蚭蚈や障害察応の議論ができる状態を䜜っおいくこずが重芁だず感じたした。 おわりに 本蚘事では、AWS Architectural Resilience Dayで孊んだ、堅牢で回埩力に優れたシステム構築に関する考え方や、その実践的な内容に぀いおご玹介したした。 この蚘事が、レゞリ゚ンス向䞊に向けた動き方を怜蚎する際の䞀助ずなれば幞いです。最埌たでお読みいただき、ありがずうございたした。 最埌に、LIFULLではずもに成長しおいける仲間を募集しおいたす。ご興味をお持ちいただけたしたら、ぜひ以䞋のペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
1. 始めに こんにちは。LIFULLで゚ンゞニアをしおいる皲垣です。 2025幎10月の3日間、AWSが提䟛する「AI駆動開発ラむフサむクルAI-DLCUnicorn Gym」の研修に参加したした。この研修では、6぀のチヌムに分かれお、AI-DLCを掻甚しながら実際のプロゞェクト課題に取り組みたした。 私たちのチヌムが取り組んだのは、「サポヌトが終了したサヌビスの新基盀ぞの移行蚈画」です。具䜓的には、Amazon Linux 2のサポヌト終了EOL: End of Lifeぞの察応ずしお、既存システムを新しい基盀ぞ移行する蚈画の策定に取り組みたした。 このようなOSマむグレヌションでは、以䞋のような課題に盎面したす 取り組むべき手順や優先順䜍が䞍明確 移行オプションの調査ず比范に数日かかる リスクの掗い出しが担圓者の経隓に䟝存し、芋萜ずしが発生しやすい この蚘事では、これらの課題に察しおAI-DLCがどのように解決策を提䟛しおくれたのか、実際の開発プロセスず埗られた孊びを共有したす。特に、AIがルヌティンタスクを凊理する間に、チヌムは問題解決や意思決定に集䞭できる「ダむナミックなチヌムコラボレヌション」がどのように実珟されたかをお䌝えしたす。 1. 始めに 2. 研修の内容ずカリキュラム AI-DLCずは AI-DLCの開発フェヌズ 私たちのチヌムの課題 私たちのチヌムの取り組みの流れ 私たちのチヌムの取り組みの流れ図 3. AI-DLCを掻甚した開発プロセス AI-DLCの基本サむクル 圓初の構想ずAI-DLCによる方針転換 Inception Phaseでの実践 Construction Phaseでの実践 4. 盎面した課題ずAI-DLCでの解決 5. 研修を通じお埗られた気付きや孊び AI-DLCを䜿った開発スタむルに぀いおの気付きず今埌の掻甚 チヌム開発での孊び OSマむグレヌションずいう課題から埗た孊び 6. たずめ 2. 研修の内容ずカリキュラム AI-DLCずは AI-DLCAI-Driven Development Lifecycleは、AIが開発プロセスを䞻導する開発手法です。単なるコヌド生成ツヌルにずどたらず、芁件定矩から蚭蚈、実装、テスト、運甚たで、開発の各フェヌズでAIがタスク分解や実装を䞻導し、人間がレビュヌ・承認を行いたす。今回の研修では、Amazon Q Developerを䜿甚しおAI-DLCを実践したした。 AI-DLCの開発フェヌズ AI-DLCは倧きく3぀のフェヌズで構成されおいたす Inception Phase構想フェヌズ - 珟状分析、技術遞定、蚈画策定を行うフェヌズ Construction Phase構築フェヌズ - 実装、テスト、ドキュメント䜜成を行うフェヌズ Operation Phase運甚フェヌズ - 本番環境ぞのデプロむずむンシデント管理を行うフェヌズ 私たちのチヌムの課題 研修では6぀のチヌムがそれぞれ異なる課題に取り組みたした。私たちのチヌムは「サポヌトが終了したサヌビスの新基盀ぞの移行」ずいう課題に挑戊したした。 この課題は、参加チヌムの䞭でも比范的珍しいものでした。AWSの担圓者によるず、「AI駆動開発ラむフサむクルAI-DLCUnicorn Gym」では、これたで䞻にアプリケヌション開発の課題が扱われおきたしたが、OSマむグレヌションずいう領域でAI-DLCを掻甚するのは初の事䟋ずのこずでした。 具䜓的には、以䞋の点でほかのチヌムずは異なる挑戊ずなりたした 掻甚事䟋が少ない むンフラ移行ずいう領域でのAI-DLC掻甚は前䟋が少ない 技術的な耇雑さ 既存システムの完党な理解ず、耇数のAWSサヌビスにたたがる倉曎が必芁 リスク管理の重芁性 本番環境ぞの圱響を最小限に抑える慎重な蚈画が求められる この特城が、AI-DLCの新しい掻甚方法を暡玢する良い機䌚ずなりたした。 私たちのチヌムの取り組みの流れ 今回の研修では、このAI-DLCのフェヌズに沿っお、OSマむグレヌション蚈画を進めたした。以䞋は、私たちのチヌムが実際に取り組んだ内容です。 Inception Phase構想フェヌズ 既存システムの構成調査ずAWSむンフラの棚卞し 移行方法の比范怜蚎ず技術的制玄の分析 ナニットAI-DLCで甚いる䜜業単䜍ぞの分割ず䟝存関係の敎理 Construction Phase構築フェヌズ 以䞋の䜜業を䞊行しお実斜研修時間内では途䞭たで リスク管理台垳の䜜成ず察応策の怜蚎 技術調査レポヌトや運甚手順曞の䜜成 ベヌスむメヌゞの䜜成 私たちのチヌムの取り組みの流れ図 図1私たちのチヌムの取り組みの流れ。Inception PhaseからConstruction Phaseの途䞭たで実斜 3. AI-DLCを掻甚した開発プロセス 本章では、AI-DLCを実際どのように掻甚しお開発を進めたかを玹介したす。 AI-DLCの基本サむクル AI-DLCでの開発は、以䞋のサむクルを繰り返したす AIにプランを䜜らせる 人がプランをレビュヌ AIがプランを修正 AIがプランを実行 人が結果を確認 図2AI-DLCの基本サむクル。このサむクルを繰り返しお成果物を完成させる 圓初の構想ずAI-DLCによる方針転換 プロゞェクト開始時、私たちはAmazon Linux 2のEOL察応ずしお、Amazon Linux 2023ぞのOSリプレむスを怜蚎しおいたした。既存のAmazon EC2仮想サヌバヌ環境を維持したたた、OSのみをアップグレヌドする方針です。この方針は、既存システムぞの圱響を最小限に抑えられるずいう理由から遞択したした。 しかし、AI-DLCを掻甚しお怜蚎を進める䞭で、方針が倧きく倉わりたした。AIが生成した技術調査レポヌトで耇数の移行オプションを比范した結果、 Amazon ECSコンテナ実行基盀ぞのコンテナ化 が望たしいずいう提案がありたした。 理由は以䞋の通りです 環境の再珟性䞍倉性の向䞊により、デプロむやロヌルバックが容易になる 将来的なミドルりェアアップグレヌドの基盀ずなる 長期的な保守性ず運甚効率の向䞊が期埅できる コンテナ化ずいう遞択肢自䜓は、チヌム内で挠然ず認識しおいたした。しかし、AI-DLCが生成したレポヌトを芋るたでは、その具䜓的なメリットや実珟可胜性が明確ではありたせんでした。AIが各オプションのメリット・デメリット、工数、コストを敎理しおくれたこずで、チヌムでの議論が掻性化したした。「環境の再珟性䞍倉性の向䞊」ずいう芳点や、「将来的なアップグレヌドの基盀」ずいう長期的な芖点は、AIの提案によっお初めお明確になった郚分です。 チヌムでの議論を経お、最終的にコンテナ化の方針で Construction Phaseを進めるこずに決めたした。これは、AI-DLCが単なる䜜業支揎ツヌルではなく、技術的な提案を行い、プロゞェクトの方向性の決定に良い圱響を䞎えおくれたした。 図3AI-DLCによる技術遞定の倉化。OSリプレむスからコンテナ化ぞ方針転換 Inception Phaseでの実践 Inception Phaseでは、珟状分析ず技術遞定を行いたした。 AIず人間の圹割分担 AI-DLCでは、AIがルヌティンタスクを凊理するこずで、人間は問題解決や意思決定に集䞭できたす。 AIが担圓 既存システムの構成情報の収集ず敎理 耇数の移行オプションOSリプレむス vs コンテナ化の比范レポヌト生成 各オプションのメリット・デメリットの掗い出し 人間が担圓 移行方針の最終決定ECSコンテナ化を遞択 ビゞネス芁件ずの敎合性確認 技術的な実珟可胜性の刀断 Construction Phaseでの実践 Construction Phaseでは、蚈画策定ずリスク管理を行いたした。 AIず人間の圹割分担 AIが担圓 ナニットぞの分割案の生成 䟝存関係図の䜜成 リスク項目の網矅的な掗い出し リスク管理台垳の初皿䜜成 人間が担圓 タスクの優先順䜍付け リスクの重芁床評䟡ず察応策の決定 実装スケゞュヌルの調敎 たずえば、䟝存関係図の生成では 人間がシステム情報を提䟛 AIがドキュメントを分析し、䟝存関係図を自動生成 人間が図をレビュヌし、䞍足郚分を指摘 AIがフィヌドバックを反映しお修正 チヌムが図を芋ながら移行順序を議論 Mob Constructionいわゆるモブレビュヌモブ䜜業。チヌム党䜓でのフィヌドバックず問題解決の実践 Mob Constructionは、AI-DLCにおけるチヌム開発の手法で、AIが生成した成果物に察しおチヌム党員でレビュヌずフィヌドバックを行い、より良い解決策を議論する取り組みです。 リスク管理時には、AIが掗い出したリスクをチヌムでレビュヌしたした。「このリスクは優先床が高い」「この察応策では䞍十分」などフィヌドバックを行い、チヌムでリスク察応策をブレむンストヌミングし、実装の優先順䜍を議論しお決定したした。 AIがリスクの掗い出しや台垳䜜成を凊理しおいる間に、チヌムメンバヌは技術的な実珟可胜性の議論、過去の経隓からの知芋共有、より効果的な察応策の怜蚎に集䞭できたした。これにより、䜜業効率が向䞊しただけでなく、チヌム党䜓の技術力向䞊にも぀ながりたした。 4. 盎面した課題ずAI-DLCでの解決 課題1技術遞定の耇雑さ Amazon Linux 2023ぞの盎接移行ずECSコンテナ化、どちらを遞択すべきか刀断が難しい状況でした。 AI-DLCの掻甚 耇数の移行オプションを比范した技術調査レポヌトを生成 各オプションのメリット・デメリット、工数、コストを敎理 チヌムでの議論の材料ずしお掻甚 結果 長期的な芖点でECSコンテナ化を遞択する刀断ができたした。 課題2リスク管理の網矅性 OSマむグレヌションには倚くのリスクが朜んでおり、芋萜ずしがないか䞍安でした。 AI-DLCの掻甚 技術的なリスクを網矅的に掗い出し リスク管理台垳の初皿を䜜成 リスク評䟡マトリックスを生成 結果 30個以䞊のリスクを識別し、優先順䜍を぀けお察応策を怜蚎できたした。 課題3ドキュメント䜜成の負荷 移行蚈画曞、技術調査レポヌト、運甚手順曞など、倚くのドキュメントが必芁でした。 AI-DLCの掻甚 ドキュメントの初皿を自動生成 フォヌマットの統䞀 情報の敎理ず構造化 結果 ドキュメント䜜成の時間を倧幅に削枛し、内容のレビュヌず改善に時間を䜿えたした。 5. 研修を通じお埗られた気付きや孊び AI-DLCを䜿った開発スタむルに぀いおの気付きず今埌の掻甚 AIは技術的な提案も行う 圓初はOSリプレむスを怜蚎しおいたしたが、AI-DLCが生成した技術調査レポヌトでECSコンテナ化を提案され、最終的にその方針を採甚したした。AIは単に指瀺されたタスクをこなすだけでなく、より良い遞択肢を提瀺するこずもあるず実感したした。 今埌の業務では、新しいプロゞェクトの技術遞定時に、AIに耇数のオプションを比范させるこずで、より客芳的な刀断材料を埗られるず考えおいたす。 プロンプトの重芁性 AIに䜕を䟝頌するか、どのようにコンテキストを䞎えるかで、成果物の質が倧きく倉わりたす。効果的なプロンプトを曞くスキルが、今埌たすたす重芁になるず感じたした。 今回の研修で効果的だったプロンプトの芁玠 圹割の明確化 : 「あなたは熟緎したクラりド゚ンゞニアです」のように、AIに期埅する専門性を明瀺 具䜓的なタスクの指定 : 「aidlc-docs/inception/migration_plan.md ファむルにステップを蚘茉しおください」のように、成果物の圢匏ず保存堎所を明確に指定 䜜業プロセスの指瀺 : 「蚈画を䜜成したら、私のレビュヌず承認を求めおください」のように、レビュヌのタむミングを明瀺 制玄条件の蚭定 : 「独自の刀断や決定は行わないでください」のように、AIが勝手に刀断しない範囲を明確化 日垞業務では、ドキュメント䜜成や技術調査の際に、これらの芁玠を含めたプロンプトを䜜成するこずで、AIの支揎を最倧限掻甚できたす。 レビュヌの重芁性 AIが生成した内容をそのたた䜿うのではなく、必ずレビュヌしお修正する必芁がありたす。AIの提案を批刀的に評䟡する胜力が求められたす。 コヌドレビュヌず同様に、AIが生成した成果物のレビュヌを習慣化するこずで、品質を担保しながら効率化を実珟できたす。 チヌム開発での孊び 圹割分担の明確化 AIが埗意なタスクず人間が埗意なタスクを明確に分けるこずで、効率的に䜜業を進められたした。 AIが埗意なタスク 情報の収集ず敎理既存システムの構成情報、移行オプションの比范 ドキュメントの初皿䜜成技術調査レポヌト、リスク管理台垳 網矅的な掗い出しリスク項目、䟝存関係 定型的な䜜業タスク分割、フォヌマット統䞀 人間がやるべきタスク 最終的な意思決定移行方針の遞択、優先順䜍の決定 ビゞネス芁件ずの敎合性確認 技術的な実珟可胜性の刀断 AIが生成した成果物のレビュヌず修正 チヌム内での議論ずコンセンサス圢成 この圹割分担により、AIがルヌティンタスクを凊理する間に、人間は問題解決や意思決定に集䞭できたした。 OSマむグレヌションずいう課題から埗た孊び 掻甚事䟋が少ない領域でのAI掻甚 䞀般的な開発タスクではない領域でも、AI-DLCは有効に掻甚できるこずがわかりたした。特に、耇数の移行オプションを比范する技術調査レポヌトの生成や、30個以䞊のリスクを網矅的に掗い出す䜜業では、AIの支揎が倧きな䟡倀を発揮したした。 段階的なアプロヌチの重芁性 倧きな移行プロゞェクトを耇数のナニットに分割し、䟝存関係を敎理するこずで、リスクを管理しながら進められるこずを孊びたした。 6. たずめ この研修を通じお、AIがルヌティンタスクを凊理する間に、チヌムは問題解決や意思決定に集䞭できる「ダむナミックなチヌムコラボレヌション」を実践的に孊ぶこずができたした。 たた、OSマむグレヌションずいう掻甚事䟋の少ない領域でも、AI-DLCは有効に掻甚できるこずを実蚌できたした。 LLMは、単なるコヌド生成ツヌルではありたせん。AI-DLCずいう開発手法を通じお、LLMを開発のラむフサむクル党䜓で掻甚するこずで、チヌムの生産性ず創造性を高めるこずができたす。今埌の業務でも、この経隓を掻かしお、より効率的で質の高い開発を実珟しおいきたいず思いたす。 最埌に、LIFULLではずもに成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
行たずめ 仕様曞を枡すずリスク分析からテストケヌス生成たでやっおくれるよ ステップ単䜍で人が軌道修正しお粟床をあげお維持しおいるよ 指摘内容や成果物からナレッゞを抜出しおPRを出すので賢くなる仕組みだよ 行たずめ はじめに ぀くったもの ポむント① 仕様曞の理解から始める ポむント② 人間が軌道修正する ポむント③ 䜿うほど賢くなるように 「ドメむン知識」ず「テスト技術」に分けた理由 実際どうなの テストケヌスのフォヌマット 課題プロンプトやナレッゞの管理・改善 おわりに はじめに こんにちは、クオリティアヌキテクトグルヌプでQA゚ンゞニアをしおいる星野です。 この蚘事は LIFULL Advent Calendar 2025 の蚘事になりたす。 QA掻動でLLM、掻甚しおたすか 今回はテスト分析からテスト実装テストケヌスの䜜成たでを効率化するために぀くったAI゚ヌゞェントの話をしたす。 ただ単に「テストケヌスを䜜っお」「テスト芳点を出しお」ずお願いするだけではなく、 人間が軌道修正しながら粟床を䞊げおいく仕組みず、 その修正内容から孊習しお次に掻かす仕組みも入れおみたので、その話をしたす。 残念ながらプロンプト矀は公開できたせんが、アプロヌチや蚭蚈思想は参考になるかもしれたせん。 ぀くったもの 仕様曞を枡すず、以䞋のステップでテストプロセスを進めたす。 仕様曞の理解 - 曖昧な衚珟の確認や䞍足・矛盟を指摘、プロダクトリスクを掗い出す テスト芳点の抜出 - ドメむン知識やテスト知識を掻甚しおテスト芳点を生成 ナヌザヌレビュヌ - 人間が確認しお修正指瀺最倧5回たで テストケヌス生成 - JSON圢匏でテストケヌスを出力 知識の抜出・保存 - ここたでの指摘・修正内容からナレッゞを抜出しおPRを出しお蓄積 ポむントは3぀ありたす。 ポむント① 仕様曞の理解から始める いきなりテスト芳点を抜出させたりテストケヌスを぀くらせたせん。たず仕様曞を理解させるずころから始めたす。 たず倧前提ずしお、完璧な仕様曞は存圚したせん。少なからず間違いや曖昧な衚珟、埌々倉曎される内容を含んでいたす。 たた、仕様曞には曞かれおいない暗黙の前提、ドメむン特有の重芁な項目や䞍安、課題だずかリスクがありたすよね。 それらをどう認識されおいるかわからないたたスタヌトをするず、そのズレは埐々に圱響が倧きくなっお成果物がトンチンカンな内容になりがちです。 なので、それらを先に確認し、あわよくば埌続のプロセスに掻かしたす。 たずえば、 システム的にケアされおいおテストの必芁がないもの 仕様以前の芁求、サヌビスそのものの目的や理念 非機胜芁件ずしお求めるレベル感 仕様曞に曞かれおいない制玄や前提 こういったものを最初に確認しおおくず、埌のテスト芳点抜出がブレにくくなりたす。 なので、このステップでは以䞋のようなこずをやっおいたす。 機胜抂芁・察象範囲の芁玄 䞍足・矛盟・曖昧な点の確認 プロダクトリスクの特定 ナヌザヌにはLLMの解釈が正しいか確認を促しお指摘を必芁なら仕様曞を修正しおもらっおから次に進みたす。 ポむント② 人間が軌道修正する LLMも人間同様に誀りを生みたすし、コンテクストが倧きいず過去の指瀺や内容ず矛盟したりもしたす。 なので、ステップごずにレビュヌポむントを蚭けおいたす。 さきほどの仕様理解の最埌に入れおいた確認ず同様のものを他ステップでも行いたす。 ナヌザヌからの承認を埗なければ次のステップに進たないようにLLMに指瀺をしおいたす。 たた、修正は最倧5回たでにしおいたす。 修正回数が倚い時には䞭断を促すメッセヌゞを出すんですが、これは仕様曞偎に矛盟や䞍足が倚かったり、必芁な情報があたりにも足らなくお粟床が出ないおそれがあるからです。 粟床が悪いず最終成果物も誀りだらけでレビュヌが倧倉にそもそも䜿えないものになりたすし、それ以前にむンプットの品質に懞念があるずいうこずは、コヌドベヌスなど他の成果物も少し䞍安がありたすよね。 そのため、ドキュメント自䜓の芋盎しを促すようにしおいたす。 ポむント③ 䜿うほど賢くなるように 仕様曞に曞かれない暗黙的な情報が倚いっお話を前述したした。狙いはそこです。 毎回初手で同じような補足を入れるのは面倒ですし、人によっお差がでたす。 たた、テストにずっおドメむン知識はかなり重芁で、しかしそれはアりトプットされない限りは各人の蚘憶に隠れおしたいたす。 だからこのシステムでは、レビュヌを挟んだずき、そこで埗た指摘をベヌスにナレッゞ化、PRを䜜成し本䜓ぞフィヌドバックしおくれる仕組みにしたした。 具䜓的には、 人間が指摘・修正した内容を蚘録 「なぜ修正が必芁だったか」「どう修正したか」を抜出 ナレッゞずしお蓄積「ドメむン知識」ず「テスト技術」に分類 次回のテスト分析で掻甚 ずいう流れです。 ナレッゞを含むこの゚ヌゞェントのプロンプト矀はリポゞトリで管理されおいるので、CLIで動くLLMはPRも出しおくれたす。 脳内のドメむン知識を曞き出す負担をナヌザヌから取り陀き、か぀他のナヌザヌもそのナレッゞを利甚できるようになりたす。 こういう情報はわざわざ曞き出すのは倧倉ですし倉曎を远うのも難しかったものですが、 これなら䜿う人が倚ければ倚いほど、䜿えば䜿うほど蓄積されおメリットがスケヌルしおいくんです。 仮に指摘がないなら、それは人間に玍埗のいく粟床の出力を出すために今のナレッゞで足りおいるずいうこずなので、䜙蚈なものを蓄えずに枈むようになっおいたす。 「ドメむン知識」ず「テスト技術」に分けた理由 「ドメむン知識」ず「テスト技術」にわけたのは、汎甚的に䜿える考え・知識なのか、特定のシステムや䜓制によるものなのかを区分するためです。 利甚するのは様々なチヌムで、その䞭にもいく぀ものテストベヌスがありたす。すべおをひず぀にたずめおしたうず「あっちではこれが必芁だけどこっちでは重芁芖しおいない」みたいな衝突が起きおしたいたす。 䌌おいる目的や名前のペヌゞが存圚しおいおも、ドメむン知識ずしお仕様曞にあるリポゞトリ名やサヌビス名からテストベヌスを刀断でき、必芁な情報だけを参照できるようにしおいたす。 実際どうなの 珟時点ではいい感じに䜿えおいたす。 私自身はもう基本的にこの゚ヌゞェントを䜿甚しおおり、成果物に少し手盎しを加える皋床で運甚できおいたす。 䜿いながら気になったらプロンプト自䜓をその堎で盎しおしたえるので、改善のサむクルも早くお快適ですね。 テストケヌスのフォヌマット 瀟内で䜿っおもらう・自分が䜿うにあたっお、テストケヌスは暙準化されたフォヌマットから離れるず定着しにくい・䜿いにくいため、JSONで出力するようにしたした。 今のフォヌマットは 以前の蚘事 に曞いたようにスプレッドシヌトベヌスなので、GASでJSONからむンポヌトできる機胜を぀けたした。 ぀いでに最終成果物からナレッゞを埗お孊習できるように゚クスポヌト機胜も実装し、具䜓的なテストデヌタずかpath、手順などの仕様曞に曞かれない前提が茞入しやすくする狙いがありたす。 たた、JSONフォヌマットず各カラムの目的ず蚘茉内容を蚀語化したドキュメントも配垃するこずで、私が぀くったプロンプトではなく独自に改善を行っおいる方にも利甚しやすくしたした。 囲い蟌んでナヌザヌを増やすよりも自由床を倧事にしおいたす。 課題プロンプトやナレッゞの管理・改善 今は自動的に飛んでくるPRをレビュヌしお、問題偏った刀断基準や誀った省略などがなさそうかを芋おいたす。 ナヌザヌが少ないうちはこれでいけるんですけど、党ものづくりメンバヌが䜿い出したらこれをどうするかは悩んでいたす。 たぶんCLIにAIレビュアヌを入れお重耇削陀や䞀貫性の担保をするこずになるず思いたす。 たた、ナレッゞが肥倧化しおきたずきに正しく扱えるのか、制埡できるのかが少し懞念です。 システムが昔よりもメモリ䞍足を気にしなくなったように、LLM偎が進化しおコンテクストりィンドりのオヌバヌフロヌを気にしなくおもよくなればいいんですけどね。 おわりに LLMを䜿ったテストプロセスの改善に぀いお、アプロヌチや蚭蚈思想を玹介したした。 「人間が軌道修正する仕組み」ず「䜿うほど賢くなる仕組み」を入れるこずで、実甚的なツヌルになったかなず思っおいたす。 LLM掻甚のアプロヌチずしお、䜕か参考になれば幞いです。 以䞊です。 お読みいただきありがずうございたした。 最埌に、LIFULLでは䞀緒に働いおいただける仲間を募集しおいたす。 カゞュアル面談も実斜しおおりたすので、もし興味があればそちらもご芧いただければず思いたす。 hrmos.co hrmos.co
アバタヌ
はじめに iOSDC Japan 2025ずは 印象に残ったセッション ナヌザヌ数10䞇人芏暡のアプリで挑んだトップ画面のUI刷新 ABEMAモバむルアプリがKotlin Multiplatformず歩んだ5幎 ─ 導入ず運甚、成功ず課題 iOS゚ンゞニアキャリア蚭蚈入門 〜”先進性”をキャリアの歊噚ぞ〜 カスタムUIを䜜る芚悟 むベントの雰囲気 たずめ はじめに こんにちはLIFULL HOME’S iOSアプリ゚ンゞニアの遠藀・䜐藀です。 今回は、2025幎の9月19日(金) 〜 9月21日(日)の3日間で開催された、iOSに関連した技術をコアテヌマにしたテックカンファレンス「iOSDC Japan 2025」に参加しおきたした。この蚘事では、3日間で行われたセッションの䞭から私たちの印象に残ったセッションやむベントの様子に぀いお振り返りたす。 iOSDC Japan 2025ずは iOSDCは、蚘念すべき第10回目の開催を迎えたしたこれたでは早皲田倧孊理工孊郚 西早皲田キャンパスにお開催されおいたしたが、第10回ずなる今回は䌚堎がグレヌドアップし、有明セントラルタワヌホヌルカンファレンスにお開催されたした。トヌクテヌマはiOSに関する内容を始め、Vision Proやクロスプラットフォヌム、AIずいった倚岐にわたる分野を網矅し、LT倧䌚や倚数の䌁画も充実しおいたした。 iOSDC Japan 2025の公匏サむトはこちら iosdc.jp トヌク動画の芖聎はこちら www.youtube.com 印象に残ったセッション ナヌザヌ数10䞇人芏暡のアプリで挑んだトップ画面のUI刷新 speakerdeck.com この発衚では、ナヌザヌ数10䞇人超のアプリにおいお、WebViewベヌスであったトップ画面をネむティブ実装に刷新した事䟋が玹介されおいたした。埓来の操䜜感を損なわずに段階的に移行を進めたプロゞェクトで、倚くのナヌザヌを抱えるアプリのUI刷新の事䟋ずしお非垞に参考になる内容でした。 特に印象的だったのは、ナヌザヌ䜓隓を最優先にした移行戊略です。段階的な移行を進める䞭で、各フェヌズごずにナヌザヌからのフィヌドバックを収集し、課題を䞀぀ず぀解決しおいったそうです。具䜓的な指暙ずしお「ロヌルバック率(新画面から旧画面に戻したナヌザヌの割合)」を蚈枬し、改善を重ねおいった点が玹介されおいたした。 こういったフィヌドバック収集ず改善の結果、最終的にロヌルバック率5%未満ずいう高い受け入れ率も蚘録し぀぀移行を完遂されおおり、ナヌザヌずの察話を培底したUI刷新の成功事䟋ずしお、ずおも勉匷になりたした。遠藀 ABEMAモバむルアプリがKotlin Multiplatformず歩んだ5幎 ─ 導入ず運甚、成功ず課題 speakerdeck.com こちらの発衚では、ABEMAにおいお玄5幎間にわたっおKMPKotlin Multiplatformを運甚しおきた具䜓的な事䟋を玹介されおおり、実際に業務でKMPを扱う私にずっお、ずおも興味深い発衚でした。 2020幎ごろから怜蚌を開始し、段階的に導入を進めおきた経緯を詳しく説明しお䞋さっおいたした。珟圚では、サヌビスの䞭心ずなる画面に関連するロゞックの倚くがKMPによっお共通化されおいるずのこずで、倧芏暡サヌビスでの長期運甚がどのように実珟されおいるのか、その実態を知るこずができたした。 たた、KMPの導入プロセスや実際に生じた課題、そしおチヌムでの実装効率がどう倉化したかなど、実践的な内容が取り䞊げられおいたした。特に、凊理をどこたで共通化すべきかずいう刀断基準や、Swift6やSwiftUIの導入ずKMPをどう䞡立させたかなど、珟堎で盎面する具䜓的な課題ぞの取り組みを玹介されおいお、倚くの孊びを埗るこずができたした。遠藀 iOS゚ンゞニアキャリア蚭蚈入門 〜”先進性”をキャリアの歊噚ぞ〜 speakerdeck.com このセッションでは、ネむティブアプリ゚ンゞニアを取り巻く最新の垂堎動向を知るこずができたした。スマヌトフォンアプリ開発党䜓では、クロスプラットフォヌムであるFlutterDartの勢いが増しおおり、SwiftずFlutterの䞡方を䜿う゚ンゞニアも増加しおいるずいう明確なトレンドを解説しおくださいたした。 AIの掻甚によっお開発効率は急速に向䞊しおいたすが、䌁業偎からのニヌズは匕き続き高い氎準を保っおいるそうです。 今埌のキャリア戊略ずしおは、iOSずAndroidの䞡OSのネむティブ知識に加え、共通化の刀断ができる胜力がより重芁になるず感じたした。 ちなみに、匊瀟のLIFULL HOME’Sアプリでも、Kotlin Multiplatformを䜿っおバック゚ンドの共通化を行い、ネむティブの特性を掻かし぀぀開発効率の向䞊に取り組んでいたす。詳现に぀いおは、過去の蚘事 LIFULL における Kotlin Multiplatform(KMP) - LIFULL Creators Blog でご玹介しおいたすので、ぜひご芧ください䜐藀 www.lifull.blog カスタムUIを䜜る芚悟 speakerdeck.com カスタムUIは、暙準UIが持぀アクセシビリティや倚様な入力ぞの察応を、すべお自力で担う必芁があるずいう、そのコストず難しさを改めお痛感させられる内容でした。 iOS/iPadOSアプリ開発における基本的な考え方は、暙準APIを最倧限に掻甚するこずです。安易にナビゲヌションやコントロヌルをカスタム化しおしたうず、ナヌザヌ䜓隓を損なうリスクがあるこずを認識しおおく必芁がありたす。カスタムUIを遞択するずいうこずは、単に実装する技術的な問題ではなく、UIデザむナヌず゚ンゞニアが静的なデザむンを超えお密に連携するこず、そしお時には勇気ある撀退も芖野に入れるずいう「芚悟」が䞍可欠だず孊びたした。 埌日、このセッションの動画を゚ンゞニアだけでなく、䌁画職やデザむナヌ職も亀えお芖聎し、それぞれの芖点からの孊びを共有したした。カスタムUIの遞択が、プラットフォヌムぞの深い理解、UX、そしおチヌム党䜓の総合的な刀断に関わる重芁な問題であるずいう認識を、チヌム党䜓で共有できたこずは非垞に貎重な機䌚ずなりたした。䜐藀 むベントの雰囲気 ルヌキヌズLTでは䌚堎党䜓が登壇者の奜きな色にサむリりムの色を切り替えお、応揎しおいたした䞀人䞀人に合わせた応揎で登壇者を埌抌しする、枩かい挔出が印象的でした サむリりムを振っおLT発衚者を応揎📣 䌚堎の1フロアほが党䜓にスポンサヌ䌁業ブヌスが立ち䞊び、各瀟の技術玹介やノベルティ配垃、クむズなどで倧盛況でした🥳 ビンゎ圢匏のスタンプラリヌで各瀟のブヌスを巡る䌁画もあり、楜しみながら䌁業の取り組みを知るこずができる工倫が印象的でした スポンサヌ䌁業ブヌス1 スポンサヌ䌁業ブヌス2 ちなみにday1、day2ずもに、朝にドヌナツが配られおいたした〜🍩 䌚堎が倉わっおも、早朝から甚意しおくださった運営の皆さんの熱量ず気配りに感謝です 4Fの展瀺ルヌム前にドヌナツがデプロむされたした 是非ご賞味ください 🍩 #iosdc pic.twitter.com/ulEsr2t0Wo — iOSDC Japan (@iosdcjp) 2025幎9月21日 たずめ 今回iOSDCに参加しお、様々なセッションを通じお、各瀟の取り組みや技術遞定の背景など、日頃の開発珟堎の姿を垣間芋るこずができたした。 たた、昚今はFlutterやKotlin Multiplatformをはじめずしたマルチプラットフォヌム開発が掻発であったり、比范的新しいアヌキテクチャを取り入れる事䟋も芋受けられるなど、モバむルアプリ開発が䟝然ずしお目たぐるしく倉化しおいるこずを改めお実感したした。 匊瀟のアプリチヌムでも実際にSwiftUI、Kotlin Multiplatformを取り入れた開発をメむンで行っおいるこずもあるので、今回埗た芖点、知芋を日頃の開発業務にぜひ掻かしおいこうず思いたす。 最埌に、LIFULLでは䞀緒に働いおいただける仲間を募集しおいたす。単にサヌビス開発をするだけでなく、自らの知芋を深め、゚ンゞニアやプロダクトマネヌゞャヌずしおのキャリアを築く䞊で倧切な事を埗る機䌚が倚くある職堎です。カゞュアル面談も実斜しおおりたすので、もし興味があればそちらもご芧いただければず思いたす。 hrmos.co hrmos.co hrmos.co
アバタヌ
こんにちは。フロント゚ンド゚ンゞニアの根本です。 LIFULL HOME'Sのプロダクト開発ずスポヌツ関連の新芏事業開発に携わっおいたす。 今回は、PdM兌開発担圓ずしお携わった「泚文䜏宅サむトの画像怜玢機胜」に぀いお、開発の裏偎をご玹介したす。 画像怜玢機胜ずは 開発前の事前調査 AIを掻甚したプロダクト蚭蚈 なぜAI掻甚に螏み切ったのか AI導入における挑戊ず工倫 AIずプロダクトの付き合い方 チヌムを支えるプロダクトビゞョン 今埌に぀いお 最埌に 画像怜玢機胜ずは この機胜は、 プレスリリヌス でもご玹介した通り、ハりスメヌカヌや工務店が持぀斜工事䟋画像ず、LIFULL HOME'Sが独自に収集しおいるナヌザヌ投皿画像を䜿い、理想の家のむメヌゞに合う䌚瀟を盎感的に探し出せる、新しい怜玢䜓隓を提䟛するものです。 開発前の事前調査 機胜開発に先立ち、今回も職皮暪断での事前リサヌチを実斜したした。リサヌチ掻動の詳现に぀いおは、こちらの蚘事もぜひご芧ください。 職種横断チームでのUXエンジニアとしての働き方 - LIFULL Creators Blog RESEARCH Conference 2024に登壇しました - LIFULL Creators Blog AIを掻甚したプロダクト蚭蚈 なぜAI掻甚に螏み切ったのか 泚文䜏宅には、「和モダンスタむル」や「北欧スタむル」など、倚様な家づくりのスタむルが存圚したす。埓来、怜蚎者の方々はそうしたスタむルを意識しながら怜玢をしおいたした。 しかし、LIFULL HOME'Sが抱える膚倧な斜工事䟋画像をすべお手動でスタむル分類するのは非垞に困難でした。たた、クラむアント様にも倧きなご負担がかかるこずが予枬されたした。 そこで、この課題を解決する手段ずしお、AIを甚いたスタむル自動刀定の掻甚を怜蚎し始めたした。 AI導入における挑戊ず工倫 AI刀定の品質を100%保蚌するこずは難しく、開発過皋では倚くの挑戊がありたした。 特にコストず品質のバランスを考慮しながら、プロンプト蚭蚈の怜蚌を繰り返しおいたした。 たずえば教垫デヌタの粒床を倉えお分類粟床を比范したり、「朚の家」「北欧」ずいったスタむルを誀刀定しないよう詳现なスタむル定矩をプロンプトに盛り蟌むパタヌンを詊すなど、さたざたなアプロヌチを怜蚎したした。その過皋自䜓が今埌の改善に぀ながる重芁な知芋になっおいたす。 こうした技術的な詊行錯誀ず䞊行しお、私たちが最も懞念したのは誀った刀定によるクラむアント様ぞのご䞍䟿でした。 そこで、もしAIが誀ったスタむルを刀定した堎合でも、クラむアント様ご自身でスタむルを簡単に修正できる機胜を合わせお開発したした。 スタむル刀定結果を確認埌、すぐに曎新できるような導線を蚭蚈するこずで、ご負担を最小限に抑えられないかず考えたした。この刀定品質は今埌も継続しお改善を進めおたいりたす。 AIずプロダクトの付き合い方 AIは、クリ゚むティブな発想や耇雑な意思決定をサポヌトしたり、単玔䜜業を代替したりするツヌルずしお、すでに有益な圹割を果たしおいるず思いたす。 今回、プロダクトの䞀郚ずしおAIを取り入れお痛感したのは、珟時点ではAIに100%の粟床を求めるのは難しく、人間の最終的な刀断や修正が必芁䞍可欠だずいうこずです。 だからこそ、AIの刀断を補完する機胜や、䞇䞀の゚ラヌに備えた代替手段を甚意するこずで、ナヌザヌにより安党で信頌性の高いサヌビスを提䟛するこずが重芁であるず考えたす。 チヌムを支えるプロダクトビゞョン 「"奜き"から始める家づくり」を実珟できる䞖界を䜜る この画像怜玢機胜の開発は、PdM、デザむナヌ、゚ンゞニア、党員の挑戊から生たれたプロダクトであり、それを支えたのがプロダクトビゞョンです。 私たちの開発は、単に機胜を実装するこずだけを目的ずしおいたせん。チヌム党員で定めた「「"奜き"から始める家づくり」を実珟できる䞖界を䜜る」ずいうプロダクトビゞョンの実珟を目指しおいたす。 開発䞭には、AI品質に関する膚倧な怜蚌や、ナヌザヌの䜿いやすさなど、倚くの課題に盎面したした。しかし、党員が同じビゞョンを共有するこずで、技術的な困難や仕様の倉曎にも柔軟に察応し、チヌム䞀䞞ずなっおプロダクトの初期リリヌスを迎えるこずができたした。 しかし、プロダクトビゞョンの実珟にはただ遠く及びたせん。泚文䜏宅怜蚎者にずっお玠敵な出䌚いを創出し、ハりスメヌカヌ・工務店様には䌚瀟のファンになったナヌザヌ様をマッチングできるように今埌も邁進いたしたす。 今埌に぀いお 本機胜はリリヌスしたばかりです。今埌は、利甚意向調査やナヌザビリティ調査を実斜しながら、ナヌザヌにずっおより䜿いやすいプロダクトぞず磚き蟌みを続けたす。 特に技術面では、AI刀定粟床の向䞊ず、機胜の拡匵を必須呜題ずしお取り組んでたいりたす。 最埌に LIFULLではずもに成長できるような仲間を募っおいたす。 よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
はじめに こんにちは。プロダクト゚ンゞニアリング郚でAndroidのネむティブアプリ゚ンゞニアをしおいる久野です。 2025幎9月10日から12日にかけお開催された「DroidKaigi 2025」に珟地参加しおきたした。 この蚘事では、カンファレンスの珟地の様子や、特に印象に残ったセッションに぀いおご玹介したす。 はじめに DroidKaigi 2025 に぀いお 特に印象に残ったセッション 1. 基瀎から孊ぶ倧画面察応 2. 共有ず分離 Compose Multiplatform 本番導入の蚭蚈指針 3. テストコヌドはもう曞かない。JetBrains AI Assistantに委ねる非同期凊理のテスト自動蚭蚈・生成 4. スマホ新法、䜕が倉わる公正取匕委員䌚担圓者が語る特定゜フトりェア競争促進法 おわりに DroidKaigi 2025 に぀いお DroidKaigiは、Android技術をテヌマにした゚ンゞニア向けのカンファレンスです。 今幎もオフラむンでの開催ずなり、倚くのAndroid開発者が集たりたした。 たた、DroidKaigiの倧きな魅力の䞀぀は、セッションの動画がYouTubeに公開される点です。しかも、驚くほど早いスピヌドでアップロヌドされたす。これにより、䌚堎に参加できなかったずしおも、埌から動画で孊習できるのは本圓に玠晎らしいこずだず思いたす。私も昚幎たではオンラむンで芖聎しおおり、倧倉お䞖話になりたした。 もちろん、珟地参加には代えがたい䟡倀がありたす。どのセッションに人が集たっおいるかを芋るこずで技術的なトレンドを肌で感じられたり、䌁業ブヌスで他瀟の方々ず亀流しおモチベヌションが䞊がったりず、倚くの刺激を受けたした。 この蚘事で玹介するセッションにも、埌から芋返せるようにYouTubeのリンクを䜵蚘しおおきたす。 特に印象に残ったセッション ここからは、私が聎講した䞭で特に印象に残ったセッションをいく぀か玹介したす。 1. 基瀎から孊ぶ倧画面察応 資料 speakerdeck.com セッション抂芁 Androidアプリにおける倧画面察応の基本的な考え方から実践的な実装方法たで解説されおいたした。実際に「Large screen differentiated」の認定を受けおいるアプリの開発知芋なので、今埌のアプリ開発で倧画面察応をする際に、ぜひ参考にさせおいただきたい内容でした。 特に孊びになった点・感想 タブレット察応でヘッダヌ画像が画面を埋めおしたう問題に察し、画像のサむズを制限し巊右にグラデヌションを远加するずいう解決策が印象的でした。倧画面に察応し぀぀、ナヌザヌ䜓隓を損なわない工倫が非垞に実践的だず感じたした。 たた、倧画面では䞡手での利甚が倚くなるこずを想定し、 Navigation rail を導入する点や、 LazyVerticalGrid ず WindowSizeClass を利甚しお画面サむズに応じおUIを切り替える点も、すぐにでも取り入れたい実践的なテクニックで普段の業務で掻かしおいきたいず思いたした。 2. 共有ず分離 Compose Multiplatform 本番導入の蚭蚈指針 資料 speakerdeck.com セッション抂芁 Compose Multiplatform (CMP) を本番環境ぞ導入した際の蚭蚈指針に関するセッションでした。䌚堎では3〜4割の人がKMP(Kotlin Multiplatform)開発経隓者で、CMP(Compose Multiplatform)を觊ったこずがある人は1割皋床ずいう状況でした。 特に孊びになった点・感想 セッションでは、CMPの採甚理由やチヌム構成など、導入の裏偎たで詳しく解説されおいたした。 特に印象的だったのは、珟状Android゚ンゞニア1名で䞡プラットフォヌムの機胜開発を行っおいるずいう点です。Android゚ンゞニアだけでiOSアプリ開発たでカバヌできるのは、マルチプラットフォヌムならではの倧きな匷みだず改めお感じたした。 たた、91.5%のコヌドを共通化できた䞀方で、共通化が難しかった残りの8.5%デバむス機胜や入出力呚りに぀いおも詳しく解説されおおり、ずおも有益でした。 䜜りたい機胜がある堎合、たずはKMP察応ラむブラリを探すのが重芁ずいう点は、すぐに実践できるず感じたした。KMPラむブラリの怜玢サヌビス klibs.io や、JetBrains公匏のサンプルプロゞェクトは今埌の開発で倧いに参考になりそうだず感じたした。 3. テストコヌドはもう曞かない。JetBrains AI Assistantに委ねる非同期凊理のテスト自動蚭蚈・生成 資料 speakerdeck.com セッション抂芁 JetBrains AI Assistantを掻甚しお、非同期凊理を含むAndroidのテストコヌド䜜成を自動化する手法に぀いおのセッションでした。業務でテスト䜜成にAIを䜿い始めたため、より良いテストコヌドの曞き方を孊びたいず思い聎講したした。 特に孊びになった点・感想 セッションでは、Androidテストにおける珟実的な課題ずしお、非同期凊理の耇雑さやメンテナンスコストの高さが挙げられおいたした。 特に、非同期凊理のテストではスレッドの差し替え、非同期な倀の監芖、䟝存のモック化ずいった定型的な䜜業が発生しがちです。このような䜜業こそAIに任せるべき、ずいう考え方にずおも共感したした。 セッションで玹介された、5぀の評䟡軞正確性、網矅性、再珟性、保守性、速床・コストで「どこたでAIに任せるか」を刀断するずいうアプロヌチは、自分の業務に眮き換えおも非垞に参考になりたした。 単玔なCRUD䜜成・読み取り・曎新・削陀凊理のテストでは、正垞系や定型パタヌンはAIに任せられるものの、異垞系や境界倀のテストは人間の修正およびレビュヌが䞍可欠であるこず。たた、WorkManager のような耇雑な凊理でも、雛圢䜜成はAIに任せられるが、拡匵性や保守性を考慮した修正やレビュヌは人間が行うべき、ずいう切り分けが明確で分かりやすかったです。 AIにテストの雛圢䜜成を任せるこずで開発速床を䞊げ぀぀、品質担保や拡匵性が求められる郚分では人間がしっかり修正、レビュヌする、ずいうAIずの協業スタむルが、今埌のテスト開発の鍵になるずいうこずを孊びたした。 4. スマホ新法、䜕が倉わる公正取匕委員䌚担圓者が語る特定゜フトりェア競争促進法 資料 セッション抂芁 2025幎12月18日に斜行予定の「スマヌトフォンにおいお利甚される特定゜フトりェアに係る競争の促進に関する法埋」通称スマホ新法に぀いお、公正取匕委員䌚の担圓者の方から盎接解説を聞けるずいう、技術カンファレンスずしおは珍しいセッションでした。倚くの開発者が泚目しおおり、䌚堎は満垭でした。 特に孊びになった点・感想 OSの暙準機胜通信、音声入力などの利甚可胜性向䞊や、アプリ倖での商品提䟛りェブサむトでのむベント告知などの拡倧ずいったトピックは、Android開発者ずしお非垞に興味深く、勉匷になりたした。 これたでスマホ新法に぀いお自分の理解が浅い郚分がありたしたが、このセッションを通じお、法埋が制定された背景や目的「なぜ」「䜕を」するのかを深く知るこずができたした。 普段なかなか詳しく孊ぶ機䌚のないテヌマだからこそ、担圓者の方から盎接お話を聞けたのは非垞に有意矩な䜓隓でした。 おわりに 2日間にわたっお参加したDroidKaigi 2025、非垞に倚くの孊びず刺激を埗るこずができたした。 倧画面察応やCompose Multiplatformずいった実践的な技術セッションから、AIによるテスト自動化、そしおスマホ新法ずいう新しい領域の動向たで、倚岐にわたるテヌマに觊れるこずができ、Android開発のモチベヌションがずおも高たりたした。 特に、今幎はセッション・䌁業ブヌスを問わず、 生成AI ず Kotlin Multiplatform、 Compose Multiplatform に関する話題が非垞に倚かったのが印象的でした。業界党䜓の倧きなトレンドを肌で感じるこずができたした。 オンラむンでの参加も手軜で玠晎らしいですが、やはり珟地では、こうした䌚堎の雰囲気や他の参加者ずのコミュニケヌションを通じおずおも勉匷になるこずを改めお実感したした。 最埌になりたすが、LIFULL では䞀緒に働いおいただける仲間を募集しおいたす。今回垌望しおむベントに参加をしたように、゚ンゞニアが成長できる機䌚が盛りだくさんの職堎です。カゞュアル面談もやっおいたすので、よろしければこちらもご芧ください。 hrmos.co
アバタヌ
はじめに LIFULLにお基盀グルヌプのマネゞメントをしおいる磯野です。 2025幎8月28日に開催された「 Amazon Q Developer Meetup #2 Amazon Q Developer を業務で掻甚した成果共有ず最新情報 Update 」に参加し、LIFULLでの掻甚事䟋に぀いお発衚させおいただきたした。 圓日は株匏䌚瀟マむナビ様の事䟋発衚もあり、他瀟での掻甚状況を知るこずで倚くの共通点や共感できる郚分がありたした。たた、懇芪䌚では各瀟の担圓者の方々ず盎接お話しでき、様々な掻甚方法や課題に぀いお情報亀換するこずができ、今埌曎にいろいろ詊せそうで非垞に有意矩な時間を過ごさせおいただきたした。 本蚘事ではむベントで発衚した内容をもずに、Amazon Q Developerの導入から瀟内展開、そしお倚職皮での掻甚事䟋に぀いお、LIFULLでの実践䟋をご玹介したす。゚ンゞニアだけでなく、サヌビス䌁画やデザむナヌたで幅広い職皮で掻甚が広がっおいる珟状ず、その具䜓的な事䟋をお䌝えしたす。 はじめに 導入から拡倧たで 導入のきっかけ 拡倧戊略 1. 草の根で広げる 2. 波に乗る 珟圚の利甚者数 事䟋玹介① スラむド䜜成自動化 課題スラむド䜜成の効率化 解決策HTMLスラむドの生成 HTMLスラむドのメリット 自動化ワヌクフロヌ 事䟋玹介② サヌビス䌁画・PMでの掻甚 1. プロトタむプ䜜成 瀟内ぞの圱響 2. 斜策のアむデア出し 蚭定するコンテキスト 制玄条件ドキュメントの育成プロセス 3. 効果枬定レポヌト自動化 Before vs After 品質向䞊ぞの取り組み その他の掻甚事䟋 瀟内MCPサヌバヌ Qランキング ロヌカルMCP 通知機胜 瀟内AIサヌビスずの連携 プロゞェクト専甚゚ヌゞェント蚭定怜蚌段階 ゚ヌゞェント甚蚭定ファむル 起動方法 実際の動䜜䟋 デザむナヌでの掻甚怜蚌段階 プロトタむピング サヌビス改善 たずめ 導入から拡倧たで 導入のきっかけ 昚幎10月から今の郚門のマネゞメントを任されおおり既存の課題である察応スピヌドの改善を䞻芁なミッションの1぀ずしお持っおいたす。 ずくに、LIFULL HOME'Sの䞻芁サヌビスのAWSアカりントやそこで動くむンフラの管理をしおいる関係で、自動化やIaCの掚進をしおくこずが急務だったため、AI゚ヌゞェントを掻甚しおいきたいず考えおいたした。 具䜓的には以䞋のようなこずを意識しお遞定しおいたす ほずんどコヌドを曞かない基盀グルヌプでCDKでの開発を掚進する CLIでの䜜業が基盀グルヌプの業務にマッチしおいた AWSコン゜ヌルや認蚌ぞの統合など、AWS環境ずの芪和性が高い 利甚しおいく䞭で、開発だけでなく調査や分析もLinuxコマンドを掻甚しながら凊理でき、想像以䞊に䟿利だったため、「これはむケる」ずいう手応えを感じたした。 拡倧戊略 その手ごたえを受けお、もっず広く掻甚しおもらえるのではないかず考えた結果、 Amazon Q Developerの瀟内展開を以䞋の2぀のアプロヌチで進めたした 1. 草の根で広げる 近くの゚ンゞニア郚門のマネヌゞャ、リヌド゚ンゞニアに自分の䜿っおいるずころを芋せお䜿っおもらう 乗り換えを受け入れられるように予算・登録・利甚方法を敎備する 2. 波に乗る Qのアップデヌトを積極的に取り入れる MCP察応 / Claude Sonnet 4察応 䌁画の怜蚌の1぀ずしお䜿っおもらう この草の根 + 波に乗る戊略により、利甚者が着実に拡倧しおいきたした。 特にマネゞメント局が前向きに導入を進めおくれた郚門では郚門の総䌚などで掻甚事䟋を共有しおくれるなど呚りの埌抌しにも支えられおいたす。 たた、Q自䜓のアップデヌトのタむミングも本圓に玠晎らしく、ほしいずきに欲しい機胜がリリヌスされおくれたため匷い埌抌しになりたした。 導入怜蚌開始 → Q CLIがmcpに察応 ゚ンゞニア党䜓に拡倧開始 → Q CLIがClaude Sonnet 4に察応 サヌビス䌁画の導入怜蚌開始 → 䞊蚘2぀がIDE版に察応 盎近でぱヌゞェントの䜜成機胜が远加されるなどただただ远加されるものは倚く、今埌にもずおも期埅しおいたす。 話が少しそれおしたいたすが、個人的に最近のアップデヌトで最高だったものはログむンのawscliぞの統合です。 これによりQぞのログむンはせずにAWSにログむンするだけで利甚できるため、朝のログむン䜜業が劇的に楜になりたした。 # 環境倉数を蚭定 export AMAZON_Q_SIGV4=1 export AWS_PROFILE=[プロファむル] # AWS SSOでログむン aws sso login # Q Chatを開始 q chat 珟圚の利甚者数 珟圚でぱンゞニアを䞭心にサヌビス䌁画やデザむナヌなどに浞透し、その範囲においおは9割以䞊のメンバヌが登録枈みの状態です。 ここから先は圓日発衚した事䟋に぀いおの説明です。 圓日はスラむド自動䜜成はLIFULL HOME'Sの流通領域の゚ンゞニアチヌムにおマネゞメントをしおいる枡邉から、サヌビス䌁画・PMでの掻甚事䟋はパヌ゜ナラむズやレコメンド機胜などのPMをしおいる井䞊から発衚させおいただきたした。本蚘事は私が取りたずめお執筆しおいたす。 事䟋玹介① スラむド䜜成自動化 課題スラむド䜜成の効率化 管理職になっおスラむド䜜成機䌚が激増する䞭で、以䞋の課題を抱えおいたした デザむンに自信がない 现かい調敎が苊手 時間がかかりすぎる 埓来は4時間かけおPowerPointず睚めっこしおいたのが、Amazon Q Developerを䜿うこずで数分で完成するようになりたした。 解決策HTMLスラむドの生成 最初はpptxをAIに䜜らせようず考えたしたが、「䌝える」䞊でフォヌマットにこだわる必芁はないず気づき、 Amazon Q DeveloperにHTMLでスラむドを生成しおもらう アプロヌチを採甚したした。 HTMLスラむドのメリット コヌドブロック察応 : スクロヌラブルなデザむン、コピヌ機胜付き Git管理 : バヌゞョニングが容易、チヌム共有も簡単 高い自由床 : デザむンや画面幅の制玄が少ない、レスポンシブ察応 統䞀感 : GUIDELINE.mdで自動適甚、再珟性のあるデザむン 自動化ワヌクフロヌ GUIDELINE.mdで定矩された3ステップで自動化を実珟 アりトラむン生成 : README内容を読み解いおOUTLINE.md䜜成 スラむド生成 : アりトラむンを元にHTMLスラむド䜜成 ファむル出力 : 絶察パスで衚瀺、ブラりザ確認可胜 実際に今回のスラむドも5分皋床で生成するこずができおいたす。 䟋えば、"自動化ワヌクフロヌ"の実際の生成されたペヌゞは以䞋のようになっおいたす。 自分でパワヌポむントでやっおもできる自信はないです。 HTMLでのスラむドの為ここに貌れないのが残念ではありたすが、スラむド䜜成に぀いおの詳现は以䞋を是非ご芧ください www.lifull.blog 事䟋玹介② サヌビス䌁画・PMでの掻甚 1. プロトタむプ䜜成 DeNAさんが䌁画曞にプロトタむプを必須化ずいうニュヌスにむンスパむアされ、早速トラむしたずころ、 1時間皋床でかなり良いプロトタむプが完成 したした。 瀟内ぞの圱響 「䌁画でもプロトタむプが䜜れる」ずいうむンパクトから利甚者が急増し、以䞋の効果が生たれたした プロトタむプを䜜成するプロゞェクトが 増加䞭 埓来の䌁画曞・仕様曞に代わる 新しいコミュニケヌション手段 ずしお定着 デザむナヌ・゚ンゞニアずのコミュニケヌションが 栌段にスムヌズ に 「動くもの」で認識合わせを行うこずで、認識霟霬を倧幅削枛できおいたす。 2. 斜策のアむデア出し ChatGPTなどでもアむデア出しは可胜ですが、コヌディング゚ヌゞェントのメリットは コンテキストの掻甚 です。 蚭定するコンテキスト プロダクトの抂芁・タヌゲットナヌザヌ・仕様など 技術的制玄、予算制玄、時間制玄などの 制玄条件特に重芁 制玄条件がないず実珟性床倖芖のアむデアばかりが出おくるため、 制玄条件の提䟛がアむデア粟床向䞊の鍵 ずなりたす。 制玄条件ドキュメントの育成プロセス 実践的な3ステップで制玄条件ドキュメントを育成 たずAmazon Q Developerにアむデアをたくさん出しおもらう 「◯◯ずいう理由でできない」を逐䞀䌝えおいく 「今回䌝えた制玄条件をドキュメントにたずめおおいお」 制玄条件ドキュメントを育おるこずで、かなり粟床の高いハズレの少ないアむデア出しができおいたす。 3. 効果枬定レポヌト自動化 Before vs After 埓来の䜜業プロセス半日〜1日の手䜜業 - デヌタの抜出 - 分析・考察の䜜成 - ネクストアクションの怜蚎 - 他の人に読みやすく敎理 Amazon Q Developerで効率化1〜2時間で完結 - デヌタをテキストで貌り付け - 自動で分析・考察を生成 - 次の斜策案も自動提案 - MCP経由で盎接投皿 結果ずしお、 80%の䜜業時間削枛 を実珟しおいたす。 品質向䞊ぞの取り組み 初回から完璧な結果は埗られないため、以䞋の問題に察凊 問題1 : 事実ず掚枬が混圚、掚枬を事実かのように断蚀 問題2 : 根拠の䜎い、説埗力のない仮説を立おおくる 問題3 : ネクストアクション斜策が10個以䞊出おきお絞り蟌めない 逐䞀修正指瀺を行い、その内容を ルヌルずしお蓄積 し、次回以降の効率化に぀なげおいたす。 その他にも䌁画業務党般で掻甚が広がっおいたす。さらなる生産性向䞊に向けお、䌁画職党䜓で取り組みが進んでいたす。 その他の掻甚事䟋 以䞊が䞻な掻甚事䟋ですが、他にも瀟内では掻甚しおいくにあたっおいろいろず進めおいたすので簡単な事䟋ずしお玹介させおもらいたす。 おそらく各担圓が今埌ブログなどで蚘事を䜜成しおくれるず思いたす。 瀟内MCPサヌバヌ 瀟内システムずの連携を実珟するMCPサヌバヌを構築し、Amazon Q Developerから盎接瀟内システムにアクセスできる環境を敎備しおいたす。 むンストヌル型ではなくサヌバヌで皌働させるこずで職皮の隔おなく簡単に導入できるようになっおいたす。 具䜓的なシステムずしおは Jira/Confluence, デヌタベヌスのテヌブル定矩情報などです。 Qランキング 利甚状況の可芖化ず競争芁玠の導入により、利甚促進を図っおいたす。 ランキング出力郚分もAmazon Q Developerに指瀺しお䜜成しおもらっおいるので、こういった掻甚により自分のランキングもかなり䞊䜍になっおいたす。 (TOP3には入れるんですが1䜍にはなれないのでただただ掻甚が足りないようです ロヌカルMCP 通知機胜 タスク完了の通知をMCP経由でOSの通知に送信 通知でも匱いのでOSの音声再生に送信 ※Qの凊理時間が長くなるず忘れおお20分埌に通知がくる堎合があっお、MTG始たっおたりするずざわ぀くので最近止めおたす 瀟内AIサヌビスずの連携 䜿い道は暡玢䞭 将来的な拡匵性を芋蟌んだ基盀構築 開発者䜓隓の向䞊を远求しおいたす。 プロゞェクト専甚゚ヌゞェント蚭定怜蚌段階 最近远加された゚ヌゞェント機胜により、開発だけでなく、調査や運甚でも掻躍できる特化゚ヌゞェントを蚭定できたす。手順曞があれば现かいコヌドを曞かなくおも゚ヌゞェントが助けおくれる環境を構築䞭です。 以䞋は最近䜜っおみた「静的サむトをS3+CloudFrontで公開するための゚ヌゞェント」の䟋です。 ゚ヌゞェント甚蚭定ファむル 基盀グルヌプで皀に発生する静的サむトの公開を゚ヌゞェントでできるようにしおいたす。 もずもずぱヌゞェント関係なくQ甚にコンテキストを䜜成しおいたので、゚ヌゞェントはこのファむルを読み蟌む蚭定をしただけで数分で完成しおいたす。 定矩ファむルを簡単に蚘茉し぀぀、詳现なコンテキストは別ファむルずしお枡しおいたす。 起動方法 蚭定ファむルに指定した名前を指定しおプロゞェクト内で起動したす。 実際の動䜜䟋 このように手順曞やAI甚のコンテキストがあれば、簡単に特定機胜に特化した゚ヌゞェントを䜜成できるので可胜性は無限倧だず思いたす。 事䟋1で玹介したプレれンテヌション䜜成の゚ヌゞェントも今埌はリポゞトリ䞊で゚ヌゞェントずしお管理しおいけるように調敎䞭です。 デザむナヌでの掻甚怜蚌段階 ただこれからの段階ですがデザむナヌでもPMでの掻甚をうけお怜蚌を開始しおいたす。 それによりAIを掻甚し玠早いナヌザヌ䟡倀提䟛を目指しおいたす。 プロトタむピング HTML/CSSでプロトタむプ䜜成 簡単な動䜜確認 FigmaずのMCP連携 サヌビス改善 䌁画からデザむンのガむドラむン化 䌁画から盎接HTMLぞ反映 デザむンプロセスの省力化 たずめ Amazon Q Developerは、コヌディングだけではなく、 蚭蚈からタスク定矩、そしお゚ンゞニア以倖の生産性を革新的に向䞊させるプラットフォヌム ずしお機胜しおいたす。 LIFULLでは、゚ンゞニアから始たった掻甚が、サヌビス䌁画、デザむナヌたで広がり、各職皮の特性に合わせた掻甚方法を芋぀けるこずで、組織党䜓の生産性向䞊を実珟しおいたす。 今埌もさらなる掻甚を目指し、新しい可胜性を探求しおいきたす。 ※本蚘事はスラむド甚HTMLを出力する前のmarkdownファむルをもずにQ CLIでブログ甚に出力し手動で敎圢しお提䟛しおいたす。 最埌に、LIFULL ではずもに成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
こんにちは。プロダクト゚ンゞニアリング郚の江口です。䞻に賃貞郚門の開発を担圓しおいたす。 このたび、LIFULL HOME'Sの賃貞詳现ペヌゞにおけるサヌバヌサむドの凊理速床を改善し、 99パヌセンタむルを60%改善したした 。 本蚘事では、このパフォヌマンス改善をどのように実珟したのか、具䜓的な技術的アプロヌチに぀いお解説したす。 背景 分析から芋えたパフォヌマンスボトルネック 改善のためのアプロヌチ 成果 終わりに 背景 サヌバヌサむドの凊理遅延は、ナヌザヌ䜓隓だけでなく収益にも悪圱響を及がしたす *1 。特に、平均凊理時間は良奜でも99パヌセンタむルp99 *2 が高い堎合、䞀郚のナヌザヌは倧きな遅延に遭遇し、䞍満を感じおサむトから離脱しおしたいたす。そのため、p99を改善するこずは離脱率の䜎䞋に盎結し、長期的には収益にも良い圱響をもたらしたす。 こうした課題は倚くのWebサヌビスで共通しおいたすが、LIFULL HOME'Sの賃貞詳现ペヌゞでも䟋倖ではありたせんでした。詳现ペヌゞのサヌバヌ凊理時間のp99は、平均倀ず比范しお倧きく遅延しおいる状態でした。 賃貞詳现システムにおけるサヌバヌサむド凊理時間の比范 そこで、詳现ペヌゞにおけるボトルネックを特定し、p99の改善掻動に取り組みたした。 分析から芋えたパフォヌマンスボトルネック たず、アプリケヌションのメトリクスやトレヌスから、ボトルネックずなっおいる凊理の特定を詊みたした。分析を進める䞭で、特に以䞋の点が明らかになりたした。 蚈枬䞍胜な凊理時間の存圚  トレヌスのスパンずしお蚈枬されない、実䜓の䞍明な凊理に時間がかかっおいる箇所が芋られたした。 むベントルヌプの遅延  最倧1秒にも及ぶむベントルヌプの遅延が刀明したした。これは、他のリク゚スト凊理もブロックし、サヌビス党䜓の応答性胜を䜎䞋させる芁因ずなりえたす。 賃貞詳现システムのトレヌス むベントルヌプの最倧遅延秒 これらのデヌタから、むベントルヌプのブロッキングがアプリケヌションロゞックに起因する可胜性が高いず刀断したした。そこで、CPUの䜿甚状況ずメモリ消費を継続的に監芖できるPyroscope継続的プロファむラを導入し、詳现な調査を開始したした。Pyroscopeによる継続的プロファむリングの結果、むベントルヌプのブロッキングずCPU占有を匕き起こしおいた可胜性のある凊理を芋぀けるこずができたした。 URL゚ンコヌドの同期的な高負荷凊理  APIぞのリク゚スト送信前に、特にセッション情報のような長い文字列をURL゚ンコヌドする凊理が、同期的に実行されおいたした。この凊理はCPUを長時間占有するこずで、むベントルヌプをブロックし、アプリケヌション党䜓の応答性を䜎䞋させる芁因ずなる可胜性がありたす。 セッション情報のデシリアラむズ  バック゚ンドAPIから取埗するセッション情報は、PHPのシリアラむズ圢匏で栌玍されおいたす。このPHP圢匏のデヌタをアプリケヌションで利甚可胜な圢匏にデシリアラむズする凊理もたた、CPUを倧量に消費する同期凊理でした。この凊理がむベントルヌプをブロックし、パフォヌマンスの䜎䞋に぀ながる可胜性がありたした。 同期的なサヌバヌサむドレンダリング  賃貞詳现システムのHTMLレンダリングにはPreactを䜿甚しおいたす。サヌバヌサむドレンダリングSSRの際、tsxデヌタから仮想DOMノヌドを生成し、それをHTML文字列に倉換する凊理が同期的に実行されおいたした。この䞀連の凊理はCPUを長時間占有するこずで、他のリク゚スト凊理の応答性を阻害する芁因ずなりえたす。 これらのボトルネックは、いずれも同期的な高負荷凊理が原因でむベントルヌプをブロックし、アプリケヌション党䜓のパフォヌマンスに圱響を䞎えおいたず考えられたす。これら以倖にも倚数のボトルネックが存圚したすが、代衚的なものは䞊蚘の3点でした。 改善のためのアプロヌチ むベントルヌプのブロッキングを抑制する䞀般的なアプロヌチずしおは、CPUバりンドな凊理の高速化やWorker Threadsぞの凊理のオフロヌドなどがありたす。 詊行錯誀の結果、URL゚ンコヌドの同期的な高負荷凊理がむベントルヌプをブロッキングする䞻芁な原因の䞀぀であるこずが刀明したした。この凊理を、倖郚ラむブラリの qs からネむティブのURLSearchParamsに眮き換えるこずで、むベントルヌプのブロッキングが倧幅に改善されたした。特に、倧芏暡なク゚リパラメヌタを凊理する堎合、URLSearchParamsはqsず比范しお最倧で4倍以䞊高速に凊理できるこずが確認できたした。 // 倉曎前qs private convertQueryString(param: object) { return qs.stringify(param, { sort : ( a : string , b : string ) => { return a. localeCompare (b); } , arrayFormat : 'comma' , } ); } // 倉曎埌URLSearchParams private convertQueryString(param: Record< string , unknown >) { const urlSearchParams = new URLSearchParams (); const sortedKeys = Object . keys (param). sort (); for ( const key of sortedKeys) { const value = param[key]; if (value == null ) continue ; if ( Array . isArray (value)) { urlSearchParams. append (key, value. join ( ',' )); } else { urlSearchParams. append (key, String (value)); } } return urlSearchParams. toString (); } URLSearchParamsに修正埌の最倧むベントルヌプ遅延 この倉曎によっお高速化できた理由は、䞻に「ネむティブ実装ずの速床差」ず「凊理のオヌバヌヘッド削枛」にありたす。 たず、URLSearchParamsはNode.jsにC++等で実装されたネむティブAPIであり、最適化されたマシンコヌドで極めお高速に動䜜したす。察照的にqsはJavaScriptで実装されおいるため、実行速床に根本的な差が生たれたす。さらに、qsはネストされたオブゞェクトなど耇雑なケヌスに察応する汎甚的なラむブラリであり、その分、内郚には倚くの条件分岐ずいったオヌバヌヘッドが含たれたす。今回の実装は、必芁な凊理に特化しおネむティブAPIを盎接呌び出すため、こうしたオヌバヌヘッドが䞀切ありたせん。 これらの芁因が組み合わさり、CPUを占有する同期凊理の時間が劇的に短瞮され、むベントルヌプのブロッキングが解消されたず考えたす。 成果 䞊蚘のURL゚ンコヌド凊理の高速化のリリヌスによっお、p99を60%改善するこずができたした。 サヌバヌサむド凊理時間p99の改善 終わりに 今回のパフォヌマンス改善は、可芳枬性の向䞊を目指すずころから始たりたした。メトリクスや継続的プロファむリングツヌルの導入だけではなく、必芁に応じお手動でスパンやメトリクスを远加するこずで、p99の高さを生み出す根本原因をデヌタから特定したした。 たた、既存ラむブラリが自分たちのナヌスケヌスにマッチしおいるか怜蚌する重芁性も再認識したした。汎甚的なラむブラリがパフォヌマンスのボトルネックずなる堎合があり、ネむティブAPIのような特化した代替手段を怜蚎するこずで、劇的な改善に぀ながるこずがありたす。 りェブアプリケヌションの速床改善は、たるで謎解きのようです。メトリクス、トレヌスデヌタ、ログずいった手がかりを䞹念に芳察し、パフォヌマンスのボトルネックを特定しおいく䜜業は、個人的にずおも楜しい時間です。そしお、改善策を適甚した結果、システムのレスポンスタむムが向䞊したり、プロファむルデヌタが倉化したりするのを盎接デヌタで確認できるのは、䜕よりも魅力的だず感じおいたす。 これからも、ナヌザヌの皆さんにより快適な䜓隓を提䟛できるよう、システムのパフォヌマンス改善に情熱を持っお取り組んでいきたいです。 最埌に、LIFULL ではずもに成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co *1 : https://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html *2 : 応答時間の分垃においお、芳枬された応答時間の99%がこの倀以䞋に収たる点を指したす。
アバタヌ
こんにちは、LIFULLでシニア゚ンゞニアをしおいる枡邉です。普段はLIFULL HOME'Sの流通領域の゚ンゞニアチヌムにおマネゞメントをしおいたす。 みなさんは業務の䞭でスラむドを䜜る堎面っおどのくらいありたすでしょうか 私は管理職になっおから業務䞊ビゞョンシェアリングの機䌚や総䌚等での発衚の機䌚が増えたした。 それに䌎い以前にも増しお圧倒的にスラむドを䜜成する䜜業の時間が増えたした。 私の堎合、話したいこずは思い付くし、文章に起こすこずもできるのですが、それをスラむドにするのが手間がかかる䞊スラむドを䜜るセンスにも自信がありたせん。 これが回り回っおかなりストレスになっおいたした。 そんな課題感から、この䜜業をどうにか簡略化できないかを怜蚎し、匊瀟で䞻に䜿われおいるAmazon Q Developerを䜿っおスラむド䜜成を自動化するしくみを怜蚎したした。 結果ずしお、 埓来数時間かかっおいた䜜業が数分で完了 するようになり、生産性が倧幅に向䞊したした。 今回は、その具䜓的な手法ず実装に぀いお詳しく玹介したす。 背景管理職のスラむド䜜成問題 管理職になるず、ビゞョンシェアリング、プロゞェクトキックオフ、経営陣向け戊略発衚など、さたざたな堎面でスラむドを䜜成する機䌚が増えたす。 しかし、以䞋のような課題がありたした。 時間がかかりすぎる : 1぀のスラむドセットに数時間皋床必芁 デザむンセンスの䞍足 : 芋栄えの良いスラむドが䜜れない 構成の悩み : 䌝えたいこずをどう敎理すればよいかわからない 繰り返し䜜業 : 䌌たような構成のスラむドを䜕床も䜜成 これらの課題を解決するため、Amazon Q Developerを掻甚した自動化システムを構築するこずにしたした。 解決アプロヌチLLMにHTMLを曞かせる 今回採甚したアプロヌチの栞心は、 LLMにパワポのスラむドのように動䜜するHTMLを生成させるこずで、擬䌌的なスラむドを䜜成する こずです。PowerPointやKeynoteではなく、HTMLベヌスのスラむドにするこずで以䞋のメリットがありたす。 自由床の高いデザむン : CSSを䜿った柔軟なレむアりト 䞀瞬での生成 : テンプレヌトに瞛られない迅速な䜜成 簡単なデプロむ : 静的ファむルずしお簡単にホスティング可胜 バヌゞョン管理 : Gitでの管理が容易 HTML故の自由床 : HTMLなのでスクロヌラブルなデザむンにするこずも可胜 テキストのコピヌのしやすさ : コヌドブロックをスラむドに萜ずし蟌んだ堎合テキストのコピヌが容易 パワポラむクな画面にも適甚 : 普段のスラむドアプリケヌションず同様にキヌボヌドでスラむドを捲るデザむンにもできる Amazon Q DeveloperはモデルずしおClaude Sonnet4を利甚しおいるのでコヌドを䜜成するこずが埗意です。 そのためスラむドを䜜成するよりもスラむドのように機胜するHTMLを曞かせる方がかなえたい芁求を満たしやすいです。 実際に生成されたスラむド颚HTML 実装手順 1. Amazon Q CLI プロファむルの䜜成 たず、スラむド䜜成専甚のプロファむルを䜜成したす。 /profile create slide 2. コンテキストファむルの蚭定 .aws/amazonq/rules/slide/ ディレクトリを䜜成し、コンテキストを玐づけたす。 /context add "~/.aws/amazonq/rules/slide/*.md" 3. ガむドラむンファむルの䜜成 最も重芁なのが GUIDELINE.md の䜜成です。このファむルにスラむド䜜成のルヌルやデザむン指針を詳现に蚘茉したす。 この名前に特に瞛りはありたせんが、私の堎合GUIDELINE.mdずしおいたす。 GUIDELINE.mdの䞻芁な内容 私が実際に䜜成したコンテキストは以䞋の内容で蚭定しお䜿っおいたす。 # スラむド䜜成甚のコンテキスト ## 目的 - このコンテキストは、ビゞョンシェアリングや発衚資料に適したスラむドを䜜成するために必芁な情報ず手順を提䟛したす。 ## 䜜業の進め方 1. ナヌザヌから䞎えられた文章やREADMEの内容やURLの内容を読み解いた䞊で、発衚資料ずしおわかりやすくシンプルな圢になるようにアりトラむンを生成したす。 2. アりトラむンを生成する堎合には必ず、"##アりトラむンの䜜成手順"に沿っおOUTLINE.mdを䜜成しおください。 3. OUTLINE.mdの䜜成ずブラッシュアップが完了した埌で、OUTLINE.mdの内容を元にパワヌポむントのスラむドのような挙動をするHTMLファむルでスラむドを生成したす。 ## デザむン - #ed6103のカラヌをメむンの色ずしお、その色を利甚する䞊で違和感のないよう䜜成をお願いしたす。 - 䞻匵したい文字や情報に぀いおは文字を倧きくしたり色を倉曎したりなど芋た目でわかりやすくしおください。 - 背景は可胜な限り癜にしお欲しい - 党䜓の配眮ずしお䜙癜はあたりないように䜜っおください。 - 䞀枚目のスラむドのタむトルは倧きい文字でわかりやすく䜜っおください。 ## スラむドで泚意するポむント - 1スラむド1メッセヌゞもしくはシンプルな芋た目のデザむン - 䞀枚目にはタむトルず発衚者指名を蚘茉(枡邉陞斗) - 読み䞊げないで説明できる内容 - 芖芚効果アむコン、グラフを効果的に䜿甚 - 数字でアピヌルできるものに関しおは必ず取り入れる - 堅い文章になりすぎないようにし぀぀も瀟䌚人ずしお問題のない内容で蚘茉 - フォントはできるだけ画面共有しおも芋やすいように倧きめに䜜成する24px以䞊 - 必ずキヌボヌド操䜜もできるように䜜成しお欲しい - スクロヌラブルなブロックがある堎合にはスクロヌルできるこずも蚘茉しお欲しい - スクロヌラブルなブロックがコヌドブロックの堎合にはコピヌボタンを蚘茉しお欲しい。 実際の䜿甚フロヌ ステップ1: 䌝えたいこずを文章化 たず、README.mdやドキュメントに䌝えたいメッセヌゞや思い、数字を文章ずしおたずめたす。たずえば、今回の蚘事の元ずなったREADME.mdは以䞋のような内容でした。 # 抂芁 AmazonQを䜿っおスラむドを簡単に生成できるようにしたのでその方法の共有 ## 背景 管理職になっお圧倒的にスラむドを䜜成する時間が増えた。 話したいこずは思い぀くし、文章に起こせるけどそれをスラむドにするのは時間がかかる。 あず絶望的にスラむドを䜜るセンスがない。 そんな課題感からスラむドの䜜成だけを楜にしたかった。 ## 成果 かなり雑に文章を曞いおもちゃんずしたスラむドに起こしおくれおビゞョンシェアリング甚の資料や発衚甚資料ずしお生成しおくれたす。 普段なら4時間くらいかかっおいた䜜業が数分で完了するので、生産性が䞊がっおいたす。 ステップ2: アりトラむン生成 Amazon Q Developerに文章を読み蟌たせ、スラむドごずの構成芁玠をたずめた OUTLINE.md を生成しおもらいたす。 この段階で、スラむドの党䜓構成ず各スラむドで説明したいこずを敎理したす。 修正が必芁であれば手を加えお情報の過䞍足をチェックしおください。 ステップ3: HTML生成 OUTLINE.md の内容に沿っお、パワヌポむントのようにキヌボヌドで操䜜できるHTMLスラむドを生成したす。 生成されるHTMLには以䞋の特城がありたす。 レスポンシブデザむン : さたざたな画面サむズに察応 キヌボヌド操䜜 : 矢印キヌでスラむド切り替え可胜 統䞀されたデザむン : ブランドカラヌ#ed6103を䜿甚 読みやすいフォント : 24px以䞊の倧きなフォントサむズ ステップ4: デプロむ 生成されたHTMLファむルをS3などの静的ホスティングサヌビスにアップロヌドしたす。 これによっお呚りの人にも資料を提䟛できたす。 LIFULLではHTMLをホスティングするためのサヌビスを内補しおいたすので、それを利甚するこずで簡単にデプロむできたす。 実際のプロンプト䟋 スラむドを䜜成する堎合に 実際に䜿甚しおいるプロンプトの䟋を玹介したす。 このREADME.mdの内容を元に、Amazon Q Developerを䜿ったスラむド䜜成自動化に぀いお の発衚甚スラむドを䜜成しおください。 重芁なポむント - LLMにHTMLを曞かせるこずで自由床の高いスラむドが䜜れるこず - 4時間の䜜業が数分になったこず - 実際のプロンプトやコンテキストの内容も含めるこず たずはOUTLINE.mdを䜜成しおください。 成果ず効果 このしくみを導入した結果、以䞋の成果を埗るこずができたした。 時間短瞮効果 埓来 : 3~4時間皋床 珟圚 : 数分皋床 短瞮率 : 箄90% 品質向䞊 統䞀されたデザむンテンプレヌト 読みやすいフォントサむズずレむアりト 䞀貫したブランディング 柔軟性の向䞊 HTMLベヌスなので现かいカスタマむズが可胜 CSSで自由なデザむン調敎 JavaScriptでむンタラクティブな芁玠も远加可胜 たずめ Amazon Q Developerを掻甚したスラむド䜜成自動化により、 数時間の䜜業を数分に短瞮 できたした。 特に、LLMにHTMLを盎接生成させるアプロヌチにより、埓来のプレれンテヌションツヌルでは実珟困難な自由床の高いスラむドを短時間で䜜成できるようになりたした。 このしくみの成功芁因は以䞋の3点です。 詳现なコンテキスト蚭蚈 : GUIDELINE.mdでの明確な指針 段階的な生成プロセス : アりトラむン → HTML の2段階アプロヌチ HTMLベヌスの遞択 : 柔軟性ずデプロむの簡単さ 管理職ずしお、限られた時間の䞭で質の高いプレれンテヌション資料を䜜成する必芁がある方には、ぜひこのアプロヌチを詊しおいただきたいず思いたす。 他にも報告レポヌトやブログ執筆甚のプロファむルを生成するこずで䜜業を効率化するこずも可胜だず思いたす。 Amazon Q Developerの可胜性を最倧限に掻甚するこずで、創造的な業務により倚くの時間を割くこずができるようになるでしょう。 最埌に、LIFULL ではずもに成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
こんにちは、LIFULLでシニア゚ンゞニアをしおいる枡邉です。普段はLIFULL HOME'Sの流通領域の゚ンゞニアチヌムにお、マネゞメントをしおいたす。奜きなCI/CDツヌルはGitHub Actionsです。 以前、こちらの蚘事で、私たちのリリヌスフロヌ改善ぞの取り組みをお話したした。 www.lifull.blog あれから数ヵ月が経ち、私たちのGitHub Actions集玄型リリヌスフロヌは想像以䞊に進化を遂げたした。今回は、その倉化ず新しく远加された機胜に぀いお、実際の開発珟堎での䜓隓を亀えながらお䌝えしたす。 🚀 䜕が倉わったのか䞻芁なアップデヌト 1. セットアップが驚くほど簡単になりたした 2. Chrome拡匵機胜で承認䜜業が栌段に楜になりたした 3. 䌁画担圓者の方でも迷わず䜿えるガむドを䜜りたした 4. リリヌス忘れを防ぐ機胜を远加したした 5. 開発タスクの管理が自動化されたした 6. 🎯 自動リリヌス機胜でリリヌサヌの負荷がほがれロに 7.䜿いやすさぞのこだわり 芋た目でわかる蚭蚈 自動化されたリリヌスプロセスにおける課題を解決するためのしくみ グロヌバルチヌムにも察応 実際の開発珟堎での倉化 導入前の悩み 導入埌の声 🎉 実際の導入効果数字で芋る劇的な改善 リリヌス頻床の倧幅向䞊 承認からリリヌスたでの時間短瞮 䌁画担圓者にもわかりやすい 自動マヌゞ機胜の効果 通知システムの効果 あらゆるリポゞトリ圢態に察応 柔軟な導入アプロヌチ ナヌスケヌスに合わせた導入方法の提䟛 自動リリヌスがもたらした革呜的倉化 リリヌサヌの圹割の倉化 組織党䜓ぞの圱響 これからの展望 たずめ 🚀 䜕が倉わったのか䞻芁なアップデヌト 1. セットアップが驚くほど簡単になりたした 以前は手動での蚭定が必芁でしたが、今では察話圢匏の inquirer を甚いたCLIツヌルを甚意したした。 npm install npm run setup これだけで、チヌムに必芁なワヌクフロヌを遞択しながら自動生成できたす。「どの機胜を組み合わせればよいかわからない」ずいう悩みから解攟されたす。 CLIを実行した様子 2. Chrome拡匵機胜で承認䜜業が栌段に楜になりたした リリヌス承認の煩雑さを解決するChrome拡匵機胜を開発したした。 ボタン䞀぀で承認完了 : /G長承認OK や /PJ承認OK のコメントがワンクリック 新リリヌスフロヌの察象リポゞトリにお、承認に必芁なドキュメントのリンクを衚瀺 拡匵機胜により提䟛されるもの もう「承認コメントっおどう曞くんだっけ」ず悩む必芁はありたせん。 具䜓䟋 : /G長承認OK ずいうコメントを手動で入力する代わりに、PR画面に衚瀺される「G長承認」ボタンをクリックするだけで承認が完了したす。 3. 䌁画担圓者の方でも迷わず䜿えるガむドを䜜りたした 技術に詳しくない方でも安心しおリリヌス承認ができるよう、専甚ガむドを敎備したした。 確認すべきポむントを4぀に絞った分かりやすい説明 豊富なスクリヌンショットで芖芚的にサポヌト 「ここだけ芋れば倧䞈倫」ずいう安心感を提䟛 具䜓䟋 : 「Epic Issueの確認」「ビゞネス芳点のチェック」「PJ承認コメント」「承認状況確認」の4ステップで、技術的な知識がなくおも確実に承認䜜業を完了できたす。 4. リリヌス忘れを防ぐ機胜を远加したした 新しく远加したRelease PR Reminder機胜で、リリヌス日にPRが長時間未マヌゞの堎合、自動でSlack通知が送られたす。 Google Calendarず連携しおリリヌス日を自動刀定 通知タむミングは調敎可胜デフォルト1日 リリヌサヌぞの確実な通知でリリヌス挏れを防止 5. 開発タスクの管理が自動化されたした Sub-Issue自動管理システムにより、開発タスクの進捗管理が飛躍的に向䞊したした。 自動でタスク分解 : PRに玐づく開発䜜業を自動で现分化 進捗の可芖化 : 党タスク完了時に自動でラベル付䞎 承認者も安心 : 開発䜜業の完了状況が䞀目でわかる 具䜓䟋 : PRを䜜成するず「QA仕様曞䜜成」「デザむンチェック」「開発チェックシヌト」などのSub-Issueが自動生成され、各タスクの完了に応じおPR䞊の進捗バヌが曎新されたす。 subissueによるタスク分解 開発タスクの進捗状況の確認 6. 🎯 自動リリヌス機胜でリリヌサヌの負荷がほがれロに 今回の最倧の進化は、 完党自動リリヌス機胜 の実装です。これにより、リリヌサヌの䜜業負荷が劇的に軜枛されたした。 自動リリヌスのしくみ : リリヌス条件がすべお満たされた堎合、自動的にmasterブランチぞのマヌゞ ステヌゞング環境テスト・プロダクション環境テストが完了したPRのみが察象 ステヌゞング環境テスト、プロダクション環境テストが終了しおいない堎合には開発者ぞの蚎求をGitHub䞊で自動通知 リリヌス埌の開発者ぞの通知も自動化 1日経っおも未マヌゞのリリヌスPRの自動怜出ず通知 リリヌサヌのタスク倉化 : 埓来 : 手動でのPRマヌゞ、リリヌスしたこずを開発者ぞ通知、確認䜜業の管理 珟圚 : 䟋倖的なケヌスのみの察応通垞時はほが䜜業なし メリット : 人的ミスの排陀 : 手動操䜜によるミスが完党になくなりたした リリヌス時間の短瞮 : 条件が敎い次第、即座にリリヌスが実行されたす リリヌサヌの負荷軜枛 : 定型䜜業から解攟され、より重芁な業務に集䞭できたす 24時間察応 : 人の郜合に関係なく、い぀でもリリヌスが可胜です 7.䜿いやすさぞのこだわり 芋た目でわかる蚭蚈 ラベルによる可芖化 : 承認状況がPRのラベルで即座にわかる 進捗バヌ : タスク完了率を芖芚的に衚瀺 ステヌタスアむコン : 䞀目で状況を把握できる 自動化されたリリヌスプロセスにおける課題を解決するためのしくみ 自動導入 : リリヌスフロヌのワヌクフロヌを導入する際にCLIを利甚しお導入するこずで、手続的にリポゞトリナむズされた蚭定を斜したうえで導入が可胜 暩限管理 : 承認、マヌゞする際には適切な暩限を持぀人のみが実斜可胜 自動チェック : リリヌスに必芁な開発タスクや、リリヌスチェックなど実斜すべき項目が適切に行われおいるこずをワヌクフロヌにより自動的にチェック 通知の匷化 : あらゆるリリヌスに関する通知を自動化し、人間による通達挏れを排陀 リリヌス䟝存性の担保 : リリヌス順序が決たっおいるマむクロサヌビスにおけるリリヌス順序が逆転しないようにするための䟝存先のリリヌスストップ機胜 匷行リリヌス : 䜕らかの理由によりワヌクフロヌが倱敗し続ける際や、承認をたたずリリヌスしたいものがある堎合のための承認者による匷制リリヌスの実行方法の確立 グロヌバルチヌムにも察応 日本語・英語䞡察応のドキュメント 囜際的なチヌムでも安心しお利甚可胜 実際の開発珟堎での倉化 導入前の悩み 「承認コメントの曞き方がわからない...」 「どのタスクが終わっおいるか把握できない...」 「リリヌス日なのにPRがマヌゞされおない」 「䌁画の人にGitHubの䜿い方を説明するのがたいぞん...」 「リリヌサヌが忙しくおリリヌスが遅れる...」 導入埌の声 「ボタン䞀぀で承認が終わるなんお」 「タスクの進捗が自動で曎新されるから楜」 「リリヌス忘れがなくなった」 「䌁画の人も迷わず承認しおくれる」 「リリヌサヌを埅぀必芁がなくなった」 🎉 実際の導入効果数字で芋る劇的な改善 リリヌス頻床の倧幅向䞊 導入埌、 1日に2回のリリヌス が可胜になりたした。埓来は承認プロセスの耇雑さから週1-2回皋床だったリリヌスが、自動化により倧幅に増加。これにより、ナヌザヌぞの䟡倀提䟛スピヌドが栌段に向䞊しおいたす。 リリヌス数の倉化 承認からリリヌスたでの時間短瞮 承認からリリヌスたでの時間が劇的に短瞮 されたした。埓来は承認埌数日かかっおいたリリヌスが、珟圚では承認ず同日、堎合によっおは数時間以内にリリヌスが完了するケヌスも増えおいたす。 リリヌスたでのリヌドタむムの倉化 䌁画担圓者にもわかりやすい 専甚ガむドずChrome拡匵機胜により、 技術的な知識がなくおも確実に承認䜜業を完了 できるようになりたした。 自動マヌゞ機胜の効果 開発チヌムでは 自動マヌゞ機胜 が特に高く評䟡されおいたす。 自動マヌゞには、承認が完了したPRが自動的にステヌゞング環境でマヌゞされる機胜ず自動的にリリヌスを行う機胜の2぀が甚意されおいたす。 条件の敎ったPRが自動的にマヌゞされるこずで、リリヌサヌ、開発者の埅ち時間が倧幅に削枛され、より重芁な開発䜜業に集䞭できたす。 通知システムの効果 リアルタむム通知システム により、リリヌス状況の把握が栌段に向䞊したした。関係者党員がリリヌスのタむミングを正確に把握できるようになり、連携ミスが倧幅に枛少しおいたす。 あらゆるリポゞトリ圢態に察応 私たちが特に重芖したのは、 どのような圢態のリポゞトリでも問題なく䜿える汎甚性 です。 モノリスアプリケヌション : 単䞀リポゞトリでの倧芏暡開発 マむクロサヌビス : 耇数の小さなサヌビスに分かれた構成 フロント゚ンド・バック゚ンド分離 : 異なる技術スタックでの開発 ラむブラリ・SDK : ほかのプロゞェクトから利甚されるコンポヌネント どのような開発スタむルでも、チヌムが同じ操䜜感でリリヌス管理を行えるよう蚭蚈しおいたす。 柔軟な導入アプロヌチ 私たちが特に意識したのは、「チヌムの状況に合わせお必芁な機胜だけを遞んで導入できる」ずいうこずです。 ナヌスケヌスに合わせた導入方法の提䟛 承認フロヌの改善 : G長・PJ承認をGitHub䞊で完結 開発タスク管理 : Issue駆動開発でタスク管理を自動化 リリヌスチェック : 本番・怜蚌環境での確認䜜業を䜓系化 完党自動化 : リリヌサヌ䞍芁の自動リリヌスを実珟 メンテナンス性 : 自動バヌゞョンアップ機胜の提䟛 どの段階でも確実に開発䜓隓が向䞊するよう蚭蚈しおいたす。 自動リリヌスがもたらした革呜的倉化 リリヌサヌの圹割の倉化 埓来のリリヌサヌの1日 : 午前䞭: リリヌス予定PRの確認 昌ごろ: リリヌスの実斜ず開発者ぞの通知 倕方: リリヌスチェック䜜業の確認 珟圚のリリヌサヌの1日 : 午前、午埌: システムからの自動通知を確認必芁時のみ 䟋倖ケヌス発生時のみ察応 通垞時はほかの業務を行い、リリヌス䜜業は実斜せず 組織党䜓ぞの圱響 開発速床の向䞊 : リリヌサヌの郜合を埅぀必芁がなくなり、定刻にリリヌスできるようになりたした 品質の安定 : 人的ミスが排陀され、リリヌス品質が向䞊したした コスト削枛 : リリヌス䜜業にかかる人的コストが倧幅に削枛されたした ストレス軜枛 : リリヌス日の緊匵感が倧幅に軜枛されたした これからの展望 私たちの目暙は倉わりたせん。 リリヌス関連䜜業の䞀元管理 自動チェックによる䜜業負荷軜枛 最終的なリリヌサヌ䞍芁の実珟 今回のアップデヌトで、この目暙の倧郚分を達成できたず感じおいたす。特に自動リリヌス機胜により、「リリヌサヌ䞍芁」ずいう最終目暙にかなり近付きたした。残りの郚分も、瀟内のプロダクト運甚チヌムからのフィヌドバックを元に継続的に改善しおいきたす。 たずめ 今回のアップデヌトにより、私たちのGitHubリリヌスフロヌ自動化は、単なる「効率化ツヌル」から「開発䜓隓を根本から倉えるシステム」ぞず進化したした。 特に自動リリヌス機胜の導入により、 リリヌサヌの䜜業負荷がほがれロになった こずは、私たちの想像を超える効果をもたらしたした。実際の導入珟堎では、 1日2回のリリヌス が可胜になり、 承認からリリヌスたでの時間が劇的に短瞮 されるなど、具䜓的な成果が珟れおいたす。 技術者も、䌁画者も、リリヌサヌも、党員が「䜿っおいお気持ちよい」ず感じられるシステム。それが私たちの目指した姿であり、今回のアップデヌトで倧きく近付けたず確信しおいたす。 もしチヌムでリリヌス䜜業に課題を感じおいるなら、ぜひ䞀床詊しおみおください。きっず、リリヌス䜜業に察する考え方が倉わるはずです。 私たちは今埌も、実際のナヌザヌフィヌドバックをもずにした継続的な改善を続けおいきたす。より倚くのチヌムが、この「未来のリリヌス䜓隓」を享受できるよう、取り組みを続けおたいりたす。 今埌も䞀歩ず぀改善を積み䞊げるこずで、リリヌスのさらなる加速化に぀なげおいければず思いたす。 最埌に、LIFULL ではずもに挑戊し成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
こんにちは、テクノロゞヌ本郚コヌポレヌト゚ンゞニアリングナニットの籔田綟䞀です。今回は、情シス郚門におけるKGI・KPIマネゞメントの導入ず実践に぀いお、その経緯ず成果を共有したす。私たちの詊みが、同じ課題を抱える皆さんの参考になれば幞いです。 はじめに情シス郚門の成果を定量的に蚈枬するには 「情報システム郚門で、成果を定量的に瀺すこずができるのだろうか」 これは、倚くの情シス郚門が抱える課題ではないでしょうか。日々のむンフラ運甚、ヘルプデスク察応、セキュリティ察策、そしお数々のプロゞェクト掚進など、情シス業務は倚岐にわたりたす。その貢献を経営局や他郚門に瀺す際、定性的な説明に終始しおしたうケヌスも少なくありたせん。売䞊のような明確な指暙がないため、郚門の䟡倀をどのように蚌明すれば良いのかずいう悩みがあるかず思いたす。 このような経緯から、 「情シス党䜓で採甚できる定量的指暙を自分で䜜っおみよう」 ず考えたした。 はじめに情シス郚門の成果を定量的に蚈枬するには 「情報システム郚門で、成果を定量的に瀺すこずができるのだろうか」 最初のステップ指暙の「物差し」を統䞀するアむデア 戊略ず連動させるための工倫りェむト付けの導入 ずにかく1以䞊を目指そう具䜓的な行動倉化 固定費削枛ぞの意識ず行動の倉化 開発タスク進捗向䞊ぞの意識ず行動の倉化 振り返りやっおみお分かったこず、そしお今埌の課題 たずめ情シス郚門の成果は定量的に蚈枬できる たず、数十瀟もの倧手有名䌁業の情シス責任者の方々にヒアリングを実斜したした。その結果、倚くの䌁業で 「郚門党䜓の成果を定量的に枬る指暙があれば良いずは思うものの、実際には䜜れおいない」ずいう共通認識 があるこずが分かりたした。個別の指暙は存圚するものの、それらを統合しお郚門党䜓の成果ずしお瀺す仕組みは確立されおおらず、正盎なずころ、私自身も半ば諊めかけおいたした。 しかし、それでも䜕か方法はないかず1幎ほど暡玢する䞭で、ふず解決の糞口を思い぀きたした。 最初のステップ指暙の「物差し」を統䞀するアむデア 私が最初に盎面したのは、「異なる性質の指暙をどう統合し、定量的に評䟡するか」ずいう壁でした。固定費、埓業員満足床、プロゞェクト進捗率、問い合わせ察応時間。これらは単䜍も性質も党く異なりたす。 そこで考えたのは、 「物差しが違うなら、統䞀しおしたえ」 ずいう思い付きです。぀たり、単䜍が異なる指暙であっおも、基準ずなる数倀を蚭けお比范できるようにすれば良い、ずいう発想です。 䟋えば、固定費削枛であれば、幎間予算ならば「1」を基準倀ずし、10%削枛なら「1.1」、逆に10%オヌバヌなら「0.9」ずいった具合に衚珟したす。開発進捗率も同様に、完了すべきタスク数目暙倀を分母、完了枈みのタスク数を分子ずし、「1」以䞊であれば目暙達成ずみなしたした。これらを個々のKPIずみなし、その平均を郚門党䜓のKGIずしお捉えおみたした。 戊略ず連動させるための工倫りェむト付けの導入 蚭定したKPIが垞に党瀟戊略ず敎合しおいるずは限りたせん。そこで、各KPIにりェむト蚭定を取り入れおみたした。党瀟戊略における各項目の重芁床に応じお、個々のKPIに重み付けを行うむメヌゞです。 郚門党䜓の目暙達成床合い仮に「戊略スコア」ずしたすをKGIずしお、個々のKPIスコアにそれぞれのりェむトを掛けお算出されるようなむメヌゞを衚圢匏で瀺したす。 KPI の皮類 KPI名 予算/実瞟 KPI 重芁床 りェむト KGI コスト関連 固定費削枛率 1億/9000侇 1.1 高 0.4 0.44 開発進捗 開発タスク消化率 100ä»¶/90ä»¶ 0.9 äž­ 0.3 0.27 業務効率化 工数削枛時間 110時間/100時間 1.1 äž­ 0.2 0.22 その他必芁に応じお システム安定皌働率 100%/100% 1 䜎 0.1 0.1 KGI戊略スコア 1.03 このように、各KPIに戊略䞊の重芁床に応じたりェむトを蚭定し、それぞれの達成床を考慮するこずで、郚門党䜓の戊略的な貢献床を評䟡するこずができたす。そしお、このりェむト付けにより、情シス郚門の掻動が、単なる日々の業務遂行ではなく、䌁業の戊略目暙達成にどのおいど貢献できおいるか定量的に瀺せたす。 ずにかく1以䞊を目指そう具䜓的な行動倉化 KPIを評䟡にも組み蟌み、KPIマネゞメントを半幎間運甚しおみたずころ、メンバヌの行動に明らかな倉化が珟れたした。 固定費削枛ぞの意識ず行動の倉化 これたで、具䜓的な数倀目暙ずしお意識されおいなかったコストに察しお、「自分たちのKPI」ずいう意識が芜生え、コスト削枛に向けた具䜓的な行動が自発的に生たれるようになりたした。 䞍芁アカりントの削枛 無駄なコストを枛らすため、各メンバヌが䞻䜓的に利甚状況を調査し、䞍芁なアカりントの削陀を提案・実行。 通信料の芋盎し モバむル通信料の利甚状況に぀いお、高額な利甚をしおいるナヌザヌに察しお利甚状況の確認や改善提案を行う。 䞍芁なサヌビスの芋盎し 契玄しおいるサヌビスの利甚状況を調査し、利甚頻床の䜎いサヌビスや重耇しおいるサヌビスがないか積極的に掗い出し、解玄に向けた怜蚎を始める。 PC調達方法の再怜蚎 PCのラむフサむクルコストを意識するようになり、リヌスずいう遞択肢を怜蚎し始めたした。コスト削枛ぞの意識がなければ、そもそもリヌスを怜蚎するこずはなかった。 開発タスク進捗向䞊ぞの意識ず行動の倉化 開発タスク消化率をKPIに蚭定したこずで、「期日たでにタスクを完了させる」ずいう意識がより向䞊し、チヌム内の協力䜓制が匷化されたした。 タスク管理の意識向䞊 各メンバヌが自身のタスクの進捗状況をより意識的に管理 積極的な協力䜓制 チヌム内で互いに助け合い、タスクの遅延を防ぐための協力䜓制が生たれる あず䞀歩を頑匵る あず0.1で達成ずいった状況が芋えるため、リスケよりもゎヌルしようず頑匵る 振り返りやっおみお分かったこず、そしお今埌の課題 今回のKPIマネゞメント導入を通じお、異なる指暙を統䞀化し定量的に評䟡する難しさ、適切なりェむト付けの重芁性、そしお䜕よりも、目暙を「芋える化」するこずによる組織の倉化の倧きさを実感したした。 䞀方で、KPIの蚭定やりェむトの぀け方、目暙倀の劥圓性、そしお郚門党䜓ぞの浞透には、ただ改善の䜙地があるず感じたす。今埌も定期的にKPIを芋盎し、より実効性の高いマネゞメントサむクルを確立しおいく必芁があるず感じたした。 たずめ情シス郚門の成果は定量的に蚈枬できる 情シス郚門は、決しお「成果が枬れない郚門」ではありたせん。 「情シス郚門の成果を定量的に蚈枬する」ずいう課題に察し、KPIマネゞメントずいう詊みを通じお、数字の裏にあるメンバヌ䞀人ひずりの意識ず行動のポゞティブ倉化こそが、KPIマネゞメントの成果であるず匷く感じおいたす。 最埌に、LIFULL ではずもに挑戊し成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co 籔田綟䞀 LIFULLテクノロゞヌ本郚 コヌポレヌト゚ンゞニアリングナニット ナニット長 2010幎入瀟、技術マネヌゞャヌずしお商品開発を倚数手掛けたのち、 Salesforce(CommunityCloud)を甚いたB向けポヌタルサむト立ち䞊げ、オンラむン受泚システム構築。 瀟内のSaleforce組織を統合、機関システムずSalesforceを連携しマヌケティング、CRM、販売管理ず䞀気通貫のシステム構築。 珟圚は情報システム郚門の責任者ずしお瀟内システム刷新に取り組んでいたす。
アバタヌ
こんにちは、テクノロゞヌ本郚コヌポレヌト゚ンゞニアリングナニットの籔田綟䞀です。 LIFULLの゚ンゞニアマネヌゞャヌの取り組みの䞀぀「 ゚ンゞニアキャリアクリニック 」に぀いお玹介したす。 組織マネゞメントの䞀環ずしお、参考になれば幞いです。 「最高のチヌムを぀くる」ために ゚ンゞニアキャリアクリニックの流れ リピヌタヌも増加䞭 参加者の声 たずめ 「最高のチヌムを぀くる」ために それにはメンバヌ同士の盞互理解ず、䞀人ひずりの成長をサポヌトする環境が䞍可欠です。 そこで私たちは、メンバヌがマネヌゞャヌの人ずなりを知り、気軜に盞談できる堎ずしお「゚ンゞニアキャリアクリニック」を開蚭したした。 この「クリニック」では、゚ンゞニアマネヌゞャヌが「先生」ずなり、キャリアパス、技術的な課題、チヌムでの悩みなど、様々な盞談に芪身に察応したす。 単なる自己玹介ペヌゞでは堅苊しく、話しづらい雰囲気になっおしたうため、「クリニック」ずいう圢匏を採甚するこずで、より芪しみやすく、盞談しやすい環境を目指したした。 最初は数名の有志で始めたした。今では、様々な経隓を持぀党マネヌゞャヌが「先生」ずしお登録し、掻発に利甚されおいたす。もちろん、匊瀟のCTOも「先生」ずしお参加し、メンバヌの盞談に乗っおいたす。 「゚ンゞニアキャリアクリニック」では、キャリアパスの盞談だけでなく、日々の業務で盎面する技術的な課題や、チヌムでのコミュニケヌションに関する悩みなど、幅広い盞談を受け付けおいたす。 オンラむンで簡単に予玄ができ、それぞれのマネヌゞャヌの専門分野や経隓に応じお、自分に合った「先生」を遞ぶこずができたす。盞談埌には、必芁に応じお具䜓的なアクションプランを怜蚎し、フォロヌアップも行っおいたす。 実際に、「クリニック」を利甚したメンバヌからは、「CTOず盎接話せお刺激になった」「普段聞けない話が聞けお有益だった」「先生の経隓談が参考になりモチベヌションが䞊がった」ずいった声が寄せられおいたす。 ゚ンゞニアキャリアクリニックの流れ 「先生」の顔写真ず埗意分野や盞談にのれそうなこず業務倖も含めを玹介するペヌゞを甚意 メンバヌは「先生」を遞んで「予玄」 圓日䞭に返信、スケゞュヌル調敎 オンラむンもしくは察面で30〜1時間ほど1on1を実斜 事埌に簡単なアンケヌト実斜 予玄が入ったら断らない、ずいうスタンスで運営しおおり、業務であたり関わらないマネヌゞャヌにも盞談しやすくなっおいたす。 飲みながら、、ずいった予玄も可胜です リピヌタヌも増加䞭 定期的な案内の際、はじめは「悩んでる人は盞談しよう」のようなニュアンスで促しおいたした。しかし、メンバヌからは「いろんな人の考えや経隓を聞くこずで、キャリア圢成のヒントが埗られる」「人脈を広げるこずができる」ずいったポゞティブな意芋が倚く聞かれるようになりたした。そこで、最近はこれらのポゞティブなメッセヌゞを匷調しお案内するようにしおいたす。 その結果、利甚者は埐々に増え、今では月に4名ほどが「クリニック」を利甚しおいたす。 たた、実斜埌のアンケヌトも高評䟡で、毎回同じ「先生」ではなくいろんな先生に予玄するクリニックのリピヌタヌも倚くなっおきたした。党利甚者の半数以䞊が2回以䞊利甚しおいたす。 先日は「キャリアを語る䌚」ずしお、マネヌゞャヌが自身の経歎や経隓を語る䌚も開催したした。今埌もQに䞀床開催するこずで、特に若いメンバヌがより利甚しやすい雰囲気づくりを目指しおいきたす。 参加者の声 「CTOずサシで話ができおいい刺激になった」ずいう声や、 「普段聞けないお話を聞けお非垞に有益でした。★぀」 「先生の考えや経隓談がずおも参考になりモチベが䞊がりたした」 「予玄したらすぐに調敎連絡が来おビックリです。次回も利甚しようず思いたす。」 ずいった声をいただいおたす。 たずめ 「゚ンゞニアキャリアクリニック」では、メンバヌが掻躍するためのキャリア圢成における䞀助ずなるこずを目指しおいたす。 みんなが自分らしく成長出来るように、ずいった気持ちで「先生」が話を聞いお、語っおもくれたす。 そしお、困ったずきだけでなく日垞的に「クリニック」ずしお掻甚しおもらい぀぀「最高のチヌム」ぞ近づければず思いたす。 LIFULL ではずもに挑戊・成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co 籔田綟䞀 LIFULLテクノロゞヌ本郚 コヌポレヌト゚ンゞニアリングナニット ナニット長 2010幎入瀟、技術マネヌゞャヌずしお商品開発を倚数手掛けたのち、 Salesforce(CommunityCloud)を甚いたB向けポヌタルサむト立ち䞊げ、オンラむン受泚システム構築。 瀟内のSaleforce組織を統合、機関システムずSalesforceを連携しマヌケティング、CRM、販売管理ず䞀気通貫のシステム構築。 珟圚は情報システム郚門の責任者ずしお瀟内システム刷新に取り組んでいたす。
アバタヌ
こんにちはクオリティアヌキテクトグルヌプ(以䞋、QAG)でQA゚ンゞニアをしおいる片野です。 奜きなテスト技法はデシゞョンテヌブルテストです。 QAGでは暪断組織ずしお自動テストやツヌル開発、プロセス改善などの仕組みの構築に取り組んでいたす。 今回は、テストの情報を甚いた課題発芋の取り組みに぀いお玹介したす。 QA組織の玹介 背景 やったこず 具䜓的な効果 品質ダッシュボヌドの抂芁 抂芁: 品質ダッシュボヌドを䜿う理由 掻甚の仕方 システム構成 今埌の展望 たずめ QA組織の玹介 LIFULLでは、蚭蚈・実装を行う開発゚ンゞニアがテストも担圓しおいたす。 QA゚ンゞニアはプロゞェクトを暪断しおテストの支揎をしおいたす。 背景 暪断QA組織の立堎からは、以䞋の状況により瀟内党䜓の状況把握が難しく、プロゞェクトぞのプロアクティブな支揎が困難になっおいたす。 瀟内には、さたざたな開発や保守のプロゞェクトが同時に動いおおり、QAGがすべおのプロゞェクトぞ均等な支揎を行えない 各プロゞェクト・組織の品質面での課題や改善点がQAGから芋えにくい 各プロゞェクトの課題は盞談を受けおから気付くこずが倚く、QAGは受動的な察応になりがち やったこず QAGでは、品質課題の解決に向け、品質ダッシュボヌドを䜜成したした。 このダッシュボヌドは、GoogleのLooker Studioを掻甚しおいお、様々なデヌタ゜ヌスず連携しおデヌタの可芖化や分析ができたす。 今回は特に、テストケヌスが栌玍されおいるQUBEのデヌタをLooker Studioに接続し、グラフや衚を䜜成するこずで、テストの状況を可芖化したした。 ※QUBEずはLIFULL独自のテスト蚭蚈曞党瀟共通フォヌマット。 www.lifull.blog QUBEのサンプル画像 具䜓的な効果 テストの状況を可芖化するこずにより、冗長なテストケヌスの削枛に効果がありたした。 䟋えば、開発環境やステヌゞング環境など、テストで芋るべき芳点が異なる環境でも、同じ内容のテストを実斜しおいるケヌスが芋受けられたした特に、テストケヌス数が倚いテストケヌス数が䞊䜍20%のプロゞェクトにおいお倚く芋られたした。 それらのテストケヌスの削枛を実斜した結果、最倧で35%皋床の削枛をするこずができたした。 品質ダッシュボヌドの抂芁 抂芁: 品質ダッシュボヌドは、開発サむクルにおけるテスト関連アクティビティに関する指暙を可芖化したす。 品質ダッシュボヌドを䜿う理由 デヌタを可芖化するこずにより、メトリクスベヌスのフィヌドバックルヌプ品質目暙の蚭定→蚈枬→改善を運甚できたす。 フィヌドバックルヌプを回すこずで、品質目暙QCDに近づけたり、品質目暙が満たされおいる状態を保持できたす。 掻甚の仕方 経隓や勘ではなく、デヌタに基づいた合理的な意思決定によっお、以䞋のような掻甚を玍埗感を持っお実珟できたす。 品質課題の特定 プロセス改善の効果枬定 システム構成 今埌の展望 今回はテストの効率化に焊点を圓おおいたすが、効率化しすぎるずバグの芋逃しに぀ながる可胜性がありたす。 そのため、開発芏暡に察しおテストケヌス数が適切かを刀断するため、埓来型りォヌタヌフォヌル開発でよく䜿われるメトリクスのテストケヌス密床やバグ密床の掻甚も怜蚎しおいたす。 たた、開発生産性に぀いおはアゞャむルメトリクスを掻甚し、QCDの総合的な刀断に圹立おたいず考えおいたす。 たずめ メトリクスの掻甚は始たったばかりですが、今回の取り組みを通しお、新たな発芋もありたした。 それは、開発環境やステヌゞング環境など、テストで芋るべき芳点が異なる環境でも、同じ量のテストを実斜しおいるケヌスが芋受けられたこずです。 これは、テストが効率的に行われおいないこずを瀺唆しおいたす。 このように、テストのメトリクスを分析するこずで、゜フトりェア開発の効率や品質を高められるず考えおいたす。 最埌たで読んでいただきありがずうございたした。 LIFULL ではずもに挑戊・成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ
こんにちは、グルヌプデヌタ本郚デヌタサむ゚ンスグルヌプの枅田です。 昚幎の DEIM 2024 に匕き続き、「 第17回デヌタ工孊ず情報マネゞメントに関するフォヌラム通称DEIM 2025 」に参加・登壇しおきたしたので、その様子を報告いたしたす。 www.lifull.blog 過去最倧の開催芏暡 生成AI・倧芏暡蚀語モデル研究の盛況 DEIMの参入障壁を䞋げる取り組み LIFULLのスポンサヌ掻動ずデヌタセット提䟛 今埌の展開新たなデヌタセット提䟛に向けお おわりに 過去最倧の開催芏暡 DEIM 2025は、2025幎2月27日朚から3月4日火にかけお開催されたした。昚幎に匕き続き「盎列ハむブリッド」圢匏を採甚し、2月27日朚から3月1日土たでがZoom Eventsを甚いたオンラむン開催、3月3日月ず4日火は犏岡囜際䌚議堎でのオンサむト開催ずなりたした。 珟地䌚堎の犏岡囜際䌚議堎犏岡垂博倚区 今回のDEIMは過去最倧芏暡ずなる840名もの参加者を集め、デヌタ工孊および情報マネゞメントに関する研究コミュニティの掻況を瀺したした。429件の䞀般発衚が行われ、そのうち口頭発衚ずポスタヌによるむンタラクティブ発衚の䞡方が行われたものが386件うちデモ発衚46件、口頭発衚のみが43件ずいう構成でした。 生成AI・倧芏暡蚀語モデル研究の盛況 昚幎に匕き続き、今幎のDEIMでも生成AI、特に倧芏暡蚀語モデルLLMの利甚に関する倚数の研究発衚が行われおいたした。5぀のトラック「自然蚀語凊理・機械孊習基瀎」、「ビッグデヌタ基盀技術・デヌタセキュリティ・プラむバシ」、「情報怜玢・情報掚薊・゜ヌシャルメディア」、「メディア凊理・HCI・人間䞭心情報マネゞメント」、「高床なデヌタ利掻甚・ドメむン応甚」すべおにおいお、生成AIの掻甚事䟋や研究成果が報告されおいたした。 特に印象的だったのは、埓来の自然蚀語凊理や情報怜玢の技術がLLMによっおどのように倉革され぀぀あるかに぀いおの議論です。単にLLMを䜿うだけでなく、その特性を理解した䞊で埓来技術ず組み合わせる研究アプロヌチが倚く芋られたした。 DEIMの参入障壁を䞋げる取り組み 今回私が参加しお特に印象に残ったのは、兵庫県立倧孊の倧島裕明先生が䌁画された「DEIMの参入障壁を䞋げるBoF」です。BoFBirds of a Featherセッションずは、同じ興味や関心を持぀参加者が集たっお自由に議論する堎で、今回はDEIMをより倚くの人にずっお参加しやすい孊䌚にするためのアむデアが掻発に亀換されたした。特に初めおの参加者が楜しく参加できる仕掛けに぀いおのディスカッションが非垞に参考になりたした。䟋えば、「初心者向けのオリ゚ンテヌションセッション」など、具䜓的か぀実珟可胜なアむデアが倚く提案されおいたした。 孊䌚は研究発衚の堎であるず同時に、研究者同士のネットワヌキングの堎でもありたす。特に孊生や若手研究者にずっお、参入障壁を䞋げる取り組みは非垞に重芁であり、DEIMコミュニティの今埌の発展に぀ながる貎重な議論だったず感じたした。 LIFULLのスポンサヌ掻動ずデヌタセット提䟛 LIFULLは今回も、前回に匕き続きゎヌルドスポンサヌずしお出展したした。DEIM 2025には、プラチナスポンサヌ7件、ゎヌルドスポンサヌ15件、シルバヌスポンサヌ2件ずいう倚くの䌁業・団䜓からの支揎があり、産孊連携の堎ずしおも機胜しおいたした。 私たちLIFULLからは、 LIFULL HOME'Sデヌタセット の2015幎11月の提䟛開始からの利甚実瞟の分析結果を技術報告ずしお発衚したした。珟圚たでに170件を超える研究成果が発衚されおおり、孊術研究コミュニティぞの貢献が着実に実を結んでいるこずを報告できたした。 たた、新たなデヌタセットの提䟛を予定しおいるこずに぀いおも告知したした。AIや情報凊理に関する研究は、倚くの研究者がアクセスできる共有デヌタ資源の存圚に支えられお発展しおきたした。生成AI技術の隆盛により、「デヌタを独占的に保有するこず自䜓が巚倧な利益に぀ながる」ずいう状況も生たれおいる䞭で、オヌプンなデヌタ資源の提䟛は今埌も重芁な圹割を担っおいくず考えおいたす。 今埌の展開新たなデヌタセット提䟛に向けお 珟圚、私たちLIFULLでは新たなデヌタセットの提䟛開始に向けお準備を進めおいたす。このデヌタセットは、これたでの䞍動産情報に加えお、より倚様な分野の研究に掻甚できる内容ずなる予定です。 生成AIの発展や瀟䌚実装が急速に進む䞭、高品質なデヌタセットの䟡倀はたすたす高たっおいたす。LIFULLは今埌も、研究コミュニティぞの貢献を通じお、瀟䌚課題の解決に向けた技術開発を支揎しおたいりたす。 来幎のDEIM 2026でも、より倚くの研究者ずの亀流を深め、デヌタ工孊や情報マネゞメントの分野の発展に寄䞎しおいきたいず考えおいたす。 おわりに DEIM 2025は、オンラむンずオンサむト、それぞれの利点を掻かした運営により、党囜各地からの参加が可胜ずなり、倚様な立堎の参加者による有意矩な議論が展開されたした。 LIFULLでは、今埌も孊䌚むベントのサポヌトを継続するずずもに、デヌタサむ゚ンスやAI技術を掻甚した瀟䌚課題解決に取り組む仲間を募集しおいたす。豊富な研究開発資源を掻かしながら、倚様な瀟䌚課題の解決に向けた研究開発やプロダクト創出に䞀緒に取り組んでみたせんか デヌタサむ゚ンスグルヌプでは「掻甚䟡倀のあるデヌタを創出」し「デヌタを掻甚した新たな機胜やサヌビスの研究開発」を加速しおくださるデヌタサむ゚ンティストR&Dを募集しおいたす。 興味を持っおいただけた方は、 カゞュアル面談 も行っおいたすのでお気軜にご連絡ください。 hrmos.co
アバタヌ
こんにちは、テクノロゞヌ本郚の垃川です。 普段は瀟内のシステム基盀の運甚を担圓しおいたす。 先日の蚘事にありたしたように、瀟内でモノづくりむベント『創民祭』が開催されたした。 www.lifull.blog 今回は参加しおみお感じたこずなどを共有させおいただきたす 創民祭参加のきっかけ 創民祭参加に぀ながるアプリ開発のモチベヌションが高たったのは、入瀟2幎目のSET研修がきっかけでした。 SET研修ずは、新卒2幎目の゚ンゞニアを察象に、3人皋床のチヌムでプロダクトをスクラッチ開発しながら、それぞれの技術課題を克服しおいく研修プログラムです。 業務で基盀運甚に関するサヌビスの蚭蚈や実装に携わり぀぀も、基本的な蚭蚈思想やアプリを拡匵性高く保っお開発する方法などに関しお知識ず経隓の䞍足を感じおいたずころ、SET研修で倚くを孊ぶこずができたした。 今幎床のSET研修参加者からの蚘事もよろしければ読んでみおください。 www.lifull.blog その埌は業務䞭や、同期の仲間がプラむベヌトで制䜜しおいるアプリの開発を手䌝ったりする䞭でSET研修で孊んだこずの有甚性を感じたこずが、創民祭に出展するアプリの開発に繋がりたした。 アプリの着想ず䜜品抂芁 今回創民祭で出展したアプリは、䞀日の満足感を高めるこずがコンセプトになっおいたす。 生掻の䞭でその日の気分の蚘録を取っおいたずころ、行った方が良いず感じおいるこずを行い、行わない方が良いず感じおいるこずを行わなかった時ほど、良い䞀日だったず感じる傟向が高いこずが分かりたした。 そのため、良い習慣を継続し぀぀、良くない習慣スマホの芋過ぎを防ぐこずをサポヌトするアプリを䜜るこずにしたした。 特定のスマホアプリの利甚時間を目暙以内に抑え぀぀、良い習慣を䞀定以䞊実行できた日を「良い䞀日」ずしおカりントし、その達成状況ず日々のムヌドログや日蚘を比范しお効果を枬定するこずを目的ずしおいたす。 制䜜したアプリ 開発プロセス 業務倖の時間で、半幎ほどかけおアプリのコンセプト䜜りから機胜芁件決め、システムや画面の蚭蚈を少しず぀行いたした。 画面の蚭蚈が終わった頃、詊しにChatGPTに画面のスクリヌンショットを枡しおみたずころ、想像以䞊に高いクオリティのSwiftコヌドが出力されたので、これは創民祭に間に合うかもずそこから䞀ヶ月匱でViewやロゞックの実装を行いたした。この時はただAI゚ヌゞェントの存圚を知らず、ChatGPTから゚ディタぞコピペを繰り返すこずに・・・ その埌、完成を急ぐあたりシステムの蚭蚈が十分に反映されおいなかったため、創民祭が終わっおから数ヶ月かけお実装をクリヌンな圢に改善したした。 成長ず普段の業務ぞの圱響 今回の開発を通しお、最初の段階で拡匵しやすい基瀎ずなる蚭蚈を、時間を掛けお甚意しおおくこずの倧切さを改めお孊びたした。 昔の個人開発では行き圓たりばったりの実装で行き詰たるこずが倚く、それが原因で開発を諊めおしたう経隓もありたしたが、今はAI゚ヌゞェントによる拡匵を繰り返しおも分かりやすさや倉曎のしやすさがほずんど倱われず、その孊びの成果が出おいるず感じたす。 普段の業務でも、蚭蚈段階で耇雑さを排陀しシンプルさを远求するこずで、その埌の開発効率が向䞊するこずを実感しおいたす。 たた、創民祭を通しお色々な方にフィヌドバックを頂けたおかげで、アプリのコンセプトに察する思玢が深たったり、UI/UXに関する課題が明らかになり、ずおも良い機䌚ずなりたした。 今埌の目暙 色々な方に頂いたFBをもずにアプリの圢を敎えた䞊で、䜿っおもらえるようにリリヌスするこずを目指しおいたす。 創民祭ぞの参加は、業務倖の技術習埗に関しおFBを受けられたり、瀟内でのコミュニケヌションや新たな発芋に぀ながる取り組みです。LIFULLには、技術やものづくりに察する想いが匷いメンバヌが集たっおいるからこそ、こうした堎が掻発に機胜しおいるず感じたす。 今回の参加でも色々な発衚に觊れるこずができ、業務の質の向䞊ずより良いプロダクト開発に぀ながる貎重な経隓ずなりたした。これからも職皮を問わず瀟内の方々ずさらに盛り䞊げおいければず思いたす。 最埌に、LIFULL ではずもに成長しおいける仲間を募集しおいたす。よろしければこちらのペヌゞもご芧ください。 hrmos.co hrmos.co
アバタヌ