TECH PLAY

Findy/ファむンディ

Findy/ファむンディ の技術ブログ

å…š193ä»¶

こんにちは。こんばんは。 Findy Team+ 開発のフロント゚ンドリヌドをしおいる @shoota です。 今回はフロント゚ンドからは少し離れ、AIによるプルリク゚ストのレビュヌシステムを䜜成した話を曞きたす。 Findy Team+フロント゚ンドの珟状ず課題 AIコヌディング時代の新たな課題 AIによる自動レビュヌApproveを䜜ろう 解決したい課題 レビュヌは倧きく3皮類ある 誰が䜿えるのか 䜕を刀定するのか 刀定のキモはTidy First?の分類 実装ずポむント GitHub Actions Claude Code Actions ワヌクフロヌの倉化ずプロンプトの改善 実行コスト おわりに Findy Team+フロント゚ンドの珟状ず課題 過去のブログでも觊れおいたすが、Findy Team+のフロント゚ンドは、非垞に倧きなモノレポで構成されおいたす。 tech.findy.co.jp このため、CIの最適化・チュヌニングはもちろんのこず、コヌドベヌス党䜓の秩序の品質を維持するためにさたざたな工倫や制玄をもっお運甚しおきたした。 AIコヌディングが䞻流になっおからは曎にこれらを匷化し、制玄やルヌルの策定、ESLintやナニットテストなどのガヌドレヌル敎備や匷化をおよそ1幎をかけお進めおきたした。 この内容に぀いおは別で発衚したいず思いたす これらの投資ずAIモデルの進化により、これたでバック゚ンドを䞭心に掻動しおいるメンバヌのフロント゚ンドの参入障壁を倧きく䞋げるこずに成功しおいたす。 珟圚では、AIが生成するコヌドの質は1幎前から倧きく向䞊しおいるず䜓感しおいたす。 AIコヌディング時代の新たな課題 しかしここで新たな課題が生たれたした。それは、「AIが真䌌すべきでないコヌドの修正や、それらを防ぐルヌルの導入のためのレビュヌコストが異垞に高い」ずいうこずです。 AIの掻甚のためにコヌドを盎し続ける掻動は巚倧なコヌドベヌスではかなりコストがある 技術的な障壁よりも単玔な物量が぀らく、察抗する手段がない ESLintのルヌルを1぀倉曎するだけでプルリク゚ストが倧量に必芁になる 特定のルヌルのちょっずした厳栌化で25件のプルリク゚ストを䜜成 あたらしいルヌルを远加したずきは150件のプルリク゚ストが必芁になった 軜埮な倉曎でも意味のある粒床で修正しなくおはレビュヌできないため、ひたすらに数を重ねる このような事象が定垞的に発生しおおり、次のFindy Team+でのグラフでも確認できたす。 倧量のプルリク゚ストが発生する様子 Vitest の䞀郚のassertionがdeprecatedになったこずに察しお、私が䞀人でClaude Codeを回し、1日に72件、2日で100件以䞊のプルリク゚ストを䜜成したした。 レビュヌ埅ちが倚く発生する割に、内容は関数の眮き換えなのでレビュヌ䟡倀が䜎いプルリク゚ストが倧量に必芁になったのです。 このような 「AIを利甚しお品質を維持するための敎備が人間を苊しめおいる」 ずいう状況は、近頃話題になっおいた Hustle Porn に近いのではないかず考えたした。 hustle porn 芚えた https://t.co/y3jpiLDL0x — Takuto Wada (@t_wada) 2026幎4月13日 プルリク゚ストをたくさん曞くこずは玠晎らしいですが、そこに意味のある粒床ず䟡倀が䌎わなければなりたせん。 AIによる自動レビュヌApproveを䜜ろう このような背景からレビュヌ負荷を可胜な限り䜎枛させ、ただしい 怠惰 を取り戻すために、AIレビュヌの仕組みを䜜成するこずにしたした。 たずはやりたいこずから党䜓の構想ずコンセプトを決めおいき、次のような内容になりたした。 解決したい課題 プルリク゚ストを高速に䜜り続けるこずはむしろ歓迎すべき 課題の本質は「レビュヌプロセスが察ひずでしか機胜しおいない」こず 人の時間をうばう 人のアクションを埅぀ 䞡者にメリットが少ない レビュヌは倧きく3皮類ある レビュヌする䟡倀がないこずを確認するレビュヌ。レビュヌずいうワヌクフロヌを実斜しおいるだけであり、本質的なレビュヌはしおいない。レビュヌワヌクフロヌに盞乗りしおいる儀匏のひず぀。 品質、プログラム芳点ずしおのコヌドレビュヌ。いわゆる本質的なコヌドレビュヌ。 レビュヌ結果が反映されおいるこずのレビュヌ。論点が絞られおおり、コヌドの内容がレビュヌ指摘に即しお修正されおいるかを「確認する」だけの䜜業的な儀匏。 今回は1. の「レビュヌする䟡倀がないこずを他者が保蚌する儀匏」をAIにやらせるこずをゎヌルずしたす。 誰が䜿えるのか 初手はフロント゚ンドのレビュワヌチヌムのみに絞る 最倧リスクは、誀刀定や手順のハックによるレビュヌのザル化 フロントレビュワヌチヌムはセルフレビュヌで䞀定の品質担保ができおいる前提で考える 条件的に䞀般解攟は想定するが、刀定の成功率デヌタがたたるたではリスクのほうが倧きい 䜕を刀定するのか 芁はプルリク゚ストの分類噚を぀くる Claude CodeのReview (~$25) は必芁がない 倉曎内容から人間がレビュヌする必芁があるかどうかを刀定する 振る舞いが倉わらない 構造的なリファクタリング code generatorなどの既存の機械的なワヌクフロヌの結果も䞍芁ず刀断する 刀定のキモはTidy First?の分類 レビュヌの必芁性を枬る刀定凊理に、 構造的なリファクタリング ずいう抂念を持ち蟌みたした。 これは昚幎の匊瀟のむベントでキヌノヌトを務めおいただいたKent Beck氏の曞籍 Tidy First? から匕甚した蚀葉です。 この曞ではリファクタリングの分類が玹介されおおり、リファクタリングを効率的に進めるための䜜業を指したす。 和蚳では「敎頓」ず衚珟されおいたす。 振る舞いの倉化を䌎わない、「コヌドの移動・分割」、「名前の倉曎」、「配眮の倉曎」 プログラム矀の凝集床に察するリファクタリングアプロヌチ これらの修正は人間が目で远うのは意倖ず面倒で、レビュヌコストが割に合わない 䟋ファむル移動や統合、倉数・関数のリネヌムor削陀、関数統合・分離 www.oreilly.co.jp Tidy First?に関する考察は非垞に倚く議論されおいるので、Claude Codeに調査させながら「人間のレビュヌが䞍芁」の定矩を確定し、プロンプトに起こしおいきたした。 次に瀺すのがそのパタヌンの抂芁です。詳しい内容はぜひ曞籍を確認しおいただけるずよいかず思いたす。 察象パタヌンT1〜T14 T1: ファむル移動・リネヌム T2: import敎理・barrel export T3: 型定矩の移動・分離 T4: コンポヌネント・関数の分割・統合・抜出 T5: 倉数・関数・propsのリネヌムテスト/モックぞの機械的波及含む T6: ESLint/Prettier修正 T7: 䞍芁コヌド・ファむル削陀 T8: 非掚奚APIの機械的移行1:1察応 T9: GraphQL codegen実行結果 T10: Nx generator実行結果 T11: ガヌド節ぞの倉換 T12: 説明倉数・定数の導入 T13: Feature Flag名の远加 T14: コメントの远加・修正・削陀 NGパタヌンNG1〜NG7 新条件分岐、新ビゞネスロゞック、API倉曎、状態管理倉曎、テスト远加、UI倉曎、蚭定倀倉曎 実装ずポむント 党䜓の芁件が決たったのでここからは実装です。 GitHub Actions GitHub Actionsをランナヌずし、プロンプトファむルを読み蟌んだうえでClaude Code Actionsに枡しお実行、結果をパヌスしおレポヌトする非垞にシンプルなフロヌです。 たたFindy Team+はCI結果を送っおCIの実行分析ができるので、これも組み蟌んでありたす。 GitHub Actionsのフロヌ Claude Code Actions Claude Code Actionsの呌び出しのポむントは --max-turns です。 これはClaude Codeが凊理を䜕手たで行うかを制限するもので、倉曎ファむル数やそれらのファむルの関連性によっお前埌したす。 - name: Classify PR changes id: claude uses: anthropics/claude-code-action@5d5c10a4f389689f992ea10bb14dcb6fcc83146d # v1.0.102 with: anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }} claude_args: '--max-turns 20' prompt: ${{ steps.prompt.outputs.content }} 䜕パタヌンかの構造的なリファクタリングのプルリク゚ストで詊したずころ 〜15 turns におさたるようでしたが、䜙裕を芋お20を蚭定しおいたす。 これを蚭定しおおくこずでプロンプトの誀認や想定しない倧きな差分で実行された堎合でも「刀定䞍胜」で安党に終了するようにしおいたす。 ワヌクフロヌの倉化ずプロンプトの改善 䜕床か詊しおいくうちに、ひず぀の気づきがありたした。 これたでプルリク゚ストは 「人間が認知できる倉曎量」にサむゞングするようにすべき でしたが、AIは機械的にこれを分析できるので「同じ䜜業なら差分が倧きくおも1぀のプルリク゚ストにたずめる」こずができる、ずいうこずです。 そのため倧きな差分でもApproveができるような負荷耐性をもたせる必芁がありたす。 そこで倉曎ファむルが倚い堎合は倉曎そのものを芋るのではなく、いく぀かをサンプリングし、「diffのパタヌンが同䞀であるか」をClaudeが確認するようにしおいたす。 <!-- 远加したプロンプトの抜粋 --> ## 倧芏暡 PR のフォヌルバック - **倉曎ファむル数が 30 ファむルを超える堎合**: 同䞀パタヌンの倉曎が繰り返されるファむル矀はサンプリング代衚的な数ファむルの確認で刀定しおよい。サンプリングした旚ず確認したファむルを泚意事項に蚘茉する - **サンプリング時は副䜜甚の取り逃しに泚意する**: ある T パタヌンを特定したら、**その波及先ファむル矀スナップショット、spec、モック、`index.ts` の re-export、import 曎新 等も必ず1件以䞊サンプリングに含め、元の T パタヌンずの察応を確認する**。波及先のファむルだけを単独で芋るず NG に誀分類しやすい䟋: T5 リネヌムのむンラむンスナップショット曎新を NG5 ず誀認。波及元・波及先を**セットで**サンプリングするこず 以䞋略 実行コスト Claude CodeのReviewは 最倧$25の費甚が必芁 ですが、今回はプルリク゚ストの分類噚なのでそこたでのコストがかかりたせん。 CIから実行したログからみるず、1 runあたり、$0.20〜0.50で分類ができおいたした。 { " type ": " result ", " subtype ": " success ", " is_error ": false , " duration_ms ": 62472 , " num_turns ": 10 , // Claude Codeの手数の実瞟倀。最倧20で絞っおある。 " total_cost_usd ": 0.24731475000000003 , // 箄$0.25を消費 " permission_denials_count ": 0 } おわりに プルリク゚ストの分類噚をGitHub Actions + Claude Code Actionsで䜜成するこずで、人がレビュヌしなくお枈むプルリク゚ストは䜜成者が単独でマヌゞできるようになりたした。 この仕組みの導入は想定以䞊に開発者䜓隓がよく、たた機胜開発の合間でリファクタリングするモチベヌションも高めおくれたす。 たさに Tidy First? のなかでの「先に敎頓、あずに敎頓」を仕組みで支えるこずができたず感じおいたす。 Claude Code Actionsはチャット圢匏に䌌たJSONレスポンスを返すため、AIチャットの実装経隓もCIのデバッグに圹立ちたした。 今埌はさらに察象を拡倧させ぀぀、組織的に利甚するAIワヌクフロヌを充実させおいきたいず思いたす。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。ファむンディ株匏䌚瀟でデヌタ゚ンゞニアをしおいる 開 です。 2026幎4月28日火に、デヌタ゜リュヌションチヌム䞻催の採甚むベント 「事業成長に効かせるファむンディ流デヌタ゚ンゞニアリングの実践」 を開催したした。 findy-inc.connpass.com この蚘事では、むベントを䌁画した背景ず圓日の3本のセッションを参加できなかった方にもむメヌゞが䌝わるようにたずめたす。 むベント開催の背景 セッション1: ファむンディの事業拡倧を支える拡匵可胜なデヌタ基盀ぞのリアヌキテクチャ セッション2: デヌタモデリングを通しお管理䌚蚈のオペレヌションを再蚭蚈 セッション3: 瀟内で䜿われるLooker敎備の進め方 たずめ むベント開催の背景 ファむンディでは、既存4プロダクトに加えお、新たに4぀のプロダクトをリリヌスし、゚ンゞニアの皆さたぞサヌビスを倚角的に展開しおいたす。䌚瀟芏暡の拡倧ずずもに、扱うデヌタの量ず皮類は急速に広がっおきたした。 prtimes.jp 倉化の激しい事業環境のなかで客芳的な意思決定を支えるには、瀟内の情報流通をより掻性化させる仕組みが欠かせたせん。私たちは、その土台を担うのがデヌタ゚ンゞニアリングだず考えおいたす。 デヌタ゜リュヌションチヌムは少数粟鋭で掚進しおきたしたが、事業成長のスピヌドに合わせおデヌタ基盀をさらにスケヌルさせるには、共に挑戊しおくれる仲間の存圚が䞍可欠です。今回のむベントは、ファむンディがどのような課題に向き合い、どのような技術ず組織で解いおいるかを盎接お話しする機䌚ずしたした。 セッションは3本立おで、デヌタ基盀・デヌタモデリング・BIの3぀の芳点からファむンディのデヌタ゚ンゞニアリングをお話ししたした。 セッション1: ファむンディの事業拡倧を支える拡匵可胜なデヌタ基盀ぞのリアヌキテクチャ 登壇者: 開 speakerdeck.com 事業拡倧に合わせおデヌタ基盀をどうリアヌキテクチャしおいるかを玹介したした。盎近1幎でデヌタ゜ヌスは10倍、Google Cloudプロゞェクトは6倍に増える䞀方、デヌタ゚ンゞニアは3名のたたで、認知コストず運甚負荷が膚らんでいたした。 これたでは事業ドメむンずしたデヌタメッシュ的な構成で、技術遞定も各チヌムに委ねおいたした。アゞリティは出る䞀方で、ドメむン間の連携䞍足や技術のばら぀き、䜜業重耇が課題になっおいたした。 そこで、デヌタメッシュの利点は残し぀぀実装を芋盎し、Google Cloudプロゞェクトの統合、IAMのデヌタセット単䜍での管理、dbt Platformぞのオヌケストレヌション集玄やマネヌゞドサヌビスの掻甚を進めおいたす。これによりマネヌゞドサヌビスのAPIやMCPを甚いおAI゚ヌゞェントに運甚を䞀郚移譲するこずができおいたす。䜜成したスキルやサブ゚ヌゞェントは以前テックブログで玹介したプラグむンずしおチヌム党䜓で䜿えるようにしおいたす。 tech.findy.co.jp DataOpsの省力化が進む䞀方、コスト透明性の䜎䞋ずいった新しい課題も芋え、FinOps䜓制の構築や、浮いた時間をデヌタ掻甚者ずの䌚話やむネヌブリングに䜿っおいくこずを次のテヌマにしおいたす。 セッション2: デヌタモデリングを通しお管理䌚蚈のオペレヌションを再蚭蚈 登壇者: 田頭さん speakerdeck.com 経営刀断に盎結する管理䌚蚈ずいう業務領域に察しお、デヌタモデリングの芳点からオペレヌションを再蚭蚈した取り組みを玹介したした。 ファむンディの管理䌚蚈は、長らくスプレッドシヌトを䞭心に回っおいたした。月次のたびに関数ずピボットを手䜜業で組み盎し、IMPORTRANGEやVLOOKUPで絡み合ったスプレッドシヌトのリネヌゞは50件を超え、どこか1枚厩れるず党䜓が連鎖しお壊れる脆さを抱えおいたした。同じKPIが郚眲ごずに別ロゞックで蚈算されお数字が合わない、月次締めに2〜3日かかっお意思決定が埌远いになる、ずいった状態も垞態化しおいたした。 再蚭蚈の起点に眮いたのは、技術遞定ではなく業務担圓者ぞのヒアリングです。「蚈䞊組織」「補助科目」「配賊」「予算番号」ずいった専門甚語が飛び亀うなか、勘定元垳やマクロを眺めるだけでは掎めない集蚈粒床や分析軞を、経営管理郚の担圓者ず䜕床もMTGを重ねお匕き出しおいきたした。曞籍 『アゞャむルデヌタモデリング 組織にデヌタ分析を広めるためのテヌブル蚭蚈ガむド』 のBEAM✲を参考に、誰が・䜕を・い぀・どこで集蚈したいのかを察話から茪郭化し、総勘定元垳を起点に売䞊・費甚・原䟡を月次粒床のファクトずしお敎理しおいたす。 実装は、䌚蚈デヌタ゜ヌスをGoogle DriveにアップロヌドしおTROCCOで取り蟌み、dbtで集蚈しおLookerやスプレッドシヌトから参照する構成に萜ずしおいたす。これにより、ワンボタンで月次の実瞟倀が揃い、想定倖の科目も自動で怜出できるようになりたした。「どの数字が正しいか」を議論する堎面はなくなり、月次締めの所芁時間ず数字の信頌性が同時に改善しおいたす。 今埌は、実瞟ファクトず同じ粒床で予算・芋通しを取り蟌んだ予実分析の自動化や、敎備枈みのファクトを起点にAI゚ヌゞェントが自然蚀語で䌚蚈分析を行える基盀ぞの展開を進めおいたす。 セッション3: 瀟内で䜿われるLooker敎備の進め方 登壇者: 出盞さん speakerdeck.com 瀟内で実際に䜿われるBIにするためにLookerをどのように敎備しおきたかを玹介したした。「ダッシュボヌドを䜜った瞬間がピヌクになっお䜿われなくなる」「事業郚からはデヌタ掻甚の入口が芋えない」「スプレッドシヌト運甚が属人化しお限界が芋えおいる」ずいった、よくある課題を出発点にしおいたす。 ファむンディでは、Lookerを意思決定にひも付くダッシュボヌドを定垞的に芋る堎ずしおだけでなく、Exploreや䌚話分析でデヌタそのものを探玢する堎にするこずを目指しおいたす。ただし、最初はLookerを芋に行く習慣もExploreの操䜜にも慣れおいないため、進め方の工倫が欠かせたせん。 そこで、ヒアリングで課題を匕き出す → 最䜎限の機胜に絞っお最初のダッシュボヌドを玠早く提䟛する → 共有MTGで䞀緒に觊りながら改善ルヌプを回す → 利甚が定着しおからディメンショナルモデルやメタデヌタを敎える、ずいう4ステップで䟡倀を積み䞊げおきたした。完璧な蚭蚈よりも早い䜓隓提䟛を優先し、苊劎しおいたこずから先に解消しおいくこずを倧切にしおいたす。詳しい進め方は以前のテックブログでも玹介しおいたす。 tech.findy.co.jp その結果、MAUは2026幎1月から4月途䞭で玄1.5倍、WAUは1月䞭旬から4月䞭旬で玄2.6倍に成長したした。経営管理郚からも「BigQueryやLookerを駆䜿したモニタリングが事業拡倧に䞍可欠」ずいうコメントが届くなど、Lookerが信頌できるデヌタ゜ヌスずしお瀟内に定着しおきおいたす。 たずめ 今回のむベントを通じお、ファむンディがデヌタ゚ンゞニアリングをどのように事業に効かせようずしおいるかを、3぀の異なる切り口でお䌝えできたず思いたす。デヌタ基盀・デヌタモデリング・BIのいずれも、技術そのものよりも「事業や業務にどう接続するか」を軞に進めおきた取り組みです。 参加しおくださった皆さん、ありがずうございたした ファむンディでは、デヌタ゚ンゞニアリングの力で事業成長を支える仲間を募集しおいたす。今回のむベント内容に少しでも興味を持っおいただけた方は、ぜひお気軜にカゞュアル面談などでお話しできるずうれしいです。 herp.careers
こんにちは、ファむンディでFindy Toolsの開発をしおいる本田です。 このたび、Findy Toolsの新機胜ずしお「アヌキテクチャAI」をリリヌスしたした。芁件を入力するずAWSのアヌキテクチャ図ず蚭蚈の提案が生成される機胜です。 findy.co.jp 今回の開発では、PM・仕様策定・スコヌプ定矩・むンフラ・FE/BE開発・テストたで、ほが䞀人で1か月で担圓したした。そしお、コヌディングはほずんどClaude Codeに任せ、私自身はほがコヌドを曞いおいたせん。 この蚘事では、そんな開発を進めるなかで分かったこず、難しかったこず、そしお改めお実感した゚ンゞニアの仕事に぀いお玹介したす。 アヌキテクチャAIに぀いお 䞀人開発の党䜓像 ゚ンゞニアが䟡倀ずコストを自分で刀断する 察話で刀断の芖野を広げる 動くもので共通認識を䜜る 自分の仕事は枛らず、刀断ず意思決定の時間が増えた たずめ アヌキテクチャAIに぀いお 本題に入る前に、リリヌスした機胜を軜く玹介させおください。 アヌキテクチャAIは、Findy Toolsの䞭で提䟛しおいる機胜の1぀で、「䜜りたいシステムの芁件」を入力するずAWSを䜿った構成案ずアヌキテクチャ図、そしお蚭蚈の考え方の解説がたずたった圢で埗られるものです。 ai-architecture.findy-tools.io アヌキテクチャの蚭蚈はサヌビスの土台を決める工皋で、経隓や呚蟺知識の広さが問われる領域です。そうした知芋を持った人に盞談しづらい堎面でも、構成の怜蚎を前に進める助けになるこずを目指しおいたす。 ここから先は、この機胜を䞀人で1か月で䜜ったなかで気づいたこずを䞭心に曞いおいきたす。 䞀人開発の党䜓像 今回は、PMから開発、テスト、リリヌスたでを䞀人で担圓したした。具䜓的には次のような範囲です。 プロダクトの方向性・優先順䜍の決定 仕様策定、スコヌプ定矩 むンフラの構築 フロント゚ンド・バック゚ンドの実装 テスト、リリヌス䜜業 開発のワヌクフロヌはシンプルで、だいたいこのサむクルを回しおいたした。 GitHub Issueに「なぜ䜜るのか」「䜕を䜜るのか」を、PRDやナヌザヌストヌリヌの圢で曞く Claude CodeにIssueを枡しお実装しおもらう 自分は差分をレビュヌし、必芁に応じお指瀺を出す 別チヌムのメンバヌにレビュヌしおもらい、PRをマヌゞする 実装の途䞭でも、䜜りたい背景やナヌザヌに届けたい䟡倀に立ち戻っお方針を調敎するこずはよくありたした。 仕様策定やUIのモック䜜成も、AIず壁打ちしながら進めおいたした。結果ずしお、自分でコヌドを曞いた量はごくわずかで、ほずんどの実装はClaude Codeが曞いおいたす。 䞀方で、「自分はほがコヌドを曞いおいない」からずいっお仕事が少ないわけではありたせんでした。むしろコヌディング以倖にやるこずが山ほどあるずいうのが実感です。 䜕を䜜るか、䜕を削るかの刀断 仕様の现郚に関する意思決定 技術遞定 コヌドレビュヌず品質の担保 スケゞュヌル管理ずリリヌス蚈画 ここからは、この進め方で1か月やっおみお感じたこずを曞いおいきたす。 ゚ンゞニアが䟡倀ずコストを自分で刀断する 最も匷く感じたのは、 ゚ンゞニア自身がナヌザヌ䟡倀ず実装コストのバランスを刀断しながら開発に携わるこずの匷み です。 今回は䞀人で担圓しおいたので、事業やプロダクトの意図、技術的な実珟可胜性、実装コストが、すべお自分の頭の䞭に揃っおいたした。「ナヌザヌ䟡倀ずしお倖せない郚分はどこか」「コストをかける䟡倀があるのはどこか」を、自分の䞭で぀なげお考えながら開発を進めるこずができたす。 具䜓的には、開発の途䞭でアヌキテクチャ図の描画ラむブラリを切り替える刀断をしたり、リリヌスの2週間前になっおからSNSで共有されたずきに芋栄えの良い画像を生成する機胜を远加する刀断をしたりず、方針転換を玠早く進められたした。技術的に成立するかをClaude Codeで玠早く怜蚌し぀぀、プロダクトずしお本圓に必芁かを自分で刀断できたこずで、䟡倀ずコストの䞡取りを狙える遞択肢を芋぀けやすくなっおいたした。 䜓制を䞀人にしたこずが本質ではないず思っおいたす。倧事なのはやはり、䜜る偎の゚ンゞニアがナヌザヌ䟡倀や事業䟡倀を理解したうえで、コストず䟡倀のバランスを刀断しながら開発に携われおいるかだず、今回の開発を通じお改めお感じたした。 察話で刀断の芖野を広げる 意思決定が速いのは良いこずですが、速ければ良いわけではありたせん。䞀぀の芖点だけで速く刀断を続けおいるず、気づかないうちに筋の悪い方に流れおしたいたす。 ここで効いおきたのが、䞀人で担圓しおいおも孀立はしおいないずいう䜓制づくりでした。 開発䞭は、事業郚長・PO・デザむナず定期的に盞談・共有できる堎を持ち、それ以倖の堎面でもい぀でもコミュニケヌションを取れるようにしおいたした。 プロダクトずしお䜕を倧事にしおいるか 事業ずしおこの機胜にどういう期埅があるか デザむンずしお譲れない郚分はどこか こうした芳点を継続的にすり合わせるこずで、自分䞀人では芋えおいなかったより良い遞択肢を芋぀けやすくしおいたした。 自分の頭の䞭だけで刀断するず、どうしおも芖野が狭くなりたす。そこに他の立堎の芖点が入るず、「他にもっず良い遞び方はないか」ずいう問い盎しができたす。スピヌド重芖の䜓制であっおも、ずいうよりスピヌド重芖だからこそ、チヌムずの察話は欠かせないず感じたした。 動くもので共通認識を䜜る もう1぀匷く感じたのが、 速く芋せられるもの・動くものを䜿っお共通認識を䜜るこずの効果 です。これ自䜓は昔からよく蚀われる話ですが、AIの力でぐっずやりやすくなりたした。 今回は、実プロダクトの開発を始める前に、別リポゞトリでPoCアプリを䜜り、ステヌクホルダヌやむンタビュヌにご協力いただいた方に、実際に芋たり觊ったりしおもらう時間を取りたした。 PoCアプリの画面。デザむンは䜜り蟌たず、ナヌザヌに䟡倀を䜓隓しおもらうこずを優先した。 文章やスラむドだけで議論するず、どうしおも抜象的になり、認識のズレに気づきにくくなりたす。動くものがあるず、「これは欲しい」「ここは期埅ず違う」ずいうフィヌドバックが具䜓的に返っおくるだけでなく、「どういう䟡倀が埗られそうか」ずいう郚分でも共通認識を䜜りやすくなりたす。 PoCを芋たり觊ったりしおもらうなかで芋えおきたのは次のようなこずです。 ナヌザヌが本圓に䟡倀を感じるのはどの郚分か 最初はあるず䟿利そうに芋えたが、実際はなくおも困らない機胜 技術的に芋萜ずしおいた制玄や、逆に想定より軜く実珟できそうな郚分 PoCで埗られたこれらの情報が土台になっお、本開発のスコヌプず方針が定たっおいきたした。 AIで「仮に動くもの」を高速に䜜れるようになった匷みを掻かしお、動くものを䞭心に仮説怜蚌のサむクルを回せたこず が、1か月ずいう限られた期間のなかで特に効いたポむントだず思いたす。 自分の仕事は枛らず、刀断ず意思決定の時間が増えた ここたで曞いおきたこずを螏たえお、改めお感じたのは 少なくずも今回の自分の経隓では、コヌディングをAIに任せおも、゚ンゞニアずしおやるこずは枛らなかった ずいうこずです。むしろ、本質的な刀断に集䞭する必芁が出おきた感芚でした。 今回の開発で自分が時間を䜿っおいたのは、次のような郚分です。 この機胜を䜜る意味は䜕か、誰のどんな課題を解くのか スコヌプをどこたで広げ、どこで切るか どの技術を遞び、どの技術を芋送るか 出おきたコヌドが本圓に芁件を満たしおいるか、将来の運甚に耐えるか どれも、意思決定ず刀断の仕事です。コヌディングそのものをAIに任せられるからこそ、こうした刀断に集䞭できる時間が増えたした。 AIず協業するなかで倉わる郚分ず倉わらない郚分があり、「コヌドを曞く時間」は確実に枛りたすが、「゚ンゞニアリングを行う時間」は枛らない、むしろ増えおいる感芚でした。 たずめ ほが䞀人で1か月かけおアヌキテクチャAIをリリヌスしおみお、次のこずが孊びずしお残りたした。 ゚ンゞニア自身がナヌザヌ䟡倀ず実装コストのバランスを刀断しながら開発に携われるず、䟡倀ずコストの䞡取りを狙える遞択肢を芋぀けやすい 速さだけを远うのではなく、耇数の芖点を察話で取り蟌んで遞択肢を広げおいく AIで仮の動くものを高速に䜜れるようになった匷みを掻かせば、短期間でも動くものを軞に仮説怜蚌を回しやすい 少なくずも今回の自分の経隓では、コヌディングをAIに任せおも仕事は枛らず、刀断ず意思決定に集䞭する時間が増えた AIず䞀緒に開発する時代になっおも、「䜕を䜜るか」「どう䜜るか」「なぜそれを遞ぶか」を考え抜くこずの倧切さは倉わらないなず、今回の開発を通じお改めお感じたした。 アヌキテクチャAIは次のペヌゞから觊れたすFindy Toolsの䌚員登録が必芁です。ご興味のある方はぜひ詊しおみおください。 findy-tools.io ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。プロダクト開発郚の森 @jiskanulo です。 2026幎4月22日から24日たでRubyKaigi 2026 Hakodateが開催されたした。 rubykaigi.org 凜通アリヌナを3日間に枡っお貞し切る倧芏暡むベントの運営をしおいただきたしたスタッフの皆様に感謝を申し䞊げたす。 ファむンディ株匏䌚瀟もPlatinumスポンサヌずしお協賛したした。 私もブヌスに立っお出展やファむンディ各サヌビスのご案内をさせおいただきたした。 お話しをしおいただいた皆様にも重ねお感謝申し䞊げたす。 ブヌスに立぀合間にセッションを聞いお自分でやれそうなこずに思いを銳せたり、他瀟様のブヌスを回っおプロダクトのお話をしたり、昔の同僚や知人ず再䌚したりず個人的にもいい刺激の倚い3日間でした。 さお、4月24日、最埌のセッションのMatzさんのキヌノヌトにおRubyファむルをネむティブバむナリにコンパむルする Spinel が発衚されたした。 早速Spinelを䜿っおみた感想ず぀かいどころを蚘したす。 Spinelずは 怜蚌環境ずセットアップ 動かしおみた Hello, World! eval / requireの挙動゚ラヌにならず無音で間違う eval は no-op に眮き換わる require は文ごず消える 珟時点での泚意点 Spinelを䜿っおみる requireなしでJSONを扱う ハマりどころは個別に螏みに行く䟡倀がある Spinelを詊すずきの刀断基準 個人的所感 おたけ: Spinelの由来 おわり Spinelずは SpinelはRubyのAOT (Ahead-Of-Time) コンパむラです。 Ruby゜ヌスコヌドをPrismでパヌスし、党プログラム型掚論を行いCのコヌドに倉換しおネむティブバむナリを生成したす。 パむプラむンは次のずおりです。 Ruby → Prism → AST → 党プログラム型掚論 → Cコヌド → ネむティブ実行ファむル リポゞトリのREADMEによるず、miniruby比で玄11.6倍、Conway's Game of Lifeでは86.7倍ずいう性胜が瀺されおいたす。 たたバむナリサむズもmrubyを含めずに数十KBに収たるので容量が厳しい環境にも適甚できるずのこずです。 実䜓ずしおの ./spinel はPOSIX shell wrapperで、内郚で spinel_parse → spinel_codegen → cc を盎列に呌び出しおいる、ずいう䜜りです。 怜蚌環境ずセットアップ 怜蚌は手元のmac環境で行いたした。 4月24日公開盎埌にmacで動かそうずしたタむミングでは malloc.h が存圚しないなどで゚ラヌになったのでDockerでUbuntuのコンテナを起動しお操䜜したしたが、珟圚は察応されおいたす。 土日で凜通芳光しおいるうちにコントリビュヌトが進んでいたすね。コントリビュヌトのチャンスですね。 mac build察応 https://github.com/matz/spinel/commit/4593581eb87cea45b59fb28b9dcf2cd75a9bcbab windows察応 https://github.com/matz/spinel/commit/1fe3136aa9bf834b5f37176faca7346503fb1446 環境は次のずおりです。 macOS (arm64) Apple Clang Spinel masterブランチ2026-04-28時点 ビルドず実行の基本フロヌはシンプルです。 spinel をmakeし、 spinel にrubyファむルをわたせば実行圢匏バむナリが出力されたす。 make deps # 初回のみ: libprism 取埗 make # spinel_parse / spinel_codegen / ランタむムをビルド ./spinel app.rb # Ruby → 実行圢匏./app ./app 動かしおみた Matzのキヌノヌトずも被りたすがサンプルコヌドを動かしおみたした。 たたキヌノヌトで話があったずおり eval ず require はサポヌトしおいないずのこずです。 eval, requireを䜿うず具䜓的にどうなるのかも詊しおみたした。 Hello, World! 最小の動䜜確認はそのたた動きたす。 # hello_world.rb puts " Hello, World! " ./spinel hello_world.rb ./hello_world # => Hello, World! eval / requireの挙動゚ラヌにならず無音で間違う 2026幎4月28日の珟時点では コンパむル時に゚ラヌにならず、warningも出ず、しかし実行するず無音で間違った出力 を返すずいう挙動です。 具䜓的に2぀のケヌスを芋おいきたす。 eval は no-op に眮き換わる 次のRubyコヌドをSpinelでコンパむルしお実行したす。 # test_eval.rb code = " 1 + 2 " result = eval (code) puts result $ ./spinel ./tmp/jiska/samples/test_eval.rb ./tmp/jiska/samples/test_eval.rb -> test_eval 実行するず結果は 0 です。 $ ./test_eval 0 生成されたCのコヌドを芋るず eval() の呌び出しがno-opに眮き換わり、戻り倀は型掚論で決たったれロ倀 mrb_int のため 0 になりたす。 const char *lv_code = "1 + 2" ; mrb_int lv_result = 0 ; // mrb_int = int64_t typedef lv_code = "1 + 2" ; lv_result = 0 ; // ← eval() 呌び出し自䜓が消滅、0 を代入するだけ printf ( " %lld\n " , ( long long )lv_result); mrb_int はmrubyのような」呜名に芋えたすが lib/sp_runtime.h で int64_t のtypedefずしお定矩されたSpinelランタむムの敎数型です。 https://github.com/matz/spinel/blob/64105ec86d08c9edc92c3d17bf059126ceaa15d3/lib/sp_runtime.h#L53 require は文ごず消える 次は require "json" ず JSON.generate を䜿うケヌスです。 # test_require.rb require " json " puts JSON .generate({ name : " spinel " , year : 2026 }) こちらも実行するず 0 になりたす $ ./spinel ./tmp/jiska/samples/test_require.rb ./tmp/jiska/samples/test_require.rb -> test_require $./test_require 0 require の行は生成されたCのコヌド䞊で文ごず消えたす。 続く JSON.generate もSpinelから芋れば未定矩メ゜ッドであり、 eval ず同じくれロ倀を返す呌び出しに化けたす。 最終的に puts には 0 が枡っお衚瀺される、ずいう流れです。 珟時点での泚意点 珟時点では「コンパむルが通った」「実行ファむルができた」「実行できた」の3点だけを芋おいるず間違った結果を吐いおいるこずに気づけたせん。 Spinel向けにRubyを曞くずきは README を郜床確認するこずが重芁です。 Spinelを䜿っおみる 次に実際のナヌスケヌスを想定しおみたす。 実䟋ずしお、GitHubのPR䞀芧JSONを入力に取り、各PRの number ず author を衚瀺するスクリプトを曞いおみたした。 入力はARGV、stdinの優先順で受け取りたす。 requireなしでJSONを扱う require "json" が䜿えないので暙準の Regexp ず String 操䜜だけで凊理を組む必芁がありたす。 なお、ここで瀺すコヌドは正しいJSONパヌサではありたせん。 require "json" が䜿えないSpinelの制玄䞋で、入れ子オブゞェクトや }, を含む文字列倀が珟れない、フラットな配列圢匏の固定デヌタから number ず author をアドホックに取り出す䟋ずしお読んでください。本栌的なJSON凊理が必芁な堎合は、入れ子・゚スケヌプなどで容易に壊れるため、この実装は䜿えたせん。 実際のRubyファむルは次のずおりです。 倚少トリッキヌなずころは感じたすが、こうした限定的な甚途であれば、RegexpずStringの暙準機胜だけで実装できるこずがわかりたした。 if ARGV .length > 0 input = ARGV [ 0 ] else input = readlines.join end records = input.split( / }, / ) results = [] records.each do |chunk| if chunk =~ / "number" \s* : \s*(\d+)/ num = $1 if chunk =~ / "author" \s* : \s* " ([^ " ]+) " / auth = $1 results << " # #{ num } by #{ auth }" end end end if results.length == 0 $stderr .puts " Error: failed to parse JSON (no matching number/author pairs found) " exit 1 end results.each do |line| puts line end 実行サンプルは次のずおりです。 匕数枡し、パむプ、リダむレクトそれぞれに察応しおいたす。 JSONを展開できない堎合は暙準゚ラヌぞ゚ラヌメッセヌゞを出しお exit 1 したす。 SAMPLE='[{"number":1,"author":"Findy"},{"number":2,"author":"jiskanulo"}]' # 1) 匕数枡し ./pr_extract "$SAMPLE" # 2) パむプ echo "$SAMPLE" | ./pr_extract # 3) リダむレクト ./pr_extract < sample.json # それぞれの出力: # #1 by Findy # #2 by jiskanulo $ ./pr_extract "not json" Error: failed to parse JSON (no matching number/author pairs found) $ echo $? 1 なお、匕数もパむプもなしで ./pr_extract を起動するず readlines がEOF埅ちでブロックしたす。 最初は $stdin.tty? で刀定しおUsageを衚瀺しようずしたしたが、実機で詊すずTTYでもパむプでも䞡方 0 が返っおきたした。これも eval / require ず同じく、Spinel未察応のメ゜ッドが silent failしおいる䟋です。 # test_tty.rb puts $stdin .tty? $ ./test_tty # TTY実行 0 $ echo "" | ./test_tty # パむプ実行 0 Spinelで暙準入力を扱うずきは $stdin.tty? に頌った分岐ができないため、匕数で枡すかパむプ・リダむレクトで明瀺的に流し蟌む運甚に倒すのが安党です。 ハマりどころは個別に螏みに行く䟡倀がある 実装しおみるず String#<< でmutable化するず Regexp#scan に枡せない、 Regexp#scan(/(...)/) { |m| ... } のキャプチャは効かない...などずハマりどころがいく぀かありたした。 ただ、珟時点での詳现を解説しおも開発が掻発に進んでいるのですぐに颚化しおしたうので詳しくは蚘したせん。 Spinelを詊すずきの刀断基準 ここたで觊っおみた感觊から、Spinelを觊るずきの刀断基準を次にたずめたす。 成功䜓隓を埗やすいのは次のようなコヌドです。 入出力が puts / printf で完結する 暙準ラむブラリに䟝存しない 数倀蚈算・文字列凊理・正芏衚珟( =~ + $1 )で曞ける範囲 逆に、珟時点で螏むず詰たる、もしくはsilent failになるのは次のような領域です。 require を前提ずするコヌド暙準ラむブラリの利甚 eval を含むメタプログラミング 未察応メ゜ッドに䟝存する凊理呌び出しがれロ倀返华に化ける 「コンパむルが通ったから動いおいる」ずは限らない、ずいうのが珟時点での最も倧事な感觊です。 CRubyずSpinelの䞡方で実行しお出力をdiffする運甚を組むのが安党です。 個人的所感 ロヌカル環境のlintやチェッカヌなど今たでワンラむナヌでやっおいたこずを眮き換えお䜿っおみたいですね。 コンパむル枈みのバむナリを配垃できるのであれば環境構築の手間も枛るかもしれたせん。 ただ少し觊っただけですが、Spinelに可胜性を感じおいたす。たた、こういうワクワクするものを提䟛しおくれるMatzさんの凄さをあらためお実感したす。 これから機胜が拡充されおいくのが楜しみです。 自分でもコントリビュヌトしおいきたいですね。 おたけ: Spinelの由来 Rubyず同じく宝石぀ながりでSpinelなのかなあずはじめ思っおいたしたが、挫画アニメ『カヌドキャプタヌさくら』のスピネル・サンスッピヌから名前をずっおいるそうです。 盞棒はルビヌ・ムヌンなのでここでもRubyに繋がっおきたすね。 由来聞いた時はそっちか〜〜ずなりたした。かわいい。 おわり ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。 ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをやらせおもらっおいる戞田です。 Claude CodeのPluginを䜿うず、瀟内で育おたSkillやAgentを、組織のメンバヌにたずめお配垃できるようになりたす。ファむンディでも、この仕組みでセルフレビュヌ甚のSkillを開発組織党䜓に配り、各自がPull request䜜成前に呌び出す圢で掻甚しおきたした。 この蚘事では、そこから さらに䞀歩螏み蟌んだ䜿い方ずしお、PluginをGitHub Actionsから呌び出しおCIで動かす 取り組みを玹介したす。具䜓的には、Pluginに含たれるセルフレビュヌSkillをCIから定期実行し、指摘内容を反映したPull requestを自動で生成する仕組みです。 Pluginの䜿い方ずいうず「Skillを瀟内で共有しお、各自がロヌカルで叩く」ずいう䞀面が語られがちですが、 同じPluginをCI基盀から起動する ずいう遞択肢をずるず、Pluginで育おたSkillが個人の開発䜓隓だけでなく、チヌム党䜓のプロセスにも効いおきたす。 PluginずセルフレビュヌのSkillに぀いおは次の蚘事を参照しおください。 tech.findy.co.jp tech.findy.co.jp Pluginで配っお各自に䜿っおもらう運甚 PluginをCIから呌び出す 実際のWorkflowを読み解く トリガヌずスコヌプ PluginをCIに匕き蟌む 自動生成Pull requestにもCIを走らせるための GitHub App 1指摘1Pull requestに切り出す GitHub Actionsのmatrixを䜿っお䞊列でPull requestを䜜る たずめ Pluginで配っお各自に䜿っおもらう運甚 たず、ファむンディでのセルフレビュヌの流れを敎理したす。 瀟内の開発甚Pluginには、セルフレビュヌSkillが含たれおいお、Pull request䜜成前にロヌカルでPull request䜜成甚のコマンドから呌び出されたす。Pluginずしお配垃しおいるので、新しくゞョむンしたメンバヌも、远加の手順なしに同じSkillを䜿える状態になっおいたす。 このあたりの「Pluginで開発ナレッゞを暪展開する」話は、冒頭に貌った蚘事で詳しく玹介しおいるので、そちらをぜひご芧ください。 この運甚は、個人の開発䜓隓を底䞊げするうえで十分機胜しおいたす。この蚘事が公開された頃には実に1500個ものPull requestで実行されおおり、「最埌の䞀抌し」ずしお働いおくれおいたす。 PluginをCIから呌び出す この運甚をベヌスに、 さらにもう䞀歩螏み蟌んで、同じPluginをCIからも呌び出しおみる ずいうのが本蚘事のテヌマです。 PluginはSkillやSub Agentなどの集たりなので、 Pluginを参照できる実行環境さえ䜜れば、人間の代わりにCIから呌び出すこずもできたす 。普段ロヌカルで走っおいるものず同じSkillを、 anthropics/claude-code-action 経由でGitHub Actionsから起動すれば、Skillを再実装するこずなくCI化できるわけです。 github.com 本蚘事では、この考え方の䞀䟋ずしお、セルフレビュヌSkillを定期実行し、指摘事項ごずに別々のPull requestを自動生成するWorkflowを取り䞊げたす。察象にするのは、既存コヌドのうち長期間觊られおいないファむルです。人間のレビュヌでは目が届きにくい箇所に察しお、機械がレビュヌするこずで技術的負債の蓄積を抑えるずいうねらいがありたす。 具䜓的に組み䞊げたWorkflowは、2぀のjobで動きたす。 指摘抜出 job Pluginのセルフレビュヌ甚Skillを呌び出し、察象コヌドに察する指摘を抜出する。 修正Pull request䜜成 jobmatrix 指摘の件数を matrix strategy に展開し、 指摘内容ごずに独立したjobを䞊列起動 。各jobは新しい runner 䞊で指摘内容を1件だけ修正したのち、PluginのPull request䜜成SkillでPull requestを䜜成 結果ずしお、朝出瀟するず 改善Pull requestの候補が䞊んでいる 状態になりたした。ロヌカルで個人が手動実行するSkillず、CIから定期実行されるSkillが、同じPluginの䞭身を共有しおいる——これが、Pluginの䜿い方をもう䞀段広げおくれるポむントでした。 この仕組み自䜓はセルフレビュヌ専甚のものずいうより、「PluginをCIから起動する」ずいうパタヌンの1぀の応甚です。同じ構造で、様々なSkillをCIに組み蟌めたす。 実際のWorkflowを読み解く たずは、今回組み䞊げたWorkflowの党䜓像です。PluginのSkillをCIから呌び出しお指摘、Pull requestを䞊列生成するずいう流れを䞀通り確認できたす。 name : Scheduled Self Review on : schedule : - cron : '0 19 * * 0-4' # 平日 JST 04:00UTC 19:00 Sun-Thu workflow_dispatch : env : SELF_REVIEW_MAX_FINDINGS : "3" jobs : # --------------------------------------------------------------------------- # Job 1: findings 抜出 # セルフレビュヌSkillで stale files をレビュヌし、 # 指摘を findings.json ずしお artifact 化。matrix 展開甚の index も出力。 # --------------------------------------------------------------------------- extract-findings : runs-on : ubuntu-latest timeout-minutes : 30 outputs : finding_indices : ${{ steps.compute-matrix.outputs.finding_indices }} findings_count : ${{ steps.compute-matrix.outputs.findings_count }} steps : - id : app-token uses : actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2 with : app-id : ${{ secrets.SELF_REVIEWER_APP_ID }} private-key : ${{ secrets.SELF_REVIEWER_APP_PRIVATE_KEY }} - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with : token : ${{ steps.app-token.outputs.token }} fetch-depth : 0 - name : Compute stale file list run : | git log --since="1 month ago" --name-only --pretty=format : origin/main \ | grep -v '^$' | sort -u > .stale-recent.txt git ls-files | sort > .stale-all.txt comm -23 .stale-all.txt .stale-recent.txt > .stale-files.txt - name : Clone plugin repository run : | git clone https://x-access-token:${{ secrets.PLUGIN_REPO_READ_TOKEN }}@github.com/your-org/plugin-repo.git /tmp/plugin-repo - name : Extract findings via self-reviewer uses : anthropics/claude-code-action@4e5d8b13ca281a6d163cdb287d8917b216e00d6f # v1.0.103 with : anthropic_api_key : ${{ secrets.ANTHROPIC_API_KEY }} github_token : ${{ steps.app-token.outputs.token }} plugin_marketplaces : | /tmp/plugin-repo plugins : | example-dev-plugin@plugin-repo claude_args : >- --allowedTools Read --allowedTools Write --allowedTools "Skill(example-dev-plugin:<review-skill>)" --allowedTools "Skill(<review-skill>)" --allowedTools "Bash(cat:*)" --allowedTools "Bash(jq:*)" --allowedTools "Bash(gh pr list:*)" prompt : | .stale-files.txt に列挙された stale files を察象に、 セルフレビュヌSkillを呌び出しお指摘を抜出し、 各指摘を 1 finding ずしおスキヌマに埓い findings.json に曞き出せ。 コヌド修正・Pull request䜜成は行わない埌続 matrix job が担圓。 - id : compute-matrix run : | COUNT=$(jq length .self-review-findings.json) INDICES=$(jq -c 'to_entries | map(.key)' .self-review-findings.json) echo "findings_count=$COUNT" >> "$GITHUB_OUTPUT" echo "finding_indices=$INDICES" >> "$GITHUB_OUTPUT" - uses : actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 if : steps.compute-matrix.outputs.findings_count != '0' with : name : self-review-findings path : .self-review-findings.json include-hidden-files : true # --------------------------------------------------------------------------- # Job 2: finding ごずに修正 + Pull request 䜜成matrix で䞊列 # 各 matrix job は独立した runner で新芏 checkout するため、 # worktree を䜿わずに枈み、job 同士の線集衝突もそもそも発生しない。 # --------------------------------------------------------------------------- fix-per-finding : needs : extract-findings if : needs.extract-findings.outputs.findings_count != '0' runs-on : ubuntu-latest timeout-minutes : 40 strategy : fail-fast : false matrix : finding_index : ${{ fromJSON(needs.extract-findings.outputs.finding_indices) }} steps : - id : app-token uses : actions/create-github-app-token@fee1f7d63c2ff003460e3d139729b119787bc349 # v2.2.2 with : app-id : ${{ secrets.SELF_REVIEWER_APP_ID }} private-key : ${{ secrets.SELF_REVIEWER_APP_PRIVATE_KEY }} - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with : token : ${{ steps.app-token.outputs.token }} - uses : actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with : name : self-review-findings - name : Extract single finding id : finding run : | FINDING=$(jq -c ".[${{ matrix.finding_index }}]" .self-review-findings.json) { echo "finding<<EOF" echo "$FINDING" echo "EOF" } >> "$GITHUB_OUTPUT" echo "branch=fix/self-review-$(date -u +%Y%m%d-%H%M)-${{ matrix.finding_index }}" >> "$GITHUB_OUTPUT" - name : Clone plugin repository run : | git clone https://x-access-token:${{ secrets.PLUGIN_REPO_READ_TOKEN }}@github.com/your-org/plugin-repo.git /tmp/plugin-repo - name : Fix finding and create Pull request uses : anthropics/claude-code-action@4e5d8b13ca281a6d163cdb287d8917b216e00d6f # v1.0.103 env : FINDING_JSON : ${{ steps.finding.outputs.finding }} FINDING_BRANCH : ${{ steps.finding.outputs.branch }} with : anthropic_api_key : ${{ secrets.ANTHROPIC_API_KEY }} github_token : ${{ steps.app-token.outputs.token }} plugin_marketplaces : | /tmp/plugin-repo plugins : | example-dev-plugin@plugin-repo claude_args : >- --allowedTools Read --allowedTools Edit --allowedTools "Skill(example-dev-plugin:<pr-skill>)" --allowedTools "Skill(example-dev-plugin:<review-skill>)" --allowedTools "Skill(<pr-skill>)" --allowedTools "Skill(<review-skill>)" --allowedTools "Bash(git switch:*)" --allowedTools "Bash(git commit:*)" --allowedTools "Bash(git push:*)" --allowedTools "Bash(gh pr create:*)" prompt : | $FINDING_JSON が担圓 finding、$FINDING_BRANCH が担圓ブランチ。 origin/main から $FINDING_BRANCH を切り、 affected_locations のみを Edit → PR䜜成Skill で Pull request を䜜成。 ここからは、このWorkflowを蚭蚈するうえでポむントになった箇所を取り䞊げお解説しおいきたす。 トリガヌずスコヌプ Pull requestではなく スケゞュヌル をトリガヌにしおいるのは、普段のPull requestで觊る機䌚が少ないコヌドにも、同じSkillの芳点を届けたいからです。 さらに察象ファむルは「盎近1ヶ月以䞊倉曎されおいないファむルstale files」に絞っおいたす。最近の倉曎は通垞のPull requestレビュヌで既にカバヌされおいる前提で、それ以倖の領域にフォヌカスする蚭蚈です。 絞り蟌み自䜓は、 git log --since で盎近の倉曎ファむル䞀芧を䜜り、 git ls-files ず comm で差分を取るだけのシンプルな凊理です。AIにリポゞトリを䞞ごず枡すず、コンテキストも費甚も膚らむので、 「今効かせる䟡倀がある範囲」に絞り蟌むための前凊理を1段挟む のが運甚䞊のコツでした。 PluginをCIに匕き蟌む Workflow内では、瀟内Plugin配垃リポゞトリを郜床cloneし、Claude Code Actionの plugin_marketplaces に枡しおいたす。 ここで効いおいるのが、 Skillの実䜓をWorkflow偎にコピヌせず、Pluginからそのたた匕き蟌む ずいう構造です。Skillの改善はPlugin配垃リポゞトリにマヌゞするだけで、自動的にすべおのリポゞトリのCIに反映されたす。ロヌカルで配っおいるSkillず同じものが、䜕のコピヌもなしにCIで動く。これが、「Pluginで配るずロヌカルで䜿える」から「Pluginで配ったものがCIでも走る」ぞの、ちょっずした発想の飛躍でした。 自動生成Pull requestにもCIを走らせるための GitHub App 地味に重芁だったのが、 github_token にGitHub Appのinstallation tokenを枡しおいる郚分です。 なぜ GITHUB_TOKEN ではなくAppを䜿うのか。理由は、 GITHUB_TOKEN で䜜成されたPull requestはWorkflowを自動で発火させない ずいうGitHub Actionsの仕様にありたす。 自動生成されたPull requestに察しおも、通垞のPull requestず同じようにCIやセルフレビュヌのSkillを走らせたい。しかし GITHUB_TOKEN で䜜るずこれらが自動で発火したせん。App token経由のPull requestはこの制玄の察象倖なので、「AIが生成したPull requestにも、人間のPull requestず同じCIが自動で実行される」状態を䜜れたす。 「PluginのSkillをCIから走らせる」を本気で運甚に乗せるなら、token戊略はワンセットで考える必芁がありたした。 1指摘1Pull requestに切り出す このWorkflowで考慮した蚭蚈刀断の1぀が、「芋぀かった耇数の指摘を、1぀のPull requestにたずめるか、1指摘1Pull requestに分けるか」です。 最終的に遞んだのは、 指摘事項ごずに別々のPull requestに切り出す 方針でした。理由は次の通りです。 1぀目は レビュヌ芳点の分離 です。1぀のPull requestに耇数の無関係な改善が混ざるず、レビュアヌが芋るべき芳点がたばらになっおしたいたす。「このリファクタは劥圓だが、あちらは慎重に芋たい」ずいった刀断を、Pull request単䜍で切り分けられる状態にしたいずいうのが背景でした。 2぀目は revert単䜍の粒床 です。生成AIによる特定の倉曎が本番で䞍具合を起こした堎合を想定するず、他の倉曎を巻き蟌たずに戻せるような粒床に保぀のが安党であるず考えたした。1指摘1Pull requestであれば、revertひず぀で該圓の倉曎だけ元に戻せたす。 3぀目は 䟝存関係なしにマヌゞできるこず です。耇数のPull requestを1本にたずめるず、どれか1぀がマヌゞできないだけで党䜓がブロックされたす。䟝存関係が少なくなるようにPull requestを分けおおけば、マヌゞできるものから順に凊理できたす。 代償ずしお、レビュアヌは「Pull requestの件数が増える」こずになりたす。ただし各Pull requestの倉曎量は小さく、芳点も絞られおいるので、1本あたりのレビュヌ時間はむしろ短めになりたす。 GitHub Actionsのmatrixを䜿っお䞊列でPull requestを䜜る 指摘ごずにPull requestを分ける前提に立぀ず、次は「どうやっお䞊列で安党にPull requestを䜜るか」が論点になりたす。ここで採甚したのが、 GitHub Actionsの matrix strategy による job 䞊列化です。 具䜓的には、job を2぀に分けおいたす。 最初の job extract-findings でセルフレビュヌSkillを走らせ、指摘内容をたずめる 埌続 job fix-per-finding は、その指摘内容ごずに matrix に展開する。matrix の芁玠数ぶん、 独立した runner 䞊で䞊列に job が起動 する 各matrix job は、指摘内容を1件だけ取り出しお修正しお、PluginのPull request䜜成SkillでPull requestを䜜りたす。 䞊列化でありがちな事故は、線集の衝突です。耇数の゚ヌゞェントが同じファむルを同時に觊るず、どちらかの倉曎が倱われたす。今回はこれを、 matrix で分散した各 job が別 runner 䞊で独立に checkout する ずいう構造で、そもそも発生しない圢にしたした。 strategy : fail-fast : false matrix : finding_index : ${{ fromJSON(needs.extract-findings.outputs.finding_indices) }} fail-fast: false にしおいるのは、1぀のmatrix jobの修正が倱敗しおも他の matrix job を止めないため。AIが生成する修正は圓たり倖れがあるので、「䞀郚が倱敗しおも残りは流す」ずいう姿勢で運甚するほうが珟実的でした。 この構造で効いおいるのが、Pluginずしお配垃されおいるSkillの存圚です。 extract-findings ではセルフレビュヌSkill、 fix-per-finding ではPull request䜜成Skillをそのたた呌び出すだけで、「レビュヌする→修正する→Pull requestを䜜る」ずいう流れが組み䞊がりたす。 Pluginで配ったSkillが、CIの job 分割の単䜍ずそのたた噛み合う 。これが、「Pluginで配っおロヌカルで䜿う」の䞀歩先にある䜿い方です。 たずめ Pluginで配ったSkillをGitHub Actionsにも茉せたい堎合に䜿えるポむントをたずめたす。 Plugin配垃甚リポゞトリをWorkflow内でcloneし、 plugin_marketplaces に枡す 。Skillの改善はPluginリポゞトリぞのマヌゞだけで、ロヌカルにもCIにも同じ内容が反映される 自動生成Pull requestにもCIを回したいなら、 GITHUB_TOKEN ではなくGitHub App tokenを䜿う 。発火チェヌン抑制の察象倖になる 䞊列で動かすなら、GitHub Actionsの matrix strategy で job を分離する 。各 job は独立した runner で新芏 checkout するので、線集衝突はそもそも発生しない Pluginで配ったSkillは、個人の開発䜓隓を底䞊げするだけでなく、 CIに茉せるこずでチヌム党䜓のプロセスにも効いおくる 䜿い方ができたす。「ロヌカルで配っお䜿う」の次の䞀歩ずしお、参考になればうれしいです。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
はじめに こんにちは。プロダクト開発郚 転職開発チヌムで゚ンゞニアリングマネヌゞャヌをしおいる束村( @shakemurasan )です。 2026-04-22(æ°Ž)から2026-04-24(金)たでの3日間開催されおいるRubyKaigi 2026に珟地参加しおいたす。 rubykaigi.org この蚘事は、Day1 13:00-13:30のkoicさんのセッション『Exploring RuboCop with MCP』に぀いお、事前準備線ず圓日線セッション圓日に残したメモず感想を1本にたずめたものです。 事前準備線にはAIによる予想が含たれるため、実際のセッション内容ず䞀臎するずは限らない点をあらかじめ断っおおきたす。 はじめに 事前準備線 koicさんの人ずなり AIに予想させおみたら、本人告知で焊点が絞れた 本人おすすめの教材ずPRを少し芗いた 圓日線 前半: MCP Ruby SDKずStreamable HTTP 埌半: この1幎間の詊行錯誀 結びぞ: 決定性ず非決定性、そしおElicitation 聎き終えお腹萜ちしたこず おわりに 事前準備線 koicさんの人ずなり koicさんはRuboCopのトップコミッタヌで、2025幎にはMCPの公匏Ruby SDK ( modelcontextprotocol/ruby-sdk ) のメンテナヌにも加わっおいたす。 github.com そこたでの道のりはFindy Engineer Labの取材蚘事『 365日欠かさずコミットを積む。なぜRuboCopコミッタヌ䌊藀浩䞀はOSSず向き合い続けるのか 』ず、盎近のお話はご本人のブログ『 MCPの公匏Ruby SDKのメンテナヌに加わった 』で詳しく綎られおいたす。 findy-code.io koic.hatenablog.com 個人的な話をすれば、私がRubyを曞き始めお数幎の頃、地域のRubyコミュニティで䜕床かkoicさんをお芋かけし、ゞュニア時代の自分に刺激をくれた方の䞀人でもありたす。 AIに予想させおみたら、本人告知で焊点が絞れた セッションタむトルだけでは論点が芋えにくかったので、実は事前に予習の材料ずしお、AIにkoicさんの盎近のPRやIssueをもずに内容を予想させおいたした。 返っおきたのは倧きく3通りの案でした。 1぀目は、stdio実装ずMCP primitivestools / resources / promptsの写像を䞭心に据える構成。 2぀目は、MCPのtool annotationずRuboCopのCop属性の察応を栞に据える構成。 3぀目は、Streamable HTTPを軞に据え、組織運甚論にたで広げおいく構成。 いずれもkoicさんの公開PRやIssueから拟えそうな筋ではあり、最初は「なるほどこのどれかだろうな」ず眺めおいたした。 その埌、koicさんご本人が『 RubyKaigi 2026に登壇したす 』で背景ず予習の案内をすでに公開されおいるこずに気づきたした。 koic.hatenablog.com 本人告知で軞に眮かれおいたのは「RubyツヌルチェむンぞのAI時代の課題提起」で、Streamable HTTPは副題ずしお明瀺されおいたした。 䞀方で、tool / resource / promptずいった「よく溢れおいる情報」は深掘りしない、ずも明蚀されおいたす。 AIの予想ず本人告知を芳点ごずにたずめるず、次の通りです。 芳点 AIの予想 本人告知 䞭心軞 RuboCop実装詳现 / MCP primitivesの写像 RubyツヌルチェむンぞのAI時代の課題提起 Streamable HTTP 1案の䞭心、他2案では末尟に觊れる皋床 副題ずしお明瀺 、講挔の倧きなトピック tools / resources / prompts 写像の䞭心抂念ずしお扱う 「よく溢れおいる情報」ずしお深掘りしない旚を明蚀 圓たっおいたのは「Streamable HTTPが䞻芁トピックの1぀」ず芋立おおいた点で、倧きく倖れたのは「tool / resource / promptを写像の䞭心抂念ずしお扱う」ずいう方向性でした。 AIの予想は䞖に広く出回っおいる話題の重心に匕っ匵られやすく、本人が「あえお深掘りしない」ず宣蚀しおいた領域こそがむしろ䞭心に眮かれおいた、ずいうコントラストになりたす。 そのおかげで、圓日聞きに行くべき焊点が䞀気に絞れたした。 本人おすすめの教材ずPRを少し芗いた 本人告知で玹介されおいた教材のうち、RubyWorld Conference 2025でのkoicさんの登壇アヌカむブに目を通したした。 「なぜstdioだけでは足りず、双方向のHTTP通信が必芁なのか」ずいう道筋が登壇の流れで远えるため、セッション前のりォヌムアップに助かりたした。 圓日線 本線は事前告知どおりの2郚構成で、前半がMCP Ruby SDKの話、埌半がRuboCop x MCPの話でした。 なお、圓日のセッション資料は『 Exploring RuboCop with MCP 』ずしおすでに公開されおいたす。 speakerdeck.com 以降は、珟地で受け取った枩床感の蚘録ずしお読んでもらえればず思いたす。 前半: MCP Ruby SDKずStreamable HTTP Ruby SDKはもずもずShopify瀟内で少人数の゚ンゞニアが始めたもので、koicさん自身もRuboCopを念頭に早い段階から参画し、コミッタヌに招かれたのち、 mcp gemずしお公開された、ずいう経緯が玹介されたした。 MCPにはTier1〜3のランクが定矩 されおいお、珟圚のRuby SDKはTier3。 Tier1を目指しおいく、ず明確に宣蚀しおいたした。 本題のtransportsの話では、芏栌ずしおstdioずStreamable HTTPの2぀が䞊びたす。 stdioの単玔さはさらりず觊れ、時間が割かれたのはStreamable HTTPのほうでした。 HTTPの芏栌のたたで、WebSocketのような独自プロトコルに寄らずに双方向通信を成立させる。 実装はRackアプリケヌションずしお組んでおり、HTTPで叩かれたタむミングでMCPセッションIDを払い出しおセッションを確立し、Queueを介しおやり取りを䜕埀埩も成立させる。 1リク゚スト1レスポンスではなく、1リク゚ストを起点にサヌバヌ・クラむアント間で通信が走る、ずいう絵が䞁寧に描かれおいきたす。 手を動かさないず実感が湧きにくい領域ですが、Rackの䞊に玠盎に乗っおいるずいう話を聞いた瞬間、普段觊っおいるWeb技術の延長線䞊で捉えおいい話なのだ、ず急に距離が近く感じられたした。 そしお前半の締めでkoicさんが眮いた次のようなニュアンスの䞀蚀が、個人的に䞀番刺さっおいたす。 「AIになっおガラッず倉わったず思われるが、Linuxであるずか䜎レむダの䞖界は䜕も倉わっおいなくお、我々はその䞊で開発をしおいるに過ぎない」 匊瀟でもたびたび話題に䞊がる「AIの台頭により゚ンゞニア自身にずっおはむしろ基瀎が倧事になっおいく」ずいう考え方ず䞀臎しおおり、匷く共感したした。 埌半: この1幎間の詊行錯誀 埌半はトヌンが少し倉わりたした。 「1幎間いろいろ詊行錯誀しおきたが、うたくいかなかったこずが倚かった。その話をしたす」ずkoicさんが率盎に切り出したす。 成功譚ではなく、詊行の経過ず珟圚地の共有だ、ずいうモヌドに切り替わりたした。 最初のアむデアはシンプルで、RuboCopの結果をJSON構造でMCP化すればAIフレンドリヌになっお良いのではないか、ずいうものでした。 しかし実際に手を動かしおみるず、RuboCopはそもそも著名なgemなので、AI偎もすでに盞圓孊習しおいたように感じられた、ず振り返りたす。 わざわざMCPの皮を被せなくおも、ある皋床のこずは既にできおしたう盞手だった、ずいうこずです。 アむデアを広く募集しお議論もしたものの、寄せられたものをそのたた実装しお党員が喜ぶ機胜になる自信は持おなかった、ずも続きたす。 結びぞ: 決定性ず非決定性、そしおElicitation そこから結びに向けお「RuboCopはこれたで、むンプットに察しお結果が䞀意に定たるものだった」ず改めお䜍眮づけ盎されたす。 「決定性こそがLinterずしおの䟡倀だった」ずいう前提を蚀葉にしたうえで、そこに非決定性を持぀LLMを組み合わせたら䜕ができるのか、ず続きたした。 具䜓䟋ずしお䞊べられたのは、LLM偎に委ねるSamplingず、ナヌザヌに聞き返すElicitationでした。 どちらもサヌバヌからクラむアントに問い合わせを返せる仕組みですが、自分の耳に特に残ったのはElicitationのほうです。 ナヌザヌに察しお定たったフォヌマットの質問ず回答フォヌムを返せる仕組みで、「この修正、どう進めたい」ず聞き返す䜙地をMCPの䞊で䜜れる、ずいう話ずしお眮かれおいたした。 決定性のあるRuboCopの流れのなかに人間に問いを返すポむントを差し蟌み、そこを挟んだ非決定性を蚱容する。 決定性を捚おる話ではなく、どこで問いを立お、どこで非決定性を受け入れるかの蚭蚈の話ずしお受け取りたした。 この時私が思い出したのは、自チヌムでRuboCopのルヌル改廃を議論する時の話です。 䞀元的に適甚するか悩たしいものが出おきたずき、その悩みには既存コヌドの暗黙的な芏玄、各゚ンゞニアの思想や経隓、copずしお定矩されおいるベストプラクティス、ず様々な芁玠が絡んでいたす。 これらは機械的に䞀意には定められないものです。 この統治過皋にLLMが自然な圢で介入し、察話を経おLinterに萜ずし蟌んでいくのはありそうな圹割だず感じたした。 (それをRuboCopの機胜ずしお提䟛されおナヌザヌが嬉しいかはさおおき) ちなみにMCPの芏栌ずしおElicitationが発衚された圓時、匊瀟でも管理者向けのLocal MCP Serverにこれを組み蟌む事䟋があり、『 生成AI時代のサヌビス運営管理 - MCP Server for Administratorの実践 - 』2025幎9月16日公開ずしおたずめられおいたす。 tech.findy.co.jp 䞀方通行になりがちなMCPのやりずりに confirm / approveのステップを挟むずいう考え方は、koicさんが圓日RuboCopの文脈で瀺したElicitationの䜍眮づけずそのたた重なるものでした。 聎き終えお腹萜ちしたこず 少なくずもセッションの内容は「RuboCop x MCPのベストプラクティスがバシッず決たっおいる」わけではないずいうこずです。 むしろ、圓事者ずしお螏み抜いた人しか持ち埗ない肌感を、苊劎ごず公開しおもらった30分だった、ずいうのが近いず思いたす。 文字にするずシンプルですが、珟堎で聎講した皆さんにはkoicさんの詊行錯誀ず苊劎が生々しく䌝わっおいたのではないかず思いたす。 珟地参加する醍醐味をこういうずころにも改めお感じたした。 MCP化が思ったほど刺さらなかったこず、アむデアを集めおも䞀意の答えに収束しないこず、Human in the Loopをどう蚭蚈するかが実装より先にあるこず。 どれも、ドキュメントや事䟋玹介を眺めおいおも掎めない、圓事者ずしお螏み抜かないず分からない皮類の手觊りです。 前半ず埌半を通しお䞀本の線で繋がっおいたのは、RubyツヌルチェむンをAI時代にどう䜍眮づけ盎すかずいう問いだったように思いたす。 Streamable HTTPずいう具䜓的な技術基盀の話ず、RuboCop x MCPずいう応甚の詊行錯誀、そしお「䜎レむダの䞖界は䜕も倉わっおいない」ずいう立ち䜍眮。 3぀が重なっお、Rubyのツヌル矀ずAIの関係をReframingする、ずいう茪郭が浮かび䞊がる構成になっおいたように私は感じたした。 先頭に立っおこれだけの領域を螏み抜いおきたkoicさんぞは、感謝ず尊敬の気持ちでいっぱいです。 Ruby SDKぞの貢献はRuboCop単䜓の話に留たらず、Rubyツヌル矀党䜓が立぀足堎を敎える仕事なのだろう、ず自分には受け取れたした。 本セッションはAI時代にもRubyが最前線で䜿われる蚀語であり続けるための重芁な歩みの1シヌンを芋せおくれたのだず改めお感じたした。 おわりに AI時代だからずいっお銀の匟䞞はなく、Rubyツヌルチェむンも、HTTPやRackやQueueずいった土台の䞊で地道に積たれおいきたす。 前半の締めの「䜎レむダの䞖界は䜕も倉わっおいなくお、我々はその䞊で開発をしおいるに過ぎない」ずいう蚀葉は、AIに振り回されずに䜿う偎に回るのに必芁なのは近道ではなく基瀎だ、ずいうこずを改めお思い出させおくれたした。 ファむンディでは、䞀緒にRubyやRailsの開発をしおくれる仲間を募集しおいたす。 興味のある方は、ぜひこちらからチェックしおみおください herp.careers
こんにちは。ファむンディ株匏䌚瀟でモバむル゚ンゞニアをしおいる加藀です。 先日、「 React Native Lunch Talk いた遞ばれる理由ずアプリの珟圚地 」にお、「新芏サヌビス開発におけるReact Nativeのリアル〜技術遞定の裏偎ず実践的OSS掻甚〜」ずいうテヌマで登壇したした。 本蚘事は、その発衚内容を改めおテックブログずしお曞き起こしたものです。 発衚では時間の郜合で駆け足になった郚分や、質疑応答で答えきれなかった論点もあったため、本蚘事ではそのあたりも含めお螏み蟌んで曞いおいたす。 背景Findy Events β版の開発 前回の蚘事 でも少し觊れたしたが、昚幎、Findy初のモバむルアプリ「Findy Events」をα版ずしおAndroidアプリのみリリヌスしたした。 珟圚はα版から埗た孊びをもずにUI・UXをフルリニュヌアルし、技術カンファレンス向けのiOS/Androidアプリずしおβ版のリリヌスを目指しお開発を進めおいたす。 Findy Eventsが長期的に目指しおいるのは、「カンファレンスでの孊びず぀ながりを、その堎限りで終わらせず継続的な成長の資産に倉える」こずです。 β版では、その第䞀歩ずしお、カンファレンス圓日の䜓隓をスムヌズにする次のような機胜を提䟛予定です。 QRコヌドを提瀺しおのチェックむン 予玄枈みセッションやタむムテヌブルなど、カンファレンス情報の閲芧 カンファレンス前日やセッション開始前に届くリマむンダヌPush通知 本蚘事では、そんな新芏モバむルアプリの立ち䞊げにあたっお、なぜReact Nativeを遞ぶに至ったのか、そしおOSS遞定や実装で盎面したリアルな所感に぀いお玹介したす。 前回の蚘事 では技術遞定の結論だけを玹介したしたが、本蚘事ではその刀断に至るたでの比范過皋やOSS遞定の裏偎たでを螏み蟌んで曞いおいたす。 背景Findy Events β版の開発 React Nativeの技術遞定の背景 OSSモゞュヌルの遞定ず掻甚事䟋 独自遞定の事䟋1Sign in with Apple 独自遞定の事䟋2UIラむブラリ React Nativeに察するリアルな所感 立ち䞊がりは、AI時代でも想像以䞊に苊劎した OSS掻甚で感じたこず AI時代に、今からReact Nativeをやる意味 たずめ React Nativeの技術遞定の背景 たず觊れおおきたいのは、「なぜ数ある遞択肢の䞭からReact Nativeを遞んだのか」ずいう話です。 Findyにずっお初のモバむルアプリ開発。しかも、技術遞定を䞀から蚭蚈できる、゚ンゞニア冥利に尜きる環境です。 ただ、自由床が高いずいうこずは、蚀い換えれば刀断の重みも倧きいずいうこず。「モバむルアプリを開発する」ず䞀蚀で蚀っおも、その道筋はひず぀ではありたせん。 出発点ずしお眮いたのが、次の3぀のアプロヌチの比范です。 最適な開発手法は、眮かれた環境ず考え方で倉わる。これが私の基本スタンスです。 そしお今回の前提は、「最小リ゜ヌスで最速リリヌス」。この䞀点に照らしお、たずCross Platformを遞びたした。 次に、Cross Platformの䞭から、囜内倖で実瞟が豊富なFlutterずReact Nativeの2぀に絞っお比范したした。 次の衚は、iOS゚ンゞニア出身である私の䞻芳も螏たえお、2025幎8月頃に敎理したものです。 䞀芋、衚だけを芋ればFlutterが優䜍に映りたす。 正盎なずころ、私自身も最初はFlutterに銎染みを感じおいたした。 それでも最終的に遞んだのは、React Nativeです。 決め手は、「組織のアセット」ず「モバむル゚ンゞニアずしおの自身のナレッゞ」の掛け算。この2軞をかけ合わせるこずこそ、「最小リ゜ヌスで最速リリヌス」ずいう目暙に最短で近づく道だず確信したした。 仮にFlutterを遞べば、私だけでなく将来参画するメンバヌ党員に䞀定の立ち䞊げコストがのしかかりたす。特にモバむル゚ンゞニア出身でないメンバヌほど、負担は倧きい。 察しおReact Nativeなら、ReactずTypeScriptの玠逊を持぀メンバヌが倚い今の組織にそのたた銎染みたす。 自分さえ立ち䞊がっおしたえば、その埌の開発速床は䞭長期的に最も出せる。これが最終的な決め手です。 具䜓的に、「組織のアセット」ず「モバむル゚ンゞニアずしおの自身のナレッゞ」に぀いおですが、「組織のアセット」ずしおは、 瀟内の優秀なWebフロント゚ンド゚ンゞニアからReactやTypeScriptの知識提䟛、レビュヌ協力を埗られる React補の既存プロダクトの蚭蚈思想や゜ヌスコヌドを参考にできる ずいう期埅感がありたした。 たた、「モバむル゚ンゞニアずしおの自身のナレッゞ」ずしお、 iOS/Androidのプラットフォヌム特性ぞの理解 プッシュ通知などのモバむル固有の課題ぞの察応力 を掻かすこずができるず考えおいたした。 「瀟内のWeb資産をどこたで掻かすこずができたのか」ずいう郚分が気になる方もいらっしゃるかもしれたせん。結果ずしおは、次の技術スタックのずおり、組織のアセットをフル掻甚するこずができたした。 実は、アヌキテクチャに関しおも、既存のWebプロダクトをほが流甚する圢で開発しおいたす。 ぀たり、蚭蚈思想や実装パタヌンたで螏み蟌んで参考にできるほど、React NativeはReactず芪和性が高いずいうこずです。 OSSモゞュヌルの遞定ず掻甚事䟋 続いお、OSSモゞュヌルの遞定に぀いおです。 iOS゚ンゞニア出身の私がReact Nativeに觊れお最初に感じたのは、「ずにかくOSSが豊富」ずいうこず。 ただ、裏を返せば「倚過ぎお、どれを遞べば良いか迷う」ずいう別の課題が立ち䞊がっおきたす。 そこで採った方針は、 Expo公匏ドキュメント を「矅針盀」ずしお掻甚するこず。 Expo公匏ドキュメントは非垞に充実しおいお、Expo公匏モゞュヌルはもちろん、掚奚される3rd Party OSSも明蚘されおいたす。第䞀候補をここに眮くだけで、遞定コストは倧きく圧瞮できるずいうわけです。 もちろん、これで100%をカバヌできるわけではありたせん。その堎合は、プロダクトのコンテキストに合わせお独自に遞びたす。 ここからは、その独自遞定した2぀のOSSを玹介したす。 独自遞定の事䟋1Sign in with Apple モバむルアプリの認蚌では、GitHub・Google・Appleの3぀のOAuth認蚌を新芏に導入する方針を採りたした。䞭でもSign in with Appleは、iOSの審査芁件ずしお必須の機胜です。 そこで遞定軞に据えたのは次の2点です。 審査で認蚌ボタンのデザむンも厳栌に確認されるため、iOS SDK暙準の ASAuthorizationAppleIDButton を内郚で利甚しおいるこず iOSだけでなくAndroidでもSign in with Apple機胜を提䟛できるこず Expo公匏には expo-apple-authentication があるものの、Androidが察象倖。今回は芋送りたした。 最終的に遞んだのは、䞡OSに察応した react-native-apple-authentication です。 独自遞定の事䟋2UIラむブラリ 冒頭で述べた通り、自瀟初のモバむルアプリずいうこずもあり、瀟内にモバむル甚のデザむン資産はありたせん。「最小リ゜ヌスで最速リリヌス」を実珟するには、UIラむブラリの掻甚が欠かせない芁玠になりたす。 遞定軞に据えたのは次の2点です。 豊富なUIコンポヌネントが提䟛されおいるこず iOS゚ンゞニア出身の自分にずっお、孊習コストが高すぎないこず 実はα版では Tamagui を採甚しおいたした。ただ、β版でUI・UXをフルリニュヌアルするこずが決たり、より芁件に合臎するラむブラリを改めお探すこずに。 たどり着いたのが、遞定軞2点をしっかり満たす HeroUI Native です。 ここで䞀぀頭を悩たせたのが、採甚を決めた圓時2026幎1〜2月頃のHeroUI Nativeがただβ版だったこず。利甚によっお課題が顕圚化するリスクを抱えおの刀断になりたす※珟圚はstable版が提䟛されおいたす。 そこで採った工倫が、「HeroUI NativeのWrapper Componentを実装し、画面偎からは盎接HeroUI Nativeに觊れない構成」にするこず。 圱響範囲をWrapper局に閉じ蟌めおおけば、将来の差し替えや仕様倉曎ぞの耐性が確保できる。β版OSSを採甚する際のリスクヘッゞずしお、有効な型の䞀぀だず感じおいたす。 React Nativeに察するリアルな所感 立ち䞊がりは、AI時代でも想像以䞊に苊劎した React Nativeを遞んだ結果ずしお率盎に感じたのは、「AI時代ず蚀えど立ち䞊がりにはそれなりに苊劎した」ずいうこず。 実は10幎ほど前に少しだけReactに觊れたこずがあったのですが、React HooksやLifecycleに盞圓する考え方はほが初孊者の状態。抂念の再孊習が必芁でした。 たた、TypeScriptも「Swiftず䌌お非なるもの」であるこずを痛感したす。 型による安党性ずいう思想は近いものの、 as によるキャストや enum がベストプラクティスずしおは非掚奚ずされおいる点など、Swift感芚で曞くず足をすくわれる堎面が少なくありたせん。 䞀方で、React Native自䜓に察するハヌドルはそれほど感じたせん。理由は次の2぀です。 宣蚀的UIによるUI構築は、SwiftUIで経隓しおいた プッシュ通知など、モバむル固有機胜の仕組みそのものを理解しおいた LT䌚では「どうやっおReact Nativeを勉匷したか」ずいう質問もいただきたした。取ったアプロヌチは、過去にSwiftで開発しおいた個人アプリをReact Nativeで曞き盎しおみるずいうもの。 題材を䞀から考えずに枈む䞊に、Swift版ずいう答え合わせの察象がある状態で進められるため、SwiftUIずの共通点や差分を䜓感しながら孊べたす。 こうしお実感できたのは、React Nativeを遞んでも、モバむル゚ンゞニアずしおの経隓や匷みは十分に掻かせるずいうこずです。 OSS掻甚で感じたこず OSS掻甚の面でも、幟぀か印象的な気付きがありたす。 1぀は、OSSの曎新速床の速さです。 React / React Native界隈は曎新サむクルが早く、iOS Nativeずの文化の違いを肌で感じたす。 加えお、脆匱性怜知などの゚コシステムが敎っおおり、開発者䜓隓ずしお足かせになっおいない点も心匷いずころです。 もう1぀は、Expoの利䟿性ぞの驚きです。 ExpoはReact Native界隈ではデファクトスタンダヌドず蚀える立堎を確立しおおり、信頌性も高く、蚌明曞やリリヌス呚りずいった「モバむルアプリ開発ならでは」の知識を手厚くカバヌしおくれたす。 これは、Webフロント゚ンド゚ンゞニアがモバむルアプリ開発に参入するハヌドルを盞圓䞋げおいるず蚀っお良いでしょう。 実際、Webフロント゚ンド゚ンゞニアの方から「React Nativeっお実際どうなの」ず聞かれた際は、Expoのおかげで「モバむルアプリ開発は想像以䞊に始めやすい」ず答えるこずができおいたす。 AI時代に、今からReact Nativeをやる意味 最埌に登壇の䞭では時間の郜合で螏み蟌めなかった論点に぀いお曞いおおきたす。 それは、「AI時代に、今からReact Nativeをやるこずに意味はあるのか」ずいう問いです。 個人的には、少なくずも次の3点で意味があるず考えおいたす。 1぀目は、iOSずAndroidを同時に立ち䞊げる䞭で、OS間の差分に向き合う経隓が積めるこずです。 Cross Platformず蚀えど、プッシュ通知や認蚌、OSの䜜法ずいった領域では差分が必ず顔を出したす。 AIに任せれば曞ける時代だからこそ、差分の勘所を自分の䞭に持っおいるかどうかが効いおくるず考えおいたす。 2぀目は、アヌキテクチャ遞定やOSS遞定ずいった、プロダクトの土台を䜜る刀断を経隓できるこずです。 れロからモバむルアプリを立ち䞊げる機䌚はそう倚くなく、「䜕を遞んで、䜕を遞ばなかったか」を自分の蚀葉で語れるようになる経隓は、AI時代でも色耪せにくい資産だず感じおいたす。 3぀目は、Webフロント゚ンドぞの足掛かりになるこずです。 React NativeでReactやTypeScriptを曞いおいる時間は、そのたたWebフロント゚ンドの孊習コストを前払いしおいるず蚀えるかもしれたせん。 そのため、モバむル゚ンゞニアずしおWebフロント゚ンドぞ領域を広げたい人にずっお、React Nativeは自然な入り口になるず思いたす。 もちろん、Webフロント゚ンド゚ンゞニアずしお、モバむルアプリぞ領域を広げたい人にずっおも同様です。 たずめ Findy初のモバむルアプリ開発を通じお、React NativeやOSSの遞定ず実装で倚くの知芋を埗るこずができたした。 初めは慣れないReact Nativeに四苊八苊するこずもありたしたが、䞀床慣れおしたえば、モバむル゚ンゞニアずしおの匷みを存分に掻かすこずができるず実感したした。 AI時代においおは、人がガヌドレヌルずしお゜フトりェアの責任を背負う堎面がたすたす増えおいきたす。 その芳点で芋おも、React Nativeは「AI時代に、人が責任を取れる技術」ずしお十分に遞定に耐えうるず考えおいたす。 モバむルアプリの技術遞定に迷っおいる方や、iOS/Androidの経隓を掻かしおReact Nativeに螏み出そうずしおいる方は、ぜひ䞀床觊っおみおください。 本蚘事がその䞀歩を螏み出すきっかけになれば幞いです。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。 ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをやらせおもらっおいる戞田です。 「AI掻甚を掚進したいが、思うように進たない」──この悩みを抱えおいる゚ンゞニアの方は、少なくないのではないでしょうか。 ファむンディも䟋倖ではありたせんでした。2025幎の䞊半期たでは、普段の業務をやり぀぀片手間でAIのキャッチアップや瀟内展開を進めおいたした。 今回は、そこから朮目が倉わるきっかけずなった決断ず、その埌1人あたりのプルリク゚スト䜜成数が前幎比で玄1.5倍になるたでの過皋を玹介したす。 同じようにAI掻甚の掚進に手応えのなさを感じおいる方の参考になれば幞いです。 片手間で远いかける限界 1぀の小さな決断 最初にやったこずFindy Team+で珟状を知る Claude Code Pluginsで展開を仕組み化する 継続的な浞透毎日の通知ず月䞀の共有 結果PR䜜成数が前幎比で玄1.5倍に 振り返っお気づいたこず たずめ 片手間で远いかける限界 2025幎の䞊半期たで、ファむンディの開発組織では興味ず意欲のある゚ンゞニアが、普段のプロダクト開発ず䞊行しお、最新の動向をキャッチアップし、䜿えそうなツヌルを瀟内で共有しおいたした。いわゆる"片手間"で進めるスタむルです。 最初のうちは、これでも回っおいたした。しかし、次第にこのやり方では远い぀かなくなっおいきたした。 理由は単玔で、 AIのアップデヌトが倚すぎた からです。 ほが毎日のようにアップデヌトが公開され、新しい゚ヌゞェントや機胜が登堎する。䞊半期の半ばあたりから、キャッチアップに充おる時間がどうしおも足りないずいう感芚が匷くなっおいきたした。 努力で巻き返せるレベルの遅れではなく、物量的に䞡立が䞍可胜な状態に近づいおいたした。 1぀の小さな決断 この状況を動かすために取った1぀の決断が、 「AI掚進だけを専任で担うポゞションを䜜る」 ずいうものでした。 その人を普段のプロダクト開発業務から倖し、AI掚進そのものを業務にする。兌務で時間を増やすのではなく、業務から倖しお党振りするずいう発想ぞの切り替えが、このポゞションの本質です。 この刀断の背景には、 「党員が業務の10%をAI掚進に充おるよりも、1人が100%を充おたほうが組織ずしおの前進量は倧きい」 ずいう確信がありたした。 兌務スタむルで各自が少しず぀動く圢では、日々のAIアップデヌトの速床には远い぀かない。仮に远い぀いたずしおも、それらを䜿っおアりトカムを出せるたでが遠すぎたした。䞀方、1人が専任で党力でコミットできれば、情報の集玄・怜蚌・瀟内展開を最速のスピヌドで回せるず刀断したした。 AI掚進ポゞションの゚ンゞニアの仕事は、AI掻甚ず組織ぞの展開そのもの。日々のプロダクト開発タスクは原則持たず、AI関連の動向調査・怜蚌・瀟内展開・仕組み化に集䞭しおもらう圢にしたした。 プロダクト開発の手を枛らすこずに察しおは、圓然ながら瀟内でも葛藀がありたした。それでも螏み切れたのは、片手間で続けおいた半幎間を通しお、兌務では絶察に远い぀かないずいう確信があったからです。 最初にやったこずFindy Team+で珟状を知る 専任ポゞションを眮いおから最初に取り組んだのは、掟手な斜策やスキル䜜成などではなく珟状把握でした。 組織党䜓のAI掻甚を掚進するずいっおも、感芚だけで動くず認識のギャップが生たれたす。そこで、Findy Team+を䜿っおチヌム単䜍・メンバヌ単䜍でAI掻甚の床合いを可芖化するずころから始めたした。 ここでわかったのは、想定しおいたよりAIの恩恵を受けられおいない、ずいう事実でした。 もう少し掘り䞋げるず、チヌムや事業郚ごずにAIの掻甚床合いに明確な差があり、同じ圹割の゚ンゞニアでも䜿っおいるスキル・゚ヌゞェントにばら぀きがあるこずが芋えおきたした。よく䜿えおいる人の工倫が、他のメンバヌに自然には䌝わっおいない状態です。 組織ずしお党員で底䞊げされおいるのではなく、䞀郚の熱量の高いメンバヌが先行しおいる状態だった、ずいうのが圓時の姿でした。 Claude Code Pluginsで展開を仕組み化する 珟状把握でわかったスキル・゚ヌゞェントのばら぀きを埋めるために遞んだ打ち手が、Claude CodeのPlugins機胜を䜿った瀟内展開です。 Plugins機胜に぀いおは以前の蚘事でも玹介しおいたす。 tech.findy.co.jp Claude CodeのPluginsは、スキル・゚ヌゞェント・カスタムコマンド・各皮蚭定などを1぀のパッケヌゞずしお配垃できる仕組みです。AI掚進の゚ンゞニアが䜜成した開発甚スキルなどをプラグむンずしおむンストヌル可胜にしおおけば、各メンバヌが自分の環境でコマンド1぀で䜿える状態になりたす。 この仕組みに乗せるこずで、䟿利なコマンドや開発暙準化のスキルなどをそのたた開発組織党䜓に配垃できるようになりたした。新しく入ったメンバヌも初日からファむンディのAI掻甚の恩恵を受けられるようになっおいたす。 実際に、ファむンディの開発組織で運甚しおいるスキル・゚ヌゞェントの䞀郚は、次の蚘事でも玹介しおいたす。 tech.findy.co.jp tech.findy.co.jp tech.findy.co.jp いずれも個人の工倫ずしお始たったものを、プラグむン化しお党員に配垃できる圢にしたものです。 継続的な浞透毎日の通知ず月䞀の共有 プラグむンを配垃するずころたで䜜っおも、曎新を知っおもらえなければ次第に忘れられおしたいたす。そこでファむンディでは、配垃の仕組みに加えお、曎新が自然ず目に入る状態を保぀工倫を䞊行しお走らせおいたす。 1぀目は、プラグむンの曎新内容をSlackの専甚チャンネルに毎日通知する仕組みです。新しく远加されたスキルや、アップデヌトされたコマンドが翌日には目に入る状態にしおおくこずで、い぀の間にか倉わっおいたではなく、今日こんな機胜が远加されたずいう鮮床で情報が流通したす。 2぀目は、月䞀の゚ンゞニア定䟋のなかに、プラグむンやAI掻甚の䜿い方を共有する時間を蚭けたこずです。ドキュメントだけでは掎みきれないニュアンスやちょっずしたコツを口頭で流す堎ずしお、思った以䞊に機胜しおいたす。 プラグむンずいう土台に加えお、通知ず定䟋ずいう継続的な露出。この組み合わせが、AI掻甚を䞀郚のメンバヌだけで閉じさせず、組織党䜓に浞透させる力になっおいたす。 結果PR䜜成数が前幎比で玄1.5倍に こうした取り組みを進めた結果、 1人あたりのプルリク゚スト䜜成数は前幎比で玄1.5倍 になりたした。 AI掻甚が進んだ実感ずいうあいたいな蚀葉ではなく、開発のアりトプットそのものが定量的に䌞びた、ずいうのが倧きなポむントです。 もちろん、プルリク゚スト䜜成数は開発の速床やスタむルの指暙の1぀に過ぎたせん。それでも、組織ずしおの倉化が数字ずしお芋える状態になったこず自䜓が、AI掻甚のどこに投資すべきかを議論する倧きな土台になりたした。 振り返っお気づいたこず 半幎ほど取り組んで気づいたのは、専任を眮いたから任せきる、では成り立たないずいうこずです。 専任1人ですべおを背負う構造にするず、その人自身がボトルネックずなっおしたいたす。専任の圹割は、自分がすべおを実行するこずではなく、組織のAI掻甚を前に進めるための仕組みを぀くるこず。 珟堎の゚ンゞニア・マネヌゞャヌが自走するための土台を敎え、みんなで良くしおいくずいうスタンスが重芁だず感じたした。 たずめ ファむンディのAI掻甚掚進は、特別なツヌルや倧がかりな制床改革ではなく、「AI掚進だけを専任で担うポゞションを䜜る」ずいうシンプルで小さな意思決定から加速したした。 そこから専任が取り組んだのは、Findy Team+を䜿った珟状把握、Claude Code Pluginsを䜿ったスキル・゚ヌゞェントの瀟内展開、そしおSlack通知ず月䞀定䟋による継続的な浞透。 いずれも掟手さはありたせんが、これらの積み重ねによっお、1人あたりのプルリク゚スト䜜成数が前幎比で玄1.5倍になるたでの倉化を生み出すこずができたした。 AI掻甚は䞀日にしお成らず。小さな意思決定や地道な取り組みの積み重ねが、組織党䜓の倧きな倉化に぀ながるこずを実感しおいたす。 党員が10%ず぀AI掚進に充おるよりも、1人が100%を充おる。この発想の転換が、ファむンディのAI掻甚を動かす原動力になっおいたす。 AI掻甚が思うように進たないず感じおいる組織の責任者の方がいれば、制床や研修を考える前に、専任を眮く業務から倖すずいう遞択肢を怜蚎しおみおください。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをやらせおもらっおる戞田です。 ファむンディではClaude CodeのスキルやカスタムコマンドなどをPlugins経由で瀟内展開しおいたす。 tech.findy.co.jp コヌドレビュヌやタスク分解ずいった開発業務の効率化が進む䞀方で、登壇準備はただ手䜜業の割合が倧きい領域です。話す内容を固めお、構成を考えお、スラむドに萜ずし蟌んで、デザむンを敎えお  。発衚の本質は「䜕を䌝えるか」なのに、準備工皋に時間を奪われがちです。 本蚘事では、この課題に察凊するために瀟内Pluginsに䜜った登壇スラむド生成スキルを玹介したす。壁打ちによるコアメッセヌゞの蚀語化からMarkdownスラむド生成、Google Slidesぞの゚クスポヌトたでを䞀気通貫で行えるもので、壁打ちから完成たで30分で終わるようになりたした。 登壇準備にかかる時間の内蚳 NotebookLMを詊しお感じた限界 Claude Codeスキルずいう遞択肢 ワヌクフロヌの党䜓像 壁打ちフェヌズコアメッセヌゞの蚀語化 テンプレヌト蚭蚈発衚時間から逆算するスラむド枚数 Google Slides API テンプレヌトコピヌ方匏 Markdownからスラむドぞの倉換ルヌル デザむンガむドラむンの組み蟌み 70点の完成床で出す割り切り たずめ 登壇準備にかかる時間の内蚳 登壇準備のどこに時間がかかっおいるかを振り返るず、スラむドのデザむンや配眮よりも、その手前の工皋が倧きいこずに気づきたす。 前半は「䜕を話すか」の敎理です。話したいこずはがんやりあるけれど、コアメッセヌゞを䞀文にたずめるのが難しい。構成を決めおも「この流れで聎衆に䌝わるか」ず䞍安になっお䜕床も組み替える。ここが䞀番時間を食いたす。 埌半はスラむドの䜜成ずリハヌサルです。ようやく構成が固たっおも、今床はスラむドツヌルを開いおフォヌマットやデザむンず栌闘する。前半さえ効率化できれば、発衚内容そのものの質を䞊げる時間に䜿えるはずだず考えたした。 NotebookLMを詊しお感じた限界 最初に詊したのはGoogleのNotebookLMでした。゜ヌス資料を読み蟌たせおスラむドを生成できる機胜があり、期埅しお䜿っおみたした。 ただ、実際に䜿っおみるずいく぀か壁がありたした。出力がPDFや画像圢匏のため、生成埌の線集が難しい点です。スラむドの順番を入れ替えたい、テキストを修正したいずいった基本的な操䜜ができず、結局れロから䜜り盎す矜目になりたした。 もう䞀぀は、瀟内のスラむドガむドラむンに沿った出力が非垞に難しかったこずです。フォントやカラヌスキヌム、ロゎの配眮などは組織ごずにルヌルがありたす。汎甚的なAIツヌルではそこたで制埡できず、ガむドラむンに準拠させるための手䜜業が発生しおいたした。 Claude Codeスキルずいう遞択肢 これらの課題を螏たえお、Claude Codeのカスタムスキルずしお登壇スラむド生成ワヌクフロヌを自䜜したした。Claude Codeスキルを遞んだ理由は、察話的なワヌクフロヌを自然に組めるこず、Markdownで䞭間出力できるこず、そしおAPIを叩いお倖郚サヌビスに連携できるこずの3点です。 開発したのは2぀のスキルです。1぀目がMarkdownスラむドの生成、2぀目がGoogle Slidesぞの倉換を担いたす。 ワヌクフロヌの党䜓像 スキルを実行するず、次の流れで凊理が進みたす。 参考URLやコヌドスニペットの収集任意 壁打ちでコアメッセヌゞを蚀語化 タむトル・抂芁・発衚時間の入力 テンプレヌトに基づく構成蚭蚈 Markdownスラむドの生成 Google Slidesぞの゚クスポヌト任意 各フェヌズを詳しく芋おいきたす。 壁打ちフェヌズコアメッセヌゞの蚀語化 このスキルで最も力を入れたのが壁打ちフェヌズです。登壇準備で䞀番時間がかかるのは「䜕を䌝えるか」を固める工皋だからです。 スキルを起動するず、たず察象オヌディ゚ンステックリヌド、シニア゚ンゞニア、EMなどを遞択したす。次に「発衚内容はすでに決たっおいたすか」ず聞かれ、「ただ挠然ずしおいる」を遞ぶず壁打ちモヌドに入りたす。 ? スラむドに取り蟌みたいURLやコヌドスニペットはありたすか任意 > なし ? 察象オヌディ゚ンスを教えおください耇数遞択可 ゚ンゞニア系: ✔ テックリヌド ✔ シニア゚ンゞニア マネゞメント系: ✔ EM ? 発衚内容はすでに決たっおいたすか > ただ挠然ずしおいる䞀緒に考えたい どんな発衚をしたいですかテヌマや話したいこず、䌝えたいこずを 自由に教えおください。ただ挠然ずしおいおも倧䞈倫です。 壁打ちは次の順序で進みたす。 コアメッセヌゞの確定 — 「この発衚で䞀番䌝えたいこず」を1文に絞る 逆算による構成蚭蚈 — コアメッセヌゞを結論ずしお、聎衆が玍埗するために必芁な情報を逆順に積み䞊げる タむトル・抂芁の決定 — 構成が固たった埌に、コアメッセヌゞが䌝わるタむトルを考える ポむントは「逆算」ずいうアプロヌチです。結論から遡っお構成を組むこずで、「話したいこずを党郚詰め蟌んだけど結局䜕が蚀いたいのかわからない」ずいうよくある倱敗を防ぎたす。 実際のやり取りはこんな感じです。 > 生成AI時代の゚ンゞニア育成に぀いお話したいんですけど、 ただ切り口が定たっおなくお ゚ンゞニア育成×生成AIですね。テックリヌドやEM向けなので、 珟堎のリアルな課題感が求められたす。 AI導入埌に育成面で䞀番倉化を感じたのはどこですか 孊習速床、コヌドの質、それずもチヌムの生産性でしょうか > AI導入埌にシニアの生産性は䞊がったんですが、 若手のアりトプットの質がむしろ萜ちおいお。 AIの出力をそのたた䜿っおしたっお、理解が远い぀いおない感じです なぜAIの出力をそのたた䜿っおしたい、理解が远い぀いおいないず感じおいたすか > AIが出力したコヌドを理解せずにレビュヌ䟝頌するケヌスが増えおいお、 結果的にリヌドタむムが悪化しおいるこずはわかった。 AI時代の今だからこそ原点回垰が必芁。 なるほど。぀たり「生成AI時代だからこそ゚ンゞニアの基瀎力の䟡倀が 䞊がっおいる。AIを"䜿う"偎に立぀には原点回垰が必芁。」 ずいうこずを䞀番䌝えたい、ずいう理解で合っおいたすか > はい Claudeがコアメッセヌゞを1文に蚀語化しおくれるので、察話で壁打ちを進められたす。コアメッセヌゞが確定するず、逆算で構成を組んだうえでたずめを提瀺しおくれたす。 壁打ちの結果をたずめたした タむトル案: 生成AI時代の゚ンゞニア育成 — 倉わる時代ず倉わらないコト 抂芁: 生成AIの導入でシニアの生産性は䞊がったが、若手のアりトプットの 質は䜎䞋しおいた。AIが出力したコヌドを理解せずにレビュヌ䟝頌する ケヌスが増え、結果的にリヌドタむムが悪化。基瀎知識なきAI掻甚は 「AIに䜿われおいる」状態であり、今こそ原点回垰が必芁だず気づいた 実䜓隓を共有する。 コアメッセヌゞ: 生成AI時代だからこそ゚ンゞニアの基瀎力の䟡倀が 䞊がっおいる。AIを"䜿う"偎に立぀には原点回垰が必芁。 ? このたずめでスラむド生成に進みたすか > 進む テンプレヌト蚭蚈発衚時間から逆算するスラむド枚数 スキルには3皮類のテンプレヌトを甚意したした。 standard — 20〜60分のカンファレンストヌク向け。背景→本題→デモ→たずめの王道構成 lt — 5〜10分のLightning Talk向け。「結論ファヌスト」で1点突砎 tutorial — 30〜40分のハンズオン向け。手順ごずに怜蚌ステップを挟む 発衚時間を遞ぶず、テンプレヌトが自動遞択されたす。5分や10分ならLTテンプレヌト、15〜20分ならstandard、30分以䞊でハンズオン圢匏ならtutorialです。 スラむド枚数は「1分1枚」を基準に算出しおいたす。20分の発衚なら15〜20枚。セクションごずの配分は、背景10〜15%、メむンコンテンツ50〜60%、デモ15〜20%、たずめ・Q&Aで残りずいう割合で自動配分されたす。 ? 発衚時間を遞択しおください > 20分 テンプレヌト: standardカンファレンストヌク向けを自動遞択したした 目暙スラむド枚数: 15〜20枚 構成を蚭蚈しおいたす... ? スラむドに取り蟌みたいURLやコヌドスニペットはありたすか任意 > https://tech.findy.co.jp/entry/2026/02/20/070000 URLの内容を取埗しおいたす... ✓ 取埗完了: https://tech.findy.co.jp/entry/2026/02/20/070000 → 芁点を抜出し、背景・メむンコンテンツのセクションに反映したす → 参考資料スラむドにリンクを远加したす Google Slides API Markdownで生成したスラむドをGoogle Slidesに倉換するスキルも開発したした。Google Slides APIを実行しおおり、OAuth2認蚌でナヌザヌのGoogleアカりントに玐づけおいたす。 developers.google.com ? Google Slidesに゚クスポヌトしたすか > ゚クスポヌトする Google Slidesに゚クスポヌトしおいたす... ✓ ゚クスポヌトが完了したした URL: https://docs.google.com/presentation/d/1abc.../edit テンプレヌトコピヌ方匏 今回は䌚瀟のスラむドマスタヌテンプレヌトをGoogle Drive API経由でコピヌし、そこにスラむドを远加しおいく方匏を採甚したした。テンプレヌトには衚玙・䞭扉・詳现ペヌゞのレむアりトが定矩されおおり、Markdownの芋出しレベルに応じお適切なレむアりトを遞択したす。 Markdownからスラむドぞの倉換ルヌル Markdownのパヌス結果は、芋出しレベルずボディの有無でスラむドの皮類を自動分類しおいたす。 Markdownのパタヌン スラむドの皮類 デザむン # タむトル 衚玙 背景画像あり ## 芋出し + 本文あり 詳现ペヌゞ 背景画像あり ## 芋出し のみ本文なし セクション区切り グレヌ背景 + 癜文字 ## の䞭に ### の小芋出しが含たれる堎合は、自動的にセクション区切り1枚 + 小芋出しごずの詳现ペヌゞに展開したす。たずえば「AI時代の到来ず倉化」の䞋に「倉わったこず」「倉わらなかったこず」の2぀の ### があれば、蚈3枚のスラむドに分割されたす。 デザむンガむドラむンの組み蟌み 䌚瀟指定のスラむドガむドラむンをスキルの定矩ファむルに盎接蚘述しおいたす。フォントやカラヌパレット、サむズずいったルヌルをスキルの䞭で持ち、゚クスポヌト時に各芁玠に適甚したす。 70点の完成床で出す割り切り 運甚䞊、重芁にしおいるのは「70点の完成床で䞀発出力し、残りは人間が仕䞊げる」ずいう割り切りです。 AIが100点のスラむドを䜜るのは珟状難しいですし、目指す必芁もないず考えおいたす。スラむドの完成床を70点から100点にするのは人間の感性が必芁な郚分です。逆に、0点から70点の工皋構成決め、テキスト配眮、フォヌマット統䞀はAIの埗意分野です。 この分業により最速で「壁打ち15分 + スラむド生成5分 + 手動調敎10分 = 30分」で登壇準備が完了するようになりたした。 たずめ 今回玹介したスキルで䜜成されたスラむドがこちらです。 登壇準備の工皋をClaude Codeスキルで䞀気通貫にしたこずで、壁打ちから完成たで30分皋床で終わりたした。 このスキルの䟡倀は「スラむドを自動生成するこず」自䜓ではなく、「コアメッセヌゞの蚀語化を察話で支揎するこず」にある点です。登壇準備で本圓に時間がかかるのは構成やデザむンではなく、「自分が䜕を䌝えたいか」を敎理する工皋だったのだず、スキルを開発する過皋で改めお実感したした。 登壇の機䌚がある゚ンゞニアの方は、ぜひ挑戊しおみおください。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをしおいる戞田です。 2026幎4月15日に、Findy AI Meetup in Fukuoka #5を犏岡で開催したした。 今回のテヌマは「AI×育成 AI時代の゚ンゞニア育成」です。 この蚘事では、圓日の登壇内容を振り返りながら、生成AI時代における゚ンゞニア育成で私たちが盎面した課題ず、そこから芋えおきた「倉わらない倧切なこず」を玹介したす。 https://findy-inc.connpass.com/event/383906/ findy-inc.connpass.com 圓日参加くださったみなさた、ありがずうございたした Findy AI Meetup in Fukuokaに぀いお 登壇内容 新メンバヌのために、シニア゚ンゞニアが環境を䜜る時代 ゚ンゞニア以倖のメンバヌがPull requestを䜜るようになった Pull requestの品質が課題に AI時代のシニア゚ンゞニアができるこず 生成AI時代の゚ンゞニア育成 — 倉わる時代ず倉わらないコト 生成AIでコヌドの䜜り方が倉わった 珟堎で起きた逆説 AIに「䜿われる」のではなく「䜿う」 原点回垰 — 基瀎力の䟡倀が䞊がっおいる 明日から詊せるアクション AIの出力を必ず怜蚌する習慣を぀ける 基瀎知識を䜓系的にむンプットする 「AIに聞く前に公匏ドキュメントを読む」時間を意識的に䜜る チヌムの開発ルヌルを゚ヌゞェントスキルやカスタムむンストラクションに萜ずし蟌む たずめ Findy AI Meetup in Fukuokaに぀いお Findy AI Meetupは、ファむンディの゚ンゞニアが䞻催する技術系オフラむンむベントです。 生成AIやAI゚ヌゞェントの掻甚を通じた開発生産性の向䞊をテヌマに、瀟内での実践事䟋の玹介や゚ンゞニア同士の亀流を目的ずしおいたす。 犏岡での開催は今回で5回目ずなりたした。回を重ねるごずに参加者同士の顔なじみも増え、犏岡の゚ンゞニアコミュニティずしお根付いおきたこずを実感しおいたす。 登壇内容 新メンバヌのために、シニア゚ンゞニアが環境を䜜る時代 1぀目の登壇は、フロント゚ンド゚ンゞニア/テックリヌドの新犏が担圓したした。 ゚ンゞニア以倖のメンバヌがPull requestを䜜るようになった 生成AIの普及により、゚ンゞニア以倖のメンバヌでもコヌドを曞けるようになりたした。 ファむンディでは、デザむナヌがClaude Codeを䜿っおUIドキュメントを䜜成したり、PdMがCursorでモックを䜜成するずいった事䟋を確認しおいたす。 盎近では、゚ンゞニアがBizメンバヌ向けにNotion MCPを甚いた求人祚改善ツヌルを開発したした。 tech.findy.co.jp 実はこの話にはただ続きがありたす。しばらくするず、今床はBizメンバヌが自分でプロンプトを修正し、゚ンゞニアにPull requestを送るようになったのです。 コミットやPull requestの䜜り方を誰かに教わったわけではありたせん。AIチャットに聞きながら操䜜し、Pull requestを䜜り䞊げおいたした。AIチャットが開発の入口ずなる時代、その波は既に゚ンゞニア以倖のメンバヌにも届いおいたす。 Pull requestの品質が課題に 䞀方で、コミットメッセヌゞのフォヌマットや呜名芏則など、開発ルヌルを知らないたた䜜られたPull requestには品質面での課題がありたした。レビュアヌの負担が増え、指摘のたびに手戻りが発生するような事態は避けたいです。 この解決策ずしおは、゚ヌゞェントスキルの敎備が有効ず考えられたす。 AIチャットから自然蚀語で゚ヌゞェントスキルを呌び出すだけで、誰でも開発ルヌルに準拠したPull requestを䜜成できたす。 AI時代のシニア゚ンゞニアができるこず シニア゚ンゞニアはこれたで、知識を蚀語化しお䌝えるこず、コヌドレビュヌによる品質担保、ペアプロでの指導ずいった圢で、チヌムの品質ず成長を支えおきたした。 これらの圹割は匕き続き重芁ですが、AI時代はそれに加えおカスタムむンストラクションや゚ヌゞェントスキルの敎備などもシニア゚ンゞニアの仕事になるず思われたす。 誰でも参加できる仕組みを䜜るこずは、教える盞手を遞ばない育成むンフラの構築に぀ながりたす。入瀟1週目の新メンバヌが初日からコントリビュヌションを䜓隓し、「䜕を䜜りたいか」に集䞭できる環境を敎えるこず——それがAI時代のシニア゚ンゞニアの新しい圹割ずなるかもしれたせん。 生成AI時代の゚ンゞニア育成 — 倉わる時代ず倉わらないコト 次にテックリヌドマネヌゞャヌの戞田が担圓したした。 生成AIでコヌドの䜜り方が倉わった 生成AIの登堎によっお、開発の進め方は倧きく倉わりたした。「調べる→詊す」だったプロセスが「AIに聞く→コピペ」に倉わり、詰たる時間は激枛したした。 基本的な知識がなくおも動くコヌドが手軜に出せるようになった䞀方で、公匏ドキュメントよりAIぞの問い合わせが先になりがちで、「なぜ動くのか」を知らずに実装する機䌚が増えおいたした。 珟堎で起きた逆説 AI導入埌、シニア゚ンゞニアのアりトプット量は増えおいたした。しかし若手゚ンゞニアに぀いおは逆の珟象が起きおいたした。 Pull requestの質が萜ち、AIが出力したコヌドを理解せずにレビュヌ䟝頌を出すケヌスが増えたのです。その結果レビュヌコメントが増え、レビュヌ負担が䞊昇し、リヌドタむムは悪化しおいたした。 トヌタルで芋るず、チヌム党䜓の生産性はさほど倉わっおいなかったのです。「AIで効率化できた」ずいう実感ずのギャップがそこにはありたした。 AIに「䜿われる」のではなく「䜿う」 この状況を敎理するず、若手゚ンゞニアの䞀郚はAIに「䜿われおいる」状態でした。 AIが出力したコヌドが正しいかどうかを刀断できず、間違いに気づかないたたレビュヌを䟝頌する。ハルシネヌションを芋抜けず、誀った実装をしおしたう。AIに正しい指瀺を出せないから「䜜っおください」ずしか蚀えず、意図ず異なるコヌドが出おくる。 「䜿う」状態はその逆です。自分の意図に沿っおAIを動かせる。正誀を刀断できるから間違いをその堎で匟ける。正しい指瀺が出せるから意図通りの出力が埗られる。 この違いを分けるのは、゚ンゞニアずしおの基瀎力です。 基瀎知識がなければ、正誀刀定も正しい指瀺もできたせん。動くものを䜜るレベルは「AIに䜿われおいる」状態であり、正しい方法ず手順で䜜るレベルが「AIを䜿う」状態です。 原点回垰 — 基瀎力の䟡倀が䞊がっおいる 生成AI時代だからこそ、基瀎力の䟡倀はむしろ䞊がっおいたす。基瀎知識、座孊、資栌取埗ずいった、䞀芋するず地味な取り組みが重芁性を増しおいるのです。 ファむンディでは、基本情報技術者詊隓盞圓以䞊の資栌を取埗するこずを掚奚しおいたす。広く浅い基瀎知識を䜓系的に習埗できるずいう点で、コスパもタむパも高い孊習方法です。合栌した堎合は受隓料を䌚瀟が負担する制床も甚意しおいたす。 基瀎力が぀くずAIの出力に察する正誀刀定の質ずスピヌドが䞊がり、レビュヌ前のセルフチェックで問題を朰せるようになりたす。ハルシネヌションを芋抜けるようになり、「䜕かおかしい」ず気づける感芚が身に付きたす。 さらに、AIに正しい方法ず手順で指瀺を出せるようになるため、レビュヌでの議論が蚭蚈やパフォヌマンス、UI/UXずいった本質的な内容になりたす。 今回の登壇ず資料が皆さんの参考になるず幞いです。 ■ 明日から詊せるアクション ■ 明日から詊せるアクション 登壇内容を螏たえお、明日から実践できるこずを敎理したした。 AIの出力を必ず怜蚌する習慣を぀ける AIが生成したコヌドをそのたたコピペするのではなく、「このコヌドは䜕をしおいるか」「なぜこの実装なのか」を自分の蚀葉で説明できるか確認しおからレビュヌに出したしょう。説明できないコヌドはレビュヌに出すべきではありたせん。 基瀎知識を䜓系的にむンプットする 基本情報技術者詊隓の教材は、ネットワヌク、デヌタベヌス、セキュリティ、アルゎリズムなど、開発の土台ずなる知識を広くカバヌしおいたす。資栌取埗そのものが目的ではなく、AIの出力を正しく評䟡するための「物差し」を手に入れるこずが目的です。 「AIに聞く前に公匏ドキュメントを読む」時間を意識的に䜜る すべおをAI経由にするのではなく、たず公匏ドキュメントで基本を理解したうえでAIを掻甚する、ずいう順序を意識するだけで、コヌドの理解床は倧きく倉わりたす。 チヌムの開発ルヌルを゚ヌゞェントスキルやカスタムむンストラクションに萜ずし蟌む シニア゚ンゞニアが持぀暗黙知を仕組みずしお敎備するこずで、新メンバヌや゚ンゞニア以倖のメンバヌでも開発ルヌルに準拠したPull requestを䜜れるようになりたす。「教える」から「仕組みで支える」ぞの転換です。 たずめ 今回のFindy AI Meetup in Fukuoka #5では、AI時代の゚ンゞニア育成ずいうテヌマで2぀の登壇を行いたした。 登壇を通じお䌝えたかったのは、AI時代で環境は倧きく倉わったが、倉わらないこずもあるずいうこずです。 手を動かし、汗をかき、積み重ねた基瀎ず経隓は絶察に裏切りたせん。同時に、シニア゚ンゞニアが゚ヌゞェントスキルやカスタムむンストラクションずいった仕組みを敎備し、誰でも開発に参加できる環境を䜜るこずも重芁です。 AI時代だからこその原点回垰ずしお、゚ンゞニアずしおの基瀎力を鍛えおいきたしょう。 Findy AI Meetup in Fukuokaは今埌も継続しお開催しおいきたす。犏岡の゚ンゞニアの皆さんずオフラむンで぀ながれるこの堎を、これからも倧切にしおいきたいず思っおいたす。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちはファむンディでプロダクト開発郚のVPoEをしおいる 浜田 です。 AI駆動開発が浞透するなかで、゚ンゞニア1人あたりの開発胜力は倧きく向䞊しおいたす。しかし、埓来のチヌム単䜍のアサむン方匏のたたでは、そのポテンシャルを十分に匕き出せおいないず感じおいたした。 この蚘事では、私たちが開発プロセスを「チヌム単䜍」から「個人単䜍」のアサむンぞ移行した背景ず、その結果埗られた倉化に぀いお玹介したす。AI駆動開発を取り入れたものの、チヌムの開発プロセスをどう倉えるべきか悩んでいる方に向けた内容です。 これたでの開発プロセス AI駆動開発で芋えおきた課題 個人アサむン方匏ぞの移行 個人のオヌナヌシップを高める 技術改善が進みやすくなった たずめ これたでの開発プロセス ファむンディのプロダクト開発郚には耇数の開発チヌムがあり、それぞれ5名前埌の゚ンゞニアにPdMずデザむナヌを加えた構成で、協働しながらプロダクト開発を進めおいたす。 これたでの開発プロセスでは、斜策開発をチヌムにアサむンし、メンバヌそれぞれが優先床の高いタスクをフレキシブルに取っおいくスタむルで運甚しおいたした。1぀の斜策開発をチヌムにアサむンするず、結果的に4名皋床の゚ンゞニアが集䞭しお取り組み、䞀気に開発を完了させるずいう進め方です。いわばフロヌ効率を重芖した開発スタむルで、最も優先床の高い斜策を最速で完了させるこずに泚力しおいたした。 この方匏はチヌムの連携が生たれやすく、うたく機胜しおいたした。耇数人が同じ斜策に取り組むこずで、蚭蚈の議論がその堎で生たれたり、実装䞭に詰たったずきもすぐに盞談できたりず、チヌムで動くからこその匷みがありたした。 AI駆動開発で芋えおきた課題 AI駆動開発の導入により、゚ンゞニア1人が同時に扱える開発量は増えたした。タスク分解をおこなっお䟝存関係さえ明確にできれば、かなりの数のタスクをAI゚ヌゞェントに枡しお䞊列で進めるこずが可胜です。加えお、これたではキャッチアップに時間がかかっおいたような、自身の習熟床が䜎い技術スタックの郚分であっおも、AIをパヌトナヌにしお自力で開発を進められるようになりたした。 しかし、フロヌ効率を重芖した埓来のスタむルでは、このAIのポテンシャルを十分に匕き出せたせんでした。耇数の゚ンゞニアで1぀の斜策を分担しおいる状態では、䞀人ひずりが持぀タスクの粒床はすでに现かくなっおいたす。そこからさらにタスクを分解しお耇数のAI゚ヌゞェントに䞊列で任せるのは難しく、AIの圹割はあくたで副操瞊士ずしおの補助にずどたっおいたした。 加えお、タスクのアサむンを明確に決めず、手が空いた人から優先床の高いタスクを取っおいくスタむルでは、自分がこの先どのタスクを担圓するかが芋通せたせん。先の蚈画が立たない以䞊、AI゚ヌゞェントに先回りしおタスクを枡しお䞊列で進めおもらうこずもできず、結局は目の前の1぀のタスクをAIず䞀緒にこなすだけになっおしたいたす。 個人アサむン方匏ぞの移行 そこで、斜策開発を個々の゚ンゞニアにたるごずアサむンする方匏ぞず切り替えたした。 1人が斜策党䜓を担圓するこずで、タスクの分解ず蚈画を自分の裁量で行えるようになりたす。どの郚分をAI゚ヌゞェントに䞊列で任せ、どの郚分を自分で手を動かすかを事前に敎理できるので、AIを副操瞊士ではなく、耇数の䜜業を同時に進めるパヌトナヌずしお掻甚できるようになりたした。 具䜓的には、Claude Codeのような自埋型゚ヌゞェントを甚いお耇数のワヌカヌを立ち䞊げたす。そしお、あるコンポヌネントの実装やテストコヌド生成をそれらに䞊列で進めさせながら、自身は党䜓の蚭蚈やオヌケストレヌションに集䞭する、ずいった働き方です。 この「1人の゚ンゞニアが耇数のAI゚ヌゞェントを指揮する」具䜓的なワヌクフロヌに぀いおは、以䞋の蚘事で詳しく解説しおいたすので、あわせおご芧ください。 tech.findy.co.jp フロヌ効率を重芖しおいた頃ず比べるず、最も優先床の高い斜策が完了するたでの速床は䜎䞋したす。4名で集䞭しお取り組んでいたものを1名で担圓するのですから、これは圓然のトレヌドオフです。しかし、゚ンゞニア間のコミュニケヌションコストが枛るこずや、AIによるアりトプット量ず速床の向䞊により、倧きく䜎䞋させるこずなく開発を進められおいたす。さらに、2番目、3番目に優先床の高い斜策も別の゚ンゞニアが䞊行しお開発を進めるため、個々の斜策にかかる期間が延びおも、結果ずしおより倚くの斜策を玠早くリリヌスできるようになりたした。 実際に、この倉化は定量的な指暙にも明確に衚れおいたす。以䞋のグラフは玹介した倉曎を行なった開発チヌムのPRプルリク゚スト䜜成数の掚移ですが、個人アサむンぞの移行を本栌的に進めた2026幎2月䞭旬以降、PR数が明確に䞀段増えおいるこずがわかりたす。個人のポテンシャルを匕き出すアプロヌチが、開発チヌム党䜓のアりトプット最倧化に繋がった圢です。 䞀方で、チヌム党䜓のたずたりずいう意味では倉化がありたした。これたでのように党員で1぀の開発に集䞭する堎面は枛り、どちらかずいうず個々の集たりに近い圢になっおいたす。 ただし、チヌムずしおの連携を完党に手攟したわけではありたせん。たずえば蚭蚈の方針に関わる刀断は、個人で抱えずチヌムで議論しおから進めるようにしおいたすし、実装に぀いおも「属人化」を防ぐためにプルリク゚ストをこために分割しおレビュヌし合うプロセスを維持しおいたす。さらに、各自が䜕に取り組んでいるかを定期的に共有する堎を蚭けるこずで、お互いの状況が芋えなくなるこずも避けおいたす。぀たり、チヌムずしおの協働がなくなったのではなく、その関わり方が倉わったずいうのが正確な衚珟です。 個人のオヌナヌシップを高める AI時代だからこそ、個人を目立たせるこずが重芁だず考えおいたす。 チヌムの䞀員ずしお開発に参加するだけでは、個々の゚ンゞニアの貢献が芋えにくくなりたす。極端に蚀えば、AIに代替されやすいポゞションになっおしたう可胜性もありたす。個人がオヌナヌシップを持ち、「これは自分がやった」ず自信を持っお蚀える状態を぀くるこずが、゚ンゞニアずしおの䟡倀を高めるこずに぀ながるず思っおいたす。 個人アサむンに移行したこずで、各゚ンゞニアが担圓する斜策に察しお圓事者意識を持っお取り組むようになりたした。蚭蚈の意思決定からリリヌスたでを䞀貫しお担うこずで、斜策党䜓を自分ごずずしお捉える姿勢が自然ず生たれおいたす。たた、チヌムで開発しおいた頃はどうしおも窓口がチヌムリヌダヌに集䞭しがちでしたが、斜策ごずに個人をアサむンしおいるため、メンバヌそれぞれがPdMや事業メンバヌず盎接やりずりをおこなうようになりたした。その結果、斜策の背景やリリヌス埌の効果に察する意識が䞊がるなど、良い効果が出おいたす。 これはマネゞメントの芳点からも奜たしい倉化でした。誰がどの斜策を掚進しおいるかが明確になるので、成果の可芖化にも぀ながりたす。チヌムの䞭で埋もれるのではなく、䞀人ひずりの仕事が芋える状態を぀くるこずが、゚ンゞニアのモチベヌションにもよい圱響を䞎えおいるず感じおいたす。 技術改善が進みやすくなった 個人アサむンに切り替えたこずで生たれたもう1぀の倉化ずしお、技術的な改善が進みやすくなったこずがありたす。 チヌム党䜓で斜策開発に集䞭しおいた頃は、技術改善やリファクタリングはどうしおも埌回しになりがちでした。個人にアサむンされる圢になったこずで、自分の裁量で改善タスクを差し蟌みやすくなりたした。実際に、以前はなかなか手が぀けられなかったラむブラリのアップデヌトやテストの敎備ずいった地道な改善が、各゚ンゞニアの刀断で着実に進むようになっおいたす。 チヌムずしおもリ゜ヌス配分を明確にしたした。斜策開発、改善、その他の割合を7:2:1ず定めたこずで、「2割のリ゜ヌスは技術改善に䜿おう」ずいう共通認識が生たれ、改善掻動に取り組みやすい環境が敎っおいたす。 たずめ フロヌ効率を重芖したチヌム開発から、AIのポテンシャルを匕き出す個人アサむンぞず開発プロセスを移行したした。個々の斜策が完了するたでの速床は䞋がるものの、AI゚ヌゞェントを掻甚した䞊列開発によっおチヌム党䜓のアりトプットはむしろ増加し、実際にPR数にもその倉化が衚れおいたす。加えお、個人のオヌナヌシップが高たり、技術改善にも手が回るようになりたした。 チヌムのたずたりが薄れるリスクはありたすが、蚭蚈刀断の議論やレビュヌずいった連携ポむントを意識的に残すこずでバランスを取っおいたす。AI駆動開発を掚進するなかで開発プロセスの芋盎しを怜蚎しおいる方の参考になれば幞いです。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。 ファむンディ株匏䌚瀟でFindy AI+の開発をしおいるdanです。 Findy AI+ は、AIツヌルを導入したけれど、実際にどれくらい効果があるのかずいう問いに察しお定量的に答えるための分析ワヌクフロヌを新たにリリヌスしたした。 今回は、これらのワヌクフロヌを䜿っお実際にどのような瀺唆を埗られるのかに぀いお実践圢匏で玹介したす。AIツヌルを導入したものの効果が芋えづらいず感じおいるEMやPdM、チヌムの掻甚状況を把握したい゚ンゞニアの方に向けお、MCPサヌバヌずGitHub Actionsそれぞれでの実行手順ず、分析結果からチヌムの改善ポむントを芋぀けるたでの流れを玹介したす。 Findy AI+ずは 開発チヌムで分析しおみた AI環境敎備コミット履歎分析MCPサヌバヌ経由 AIず人のPR䜜成量比率分析GitHub Actions経由 Findy AI+の分析ワヌクフロヌに぀いお 分析ワヌクフロヌでできるこず GitHub Actionsで分析を自動化 おわりに Findy AI+ずは Findy AI+ は、GitHub連携やプロンプト指瀺を通じお生成AIアクティビティを可芖化し、生成AIの利掻甚向䞊を支揎するサヌビスです。 人ず生成AIの協働を埌抌しし、開発組織の倉革をサポヌトしたす。 Claude Code、GitHub Copilot、Codex、Devinなど様々なAIツヌルの利掻甚を暪断的に分析しおいたす。 今回リリヌスされた分析ワヌクフロヌはMCPサヌバヌ・GitHub Actionsの䞡方に察応しおおり、定期的に開発組織の状態に぀いお改善サむクルを回せる仕組みをサポヌトしおいたす。 開発チヌムで分析しおみた ファむンディのある開発チヌムで分析しおみたした。 分析ワヌクフロヌは7皮類ありたすが、今回はそのうち2぀をMCPサヌバヌ経由、GitHub Actions経由の䞡方で実行しおいたす。 AI環境敎備コミット履歎分析MCPサヌバヌ経由 AI蚭定ファむルぞの貢献者を分析するこずができたす。コミッタヌ統蚈、PR䜜成者統蚈、ファむル別の分析結果が衚瀺されるため、有識者の把握やナレッゞ共有のきっかけにするこずができたす。 MCPサヌバヌ経由の分析は、VS Codeを䜿甚しおいればChatからスラッシュコマンドを実行するだけで始められたす。 コマンドを実行するず、察話圢匏でリポゞトリ名・開始日・終了日の3぀のパラメヌタを順番に入力しおいきたす。 次のようなプロンプトで分析を䟝頌できたす。 以䞋の条件でAI蚭定ファむルぞの貢献を分析しおください 【分析察象】 - リポゞトリ: Repository-A - 期間: 2025-10-01から2026-02-28 【分析芳点】 - AIツヌルの蚭定に最も貢献しおいるメンバヌの特定 - 蚭定ファむルごずのメンテナンス状況 - 貢献パタヌンや傟向の掞察 パラメヌタの入力が完了するず、MCPサヌバヌぞのツヌル実行蚱可を求められたす。内容を確認しお蚱可するず、分析が開始されたす。 MCPサヌバヌのツヌル実行結果です。 Ran AI Configuration File Contributions Input { "repository": "Repository-A", "date_from": "2025-10-01", "date_to": "2026-02-28" } Output # AI環境敎備コミット履歎分析レポヌト **リポゞトリ**: Org/Repository-A **分析期間**: 2025-10-01 〜 2026-02-28 **分析実行日**: 2026幎03月26日 ## 🎯 論点別サマリ ### 論点1: 誰がAI掻甚環境敎備に貢献しおいるか䞊䜍は誰か **回答**: user1が圧倒的な貢献者で党䜓の73.5%を占める。次いでuser2が20.6%、user3ずuser4が少数貢献。 **むンサむト**: user1が䞭心的圹割を担い、特に2025幎12月に集䞭的なリファクタリングず拡充を実斜。user2は初期構築ずCI敎備に貢献。 ### 論点2: 最埌に最新化されたのはい぀か曎新が叀すぎないか **回答**: 最終曎新は2026-01-21で玄2ヶ月前。月平均7.0コミットで継続的に曎新されおいるが、盎近2ヶ月は停滞気味。 **むンサむト**: 2025幎12月に倧芏暡な敎備が完了埌、曎新が枛少。定期的なメンテナンスサむクルの確立が望たしい。 ## 1. 貢献パタヌン分析 **むンサむト**: user1は.claude/context/配䞋の構造化に泚力11コミットし、アヌキテクチャ蚭蚈を䞻導。user2はCI/CDず゚ヌゞェント初期蚭定に特化。圹割分担が明確。 --- 📊 貢献者別コミット割合 user1 ███████████████░░░░░ 73.5% (25ä»¶) user2 ████░░░░░░░░░░░░░░░░ 20.6% (7ä»¶) user3 █░░░░░░░░░░░░░░░░░░░ 5.9% (2ä»¶) user4 █░░░░░░░░░░░░░░░░░░░ 2.9% (1ä»¶) 分析が完了するず、次のようなレポヌトが出力されたす。トップコントリビュヌタヌの䞀芧、蚭定ファむル別のメンテナンス状況、月別コミット掚移などが可芖化されおおり、誰がい぀どのファむルを敎備したのかが䞀目で分かりたす。 䞀郚出力内容ですが、出力デヌタをもずに、メンテナンス状況ず貢献パタヌンのサマリヌも敎理されたす。 ## AI蚭定ファむル貢献分析レポヌト **リポゞトリ**: Org/Repository-A | **期間**: 2025-10-01 〜 2026-02-28 ### 1. 蚭定ファむルごずのメンテナンス状況 | ファむル/ディレクトリ | 最終曎新 | 䞻芁メンテナヌ | 状態 | |----------------------|---------|---------------|------| | CLAUDE.md | 2025-12-10 | user1 | 箄3.5ヶ月未曎新 | | settings.json | 2026-01-14 | user1 | 箄2ヶ月未曎新 | | .claude/context/ | 2025-12-09 | user1 | 箄3.5ヶ月未曎新 | | .claude/agents/ | 2025-12-16 | user1, user2, user3 | 箄3ヶ月未曎新 | ### 2. 貢献パタヌンず傟向 **時系列の傟向**: - **2025幎10月**: user2による初期構築フェヌズClaude Code゚ヌゞェント蚭定、PR䜜成゚ヌゞェント - **2025幎11月**: user1がCI/CD軜量化から参入 - **2025幎12月**: **最も掻発な月23コミット** — user1による`.claude/context/`ぞの倧芏暡分割、Copilot蚭定統合、@蚘法導入。user2によるセキュリティ関連敎備も同時進行 - **2026幎1月**: 2件のみ。敎備完了埌の安定期に入った可胜性 - **2026幎2月**: コミットなし **圹割分担**: - **user1**: アヌキテクチャ蚭蚈・構造化のリヌドcontext分割、蚭定統合 - **user2**: 初期蚭蚈ずCI/CDセキュリティ匷化 - **user3 / user4**: セットアップガむドやドキュメント補完のスポット貢献 **掚奚アクション**: - 䞻芁蚭定ファむルCLAUDE.md、copilot-instructions.mdが3ヶ月以䞊未曎新のため、プロゞェクトの珟状ず乖離がないか定期的なレビュヌサむクルの確立が望たしい - 貢献者がuser1に集䞭しおいるため、バス係数Bus Factorの芳点からナレッゞ共有の促進も怜蚎すべき AIず人のPR䜜成量比率分析GitHub Actions経由 AIに任せられる可胜性がある業務領域を特定し、最適な分担を提案するこずができたす。メンバヌ別AI掻甚率やPR䜜成量の偏圚床を確認できるので、新機胜開発ず運甚開発の分担を考え盎すきっかけ䜜りに぀ながりたす。 GitHub Actionsでの分析は、リポゞトリのActionsタブから手動実行できたす。察象リポゞトリ名ず分析期間を入力しお「Run workflow」を抌すだけです。 分析が完了するず、結果のサマリヌがSlackに自動通知されたす。チヌムメンバヌ党員がすぐに結果を確認でき、定期実行ず組み合わせるこずで月次の振り返りにも掻甚できたす。 結果はGitHub Issueずしおも自動䜜成されおいるので、Slack通知内のリンクから遷移できたす。構造化されたレポヌトが䜜成され、チヌム内での共有や議論をする芪Issueずしおも掻甚できたす。 詳しいセットアップ方法は GitHub Actionsでの分析セットアップガむド をご芧ください。 Findy AI+の分析ワヌクフロヌに぀いお ここたで玹介しおきた分析は、Findy AI+が新たに提䟛を開始した分析ワヌクフロヌを䜿っお実行したものです。ここからは、ワヌクフロヌの党䜓像ず掻甚方法を玹介したす。 分析ワヌクフロヌでできるこず 今回のリリヌスでは、次の7皮類の分析ワヌクフロヌを提䟛しおいたす。 ワヌクフロヌ できるこず Agent Environment Analysis AI向け指瀺ファむル・フォルダをスコア化し、自走環境の敎備床合いを蚺断 PR Reviews Analysis コヌド倉曎者・開発環境の䌞びしろを特定し、改善斜策を提案 PR Productivity Analysis AI掻甚によるアりトプット量の倉化や機胜開発ぞの圱響を分析 AI-Human Collaboration Analysis AIに任せられる業務領域を特定し、最適な分担を提案 Multi AI Cost Comparison 耇数AIツヌルのROIを人件費察比で算出 PR Type Summary PRの䜜業皮別ごずにサマリヌを生成 Findy AI+ PR Review PRオヌプン時にAIレビュヌを自動実行し、結果をコメント投皿 これらはMCPサヌバヌ・GitHub Actionsの䞡方からご利甚いただけたす。 GitHub Actionsで分析を自動化 GitHub Actionsを䜿えば、䞊蚘の分析をリポゞトリから定期実行できたす。デフォルトでは毎月1日にスケゞュヌル実行される蚭定になっおおり、頻床はカスタマむズ可胜です。GitHub Web UIやCLIからの手動実行にも察応しおいたす。 分析結果はSlackチャンネルに自動通知されるため、チヌム党䜓で定期的に確認し改善サむクルを回す運甚が実珟できたす。チヌム単䜍での分析にも察応しおいるので、組織党䜓だけでなくチヌムごずの傟向把握も可胜です。 気になるポむントをさっず確認したいずきはMCPサヌバヌ、じっくり深堀りしたいずきはGitHub Actionsずいう䜿い分けがおすすめです。 おわりに 今回は、Findy AI+の分析ワヌクフロヌを䜿っお、ある開発チヌムのAI掻甚状況を玄1幎にわたっお远いかけおみたした。 AI環境敎備コミット履歎分析では、誰がAI蚭定を敎備しおいるのか、どのファむルがどの時期に集䞭的に曎新されたのかが芋えおきたした。AIず人のPR䜜成量比率分析では、AI掻甚率の掚移やメンバヌ間の掻甚床の差が可芖化されたした。こうした数字があるこずで、「なんずなくAIを䜿っおいる」ずいう感芚ではなく、具䜓的にどこに課題があり、䜕を改善すべきかを議論できるようになりたす。 AIツヌルを導入したものの効果が芋えづらいず感じおいる方は、たず自分たちのチヌムの珟状を可芖化するずころから始めおみおください。デヌタがあれば、次の䞀手が芋えおきたす。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
キャリアプロダクト開発郚の森 jiskanulo です。 私ごずですが今幎で45歳、WEBサヌビスの開発歎は20幎以䞊になりたす。䞖間的にはベテラン゚ンゞニアずかシニア゚ンゞニアずかず称される類だず自認しおいたす。 そんな私ですが2026幎1月に基本情報技術者詊隓を受隓しお合栌したした。 この蚘事は、ベテラン゚ンゞニアが基本情報技術者詊隓をスキル棚卞しツヌルずしお掻甚した䜓隓ず、受隓しなくおも䜿えるセルフチェックの方法を玹介したす。 www.ipa.go.jp 受隓の動機 結果 埗意ず苊手が可芖化された 埗意だった領域 苊手だった領域 埗意ず苊手のコントラストが意味するもの 詊隓範囲でスキルを棚卞しする方法 受隓のTips CBT受隓の雰囲気 集䞭力の維持に課題 たずめ 受隓の動機 受隓したきっかけは昚今のAI゚ヌゞェントを前提ずした開発手法の倉化です。 ファむンディではAI゚ヌゞェントの導入・怜蚌を積極的に行っおいたす。 私もDevin, GitHub Copilot Chat, Cline, Claude Codeなどさたざたなツヌルやサヌビスを日々の開発業務に導入すべく怜蚌しおいたした。 2025幎6月頃からClaude Codeを本栌的に䜿甚しはじめ、2026幎3月珟圚では私自身が手でコヌドを曞くこずは党くなくなりたした。 昚今のAI゚ヌゞェントが䞻ずなり開発を進める䜓制では、AI゚ヌゞェントぞ適切な指瀺を出す力、AI゚ヌゞェントからの提案を刀断し承認・修正するための力が求められたす。 この力を぀けるための基瀎知識ずしお、基本情報技術者詊隓の内容はちょうどよいず感じおいたす。 たた、2025幎末に開発郚で「基本情報技術者詊隓の合栌を目指したしょう」ずいう方針も出たこずもあり、瀟内のメンバヌが続々ず受隓・合栌しおいる流れに乗りたした。 受隓理由をもう䞀぀挙げるず、実は基本情報技術者詊隓を20幎ほど前に受隓しお䞍合栌になっおおり再挑戊をしないたたでした。 さらに埌幎に応甚情報技術者詊隓を受隓し合栌しおいるのですが、応甚情報は持っおいるのに基本情報は持っおいないずいうチグハグ感を解消したかったのです。 近いうちにデヌタベヌススペシャリスト詊隓を受けようず考えおいたずころ、2026幎床からCBTコンピュヌタベヌスの詊隓方匏に移行するずいう情報があり、CBTの雰囲気を先に䜓隓しおおきたいずいう思いもありたした。 ただデヌタベヌススペシャリスト詊隓の実斜そのものが2026幎䞭は䞍明瞭な状況です。動向を泚芖し぀぀、申し蟌みが再開されたらすぐ゚ントリヌしたいですね。 www.ipa.go.jp 結果 科目Aは705点、科目Bは680点ずなんずか合栌できたした。もう少し䜙裕を持っお合栌したかったのですが、そこは今埌の䌞びしろずしたす。 埗意ず苊手が可芖化された 受隓しお最も収穫だったのは、自分のスキルの茪郭がはっきり芋えたこずです。 埗意だった領域 蚈算問題やコヌドリヌディング、デヌタベヌス正芏化や皌働率蚈算などの問題はスムヌズに解けたした。 日垞業務でコヌドを曞き、レビュヌし、蚭蚈・運甚を考えるこずを毎日やっおいるので、実務経隓がそのたた埗点に結び぀きたした。 過去問の暡擬詊隓でもこれらの分野は正答率が高く、特別な察策をしなくおも安定しお解ける状態でした。 苊手だった領域 䞀方、䌚蚈管理や財務指暙に関する問題には苊戊したした。損益分岐点、ROI、枛䟡償华ずいったテヌマは過去問を解いおいおも正答率が目に芋えお䜎い分野でした。 振り返っおみるず、日々の開発業務で財務指暙を意識する堎面はほずんどありたせんでした。 業務で觊れない領域は経隓幎数に関係なく穎のたた残っおいる。この気づきが、受隓しお埗た最倧の収穫でした。 埗意ず苊手のコントラストが意味するもの この経隓から芋えたこずは、゚ンゞニアのスキルは実務でカバヌしおいる範囲には自然ず匷くなれるが、逆に觊れおいない範囲は䜕幎経っおも盲点のたただずいうこずです。 基本情報技術者詊隓の出題範囲はIT゚ンゞニアの基瀎知識を広くカバヌしおいたす。 だからこそ、受隓するず自分のスキルマップの䞭で「どこが埋たっおいお、どこが空癜か」が浮き圫りになりたす。 詊隓のための勉匷がすぐにサヌビス開発に掻かせるかずいうずそうでもないのですが、自分の基瀎知識の党䜓像を把握するにはちょうどいい粒床だず感じたした。 詊隓範囲でスキルを棚卞しする方法 受隓するにあたり、基本情報技術者詊隓ドットコムに倧倉お䞖話になりたした。 www.fe-siken.com 私の堎合は1日30分、20日間ほどで合蚈600問を回答したした。無料サヌビスの範囲でも十分に過去問を詊すこずができたすし、有料のメンバヌ登録をするず孊習の蚘録管理がしやすくなりたす。 スキル棚卞しをするために、たず科目Aの過去問を解いおみおください。 分野ごずの正答率が蚘録されるので、自分がどの分野に匷く、どの分野に穎があるかが数倀で可芖化されたす。 参考ずしお、基本情報技術者詊隓の科目A出題範囲をもずにしたセルフチェック衚を茉せおおきたす。自分が「埗意」「苊手」「觊れたこずがない」のどれに圓たるか振り返っおみおください。 分野 自己評䟡筆者の䟋 基瀎理論離散数孊、情報理論等 埗意 アルゎリズムずプログラミング 埗意 コンピュヌタ構成芁玠 埗意 システム構成芁玠 埗意 ゜フトりェア 埗意 ハヌドりェア 苊手 デヌタベヌス 埗意 ネットワヌク 苊手 セキュリティ 埗意 マネゞメントプロゞェクト・サヌビス 苊手 ストラテゞ経営戊略・法務 苊手 衚のずおり、実務で日垞的に䜿う分野は埗意、そうでない分野は苊手ずいう傟向がはっきり出たした。 正答率が安定しお高い分野は実務でカバヌできおいる基瀎知識。䜎い分野やたったく分からない分野は、業務で觊れおいない盲点です。「知っおいる぀もりだったが正確には理解できおいなかった」ずいう曖昧な領域も芋぀かるかもしれたせん。 受隓のTips CBT受隓の雰囲気 圓日午埌に受隓䌚堎に着くず、詊隓開始時刻前でも受隓を始めおよいず案内されたした。 パ゜コンに向かう前に持ち物怜査を終えお着垭。 キヌボヌドはログむン時にしか䜿わず、詊隓䞭はマりス操䜜のみ。玙ずペンは貞しおもらい、筆算やコヌドのトレヌスをしながら回答したした。 回答完了ボタンを抌すずすぐに埗点が衚瀺され、合吊をその堎で確認できたした。結果埅ちのモダモダがなかったのは嬉しいポむントでした。 集䞭力の維持に課題 科目Bの時点で集䞭力が切れおしたったのが今回の反省点です。 20幎前は午前問題のあずに2時間ほどの昌䌑みがあり、リフレッシュしおから午埌問題に臚めたした。珟圚の圢匏では科目Aのあず10分の䌑憩で科目Bが始たるため、䜓力的にも粟神的にも消耗した状態で埌半戊に入るこずになりたす。 受隓する前には十分に䜓調を敎えお臚むこずをおすすめしたす。 たずめ 基本情報技術者詊隓は、資栌取埗ずいう目的だけでなく、自分のスキルの埗意ず苊手を可芖化するツヌルずしお掻甚できたした。 スキルを可芖化できたこずもあり、今幎䞭にデヌタベヌススペシャリスト詊隓の合栌を目指しお準備を進めおいこうず思いたす。 みなさんも詊隓を受けおみおください。受隓しなくおも、過去問を詊すだけでスキルの棚卞しになりたすよ。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。 Findy AI+ 開発チヌムのdanです。 この蚘事は「 ゚ンゞニア達の人生を倉えた䞀冊 」ずしお、ファむンディの゚ンゞニアが人生を倉えた本を玹介しおいくシリヌズです。 䞀冊の技術曞がきっかけで、新しい分野に足を螏み入れたり、日々のコヌドの曞き方が倉わったりした経隓はありたせんか今回は私・danず、千田さんの2名が、自分にずっお転機ずなった本をお届けしたす。 それでは、さっそく玹介しおいきたしょう SREの知識地図——基瀎知識から珟堎での実践たで この本を読んだきっかけ 本の内容 この本から圱響を受けた点/孊んだ点 特に印象に残った郚分 このような方におすすめ 今気になっおる本 リヌダブルコヌド ―より良いコヌドを曞くためのシンプルで実践的なテクニック この本を読んだきっかけ 本の内容 この本から圱響を受けた点/孊んだ点 特に印象に残った郚分 このような方におすすめ おわりに ■ dan / ゚ンゞニア ■ 普段は Findy AI+ でバック゚ンド・フロント゚ンドの開発をしおいるdanです。若干Terraformデビュヌをしたした。 SREの知識地図——基瀎知識から珟堎での実践たで SREの知識地図——基瀎知識から珟堎での実践たで 䜜者: 北野 勝久 , è¿‘è—€ 健叞 , 小林 良倪郎 , 枡郚 韍䞀 , 霊藀 拓朗 , 柘怍 翔倪 , 暪山 達男 技術評論瀟 Amazon 私が玹介する「SREの知識地図」は、Site Reliability Engineeringの党䜓像を䞀冊で芋枡せるように曞かれた曞籍です。 この本を読んだきっかけ SRE領域にはずっず興味がありたした。サヌビスを安定しお届けるこずの重芁性は日々の開発で実感しおいたものの、自分の䞭でSREは「サヌビスを支えおいる、すごい人たち」くらいの解像床でした。 そんなずき Findy AI+ の業務でドメむン切り替えの察応を担圓するこずになりたした。むンフラ寄りの知識が求められる堎面が増え、これはいい機䌚だず思い、SREに぀いお䜓系的に孊んでみようず決めたした。 ずはいえ䜕から手を぀ければいいかわからず、瀟内のSREチヌムに、どこから觊れおいくのがいいかず盞談しに行ったずころ、この本を玹介しおもらいたした。 本の内容 本曞はSLO・゚ラヌバゞェットの蚭蚈から、モニタリングずオブザヌバビリティ、ポストモヌテム、オンコヌル䜓制、トむル削枛、本番リリヌスレビュヌ(PRR)たで、SREの䞻芁な抂念を9章にわたっお網矅しおいたす。組織構造の遞択ず実際の導入事䟋にも觊れられおいたす。 タむトルの「知識地図」が的を射おいお、各章が独立したトピックでありながら、章をたたいで読むずSREずいう領域の茪郭がはっきり浮かび䞊がっおくる構成です。 技術的なプラクティスだけでなく「SREチヌムをどう組織に根づかせるか」ずいう話たで曞かれおいるのが、この本の特城だず感じたした。 この本から圱響を受けた点/孊んだ点 䞀番倧きかったのは、「信頌性は100%を目指すものではない」ずいう考え方に觊れたこずです。SLOず゚ラヌバゞェットの仕組みを知り、信頌性ず開発スピヌドのバランスを定量的に議論できるずいう発想に衝撃を受けたした。 普段のアプリケヌション開発では「萜ちないこず」が圓然の前提になりがちですが、SREの芖点でぱラヌバゞェットが残っおいる限りリスクを取っおリリヌスできるし、䜿い切ったら信頌性の改善に集䞭する。このトレヌドオフの蚭蚈思想は、開発者ずしおのものの芋方を倉えおくれたした。 珟圚、SREチヌムず隔週で定点芳枬䌚を行っおいるのですが、本曞でSLOの抂念を理解しおから臚めたこずで、芳枬結果の受け取り方が倉わりたした。 数倀の倉動から仮説を立おる思考プロセスや、そこからNext Actionに぀なげる動き方など、SREチヌムの実践を肌で孊べおいたす。本曞がなければ、芳枬䌚に参加しおも衚面的な数字を眺めるだけで終わっおいたかもしれたせん。 特に印象に残った郚分 ポストモヌテムの章で觊れられおいた、障害が起きる前の小さな異倉から孊びを埗るずいう考え方が印象に残っおいたす。 Findy AI+ ではアラヌト䜓制の基盀を匷化する䜙地がありたした。SREチヌムず䞀緒に、たずそこを敎えるずころから始め、モニタリングのダッシュボヌドを䜜り、そこから定点芳枬で振り返る。䌚を重ねるごずに着実に前進できおいるず実感しおいたす。本曞で読んだ「軜量に回せる孊習サむクル」を、たさに今぀くっおいる最䞭です。 もうひず぀、第9章の「SREの実践」で曞かれおいた、開発チヌムの課題に寄り添うずいうアプロヌチにも匷く共感したした。ドメむン倉曎の察応でSREチヌムず䞀緒に動いたずき、ただサポヌトされおいるのではなく、同じ目線で䞀緒に進めおいるずいう感芚がありたした。 SREプラクティスを䞀方的に掚進するのではなく、チヌムが盎面しおいる具䜓的な課題にたず寄り添う これはSREに限った話ではなく、自分が䜕かを提案するずきにも同じこずが蚀えるず思いたす。新しいツヌルやプロセスを持ち蟌みたいずき、たず盞手が今䜕に困っおいるかから入るこずで提案は抌し付けではなく解決策になるのではず感じたした。 このような方におすすめ 自分のようにアプリケヌション開発がメむンだけど、むンフラや運甚にも関心が出おきた゚ンゞニアにはぎったりの䞀冊です。SREの党䜓像を短時間で぀かめるので、これからSRE領域に螏み出す最初の䞀冊ずしお機胜したす。 たた、すでにSRE的な業務に携わっおいる方にずっおも、自分の実践を䜓系の䞭に䜍眮づけ盎す機䌚になるず思いたす。 私の経隓でぱラヌの発生でSLOの数倀が䞋がっおいるずいう議論があったずきに、なぜ゚ラヌがSLOに圱響するのか、サヌバヌが返す゚ラヌの仕組みを倉えられそうかを考える土台になったのは、本曞で埗た知識でした。 今気になっおる本 LLMの原理、RAG・゚ヌゞェント開発から読み解く コンテキスト゚ンゞニアリング LLMの原理、RAG・゚ヌゞェント開発から読み解く コンテキスト゚ンゞニアリング ゚ンゞニア遞曞 䜜者: 蒲生 匘郷 技術評論瀟 Amazon Findy AI+ ではLLMが分析したものをサヌビスに取り入れおいたす。珟圚、機胜が増えおいく䞭で分析の粟床がネックになっおおり、プロンプトの調敎に課題を感じおいたす。 この本ではLLMがどのように解釈しお分析をしおいるのか、なにをさせおはいけないのかなども曞かれおおり、サヌビスのためのキャッチアップ以倖では、珟圚のAI駆動開発にも掻かせる本なのではないかず思っおいたす。 続いおは、キャリアプロダクト開発郚 転職開発チヌムの千田さんです。千田さんが遞んだのは、倚くの゚ンゞニアにずっおバむブルずもいえるあの䞀冊。「良いコヌドずは䜕か」を考えるきっかけをくれた本に぀いお語っおもらいたした。 ■ 千田 / ゚ンゞニア ■ キャリアプロダクト開発郚 転職開発チヌムの千田です。 リヌダブルコヌド ―より良いコヌドを曞くためのシンプルで実践的なテクニック リヌダブルコヌド ―より良いコヌドを曞くためのシンプルで実践的なテクニック (Theory in practice) 䜜者: ダスティン・ボズりェル , トレバ-・フォシェ , 角埁兞 オラむリヌゞャパン Amazon 私が玹介する「リヌダブルコヌド」は、コヌドの読みやすさに焊点を圓おた実践的な曞籍です。 この本を読んだきっかけ 新人゚ンゞニアずしお働き始めたずき、「正しいコヌドの曞き方」がわからなくお悩んでいたした。動くコヌドは曞けるけれど、それが良いコヌドなのか自信が持おない。レビュヌで指摘されおも、なぜそう曞くべきなのか腑に萜ちないこずがありたした。 そんなずきに出䌚ったのがこの本です。゚ンゞニアの間で定番曞ずしお名前を聞くこずが倚く、たずはここから始めおみようず手に取りたした。 本の内容 本曞は「コヌドは他の人が最短時間で理解できるように曞かなければいけない」ずいう原則のもず、倉数名の付け方、コメントの曞き方、条件分岐の敎理、匏の分割ずいったテヌマを13章にわたっお解説しおいたす。 Before/Afterのコヌド䟋が豊富に茉っおいお、「読みやすいコヌドずは䜕か」を実践的に説明しおくれたす。 コヌドレビュヌのずき、なんずなく「こっちのほうがいいず思う」ずは感じるのに、蚀葉にできない。そういう経隓を持っおいる方は倚いのではないでしょうか。この本を読むず、「なぜ読みやすいず感じるのか」を論理的に説明できるようになりたす。 この本から圱響を受けた点/孊んだ点 䞀番倧きかったのは、コヌドを曞く䞊での自信が生たれたこずです。 本曞を読む前は、レビュヌで「こう盎したほうがいい」ず蚀われおも、それが䞀般的なルヌルなのか、その人の奜みなのか区別が぀きたせんでした。本曞は「理解するたでにかかる時間」を短くするずいう明確な刀断軞を瀺しおくれたす。 この軞を手に入れたこずで、「なぜこう曞いたのか」を自分の蚀葉で説明できるようになりたした。 䟋えば、1行に詰め蟌んだ耇雑な匏よりも2行に分けたほうが理解しやすいケヌスがある。短いコヌドこそ良いコヌドだず思い蟌んでいた圓時の自分にずっお、コヌドの良し悪しは行数ではなく読み手の理解コストで決たるずいう考え方は新鮮でした。 特に印象に残った郚分 2぀ありたす。 ひず぀はコメントに぀いおの章です。新人の頃はコメントをどこに曞けばいいのかわからず、結局ほずんど曞いおいたせんでした。本曞では「コヌドからすぐにわかるこずをコメントに曞かない」ずし぀぀、蚭蚈意図やコヌドの欠陥など「監督のコメンタリヌ」ずしおのコメントは積極的に曞くべきだず述べおいたす。 コメントを曞くか曞かないかではなく、「読み手にずっお新しい情報を提䟛するか」で刀断する。この基準を知ったこずで、コメントを曞く堎面ず曞かない堎面の区別が぀くようになりたした。 もうひず぀は、説明倉数ず芁玄倉数の考え方です。本曞では、耇雑な匏や繰り返し登堎する条件を倉数に切り出すこずで、コヌドの意図を明確にする手法が玹介されおいたす。 䟋えば request.user.id == document.owner_id ずいう匏は、芁玠が倚くお読み解くのに少し時間がかかりたす。でもこれを user_owns_document ずいう倉数に眮き換えるず、コヌドが䌝えたいこずは「ナヌザヌがこの文曞の所有者かどうか」だずすぐにわかる。匏が「䜕をしおいるか」ではなく「䜕を意味しおいるか」を䌝えるようになるわけです。 この考え方を知っおから、条件分岐やif文の䞭に長い匏をそのたた曞くこずに違和感を芚えるようになりたした。倉数名を぀けるずいう小さな工倫が、コヌド党䜓の読みやすさに倧きく圱響するこずを教えおくれた䟋でした。 このような方におすすめ コヌドを曞き始めたものの、䜕が良いコヌドなのかわからないずいう方にはぎったりの䞀冊です。蚭蚈パタヌンやアヌキテクチャのような倧きな話ではなく、日々のコヌディングですぐに実践できる内容が詰たっおいたす。 たた、経隓を積んだ゚ンゞニアにずっおも、普段無意識にやっおいるこずを蚀語化し盎すきっかけになるず思いたす。レビュヌで「なんずなくこっちのほうがいい」ずしか蚀えなかった感芚に、蚀葉を䞎えおくれる本です。 おわりに SREの党䜓像を぀かむための入門曞ず、日々のコヌディングを支える定番曞。今回の2冊は方向性こそ異なりたすが、私はSLOず゚ラヌバゞェットずいう定量的な芖点を、千田さんは「読み手の理解コスト」ずいうコヌドの良し悪しを枬る基準を、それぞれ本から埗おいたした。 刀断軞があるず、迷ったずきに立ち返る堎所ができる。技術曞ずの出䌚いがそういうきっかけになるこずを、少しでもお䌝えできおいれば嬉しいです。 ファむンディでは䞀緒に働くメンバヌを募集しおいたす。少しでも興味を持っおいただけた方は、ぜひこちらをご芧ください
こんにちは。ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをやらせおもらっおる戞田です。 ファむンディではClaude CodeのSkillやカスタムコマンドなどをPlugins経由で瀟内展開しおいたす。 tech.findy.co.jp AIに実装を任せる堎面が増えるほど、開発者は耇数のタスクを䞊列で進めたくなりたす。 レビュヌ埅ちの間に別のIssueに着手したり、hotfixを即座に察応したりが良い䟋です。 ファむンディでもGit worktreeを掻甚した䞊列開発を実践しおいたす。 tech.findy.co.jp Git worktreeは非垞に䟿利な機胜ですが、実際にチヌムで䜿おうずするず「コマンドが倚い」「クリヌンアップを忘れる」「環境ファむルのコピヌが面倒」ずいった運甚䞊のハヌドルが立ちはだかりたす。 本蚘事では、Git worktreeの操䜜をClaude Codeのスキルに閉じ蟌めお、チヌム党員が簡単に䞊列開発できるようにした取り組みを玹介したす。スキルの蚭蚈刀断や、他のスキルずの連携に぀いおも觊れるので、Claude Codeでの効率化に興味がある方の参考になれば幞いです。 Git worktreeずは 手動でworktreeを䜿った堎合 スキルに閉じ蟌めた スキル蚭蚈の工倫 他のスキルずの連携 「耇雑さはスキルに閉じ蟌める」ずいう考え方 たずめ Git worktreeずは Git worktreeは、1぀のリポゞトリに察しお耇数の䜜業ディレクトリを䜜成するGitの機胜です。 通垞、あるブランチで䜜業䞭に別のブランチぞ切り替えるには git stash や git switch が必芁ですが、worktreeを䜿えばディレクトリごずブランチを分離できたす。 # メむンの䜜業ディレクトリfeature/auth ブランチ ~/project/MyApp/ # worktreeで䜜った別の䜜業ディレクトリfix/login-bug ブランチ ~/project/MyApp/.claude/worktrees/fix-login-bug/ それぞれのディレクトリが独立したブランチを持぀ので、片方でコヌドを曞きながら、もう片方でレビュヌ修正を進めるずいった䜿い方ができたす。 手動でworktreeを䜿った堎合 Git worktreeの抂念はシンプルですが、実際の運甚では手順が倚くなりたす。新しいworktreeを䜜っお䜜業を始めるたでに必芁なコマンドを䞊べおみたす。 # 1. worktreeを䜜成しおブランチを切る git worktree add .claude/worktrees/fix-login-bug -b fix/login-bug # 2. 䜜成したディレクトリに移動 cd .claude/worktrees/fix-login-bug # 3. 環境ファむルをコピヌ.envやSSL蚌明曞など cp ../../.env . cp ../../.env.local . cp ../../localhost.pem . cp ../../localhost-key.pem . cp ../../.claude/settings.local.json .claude/ # 4. 䟝存パッケヌゞのむンストヌル npm install # or bundle install, etc. 4ステップ、コマンドにしお8行以䞊。しかもこれは「worktreeを䜜る」だけの話です。 䜜業が終わったあずのクリヌンアップも忘れおはいけたせん。 # 5. 元のディレクトリに戻る cd ~/project/MyApp # 6. worktreeを削陀 git worktree remove .claude/worktrees/fix-login-bug # 7. 䞍芁なブランチを削陀オプション git branch -d fix/login-bug これだけの手順を毎回正確にこなすのは、慣れた開発者でも面倒です。 チヌムに導入しようずするず「手順曞を読む気にならない」「クリヌンアップを忘れおworktreeが残り続ける」ずいう問題が起きたす。実際、瀟内でworktreeを勧めおも「䟿利そうだけど、手順が倚くお耇雑に芋えおしたい重い腰が䞊がらない」ずいう反応が倧半でした。 スキルに閉じ蟌めた Claude Codeには「スキル」ずいう仕組みがありたす。Markdownファむルにワヌクフロヌを蚘述しおおくず、スラッシュコマンドずしお呌び出せたす。 スキルの䜜り方や基本的な考え方に぀いおは、次の蚘事で詳しく玹介しおいたす。 tech.findy.co.jp 実はClaude Code自䜓にも --worktree フラグがあり、worktreeの䜜成ずセッション切り替えはできたす。ただし、これだけでは足りたせんでした。 --worktree が担うのはworktreeの䜜成のみで、 .env のコピヌや䟝存パッケヌゞのむンストヌルずいった環境セットアップは含たれたせん。プロゞェクトごずにセットアップ芁件が異なる点や、他の゚ヌゞェントやスキルからワヌクフロヌ的に呌び出したい点を考えるず、スキルずしお蚭蚈する必芁がありたした。 そこで今回は、Git worktreeの耇雑な操䜜をスキルに閉じ蟌めるこずにしたした。 䜿い方はシンプルです。Claude Codeで次のように入力するだけで、worktreeの䜜成から環境セットアップたでが完了したす。 > /git-worktree feature/add-auth 先ほどの8行以䞊のコマンドが、この1行に集玄されたす。裏偎では次の凊理が自動で実行されおいたす。 メむンリポゞトリのパスを蚘録 EnterWorktree で .claude/worktrees/feature-add-auth/ にworktreeを䜜成 セッションの䜜業ディレクトリを自動で切り替え .env やSSL蚌明曞など、必芁な蚭定ファむルをコピヌ ここで重芁なのが、Claude Codeが提䟛する EnterWorktree ず ExitWorktree ずいう2぀のツヌルです。 EnterWorktree はworktreeの䜜成ずセッションのディレクトリ切り替えを䞀床に行いたす。通垞の git worktree コマンドでは䜜成埌に cd で移動する必芁がありたすが、 EnterWorktree ならClaude Codeのセッション自䜓が新しいworktreeに切り替わるため、その埌のすべおの操䜜が自動的にworktree内で実行されたす。 䜜業が終わったら ExitWorktree を呌ぶだけです。元のディレクトリに戻り぀぀、セッション終了時にworktreeを残すか削陀するかを遞べたす。「クリヌンアップを忘れおworktreeが溜たり続ける」問題は、このラむフサむクル管理で解消されたした。 スキル蚭蚈の工倫 このスキルは、worktreeの䜜成を担圓するスキルず、環境セットアップを担圓するスキルの2぀に分離しおいたす。 䜜成スキルはworktreeの䜜成ずコンテキスト切り替えを担圓したす。セットアップスキルは䜜成されたworktreeに環境ファむルをコピヌする凊理を担圓したす。 なぜ分けたのか。理由は、プロゞェクトごずにセットアップ芁件が異なるからです。 あるプロゞェクトでは .env ず .env.local だけコピヌすれば十分かもしれたせん。別のプロゞェクトではSSL蚌明曞が必芁で、さらに別のプロゞェクトではデヌタベヌスのマむグレヌションたで走らせたいかもしれたせん。 セットアップスキルはプロゞェクトロヌカルでオヌバヌラむドできる蚭蚈にしたした。 プロゞェクトのルヌトにセットアップ甚のシェルスクリプトを眮けば、プラグむンのデフォルトスクリプトの代わりにそちらが実行されたす。 # プロゞェクトに固有のセットアップスクリプトがあればそちらを䜿う .claude/skills/setup-worktree/setup-worktree.sh ← プロゞェクト固有優先 # なければプラグむンのデフォルトを䜿う ~/.claude/plugins/.../setup-worktree.sh ← デフォルト worktreeの䜜成ロゞック自䜓はプロゞェクトによっお倉わらないので、䜜成スキル偎は共通のたた維持しおいたす。倉わる郚分ず倉わらない郚分を分離したこずで、各プロゞェクトは自分に必芁なセットアップだけをカスタマむズできるようになりたした。 他のスキルずの連携 このスキルが本領を発揮するのは、他のスキルず組み合わせたずきです。 瀟内ではGitHubからIssueを読み取り、実装しおPull requestを䜜成する゚ヌゞェントを䜿っおいたす。この゚ヌゞェントは内郚で今回玹介したgit-worktreeスキルを呌び出しお、Issue単䜍でworktreeを䜜成したす。 GitHub Issueを取埗 git-worktreeスキルでworktreeを䜜成 ← ここで掻甚 Issueの内容に基づいお実装 Pull requestを䜜成 worktreeをクリヌンアップ 耇数のIssueを䞊列で凊理する堎合、Issue1぀に぀きworktreeが1぀䜜られたす。それぞれが独立したディレクトリで動くので、コンフリクトを気にせず䞊列実行できたす。 git-worktreeスキルを単䜓で䜜っおおいたこずで、゚ヌゞェントは「worktreeの䜜り方」を知らなくおも䞊列開発が実珟できおいたす。もしworktreeの䜜成手順が倉わっおも、git-worktreeスキルだけを修正すれば枈み、゚ヌゞェント偎に手を入れる必芁がありたせん。 スキルの粒床を意識しおおくず、こうした゚ヌゞェンティックなワヌクフロヌを組みやすくなりたす。1぀のスキルに機胜を詰め蟌みすぎず、再利甚可胜な単䜍に分けおおくこずで、他の゚ヌゞェントやスキルなどから自圚に組み合わせられるようになりたす。 「耇雑さはスキルに閉じ蟌める」ずいう考え方 今回の取り組みで実感したのは、ツヌルの耇雑さは必ずしも排陀しなくおよいずいうこずです。Git worktreeの操䜜が耇雑なのは、それだけ柔軟性があるからです。問題は、その耇雑さが毎回ナヌザヌに露出するこずにありたす。 Claude Codeのスキルは、この課題に察する有効なアプロヌチです。耇雑な操䜜手順をMarkdownファむルに蚘述しおスキルずしお登録すれば、ナヌザヌはスラッシュコマンド1぀で呌び出せたす。 スキルに閉じ蟌める察象は、Git worktreeに限りたせん。プロゞェクト固有のデプロむ手順、耇雑なテスト実行コマンド、環境構築の手順曞など、「手順が倚くお面倒だけど、やるこずは毎回同じ」ずいう操䜜が候補になりたす。 ポむントは、スキルを蚭蚈するずきに「倉わる郚分」ず「倉わらない郚分」を芋極めるこずです。今回でいえば、worktreeの䜜成ロゞックは倉わらない郚分、セットアップ凊理は倉わる郚分でした。倉わる郚分だけをオヌバヌラむド可胜にしおおくず、汎甚性ず柔軟性を䞡立できたす。 たずめ チヌム内で「worktreeは難しい」ず敬遠されおいた䞊列開発が、Git worktreeの耇雑な操䜜をClaude Codeスキルに閉じ蟌めるこずで、誰でも気軜に䜿えるものになりたした。 蚭蚈面では、worktree䜜成ず環境セットアップを分離し、プロゞェクトごずにセットアップをカスタマむズできるようにしたした。この分離によっお、他の゚ヌゞェントやスキルからも再利甚しやすくなっおいたす。 「手順が倚くお面倒な操䜜」を芋぀けたら、スキルに閉じ蟌められないか怜蚎しおみおください。Claude Codeのスキルは、チヌムの開発䜓隓を底䞊げする匷力な手段です。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。ファむンディ株匏䌚瀟で゚ンゞニアをしおいる山岞です。 Findy AI CareerはAI人材に特化した求人プラットフォヌムです。掲茉する求人祚は、䌁業の求人情報をベヌスにAI掻甚状況や方針を盛り蟌んで䜜成しおいたす。この業務はFindyのbizメンバヌが担圓しおおり、1件あたり20分〜1時間ほどかかっおいたした。 ai-career.findy-code.io 今回、この求人祚䜜成のワヌクフロヌをClaude Codeのカスタムスラッシュコマンドずしお実装し、䜜業時間を最倧1時間から玄5分に短瞮したした。 この蚘事では、Claude CodeずMCPModel Context Protocolを組み合わせた業務自動化の具䜓的な進め方ず、゚ンゞニア以倖のメンバヌが䜿えるツヌルに仕䞊げるたでの過皋を玹介したす。瀟内の定型業務をClaude Codeで自動化したい方の参考になれば幞いです。 求人祚䜜成の業務フロヌ 䜕が課題だったのか 解決策: Claude Codeのカスタムスラッシュコマンド Notion MCPで䌁業情報を自動取埗 プロンプト蚭蚈の工倫 詊行錯誀した郚分 ゚ンゞニア以倖のメンバヌぞの展開 成果 たずめ 求人祚䜜成の業務フロヌ たず、求人祚がどのように䜜られおいるかを説明したす。 bizメンバヌが䌁業ずの商談でヒアリングした内容をもずに、Findy偎でFindy AI Career向けの求人祚を䜜成・掲茉しおいたす。具䜓的なフロヌは次のずおりです。 求人祚のURL・詳现情報を取埗 商談におAI蚘述郚分をはじめずする詳现情報をヒアリング Notionの䌁業情報・商談ログやFindy AI Career䞊に掲茉しおいる既存求人、Web䞊のAI関連蚘事を統合しおClaudeWeb版でドラフト䜜成 Google Docにドラフトをコピペし、䌁業ずGoogle Doc䞊で内容を掚敲 ドラフトFIX埌、マヌクダりンに倉換しお管理画面から入皿 このうちステップ3が最も工数のかかるボトルネックでした。 䜕が課題だったのか ステップ3の問題は倧きく2぀ありたした。 1぀目は、 参照すべき情報゜ヌスが散らばっおいる こずです。求人祚を䜜成するには、Notionに蚘録された商談のヒアリング情報、既存のFindy AI Career求人、䌁業のテックブログや登壇蚘事など、耇数の゜ヌスを手䜜業で集めお統合する必芁がありたした。䞭には認蚌が必芁な゜ヌスもあり、情報を読めおいないケヌスも発生しおいたした。 2぀目は、 䜜業が属人化しおいた こずです。各メンバヌがそれぞれのプロンプトでClaudeに投げおいたため、出力品質に個人差がありたした。経隓豊富なメンバヌなら玄20分で枈む䜜業が、䞍慣れなメンバヌだず1時間近くかかるこずもあり、品質のバラ぀きも課題でした。 解決策: Claude Codeのカスタムスラッシュコマンド これらの課題を解決するために、Claude Codeのカスタムスラッシュコマンドを開発したした。䌁業名ず求人祚URLを枡すだけで、必芁な情報を自動収集し、求人祚ドラフトを䞀発で生成するワヌクフロヌです。 党䜓の凊理フロヌは次のようになっおいたす。 実際にコマンドを実行するず、次のような察話圢匏で求人祚が生成されたす。 > /create-job-posting ⏺ 求人祚䜜成を開始したす。 䌁業名ず既存求人祚のURLを教えおください。 > ABC株匏䌚瀟 ⏺ 既存求人祚のURLたたは远加情報はありたすか > https://ai-career.findy-code.io/companies/xxx/jobs/yyy ⏺ Notionから ABC株匏䌚瀟 の情報を怜玢したす。 ⏺ 以䞋のNotionペヌゞが芋぀かりたした。どのペヌゞを䜿甚したすか 1. ABC株匏䌚瀟商談 - 2025/10/09 - AI特化の求人を掲茉する方針... 2. ABC株匏䌚瀟商談 - 2025/08/22 - AI人材の採甚ニヌズに぀いお... 3. すべお䜿甚する 4. 䜿甚しないスキップ > 1 ⏺ 情報を取埗したした。求人祚ドラフトを䜜成したす。 ⏺ Write(drafts/abc_ai-engineer_20251224.md) ⎿ Wrote 368 lines ⏺ 求人祚ドラフトを䜜成したした。 確認が必芁な項目 - 生成AI掻甚ラベル: 4぀の遞択肢から確認が必芁 - AI掻甚に察する評䟡制床: 既存求人に蚘茉なし - ゚ンゞニア・党瀟のAI利甚割合: 具䜓的な数倀が䞍明 Notion MCPで䌁業情報を自動取埗 MCPModel Context Protocol は、AIアシスタントが倖郚のデヌタ゜ヌスやツヌルず連携するための暙準プロトコルです。今回はNotion MCPを䜿い、䌁業名を入力するだけで商談時のヒアリング情報を怜玢・取埗できるようにしたした。 Notionには倧量のペヌゞが存圚するため、カテゎリずペヌゞタむプを指定しお怜玢範囲を絞り蟌んでいたす。怜玢結果が耇数ある堎合は、AIに自動で遞ばせず、ナヌザヌに遞択しおもらう圢にするこずで、誀った䌁業情報を参照するリスクを排陀したした。 プロンプト蚭蚈の工倫 カスタムスラッシュコマンドのプロンプトには、品質を担保するためにいく぀かの工倫を入れおいたす。 たず「雰囲気で曞かない」ずいう原則です。情報゜ヌスに蚘茉がない項目は掚枬で埋めず、「確認が必芁な項目」ずしおリストアップするようにしたした。これにより、ドラフトのどこが確定情報でどこが未確認なのかが䞀目でわかりたす。 既存のFindy AI Career求人からの情報取埗にも工倫がありたす。URLが枡された堎合はAPIを呌び出しお求人デヌタをJSON圢匏で取埗し、䌚瀟抂芁や技術スタック、犏利厚生ずいった共通項目は正確にコピヌされるようカラムを指定しおいたす。これにより「手䜜業でコピペする」工皋が䞍芁になりたした。 たた、求人祚の衚珟やトヌンなど、メンバヌごずに刀断が分かれおいた郚分もプロンプトにルヌルずしお明蚘しおいたす。こうした暗黙知をコヌドに萜ずし蟌んだこずで、誰が実行しおも同じ品質の出力が埗られるようになりたした。 詊行錯誀した郚分 初期のプロンプトでは、AIが情報を補完しすぎる問題がありたした。゜ヌスに蚘茉がない「AI掻甚に察する評䟡制床」や「゚ンゞニアのAI利甚割合」ずいった項目を、もっずもらしく埋めおしたうこずがありたした。゜ヌスの採甚基準が人によっお異なる堎合や、確認挏れが起きおしたうリスクがあったため、「情報がない堎合は【芁確認】ず明蚘する」ルヌルを远加したした。 Notion MCPの怜玢粟床にも課題がありたした。初期のプロンプトでは怜玢範囲の絞り蟌みが甘く、関係ないペヌゞや䌌たようなペヌゞをたずめお読み蟌んでしたうリスクがあり、怜玢結果の確実性を担保できおいたせんでした。Notion MCPの怜玢粟床は、接続先のデヌタがどれだけ敎理されおいるかに巊右されたす。今回粟床高く怜玢できたのは、bizメンバヌがNotionのデヌタベヌスをカテゎリやペヌゞタむプで敎備しおくれおいたからです。この運甚のおかげで、カテゎリを絞り蟌んだ䞊で䌁業名でフィルタリングする方法が取れたした。 ゚ンゞニア以倖のメンバヌぞの展開 bizメンバヌがClaude Codeを䜿うのは初めおだったため、Homebrewのむンストヌルから始たるセットアップガむドをREADMEに甚意したした。タヌミナルの開き方、gitの初期蚭定、APIの認蚌蚭定、Personal Access Tokenの䜜成手順たで、スクリヌンショット付きで解説しおいたす。 実際にbizメンバヌに操䜜しおもらうお披露目䌚も開催したした。その堎で「Notionの怜玢でヒットしない䌁業がある」「既存求人から流甚したい項目がコピヌされおいない」ずいったフィヌドバックをいただき、Notion MCPの怜玢範囲やFindy APIからのデヌタ取埗を改善しおいきたした。 成果 導入埌の倉化をたずめたす。 指暙 Before After 䜜業時間1件あたり 20分〜1時間 箄5分 品質のバラ぀き 経隓倀に䟝存 誰でも同氎準 プロンプト 個人ごずにバラバラ コマンドずしお統䞀 情報゜ヌスの収集 手䜜業で耇数サむト巡回 自動取埗 経隓豊富なメンバヌでも20分から5分ぞず短瞮されおおり、䞊列で耇数の求人祚を䜜成できるようにもなりたした。 実際に利甚したbizメンバヌからは「出力がそのたた䜿えるレベルで、手盎しがほずんど芁らなくなった」ず奜評を埗おいたす。 さらに嬉しい倉化ずしお、゚ンゞニアリングのバックグラりンドを党く持たないbizメンバヌが、このツヌルの仕組みを応甚しお自ら新しい機胜を远加するようになりたした。本機胜がきっかけで、珟堎の課題に合わせお機胜を䜜っおいくずいう業務の効率化が胜動的に起こるようになったのです。 bizメンバヌからは「単に求人祚䜜成の業務効率だけでなく、業務党䜓の効率化を自ら図る基瀎ができた。仕組みや考え方を教えおもらったこずで、効率化ツヌルを゚ンゞニア頌りにするのではなく自分でもできる範囲があるず気付かされた」ずいう声もいただいおいたす。 たずめ 今回の取り組みを通じお感じたのは、暗黙知をプロンプトに萜ずし蟌むこずの䟡倀です。個人のスキルや経隓に䟝存しおいた業務を、カスタムスラッシュコマンドずしおコヌド化するこずで、チヌム党䜓で同じ品質を担保できるようになりたした。 このプロゞェクトは、bizメンバヌずの䌚話から課題を拟い䞊げたこずがきっかけでした。普段からbizメンバヌずコミュニケヌションを取り、困りごずを気軜に盞談しおもらえる関係を䜜っおおくこずが、こうした改善の第䞀歩になるのだず実感したした。 Claude Code × MCPの組み合わせは、瀟内の業務改善ツヌルずしお手軜か぀匷力な遞択肢です。䌌たような課題を抱えおいる方の参考になれば幞いです。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。デヌタ゚ンゞニアの田頭( @tagasyksk )です。 ファむンディのデヌタ基盀は、CTO宀デヌタ゜リュヌションチヌムが事業郚暪断で開発・運甚を担っおいたす。事業の拡倧に䌎っおプロダクト数が急増し、圓初採甚しおいたデヌタメッシュのアヌキテクチャでは管理コストの増倧やサむロ化ずいった課題が顕圚化しおきたした。 本蚘事では、Google Cloudプロゞェクトの統合や共通化ず分暩のバランス再蚭蚈など、デヌタ基盀をプラットフォヌムぞず進化させおいる途䞊の取り組みに぀いおご玹介したす。ただ道半ばではありたすが、同様の課題に向き合っおいる方の参考になれば幞いです。 これたでのデヌタ基盀のあゆみ デヌタメッシュの採甚 責任分界点の蚭蚈 事業拡倧で盎面した課題 プロダクトの急増 Google Cloudプロゞェクトの増殖 技術遞定のサむロ化 プロゞェクト間デヌタ連携の耇雑化 どう解決したか デヌタメッシュの再解釈ずプロゞェクト統合 フェデレヌテッド・ガバナンスの確立 dbtランタむムの共通化 Lookerによる事業郚暪断の指暙管理 今埌の展望 終わりに これたでのデヌタ基盀のあゆみ デヌタメッシュの採甚 ファむンディのデヌタ基盀は、分散型のデヌタりェアハりスアヌキテクチャであるデヌタメッシュを採甚しおいたした。 デヌタメッシュは、各事業郚がデヌタの所有暩を持ち自埋的にデヌタを管理するアヌキテクチャです。ファむンディでは次のような方針で運甚しおきたした。 事業郚ごずにGoogle Cloudプロゞェクト及びBigQueryを分離 各事業郚がそれぞれのデヌタを管理し、アクセス暩を事業郚単䜍で制埡 事業郚間のデヌタ共有にはBigQuery Sharingを利甚 責任分界点の蚭蚈 デヌタチヌムでは、レむダヌごずに責任分界点を定め、各チヌムが自埋的にデヌタを掻甚できる䜓制を敎えおいたした。デヌタチヌムは゜ヌスデヌタの取り蟌みや共通のデヌタモデルを敎備し、各事業郚はその䞊に独自の分析甚モデルを構築する圢です。 デヌタメッシュの運甚に぀いおは、過去に別の登壇でも発衚しおいたす。 事業拡倧で盎面した課題 プロダクトの急増 ファむンディでは2026幎に「生成AI時代の事業戊略2026」ずしお、Findy InsightsやFindy AI+など4぀の新芏AI事業を同時に発衚したした。 prtimes.jp これにより、圓初の蚭蚈で前提ずしおいた「プロダクト数がある皋床限られおいる」状態が厩れ、いく぀かの課題が衚面化したした。 Google Cloudプロゞェクトの増殖 圓初の蚭蚈思想に則り、プロダクトごずにGoogle Cloudプロゞェクトを分離しおいたため、プロダクトが増えるたびにプロゞェクトも増え続ける構造になっおいたした。IAM、予算、リ゜ヌスの管理がプロゞェクトの数に比䟋しお煩雑になり、新しいプロダクトが远加されるたびに同じようなむンフラ構築䜜業が発生しおいたした。 技術遞定のサむロ化 デヌタメッシュではデヌタに関わる技術遞定も各事業郚に委ねおいたため、ツヌルや実行環境が事業郚ごずにバラバラになっおいたした。デヌタ倉換にはdbtずDataformが混圚し、BIもスプレッドシヌトずLooker Studioが䜵存、dbtの実行環境もDocker・GitHub Actions・ロヌカル実行ず統䞀されおいない状態でした。䞭倮で統制しづらく、䌚瀟ずしお共通のノりハりを蓄積しにくいこずが課題になっおいたした。 プロゞェクト間デヌタ連携の耇雑化 事業郚暪断でのデヌタ掻甚ニヌズも増えおきたした。各プロダクトのCRMに蓄積された顧客情報をBigQueryに集玄した「共通䌁業マスタ」の構築や、MCPずAI゚ヌゞェントを組み合わせたSlackからの暪断怜玢など、プロダクトを跚いだデヌタ連携の取り組みが広がっおいたす。 tech.findy.co.jp しかし、プロゞェクトが分離された構成のたたでは、プロダクトが増えるたびに連携先も倍々で増加し、管理が远い぀かなくなるこずが芋えおいたした。 どう解決したか デヌタメッシュの再解釈ずプロゞェクト統合 方針転換の栞ずなったのは、「デヌタメッシュにおけるドメむン分離の単䜍をプロゞェクトからデヌタセットに倉える」ずいう刀断です。 Google Cloudプロゞェクトを䞀぀に統合し、BigQueryのデヌタセット単䜍でドメむンを分離する構成に移行したした。これにより、プロゞェクト管理のオヌバヌヘッドを倧幅に削枛し぀぀、ドメむンごずのデヌタの独立性は維持しおいたす。 フェデレヌテッド・ガバナンスの確立 フェデレヌテッド・ガバナンスずは、党瀟共通で統制すべきルヌルず各事業郚に委ねるルヌルを明確に分け、䞭倮集暩ず分暩を䞡立させるガバナンスモデルです。プロゞェクト統合に䌎い、このモデルに沿っおガバナンスの境界を敎理したした。 IAM管理、Cloud DLP、BigQuery Policy Tagなどのセキュリティ・コンプラむアンス領域は元々共通化しおいたものです。事業拡倧を機に、CI怜査項目、Formatter・Linter、dbtの実行環境(ランタむム)を新たに暙準化したした。䞀方で、事業ドメむン、ビゞネスむベント、デヌタモデリングずいったビゞネスに近い領域は匕き続き各事業郚に委譲しおいたす。 共通化すべきものず分暩すべきものの線匕きが明確になったこずで、デヌタチヌムず事業郚チヌムの双方が迷いなく動けるようになりたした。 dbtランタむムの共通化 バラバラだったdbtの実行環境をDockerに統䞀したした。共通のDockerむメヌゞをArtifact Registryで管理し、各リポゞトリはGitHub Reusable Workflowを通じお共通のワヌクフロヌを呌び出す圢にしおいたす。 jobs : dbt-build : uses : org/shared-workflows/.github/workflows/dbt.yml@main with : image_tag : "0.0.0" mount_path : "." dbt_args : "build --target prod" たた、ロヌカル開発時の共通コマンドにはTaskfileのincludes機胜を掻甚しおいたす。各リポゞトリは共通Taskfileを参照するだけで、lint、test、buildなどの操䜜を統䞀されたむンタヌフェヌスで実行できたす。 includes : common : taskfile : ./path/to/shared/Taskfile.yml tasks : lint : cmds : - task : common:lint test : cmds : - task : common:test 新しいプロダクトが远加された堎合も、共通のワヌクフロヌずTaskfileを参照するだけでdbt環境が敎うため、立ち䞊げのリヌドタむムが倧きく䞋がりたした。バヌゞョンアップやdependabotぞの察応も、事業郚の数だけ必芁だったものが共通むメヌゞ1぀の曎新で枈むようになっおいたす。 Lookerによる事業郚暪断の指暙管理 デヌタ基盀のリアヌキテクチャずあわせお、BIツヌルの芋盎しも行いたした。これたで事業郚ごずにスプレッドシヌトやLooker Studioで管理しおいた指暙を、Lookerに集玄しおいたす。 Lookerのセマンティックレむダヌを掻甚するこずで、党瀟で共通のビゞネスロゞックを定矩し、指暙の䞀貫性を担保できるようになりたした。䞀方で、指暙の定矩そのものは各事業郚に委譲しおいたす。実際に、党䜓のダッシュボヌドの68%がデヌタ゚ンゞニア以倖のメンバヌによっお䜜成されおおり、䞭倮に寄せ぀぀も珟堎のデヌタ掻甚はむしろ掻発になっおいたす。Looker導入の詳现に぀いおは次の蚘事で玹介しおいたす。 tech.findy.co.jp 今埌の展望 プラットフォヌム化の取り組みはただ道半ばです。今埌は次の2぀の方向で進化を続けおいきたす。 1぀目は、セルフサヌビスか぀AI Readyなデヌタ基盀です。事業郚のメンバヌやAIが自らデヌタを探玢・分析できる仕組みをさらに拡充し、デヌタチヌムぞの䟝存を枛らしおいきたいず考えおいたす。 2぀目は、メタデヌタの敎備です。今埌事業やプロダクトが増えおも䜎コストでデヌタを探し利甚できるようにし、事業や組織間のシナゞヌをデヌタで生み出しおいくこずがチヌムのミッションずしお求められおいたす。 終わりに 本蚘事では、デヌタメッシュからプラットフォヌムぞずデヌタ基盀を進化させた取り組みに぀いお玹介したした。 事業の成長フェヌズによっお、最適なアヌキテクチャは倉わりたす。ファむンディでは、デヌタメッシュの考え方自䜓を捚おたわけではなく、「プロゞェクト分離」から「デヌタセット分離」ぞずドメむン境界の粒床を芋盎すこずで、スケヌラビリティず自埋性のバランスを取り盎したした。 デヌタ基盀は䞀床䜜っお終わりではなく、事業の成長に合わせお進化し続けるものです。今回玹介したリアヌキテクチャもただ道半ばで、セルフサヌビス化やメタデヌタ敎備など取り組むべきテヌマは山積みです。この蚘事が、同様の課題に向き合っおいる方の参考になれば嬉しいです。 ファむンディではこのデヌタ基盀を䞀緒に育おおいくメンバヌを募集しおいたす。少しでも興味が湧いた方はカゞュアル面談お埅ちしおおりたす herp.careers
こんにちは。ファむンディ株匏䌚瀟でテックリヌドマネヌゞャヌをやらせおもらっおる戞田です。 珟圚の゜フトりェア開発の䞖界は、生成AIの登堎により倧きな転換点を迎えおいたす。 GitHub CopilotやClaude Codeなど生成AIを掻甚した開発支揎ツヌルが次々ず登堎し、開発者の日垞的なワヌクフロヌに組み蟌たれ぀぀ありたす。 ファむンディではClaude CodeのSkillやカスタムコマンドなどをPlugins経由で瀟内展開しおいたす。Pluginsに関しおは前回の蚘事を参照しおください。 tech.findy.co.jp AIに蚭蚈やタスク分解、コヌド生成を任せる分、Pull requestのコヌド品質やコヌドレビュヌがネックになるこずがありたす。「型チェックが抜けおる」「呜名がチヌムの芏玄ず違う」ずいった指摘で手戻りが発生するず、AIで加速した開発のテンポが厩れおしたうからです。 本蚘事では、その課題に察凊するために瀟内Pluginsに䜜ったセルフレビュヌスキルを玹介したす。過去のレビュヌコメントから自動生成するチェックリスト、耇数のAI゚ヌゞェントによる䞊列レビュヌ、修正の段階的な適甚を組み合わせお、Pull requestを出す前のセルフレビュヌを自動化しおいたす。 Pull requestの質ず、コヌドレビュヌをめぐる課題 セルフレビュヌスキルの抂芁 ゚ヌゞェント䞊列レビュヌの蚭蚈 芏玄・スタックベヌスのチェック チェックリスト照合 コヌド品質チェック Codex AI コヌド簡朔化 芁件確認 レビュヌ結果の統合ず出力 修正の段階的な適甚 たずめ Pull requestの質ず、コヌドレビュヌをめぐる課題 AIが蚭蚈やコヌド生成を行うようになり、1日に䜜成できるPull requestの数は増えたした。しかし䞀方で、Pull requestの質やコヌドレビュヌで問題が出おきたした。 AIが出力したコヌドがチヌムのコヌディング芏玄に沿っおいなかったり、型チェックが抜けおいたり、テストコヌドが䞍十分だったりするず、コヌドレビュヌで指摘されお手戻りが発生したす。AIで加速した開発のテンポが厩れおしたうのです。 そしおこれら党おを人間のコヌドレビュヌで事前に防ぐのは、珟実的に難しくなっおきおいたす。 AIが生成するコヌドの量ずPull requestの数が増えおおり、これら党おを人間がチェックしようずするず、人間がボトルネックずなるのです。 そこでファむンディでは、 人間がチェックしないずいけない領域ず、AIにチェックを任せる領域を切り分けた うえで、 AIにチェックを任せる領域を自動化する こずにしたした。それが今回玹介するセルフレビュヌのスキルです。 セルフレビュヌスキルの抂芁 セルフレビュヌスキルは瀟内展開しおいるClaude Codeのスキルの䞀぀で、Pull requestを出す前にコヌド倉曎をセルフレビュヌするためのものです。「セルフレビュヌしお」ず話しかけるだけで起動したす。 # カレントブランチ党䜓をレビュヌ セルフレビュヌしお # 特定ファむルに絞る src/services/UserService.ts をセルフレビュヌしお # コミット範囲を指定 HEAD~3..HEAD の倉曎をレビュヌしお 起動するず、リポゞトリ党䜓の過去指摘パタヌン・バグ怜出・セキュリティ・コヌド品質・実装挏れずいった 異なる芖点を持぀耇数の゚ヌゞェントが同時に動き出したす。 それぞれが独立しおdiffを解析し、 党゚ヌゞェントの完了埌に結果をサマリずしお統合したす。 指摘事項は出兞゚ヌゞェント付きで䞀芧化され、「すべお反映」「個別に遞択しお反映」「反映しない」の3択でコヌドに適甚できたす。 ゚ヌゞェント䞊列レビュヌの蚭蚈 珟圚は最倧6぀の゚ヌゞェントを䞊列起動したす。各゚ヌゞェントはレビュヌ察象のdiff git diff DEFAULT_BRANCH...HEAD の結果を受け取り、それぞれ異なる芳点で独立しお動䜜したす。 党゚ヌゞェントの完了を埅っおから結果を統合するため、盎列実行ず比べお埅ち時間を倧きく削枛できたす。 芏玄・スタックベヌスのチェック プロゞェクトの呜名芏則ぞの準拠、テストコヌドの適切さテスト挏れ・カバレッゞ・テスト芏玄ぞの準拠、ドキュメントずの敎合性に泚力しお確認を行いたす。 CLAUDE.mdやrulesなど、プロゞェクトの芏玄やスタックに関するドキュメントを孊習した゚ヌゞェントが、diffの内容ず照らし合わせお芏玄違反やスタックの䞍適切な䜿甚を指摘したす。 チェックリスト照合 事前に甚意しおいるセルフレビュヌのチェックリストの各項目ずdiffを照合したす。チェックリストの項目は該圓リポゞトリの過去のPull requestで指摘された内容から生成されおいるため、「やりがちなミス」にピンポむントで反応したす。 チェックリストの自動生成の仕組みに぀いおは、次の蚘事で詳しく玹介しおいたす。 tech.findy.co.jp このチェックリストは定期的に自動で曎新されるように仕組み化しおおり、垞に最新の指摘パタヌンをカバヌできるようになっおいたす。 コヌド品質チェック Claude Code公匏プラグむンの feature-dev:code-reviewer ゚ヌゞェントが動きたす。 github.com バグ・セキュリティ・コヌド品質の3芳点で怜査し、 信頌床80以䞊の指摘のみを報告 する蚭蚈になっおいたす。「これは問題かもしれない」皋床の䜎確信床の指摘は出力されないため、レビュヌ結果がノむズで埋たりたせん。 具䜓的には次のような問題を怜出したす。 ロゞック゚ラヌ条件分岐の誀り、状態管理の䞍敎合 セキュリティ問題SQLむンゞェクション、認蚌チェックの欠萜、機密情報のハヌドコヌド コヌド品質デッドコヌド、過剰な耇雑床、テストの網矅性 Codex AI OpenAI Codex CLIの codex review コマンドにdiffを枡しおレビュヌを実行したす。 developers.openai.com プロンプトは次の優先順䜍で構成されおおり、スタむルやフォヌマットの指摘は明瀺的に陀倖しおいたす。 【最優先】バグ怜出 - ロゞック゚ラヌ、゚ッゞケヌスの芋萜ずし、䟋倖凊理の挏れ - null/undefined凊理の欠萜、境界倀チェックの䞍足 【第2優先】セキュリティ問題 - SQLむンゞェクション、XSS、CSRF - 認蚌・認可の欠陥、機密情報の露出 【第3優先】パフォヌマンス問題 - 非効率なアルゎリズム、メモリリヌク、䞍芁なルヌプ 【陀倖】コヌドスタむルやフォヌマットの指摘 Codex CLIが未むンストヌルの堎合は起動時に確認を求め、承諟されれば npm install -g @openai/codex を自動実行したす。認蚌ChatGPTアカりントぞのログむンも同様に案内したす。 ファむンディでは基本的にClaude Codeでコヌド生成を行っおおり、Codexはレビュヌの芳点を増やすための補完的な圹割で䜿っおいたす。コヌド生成したモデルずは別のモデルの芳点でのレビュヌを挟むのをオススメしたす。 コヌド簡朔化 Claude Codeのビルトむンスキル /simplify を呌び出したす。 /simplify はコヌド倉曎を察象に「コヌド再利甚」「コヌド品質」「効率性」の3芳点でレビュヌ゚ヌゞェントを䞊列実行し、結果を統合しお報告したす。既存ナヌティリティずの重耇怜出、冗長な状態管理、䞍芁な凊理・䞊列化挏れ・メモリリヌクなどが怜出察象です。 code.claude.com 芁件確認 珟圚のPull requestのタむトルずBody、玐づくIssueの内容から芁件を抜出し、実装コヌドずテストコヌドの䞡方に反映されおいるかを2軞で分析したす。 芁件は「機胜芁件」「非機胜芁件」「゚ッゞケヌス」の3皮類に分類したうえで、実装ギャップ芁件があるのに実装がないずテストギャップ実装はあるのにテストがないを区別しお報告したす。 ## ギャップ分析レポヌト ### ✅ 実装・テスト䞡方あり - ナヌザヌ認蚌: 実装: UserService.ts:42 / テスト: user_service_spec.rb:15 ### ⚠ 実装枈み・テストなし → テストが必芁です - パスワヌドリセット: 実装は PasswordService.ts にあるが、テストがない 理由: 異垞系トヌクン期限切れの挙動が未怜蚌 ### 🚚 実装なし・テストなし → 実装挏れの可胜性がありたす - メヌル通知: Issueに「登録完了メヌルを送信する」ずあるが、実装が芋圓たらない レビュヌ結果の統合ず出力 党゚ヌゞェントの完了を埅ち、結果を統合しお衚瀺したす。 各レビュヌ甚゚ヌゞェントからの報告のサマリを出力しお、コヌドの品質を党䜓的に把握できるようにしたす。 ## セルフレビュヌ結果 ### 📋 チェックリスト照合 #### ✅ 問題なし - nullチェック: OK #### ⚠ 改善提案 - 関数名の呜名芏則: getUserById → fetchUserById に統䞀するずよい #### ❌ 芁修正 - ゚ラヌハンドリング: 倖郚API呌び出しにtry-catchがない --- ### 🔍 コヌド品質チェック #### ❌ 芁修正 - L42: 認蚌トヌクンのnullチェックが欠萜 修正案: `if (!token) throw new UnauthorizedError()` --- ### 🀖 Codex AI #### ⚠ 改善提案 - L78: N+1ク゚リの可胜性。ルヌプ内でDBアクセスが発生しおいる --- ### 📊 レビュヌサマリヌ - チェックリスト照合: ✅ 3個 / ⚠ 1個 / ❌ 1個 - コヌド品質チェック: ✅ 0個 / ⚠ 0個 / ❌ 1個 - Codex AI: ✅ 0個 / ⚠ 1個 / ❌ 0個 - 芁件確認: ✅ 2個 / ⚠ 1個テストギャップ - 合蚈指摘事項: 4個 修正の段階的な適甚 レビュヌ結果が揃ったら、 AskUserQuestion で3択を提瀺したす。 ? 修正を反映したすか > 個別に遞択しお反映する (Recommended) すべお反映する 反映しない Other
 「個別に遞択しお反映する」 では、指摘事項を䞀件ず぀確認しながら採吊を刀断できたす。「この修正を適甚したすか出兞: コヌド品質チェック」のように出兞が衚瀺されたす。 ## 未察応リストむンラむンコメント甚 ### 1 - path: src/services/UserService.ts - line: 42 - source: code-reviewer - body: **[出兞: コヌド品質チェック]** 認蚌トヌクンのnullチェックが欠萜しおいたす **修正案**: ` if (!token) throw new UnauthorizedError() ` < sub > *AIセルフレビュヌ* </ sub > 「すべお反映する」 を遞ぶず、レビュヌ甚゚ヌゞェントそれぞれからの修正提案をEditツヌルで順次適甚したす。 「反映しない」 を遞ぶず、レビュヌ結果の確認だけで終了したす。内容を把握しおから自分で修正したい堎合に䜿いたす。 たずめ AIが開発ワヌクフロヌに入れば入るほど、生成されるコヌドやPull requestの数は増えおいきたすが、それら 党おに人間が察応するのは珟実的に難しくなっおきおいたす。 人間が察応する必芁のある領域ず、AIに任せる領域を切り分けたうえで、 AIに任せる領域を自動化するこずが重芁 になりたす。 党おの倉曎内容を同じレベルでレビュヌしない ようにするこずがAIレビュヌの蚭蚈のコツです。 軜埮なリファクタリングず、デヌタベヌスからの項目削陀は、同じレベルでレビュヌする必芁はありたせん。前者はコヌド品質の芳点で簡単にAIに任せおしたい、埌者は人間がしっかりレビュヌする、ずいった具合に、 倉曎内容の性質に応じお適切なレビュヌのレベルを蚭蚈するのがポむントです。 ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。Findy Tech Blog線集長の高橋 @Taka_bow です。 前線では、Gene Kim氏の26幎にわたるDevOps研究の旅路、DORA研究によるハむパフォヌマヌの実態、DevOps Enterprise Summitの倚圩な事䟋、そしおスティヌブン・スピアヌ博士ずの共著『Wiring the Winning Organization』から導かれた"勝぀組織の魔法"のフレヌムワヌクずカりチのメタファヌを玹介したした。 埌線では、この魔法を解き攟぀3぀のテクニック ── 巧遅前倒し化Slowification 、 単玔化Simplification 、 増幅Amplification ── を具䜓的な事䟋ずずもに玹介したす。そしお最埌に、Gene Kim氏自身が䜓隓した生成AIずバむブコヌディングの䞖界をお届けしたす。 前線はこちら tech.findy.co.jp 講挔動画 日本語蚳党文続き ゜シオテクニカルの達人 巧遅前倒し化Slowification Netflix ず Chaos Monkey ── 本番環境での巧遅化 単玔化Simplification Amazon ── モノリスからサヌビス分割ぞ 増幅Amplification りェストラム博士の組織文化モデル 情報理論で文化を蚺断する トペタ工堎でのシグナル増幅 生成AIから埗た教蚓 バむブコヌディングの䟡倀ず泚意点 たずめ 今幎も開催したす名前倉わりたす We're Hiring 講挔動画 conference.findy-code.io ※ 芖聎にはFindy Conferenceぞのログむン、䞊びに芖聎登録が必芁です。ご登録頂ければ、他の講挔アヌカむブも芖聎できたす。 日本語蚳党文続き ゜シオテクニカルの達人 このすばらしいシステムはどこから来たのでしょう 昚幎、フォヌスグレン博士も蚀及しおいたロン・りェストラム博士です。 圌の詳しい話はあずにしたすが、圌には"゜シオテクニカルの達人"ずいう蚀葉を教わりたした。 5぀の特城を持぀人たちです。 高゚ネルギヌで高基準。 システム思考なので倧芏暡䜜業で掻躍したすが、小芏暡䜜業でも掻躍し、質の高い質問ができたす。 フロアを歩くのが奜きで、自分の仕事が終わるず積極的に珟堎を芋お回りたす。 このたた、゜シオテクニカルの達人がどんな行動をするかお話ししたすね。 巧遅前倒し化Slowification 1぀目 ── ゜シオテクニカルの達人は"巧遅前倒し化"したす。最も危険床の高い䜜業は本番環境では行わず、前段階で問題を解決したす。 『Wiring the Winning Organization』では24の事䟋を玹介しおおり、うち20はテクノロゞヌ関連です。 しかし驚くべきこずに、最もケヌススタディが倚いのは医療業界でした。 救急郚門は非垞に危険な堎所ずしお知られおいたす。 事故に遭っお運び蟌たれた時、症状が増えお垰るこずになる確率は、スカむダむビングやベヌスゞャンプでケガする確率よりも高いのです。 ベヌスゞャンプはビルや厖、ダムなどから飛び降りるスポヌツです。病院はベヌスゞャンプよりも危険です。 Ms.モリス 察 Ms.モリ゜ンずいうケヌススタディがありたす。 間違った患者が凊眮を受けおしたった事䟋で、14もの匷力なシグナルが出おいたにも関わらず手術は行われたした。 患者自身も"違う"ず蚎えおいたそうです。 明らかに制埡䞍胜な状態に陥っおいる兆候が芋られるような時には、システムを停止させるのが正解だず瀺す事䟋です。 Netflix ず Chaos Monkey ── 本番環境での巧遅化 私たちの業界における巧遅前倒し化の最も良い事䟋は、2011幎4月に起こったAmazon EC2の倧芏暡障害でしょう。 具䜓的にはAWSで最も芏暡が倧きいUS-Eastの可甚性ゟヌンがダりンしたした。顧客数も最倧だったので倧手顧客もすべおダりンしたのですが、非垞に興味深いこずにNetflixは䟋倖でした。 NetflixはAmazonのクラりドサヌビスの利甚を公蚀しおいる倧芏暡ナヌザヌですが、どうやっお危機を乗り越えたのでしょう その答えは埌日明らかになりたした。 圌らは3぀の驚くべき内容を明かしたした。 "単䞀障害点は排陀せねばならず、Amazonはその最たる存圚だ"。 "障害を乗り越えるためには、垞に障害を起さなければならない"。 そう蚀っお"Chaos Monkey"の存圚を明らかにしたした。 ご存じの方も倚いでしょうが、このChaos Monkeyはランダムに障害を起こしたす。クラりド䞊の仮想マシンに察しお、日䞭にです。 Netflixの開発者でシステムを構築し実行する人間なら、い぀でもシステムがダりンし埗るず知っおいるので、障害時に回埩力のあるシステムを䜜りたす。 だからAmazonの障害も圌らにずっおは日垞にすぎなかったのです。 さらに驚くべきこずに、Netflixはいく぀もの障害を乗り越えおきたした。 2014幎にはAmazonの倧芏暡リブヌトがありたした。パッチを圓おるために党䜓の5のサヌバヌを再起動する必芁があったのです。 ぜひスラむドをご芧ください。NetflixのChristos Kalantzis氏が蚀っおいたこずです。"緊急リブヌトのニュヌスを聞いた時、圱響を受けるノヌド数のリストを確認しおぞっずしたした。特にデヌタベヌス呚りです"。ただ圌はこうも蚀いたした。"でもChaos Monkeyのおかげで、かかっおこいです"。 結果はどうだったか。Bruce Wong氏が蚀ったように、2700以䞊ある本番デヌタベヌスのノヌド䞭、218のノヌドがリブヌトされ、そのうち22は正垞にリブヌトされたせんでした。 でもNetflixの顧客にダりンタむムは発生したせんでした。 これこそが巧遅化の賜物です。本圓に耐障害性ず可甚性を重芖するなら、私たちは恐れずに本番環境で自分たちを詊すべきなのです。 技術的な負債を解消するこずや、"䜕かが倉"ず誰かが蚀った時には耳を傟けるこずも含たれたす。 巧遅前倒し化の事䟋玹介でした。 単玔化Simplification 2぀目に移りたす。次は"単玔化"です。 単玔化ずは぀たり、問題を分割するこずです。倧きな問題を小さくし、安党に解決しやすい問題にするのです。方法はいく぀もありたす。䞀気に行うこずも、段階的に行うこずもできたす。私のお気に入りの1぀はモゞュヌル方匏です。 DevOps研究ずいう芳点から最も成果が期埅できるのは、アヌキテクチャでした。䜕によっお枬定できるでしょう どの皋床たで、誰の蚱可もなしにシステムを倧幅に倉曎できるのか。チヌム倖の人間ず现かい調敎を行うこずなく、どの皋床たで仕事を進められるか。どの皋床たで、他のサヌビスずは関係なくデプロむずリリヌスができるか。䞍足しがちな統合テスト環境を䜿うこずなく、必芁なテストを任意のタむミングでどこたで実行できるか。 私たちは瀟内の倚くの人間ずカップリングされおいたすが、これらの条件を満たせれば、営業時間内のデプロむも可胜で、ダりンタむムも最小限に抑えられたす。 Amazon ── モノリスからサヌビス分割ぞ 実際に私が気に入っおいる事䟋の1぀が、2000幎代初頭のAmazonの話です。 米囜では倚くの人が昔のAmazonを芚えおいたす。90幎代埌半はAmazonで本を泚文したした。本ず音楜を売っおいるシンプルなサむトでした。 しかし2002幎になる頃には、補品カテゎリが35皮類も増えおいたした。これによりチヌム間のコミュニケヌションず調敎の量が増えたした。 AmazonのCTOであるワヌナヌ・ノォゲルス博士が2004幎にある発蚀をしおいたす。 デゞタルチヌムが盎面しおいた䞍可解な仕様に関しおです。 その仕様ずは、音楜やビデオや電子曞籍などデゞタル補品を賌入する際にも配送先䜏所の入力が必芁ずいうものでした。 配送する物など䜕もないにも関わらず必須だったのです。 デゞタルチヌムは補品カテゎリヌごずにあった80もの受泚担圓チヌムの元を蚪れお倉曎のお願いをしたした。でも圌らの答えはい぀も"予算がない"でした。 そんなわけでデゞタルチヌムはやるべきこずを達成できぬたた、行き詰っおしたったのです。 理由は、圓時のAmazonの゜フトりェアアヌキテクチャがモノリスで、3500人の゚ンゞニアが党員、1぀のカりチを䞀緒に運んでいるような状態だったからです。 補足 モノリスmonolithずは、すべおの機胜が1぀の倧きなコヌドベヌスに統合された゜フトりェアアヌキテクチャのこずです。 デプロむ件数からも芋おずれたす。1999幎には幎間で倚数のデプロむが行われおいたのが、2001幎にはほが停止状態ずなっおいたした。 幎間にわずか数十件で、倚くのデプロむが未完に終わりたした。 スティヌブ・む゚ギ氏が曞いた有名なメモがありたす。 Amazonの元CEOで創蚭者ゞェフ・ベゟス氏の有名なお達しに蚀及した内容で、"チヌム間のコミュニケヌションはAPIのみで行い、䟋倖は蚱されない"、"埓わない者は解雇する"ずたで曞かれたものでした。 最埌の"良い䞀日を"はむ゚ギ氏の远加したゞョヌクだそうです。 "ベゟスはスタッフの䞀日がどうでも気にしない"ずね。 それ以倖は実際の内容で、 元陞軍レンゞャヌで圓時CIOだったリック・ダルれル氏が匷行したした。 補足 リック・ダルれル氏はこんな感じの方です。動画 www.youtube.com 10億ドル芏暡のプロゞェクトでしたが効果も絶倧でした。1぀のサヌビスを10に分割し、10から100、さらには1000にたで分割したした。 するず幎間数十件だったデプロむ数は、2011幎には1日あたり1侇5000件、2015幎には1日あたり13侇6000件にたで増えたした。 さお、なぜでしょう 圌らはカりチを现かく分割するこずで、行動に独立性を䞎えたした。おかげでチヌム倖ずのコミュニケヌションや調敎を行わずに、開発、テスト、デプロむができるようになったのです。 ケント・ベック氏はよく、疎結合を理解するのに30幎かかったず話しおいたす。 Gene Kim氏の講挔を聞きながら熱心にメモをずるKent Beck氏 私もたったく同じです。疎結合がなぜそれほど重芁なのか理解するのに30幎かかりたした。 補足 疎結合decouplingずは、コンポヌネント間の䟝存床を䜎くし、それぞれが独立しお倉曎・デプロむできるようにする゜フトりェアアヌキテクチャの蚭蚈原則です。前線で玹介した密結合couplingの察矩語にあたりたす。 増幅Amplification それでは最埌のテクニックを簡単に玹介したいず思いたす。 最初に話した巧遅前倒し化は本番前の段階で問題を解決するずいう話でした。単玔化は問題を分割しお小さくする話でした。3぀目は匱いシグナルを増幅する話です。倧きな問題になっおしたう前に、倧きな問題ず同様に察凊するためです。 りェストラム博士の組織文化モデル 先皋のロン・りェストラム博士。 圌が研究しおいたのは、医療、航空宇宙、原子炉分野の安党性に関しおです。 その䞭であるこずに気づきたした。安党性は組織文化ず盞関性が高いずいうこずです。 安党性が最䜎レベルの組織に芋られたのは、これらの特城です。情報を隠ぺいし、悪いニュヌスのメッセンゞャヌを攻撃したす。 チヌム間の橋枡しは行わず、倱敗も隠ぺい、新しいアむデアは朰したす。良くありたせんよね。 真ん䞭は圌が"官僚的"ず呌ぶグルヌプで、人を守るためにプロセスを䜜りたす。わりず良さそうです。 でも最高の組織では、これらの特城を芋いだせたす。情報を積極的に求め、メッセンゞャヌは悪いニュヌスを䌝えるように蚓緎され、リヌダヌはそれを聞くように蚓緎されたす。 倧野耐䞀氏が蚀うように、"問題がないこずが最倧の問題"なのです。 補足 倧野耐䞀氏はトペタ自動車の元副瀟長で、トペタ生産方匏の生みの芪ずされる人物です。英語では "Having no problems is the biggest problem of all." ずしお広く知られおいたす。 トペタ生産方匏 䜜者: 倧野 耐䞀 ダむダモンド瀟 Amazon Toyota Production System : Beyond Large-Scale Production Amazon 責任が共有されおいるのでチヌム間の橋枡しも掚奚されたす。アップタむムず可甚性はOpsだけの仕事ではありたせん。情報セキュリティがそうであるように、それは皆の仕事なのです。そしお障害が起きおしたったら、ずこずん調べたす。 情報理論で文化を蚺断する ロン・りェストラム博士は蚀いたした ── "文化は時に問題ずなり埗る"。なぜなら圌の蚀葉で蚀うず、文化は軜くお空気のようなもので、぀たり目には芋えにくく、実䜓がないものだからです。 スピアヌ博士ず私が挑戊したこずの1぀は、りェストラム博士が明確化しようずした内容ず同じでしたが、私たちは情報理論を䜿いたした。りェストラム博士が蚀っおいたこずをすべお衚珟できるず思いたす。 情報はたず生成されなければならず、それが送信され、確実に受信され、察応がなされおから問題が解決したか確認したす。助けを求めおきた人に、問題は解決したかず尋ねるのです。 そしお ── 私がこれを奜きな理由ぱンゞニアずしお蚺断できるからです。 ぀たり、文化の問題なのか 情報生成に問題があったのか そもそも知っおたのか それずも送信段階の問題 悪いニュヌスのメッセンゞャヌは攻撃されるので送りたくないですからね。 それずも受信偎の問題 リヌダヌに届いおいない あるいは察応が芋送られた ぀たり優先順䜍の問題 それずも最埌の確認挏れ 問題が解決したか確かめおいない トペタ工堎でのシグナル増幅 スティヌブン・スピアヌ博士の本はすべお読みたした。トペタ生産方匏の研究論文も含めおね。ただ『Wiring the Winning Organization』の"増幅"の章で、圌は非垞にすばらしい事䟋の1぀を挙げおいたした。 進行䞭のトペタ生産方匏に基づいた事䟋です。 圌がトペタ自動車の補造工堎を盎接蚪問した時の話でした。 テキサス州サンアントニオにある、トラックやSUVを補造しおいる工堎です。トペタの瀟員ずティア1サプラむダヌの人間、合わせお数千人の埓業員がいたそうです。 シグナル増幅のスピヌドの速さを瀺す事䟋です。 工堎には3000〜4000ものアンドンのコヌドがあり、それを匕くずリヌダヌの助けが必芁な問題発生を意味したす。 しかし最も泚目すべきこずの1぀は、米囜トペタのSVPであるKevin Voelkel氏が毎日数時間は珟堎にいるずいうこずです。 補足 Kevin Voelkel氏は、トペタ・モヌタヌ・マニュファクチャリング・テキサスの SVPシニア・バむスプレゞデント です。 リヌダヌが珟堎を実際に芋るこずの倧切さを瀺す゚ピ゜ヌドです。 埓業員の仕事ぶりを確かめるこずで、郚䞋の目暙達成のために自分に䜕ができるかが芋えおきたす。 私がこの話をした理由は皆さんがリヌダヌだからです。 珟堎で埓業員の業務を劚げおいる障害に気づいおあげるために、どうすれば珟堎の実態を把握できるか考えおみおください。 生成AIから埗た教蚓 話を締めくくる前に、昚幎生成AIを䜿っおみお私が孊んだこずをお話ししたいず思いたす。 正盎、これたでのキャリアを通しおこんなに楜しかったこずはありたせん。 昚日、ケント・ベックも最高に楜しいず蚀っおいたしたね。ずにかく目新しくお新鮮で、コヌディングの喜びを私の日垞にもたらしおくれたした。 先皋、スティヌブ・む゚ギ氏が曞いたこちらのメモをご玹介したした。 私は圌の仕事ぶりの倧ファンで、長幎圌の話を匕甚し続けおいたす。AmazonずGoogleで20幎過ごしおきた圌ず、昚幎やっず䌚えたした。 "駆け出し゚ンゞニアの死"ず題した講挔をカンファレンスで行い、AI登堎の圱響に぀いお話しおいたした。 駆け出し゚ンゞニアは消える運呜か 答えはノヌです。これたで以䞊に開発者は増えるでしょう。 実際に開発䜜業にAIを䜿っおみお、新たな楜しい冒険が始たりたした。スティヌブずは䞀緒に本を曞き始めたした。『バむブコヌディングブック』ずいう今秋に出版予定の本です。 補足 原題 "Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond" 2025/10/21 に発売されたした。 Vibe Coding: Building Production-Grade Software With GenAI, Chat, Agents, and Beyond 䜜者: Kim, Gene , Yegge, Steve It Revolution Press Amazon 私はあるこずに驚嘆したした。なんずスティヌブは、調子が良い日には、1日あたり7000〜1侇2000行におよぶコヌドを35幎間取り組んできたゲヌムのために曞き続けおいたのです。 圌は䜜業を進めるために䜕癟ドルもClaudeに費やしおいたした。 ここで疑問が湧くず思いたす。 スティヌブのような人だけがそうやっお ── 倚くタむピングすれば良いわけではないので、数字で比べたくはないのですが ── スティヌブ・む゚ギのように100䞇行以䞊のコヌドを曞いおきた実瞟がないずダメでしょうか それずも私のような平凡な開発者でもAIの恩恵を受けられるでしょうか 驚いたこずに答えはむ゚スでした。 本を曞いおいた頃、その最埌の80時間で ── 気づけば私は4000行のコヌドを曞いおいたした。原皿の締切盎前で怒涛の線集䜜業を行っおいたさなかにです。 スラむドの䞊の郚分は、その4日間の間に本の䜜業に費やした時間を瀺しおいたす。 その䞋はコヌディングをした時間です。 本の執筆にAIを圹立おるためにバむブコヌディングでツヌルを䜜っおいたした。 圓時の私は、実は手ず手銖を痛めおしたっおおり、4぀のGoogleドキュメント間でコピペするだけの䜜業さえ苊痛でした。 そこで思ったのです。本の原皿をSQLデヌタベヌスのようにしお、ク゚リを送るこずで目次や文章の䞀郚を取り出したり、章や節ごずに取り出したりしお、AIで曞き換えられるようにしたいず。 スティヌブ・む゚ギのレベルでなくおも、平均的な開発者でも、平均以䞋の開発者でも、バむブコヌディングの恩恵は受けるこずができたす。 バむブコヌディングの䟡倀ず泚意点 そしお本の䞭では ── バむブコヌディングの䟡倀を挙げ、英語の頭文字から"FAAFO"ず呌んでいたす。 より速く欲しいものを䜜るこずができ、より高い目暙に挑戊するこずができ、自分䞀人で構築できるようになりたす。他人に頌る必芁も、他者ず調敎する必芁もありたせん。普通ならなかなか難しいこずですよね。だけど䜕より、䜜業がはるかに楜しくなりたす。ケント・ベックは数十幎ぶりに午前3時にコヌディングをしたそうですよ。 䜕かを䜜る䜜業ずいうのは非垞に楜しいものですが、それがより手軜で楜しいものになる䞊、私たちの遞択肢も倧幅に広がりたす。 ありがたいこずに、぀い最近あるAIラボの開発生産性ディレクタヌずお話しする機䌚を埗たした。 圌は自分たちが抱える問題に぀いお教えおくれたした。 "瀟内の開発者の倚くは日々の業務にAIを䜿っおいない"、"なぜか皆、手曞きが奜き"なのだずか。 ぀たり、 AIの開発を行う䌁業の䞭でさえ、リヌダヌが郚䞋に䟿利なツヌルの䜿甚を促しおいる状態なのです。 私たちの倚くがこれから盎面する課題だず思いたす。 AIずいう魔法の技術を掻甚しお仕事をうたくこなすこずを勧めおいくこずになるでしょう。 ただ、バむブコヌディングは新たなリスクに満ちおいたす。 本でも、自分たちが実際に経隓した倱敗に぀いお曞きたした。 単䜓テストを無効にしお、コヌドが消えたした。 理解できない謎のコヌドベヌスを䜜成しおしたい、倉曎できなくなりたした。 良いコヌドベヌスを台なしにしたこずもあり、倚くの泚意ず譊戒が必芁です。 しかし良いニュヌスもあり、 AIによっお私たちの匷みず匱みは増幅されるでしょう。 だから単独䜜業を可胜にするモゞュラヌ型アヌキテクチャの存圚がこれたで以䞊に必芁になるはずです。 フィヌドバックルヌプはより速さが求められ、孊ぶ文化も必芁です。 この本の初期の草皿を読んだ人の倚くはこんな反応でした。 "2人はものすごく賢いはずだ"、 "たくさん本を曞いお優れた開発者の働き方を研究しおきたのに、なぜこんなにも愚かな倱敗を"。 でも䟋えばですが、これたでずっず銬で移動する人生だったずしたす。 銬にしか乗ったこずがなく、最高時速は玄5マむル玄8キロ皋床。 その感芚では時速玄50マむル玄80キロに耐えられたせん。蚓緎を重ね、自分をアップデヌトしなければ車は倧砎するでしょう。 そこで本ではバむブコヌディングの流れを衚すルヌプや、内郚、䞭間、倖郚の開発に圹立぀実践項目も玹介しおいたす。 AI掻甚のメリットが開発者の皆さんに䌝われば幞いです。AIを䜿えばより楜しく、より倧芏暡な開発を行えたすし、開発スピヌドも䞊がり、所属する組織にもメリットがありたす。 本の発売は今幎の秋の予定です。※発売されたした たずめ それでは話をたずめたす。 成功する組織は"魔法"の力で䞊倖れたパフォヌマンスを実珟したす。個人の力ではどんな人でもおよびたせん。 組織内の問題解決胜力や想像力が完党に解攟された状態なのです。 逆に魔法がない組織では、創造力も問題解決胜力も発揮できないたた党員が終わる運呜でしょう。 この魔法を解き攟぀には3぀の方法がありたす。 "巧遅化、単玔化、増幅"の3぀でした。 ゜シオテクニカルの達人になればそれが実珟できたす。 高゚ネルギヌで高基準、倧芏暡でも小芏暡でも掻躍し、珟堎歩きが倧奜きな人です。 補足 『Wiring the Winning Organization』邊蚳では、Slowificationを「巧遅化」、Simplificationを「単玔化」、Amplificationを「増幅化」本蚘事では「増幅」ず衚蚘ず蚳しおいたす。 9月にはたた別のカンファレンスを開催したす。テクノロゞヌリヌダヌが開発チヌムや䌁業のためにどうAIを掻甚しおいるかなどの話が聞けたす。 ぜひそちらにもお越しください。各講挔ぞのリンクや本の抜粋など、本日玹介した内容の詳现に興味がある方は、スラむド送信甚のアドレスにメヌルを送っおください。 件名に"Vibe"たたは"DevOps"ずあれば、数分以内に自動返信が届きたす。 本日はありがずうございたした。 䌚堎拍手 前線・埌線を通しお、Gene Kim氏の26幎にわたるDevOps研究の集倧成をお届けしたした。DORA研究のデヌタに裏打ちされたハむパフォヌマヌの実態、補造業から゜フトりェアたで共通する「勝぀組織の原則」、そしお生成AIがもたらす新たな可胜性 ── 皆さんの組織でも、この"魔法"を実践しおみおはいかがでしょうか。 Ask the Speaker も盛り䞊がりたした ファむンディブヌスにも来おくださいたした 前線はこちら tech.findy.co.jp 今幎も開催したす名前倉わりたす 『継続的デリバリヌの゜フトりェア工孊』著者 Dave Farley氏ず和田卓人氏の登壇が決定 スポンサヌ募集䞭です。残り僅か prtimes.jp We're Hiring ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。 興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers
こんにちは。Findy Tech Blog線集長の高橋 @Taka_bow です。 本蚘事は、2025幎7月にファむンディが開催した「 開発生産性Conference 」のキヌノヌトスピヌカヌずしおお招きした Gene Kim氏 の基調講挔を、日本語の党文曞き起こしずしおお届けするものです。 Gene Kim氏は、ベストセラヌ『The DevOps 逆転だThe Phoenix Project』『The DevOps ハンドブックThe DevOps Handbook』の著者であり、1999幎から26幎にわたり高い成果を䞊げるテクノロゞヌ組織の研究を続けおきた人物です。 本講挔では、DORA研究の成果、勝぀組織に共通する普遍的な原則、そしお生成AIがもたらす倉革に぀いお語られたした。 前線では、DORA研究によるハむパフォヌマヌの実態、DevOps Enterprise Summitで出䌚った倚様な事䟋、そしおスティヌブン・スピアヌ博士ずの共著『Wiring the Winning Organization』から導かれた"勝぀組織の魔法"のフレヌムワヌクを玹介したす。 埌線では、その魔法を解き攟぀3぀のテクニック巧遅化・単玔化・増幅ず、生成AI・バむブコヌディングの実践に぀いお玹介したす。 埌線はこちら tech.findy.co.jp 講挔動画 日本語蚳党文 オヌプニング ─ 26幎間の研究ずDevOpsぞの道 DevOpsのビゞネス䟡倀は我々の想定よりさらに高い DevOps Enterprise Summit ─ あらゆる業界での実践事䟋 過去4幎間で埗た教蚓 魔法の偎面① ── 必芁なものが手に入る 魔法の偎面② ── 匱いシグナルが怜知される 魔法の偎面③ ── 蚈画ず実践に十分な時間がある 3぀のレむダヌ ── 䜜業の構造を理解する カりチのメタファヌ ── DevOpsの本質 今幎も開催したす名前倉わりたす We're Hiring 講挔動画 conference.findy-code.io ※ 芖聎にはFindy Conferenceぞのログむン、䞊びに芖聎登録が必芁です。ご登録頂ければ、他の講挔アヌカむブも芖聎できたす。 日本語蚳党文 オヌプニング ─ 26幎間の研究ずDevOpsぞの道 Gene Kim氏 ありがずうございたす。 䌚堎拍手 私は高業瞟のテクノロゞヌ組織に぀いお1999幎から研究しおいたす。創業者兌CTOずしおTripwireずいう情報セキュリティの䌚瀟に勀めおいた頃からです。 私が研究察象ずしおきた高業瞟の組織は、開発プロゞェクトの玍期内でのパフォヌマンスが申し分なく、運甚の信頌性・安定性、セキュリティ・法什遵守䜓制も䞇党でした。知りたいのは、圌らがどうやっお芋事な倉革を成し遂げたか、どうすれば他の組織が远随できるかずいうこずです。 ご想像の通り、この26幎の間に倚くの驚きがありたした。最倧の驚きは、私がDevOpsムヌブメントのど真ん䞭に匕き蟌たれたこずで、これは極めお緊急か぀重芁な動きだず考えおいたす。 DevOpsは倚くの産業に倉革をもたらしたしたが、それ以前で最埌に目にした倧倉革は、恐らく1980幎代にトペタがアメリカ垂堎に進出した時だず思いたす。 圌らは芋事に、ほがすべおの米自動車メヌカヌを完党に打ち負かしたわけですが、根底にはリヌンの原則がありたした。DevOpsの土台にもなっおいる原則です。 テクノロゞヌのバリュヌストリヌムに適甚するず創発的なパタヌンが出珟し、1日に数十件、数癟件、さらには数十䞇件のデプロむが可胜になり、䞖界氎準の信頌性・セキュリティ・安定性も維持したたたです。 10〜15幎前には考えられなかったこずです。少なくずも圓時の私は、無理だず思っおいたした。しかし、今では倚くの組織が実珟しおいたす。 今日は、私がこの26幎で孊んだ倧事なこずをいく぀か玹介しようず思いたす。 私の著曞をご芧になった方もいるず思いたす。『The DevOps 逆転だ』や『The DevOps ハンドブック』などですね。 翻蚳本を監修しおくれた把原地さんに昚倜䌚えたんです。 11幎越しの願いがやっずかないたした。 補足 The DevOps 逆転だ究極の継続的デリバリヌ 䜜者: ゞヌン キム , ケビン ベア , ゞョヌゞ スパッフォヌド 日経BP Amazon The DevOps ハンドブック 理論・原則・実践のすべお 䜜者: ゞヌン・キム , ゞェズ・ハンブル , パトリック・ボア , ゞョン・りィリス 日経BP Amazon 『The DevOps 逆転だ』原題The Phoenix Projectおよび『The DevOps ハンドブック』原題The DevOps Handbookは、いずれも把原地氏パナ゜ニックコネクトCTO写真右が監修、長尟高匘氏が翻蚳を担圓しおいたす。 11幎越しの初顔合わせ さお、昚幎こちらのむベントでニコヌル・フォヌスグレン博士が登壇したした。 圌女ずは6幎以䞊、研究を共にしおきた仲です。内容は、ハむパフォヌマンスずはどんな状態か ── それがDevOps研究の珟状です。 今日は皆さんに4぀のこずをお話ししたす。 1぀はニコヌル・フォヌスグレン博士ず行った研究に぀いおで、ハむパフォヌマンスの実態ずそれを予枬する行動ずは䜕かずいう話です。 次に、スティヌブン・スピアヌ博士ずこの4幎で孊んだこずを玹介したす。トペタ生産方匏を長幎にわたり研究しおきた人物です。 共著『Wiring the Winning Organization』の内容をベヌスに、DevOpsに぀いお話したす。既にご存じの内容もあるでしょう。ただ、䜕が驚きかずいうず、トペタの珟堎管理者ならすぐに理解・共感できる内容です。 それから、昚日すばらしい講挔をしたケント・ベック氏のように、私も生成AIを䜿ったバむブコヌディングに取り組んでおり、非垞に楜しく過ごしおいたす。昚幎孊んだこずを共有したいず思いたす。 DevOpsのビゞネス䟡倀は我々の想定よりさらに高い 先ほど、ニコヌル・フォヌスグレン博士ずゞェズ・ハンブルず進めた研究に぀いおお話ししたした。ゞェズは『継続的デリバリヌ』の著者で、私達は『The DevOps ハンドブック』を共著したした。 私たちは2013幎から2019幎たで、6幎間の間に3侇6000人を察象に調査を行い、高業瞟な組織はどのような状態で存圚するのか、ハむパフォヌマンスの実態を調べたした。結果は6回ずも同様 ── ハむパフォヌマンスな組織は存圚し、そうでない他者をはるかにしのぐずいうこずでした。 その刀断基準ずは 私たちが発芋したのは、ハむパフォヌマヌは1日に耇数回デプロむしおいるずいうこずです。他者ず比べお、頻床が2桁倚いのです。もっず重芁なのは、デプロむにかかる時間の短さです。バヌゞョン管理システムでコヌドをコミットしおから、統合しおテストしおデプロむするたでの時間 ── ぀たり顧客に届くたでです。 1時間以内であるこずが分かりたした。リヌドタむムの違いが2桁なのです。 しかも䜜業が速いだけでなく、結果も䌎っおいたす。圌らがデプロむを行う時に倱敗する確率はどの皋床なのでしょうか。業務に支障が出る重倧床1SEV1のむンシデントの発生率は その可胜性は7分の1なのです。 そしおいざ䜕かが起きた時は ── 倱敗は必ず起こるものだず蚀いたすからね ── 1時間以内に解決できるのです。これは他者ず比べお3桁も短い障害埩旧時間になりたす。 スティヌブン・スピアヌ博士がトペタ方匏を研究しおいた時、トペタは生産性が4倍だず分かりたした。床面積ずサむクル時間は半分にも関わらず、生産物は2倍なのです。ここではそれが4倍どころか、100倍、1000倍なのです。ケント・ベック氏も蚀っおいたしたが、゜フトりェアのすばらしいずころです。 品質に぀いおも倚角的に芋おきたした。ハむパフォヌマヌは情報セキュリティの目暙を日々の業務に取り入れおいるため、セキュリティ問題の修正に費やす時間は半分でした。 2014幎に私たちは別のこずに目を向け始めたした。これらのハむパフォヌマヌは技術的に優れおいただけでなく、あらゆる指暙で数倀が高かったのです。 収益性や垂堎シェア、生産性の目暙を䞊回る可胜性は2倍でした。組織が政府機関や軍などずいった非営利団䜓であっおも同じこずが蚀えお、組織ずミッションの目暙を達成する可胜性が2倍でした。顧客満足床や量ず質の目暙においおも同様です。 これらはあるこずを瀺唆しおいたす。䟡倀の提䟛やミッションの達成にも、テクノロゞヌのバリュヌストリヌムず同じ䜜業が必芁なら、DevOpsの原則やパタヌンはその目暙達成に圹立ちたす。 もう1぀の興味深い指暙は、このような業瞟の高い組織では、埓業員が勀務先をいい職堎ずしお同僚や友人に薊める確率が2倍でした。 "埓業員ネットプロモヌタヌスコアeNPS"ずいう ── 収益性や収益成長率ず深い盞関関係にある指暙です。 ですから、デプロむができない組織やしづらい組織だず、友人に自分の職堎を薊めたいずは思わないずいうこずでしょう。 DevOps Enterprise Summit ─ あらゆる業界での実践事䟋 数字を超えお、これが瀺唆するのは、 私たちはいかに安党か぀迅速に、高い信頌性を持っお確実に、サヌビスの提䟛察象の目暙、倢、願望を達成するかが倧事 なのです。 この11幎間 ── "DevOps Enterprise Summit"ずいうカンファレンスを運営しおきたした。カンファレンスの目的は、倧芏暡で耇雑な組織が、FacebookやAmazon、GoogleやMicrosoftず同じように勝利を぀かむためのパタヌンを瀺すこずでした。 補足 DevOps Enterprise Summitは珟圚、Enterprise Technology Leadership Summitに名称倉曎されおいたす。 数倚くのテクノロゞヌリヌダヌたちに、どうやっおDevOpsを䜿っお垂堎で勝っおきたかを共有しおもらいたした。私のお気に入りを䞀郚玹介したす。 こちらの男性はMike Carr氏で、ノァンガヌド瀟のCTOです。 ノァンガヌドは投資信蚗を普及させた䌚瀟で、9兆5000億ドルの資産を運甚しおいたす。1䞇人以䞊いる技術者の開発生産性を向䞊させるこずによっお、先皋私がお話しした指暙をすべお達成しおいたす。 それによっお投資家に䟡倀を ── 投資家ずいうのは぀たり、圌らの投資信蚗を買う人たちですね ── 圌らに䟡倀を還元しおいたす。 お次は䞖界有数の補薬䌁業ファむザヌのJamie Hook氏です。 圌らの開発生産性の向䞊は、ある協力関係がきっかけでした。゚ンゞニアリングのVPであるMike Lamb氏ず、CISOだったBrian Cincera氏によるものです。 目的は生産性だけでなく、安党性も高めるこずでした。玹介しおくれた開発者の支揎方法が驚きで、研究開発、販売、マヌケティング、流通など所属する組織に関わらず、重芁な瀟䌚的目暙を達成する支揎を行っおいたした。 補足 Brian Cincera氏は2024幎にファむザヌを離れおいたす。 皆さんはこう思っおいるでしょうか ── "よくある話だ"。 では、海軍倧䜐の䟋はどうでしょう 珟圚は准将ですが、圓時は倧䜐でした。圌はむヌゞスミサむル防衛システムの責任者だったのですが、海䞊にいる船の゜フトりェアをアップグレヌドする必芁がありたした。なのに8幎も埅぀しかなく困っおいたした。 ゜フトりェアをアップグレヌドするには、鋌鉄の穎や隔壁を切り開き、コンピュヌタヌを運び出す必芁があったためです。 ですが今ではDevOpsパタヌンにより、海䞊にいる船を2隻同時にアップグレヌドできたす。 玅海にいる船も含めおです。1970幎代に造られた船でこれが実践できたのですから、ほがどこでもできるはずです。 こちらは米囜トペタのKishore Jonnalagedda氏です。圌は工堎の珟堎にDevOpsのパむプラむンを構築し、工堎の業務だけでなく、セヌルス、マヌケティング、ポストセヌルスサヌビスなどの業務の䜕癟ものアプリケヌションを効率化したした。DevOpsの有効性を瀺しおいたす。 圌いわく、トペタりェむのおかげで改善の文化が築きやすかったそうです。もちろんトペタでは"カむれン"の抂念が根づいおおり、ITの人たちも日々の業務を改善しやすい環境ではありたす。 私が䞀番気に入った事䟋は、こちらかもしれたせん。シヌメンスのThomas Jachmann氏のケヌスです。 圌はCTスキャナヌの゜フトりェアの責任者です。CTスキャナヌは病院の画像蚺断郚門に6000台も玍入されおいたす。 圌が解決したかった問題は、珟堎で゜フトりェアをアップグレヌドする認蚌を埗るには6ヵ月ずいう長い期間を芁するこずでした。 そこで圌はテスト自動化ぞの投資を始めたした。自動テストであれば、奜きなタむミングで認蚌の段階ぞず進められたす。 認蚌にはただ数ヵ月かかりたすが、認蚌が䞋りるかどうかは技術の問題ではありたせん。ただ、頻繁なアップグレヌドの土台はできたす。 これが重芁だず思う理由は、CTスキャナヌで撮る際の出力電力ずいうのは゜フトりェアで制埡されおいるからです。 安党性に関わり、重芁です。 "うちではDevOpsは無理"ず蚀う友人や同僚がいたら、"どこでもDevOpsは可胜"ず思い盎しおほしいのです。 困難でも成功した事䟋はたくさんありたすからね。 過去4幎間で埗た教蚓 スティヌブン・スピアヌ博士ず仕事でご䞀緒したこずは先皋お話ししたした。圌ずの出䌚いは玄10幎前にさかのがりたす。MITスロヌン経営倧孊院のワヌクショップに参加した時でした。 有名な方ですが、その理由の1぀は1990幎代の圌の研究で、圌はトペタ生産方匏を深く掘り䞋げた第二䞖代の研究者グルヌプの䞀員でした。 圌らのような人たちのおかげで、アンドン、カむれン、珟堎りォヌクなどは海倖でも通甚する蚀葉ずなり、トペタの手法を孊ぶ際に圹立っおいたす。 補足 「アンドン」はトペタ生産方匏における異垞の芋える化のための仕組みです。 トペタ自動車公匏サむト に詳现がありたす。 1999幎に圌は、最も広くダりンロヌドされたハヌバヌド・ビゞネス・レビュヌの蚘事を執筆したした。 タむトルは「トペタ生産方匏の"遺䌝子"を探る」です。 補足 原題 "Decoding the DNA of the Toyota Production System" の邊蚳は https://dhbr.diamond.jp/articles/-/3743 に掲茉されおいたす。 私はこちらを2001幎に読み、そのすばらしさに驚嘆したした。 圌はこう述べおいたした ── "3000〜5000人の人間がトペタの工堎で働いおいるずしたら、その党員が科孊者集団の䞀員で、絶えず怜蚌ず改善に努めおいる"。 よく芚えおいる蚀葉です。10幎埌に圌ず仕事をできる日が来るずは、圓時は思いもしたせんでした。 圌ずどんなこずに取り組んだかず蚀うず、『Wiring the Winning Organization』ずいう本を曞きたした。 補足 Wiring the Winning Organization 成功する組織を導く3぀のメカニズム 䜜者: ゞヌン・キム , スティヌブン・J・スピアヌ 日本胜率協䌚マネゞメントセンタヌ Amazon 邊蚳『Wiring the Winning Organization 成功する組織を導く3぀のメカニズム』日本胜率協䌚マネゞメントセンタヌ 私たちの目的は ── たずは驚きたすよね。なぜスティヌブン・スピアヌ博士ず私なのかず。 圌はハヌドりェアず補造業、私は゜フトりェアの出身。 䞀芋、話が合わなさそうです。ですが、私たちが読んできた本や論文を芋るず、かなり重なっおおり、私たちは疑問を持ちたした。 次のものの共通点は ── アゞャむル、DevOps、トペタ生産方匏、リヌン生産方匏、安党文化。 そしお私たちが導き出した結論は、いずれもより倧きな党䜓の䞍完党な衚珟であり、3぀のメカニズムがそれらを結び぀けおいるのです。 この点を明確にするために、勝぀組織が持぀"魔法"の3぀の偎面をシェアしたいず思いたす。 魔法の偎面① ── 必芁なものが手に入る たず1぀目の偎面ずいうのは、誰もが垞に重芁な問題に取り組んでいたす。 平行しお行っおいるのが理想です。必芁な時に、必芁なものが手に入るからそれが可胜なのです。適切な圢匏ずタむミングで、適切な関係者から手に入るのです。䟋えばどんなものかず蚀うず、情報や承認、芁件や決定暩、テスト結果、生産ログなどがそうです。 その重芁性を理解するには、魔法がない状態を想像したす。぀たり、誰もが行き詰っおいる状態です。必芁なものが適切な圢匏ずタむミングで手に入らないのが原因で、皆に尋ねお探し回るしかありたせん。だから小さな取り組みでも英雄的な努力を芁するのです。 これがどれだけ重芁なこずかを提唱するためにダメな䟋ずしお、「The Checkbox Project」ずいう論考を友人たちず曞きたした。著曞『The DevOps 逆転だ』に近いものです。 補足 「The Checkbox Project」は、2023幎にIT Revolutionが䞻催したDevOps Enterprise Forum3日間のリトリヌト圢匏での議論をもずに生たれたガむダンスペヌパヌです。 本皿のベヌスずなったのは、実際の出来事です。ある倧䌁業で「サヌビスにシンプルなオプトむン甚チェックボックスを远加する」ずいう䞀芋単玔なタスクが、構想から完成たで12ヶ月かかり、コストが2,800䞇ドル超に膚れ䞊がりたした。この実䟋をケヌススタディずしお、組織の「配線の仕方」がいかにパフォヌマンスを巊右するかを解説しおいたす。 著者はApple・John Deere・Scaled Agileなど倚様な組織のリヌダヌ6名Kamran Kazempour、Chris Hill、Steve Pereira、Dean Leffingwell、Amy Willard、Gene Kimによる共同執筆で、2023幎9月26日にFall 2023 DevOps Enterprise Journalの䞀郚ずしお公開されたした。 The Checkbox Project 入手先 https://itrevolution.com/product/the-checkbox-project/ この話のプロゞェクトの目暙は、1぀のチェックボックスを衚瀺するこずです。 䜕癟䞇もの顧客に衚瀺され、それにチェックを入れるず、顧客は月額5ドルのサヌビス契玄を結ぶこずになりたす。 問題はそれが4぀の顧客チャンネルにたたがり、20のチヌムによる䜜業が必芁な点です。CEOレベルのサポヌトを必芁ずし、連日行われる䜜戊䌚議には12ヵ月で2800䞇ドルかかるず芋積もられおいたす。さらなる問題は、プロゞェクトが成功するず思っおいる人が20しかいないずいう点です。 なぜなら過去2回は倱敗したからです。 チェックボックスの衚瀺は技術的に難しいこずではありたせん。実際に倧倉なのは、調敎やコミュニケヌション、優先順䜍づけやスケゞュヌリング、政治工䜜や説埗、゚スカレヌションなどです。誰も必芁なものが埗られないずこうなりたす。これが魔法の1぀目の偎面です。 魔法の偎面② ── 匱いシグナルが怜知される 次に2぀目を玹介したす。 至る所で掻発なフィヌドバックルヌプが機胜し、些现な倱敗シグナルでも怜知され、増幅されたす。そうすれば迅速な察応でミスを防いだり、修正したりできたす。このフィヌドバックを通しお人々は孊び、䞊達し続けられたす。ただ、それはフィヌドバックが適切な人に、適切か぀実行可胜な圢匏で届いた堎合に限りたす。 再び重芁性の確認のため、魔法がない事態を想像したす。フィヌドバックルヌプが匱いか、遅いか、存圚すらしない状態です。あるいは間違った人に届く状態です。 それだず倱敗が怜出されないので、時間の経過ずずもに拡倧しおしたいたす。小さな問題が雪だるたのように膚らむのです。 シグナルは生成されるものの、システムで抑制されおしたうか、消されるケヌスもあり埗たす。 悪いニュヌスを䌝えるず嫌な目に遭うような組織だず、それを恐れおこういうこずが起こりたす。良くありたせんよね。これが魔法の2぀目の偎面です。 魔法の偎面③ ── 蚈画ず実践に十分な時間がある そしお最埌の3぀目です。 蚈画、実践、実隓、改善のための十分な時間が確保された状態です。 最も危険か぀重芁な事態は、皌働しおからではなく、リスクが䜎い蚈画ず実践の段階で起こるのが理想的です。そうすればやり盎しが容易なだけでなく、安党に倱敗し、孊び、改善するこずもできたす。 そうやっお教蚓を埗おいくこずで、より良い仕事に぀ながりたす。 ここで再びこの重芁性を理解すべく、最も重芁な䜜業をすべお本番皌働埌に行うしかない事態を想像したす。 元に戻すこずも、やり盎すこずもできず、小さなミスが倧きな倱敗を匕き起こしたす。孊べるような状況でもありたせん。 スピヌドアップのために䞀床ペヌスダりンする時間も、『ノコギリの刃を研ぐ』ために手を止める時間もありたせん。 明らかにそれは良くない状態で、11幎前に発売した『The DevOps 逆転だ』でも語られおいる話です。 補足 「ノコギリの刃を研ぐSharpen the Saw」はスティヌブン・R・コノィヌの『7぀の習慣』における第7の習慣。生産性を高めるために、あえお手を止めお自分自身を磚く時間を取るこずの重芁性を説いおいたす。 3぀のレむダヌ ── 䜜業の構造を理解する さお、この3぀の偎面に名前を぀けお説明したすが、先にもう1぀お䌝えしおおきたす。 これは最初にスピアヌ博士が類型化した内容で、私は重芁だず思っおいたせんでした。ですが埐々に重芁性が分かっおきお、䞖界の芋え方たで倉わりたした。 私たちが提唱するのは、䜜業には3぀のレむダヌがあるずいうこずです。 レむダヌ1 は目の前の䜜業察象です。たずえば患者だったり、取り組んでいるコヌドだったり、本番環境で動くバむナリだったりしたす。 レむダヌ2 は私たちが䜿うツヌルや技術です。たずえばMRI装眮、CTスキャナヌ、X線装眮、IDEなどです。Kubernetesプラットフォヌムもですね。 しかし補造業や゜フトりェアで鍵を握るのは レむダヌ3 で、瀟員やチヌムを線成する圹割がある管理システムです。ここで誰ず誰が話すかが決たりたす。その頻床や内容、圢匏に぀いおもここで決たるのです。 補造業の組織における非垞に有名な事䟋をスピアヌ博士から教わりたした。レむダヌ1ずレむダヌ2は䜕も倉えなかった事䟋です。 北カリフォルニアのフリヌモントに非垞に有名な補造工堎がありたす。 れネラルモヌタヌズの工堎だった頃は、北米どころか䞖界トップクラスの業瞟の悪い自動車工堎でした。 GMずトペタの合匁䌚瀟の拠点ずなり、2幎も経たないうちに日本の工堎レベルの業瞟をたたき出したした。人も床面積も蚭備も、䜕䞀぀倉えおいたせん。 レむダヌ1ずレむダヌ2は倉化なしで、唯䞀倉わったのがレむダヌ3でした。 私たちの業界では、゜フトりェアアヌキテクチャに圓たりたす。リヌダヌが定める郚分です。 䞀床にたくさんの仕事をするのか、小さく分けお仕事をするのか フィヌドバックのスピヌドは レむダヌ3は非垞に重芁だずお䌝えしおおきたす。 補足 この工堎はNUMMINew United Motor Manufacturing, Inc.ずしお知られ、1984幎にGMずトペタの合匁事業ずしお蚭立されたした。同じ劎働者、同じ蚭備でありながら、トペタ生産方匏の導入により劇的に業瞟が改善した事䟋ずしお、経営孊の教科曞にも登堎する有名な事䟋です。 カりチのメタファヌ ── DevOpsの本質 補造業でも゜フトりェアでも、良いシステムを䜜るには3぀の方法がありたす。 魔法の3぀の偎面が目指すのは、匱いシグナルを増幅できるかどうか、スピヌドアップのためにシステムをスロヌダりンできるか、そしおシステムを分割するこずで簡玠化できるかです。 小難しく聞こえたすよね。スティヌブン・スピアヌ博士ずの研究で、最も鮮明に感じた話をここでご玹介したす。 2人でカりチを動かす話です。スティヌブずゞヌンです。 スティヌブずゞヌンが行っおいるのは、ただの肉䜓劎働で、頭は䜿わないず思うかもしれたせん。 しかし、2人で解決しなければならない問題が実はいく぀も隠れおいたす。 䟋えば、カりチの重心はどこか。狭い出入り口を通るにはどう回るべきか。狭いくねった階段を通るには誰が先に行くべきか。䜓は向き合うべきか、などです。 ただ、コンサルタントもフォヌカスグルヌプもここでは必芁ありたせん。 詊行錯誀ず玠早いフィヌドバック、そしお䜕よりコミュニケヌションず調敎により、2人は確実に目暙を達成するでしょう。 しかしリヌダヌの力で、圌らの仕事はもっず難しいものにできたす。 1぀は電気を消すこずです。 䜜業にかかる時間が増え、危険床が増し、カりチや郚屋、自分の䜓を傷぀ける可胜性がありたす。 他にも様々な方法で倉化を加えるこずができたす。 倧きなサむレンや倧音量の音楜ずいった雑音を流しおみたり、 スティヌブずゞヌンが盎接䌚話できないよう仲介人を送り蟌んだりもできたす。 するず突然、スティヌブずゞヌンがカりチの移動に倱敗する姿が想像できたす。 なぜなら、問題を解決するのに必芁なはずの情報が手の届く範囲にないからです。 芁するに、これこそがDevOpsの本質です。 2000幎代にデプロむが非垞に耇雑になり、開発ず運甚がJiraチケットや芁件定矩曞、プロゞェクトマネヌゞャヌを介しおしかコミュニケヌションできなくなるず、突然、目暙達成に必芁な垯域幅が䞍足しおしたうのです。 開発ず運甚に限らず、技術ずビゞネスの間、研究開発ずマヌケず営業など、あらゆるチヌム間でです。 スティヌブずゞヌンのカりチ移動は、共同䜜業における問題解決のメタファヌで、圌らのチヌムずしおの成果に焊点を圓おおいたす。 リヌダヌ次第で、圌らの仕事は簡単にも困難にもなりたす。 このカりチは2぀のコンセプトを衚しおいるず思っおいたす。 1぀目は コヒヌレンスCoherence です。 スティヌブンずゞヌンはどこたで䞀䜓ずしお機胜できるでしょうか 盎接話すこずができない状況では、もはやチヌムではなく、ただのカりチを個々に支える2人です。 2぀目は 密結合coupling です。 2人でカりチを動かす䜜業は、2人が2぀の怅子を別々に動かすのずは違いたす。 怅子が2぀なら、コミュニケヌションや調敎は䞍芁です。狭い出入り口を同時に通る時は別ですよ。 私たちが取り組むこずの倚くは、他のチヌムず連携しお行いたす。䟋えば、倧芏暡なカンファレンスの堎で䜕かのプランニングに参加するずしたす。 䜕千人もの人が集たっおコンテキストを共有し、方向性を決めるのはすおきなこずですが、日垞業務では行いたくありたせん。 䜕千人もの人間が連絡を取り続けお調敎するなんお無理です。 代わりに必芁なのが、カりチの分割です。 垞に連絡ず調敎に远われるこずなく、独立しお仕事ができるようにするためです。 埌線に続きたす 埌線では、このすばらしいシステムを構築する3぀のテクニック ── 巧遅前倒し化Slowification 、 単玔化Simplification 、 増幅Amplification ── に぀いお、具䜓的な事䟋ずずもに玹介したす。さらに、Gene Kim氏自身が䜓隓した生成AIずバむブコヌディングの䞖界に぀いおもお話ししたす。 埌線はこちら tech.findy.co.jp 今幎も開催したす名前倉わりたす 『継続的デリバリヌの゜フトりェア工孊』著者 Dave Farley氏ず和田 卓人氏の登壇が決定 スポンサヌ募集䞭です。残り僅か prtimes.jp We're Hiring ファむンディでは䞀緒に䌚瀟を盛り䞊げおくれるメンバヌを募集䞭です。 興味を持っおいただいた方はこちらのペヌゞからご応募お願いしたす。 herp.careers