こんにちは。
ファインディ株式会社 で Tech Lead をやらせてもらってる戸田です。
現在のソフトウェア開発の世界は、生成AIの登場により大きな転換点を迎えています。
GitHub CopilotやClaude Codeなど生成AIを活用した開発支援ツールが次々と登場し、開発者の日常的なワークフローに組み込まれつつあります。
そのような状況の中で先日、Findy AI Meetupの第2回を福岡で開催しましたので、今回はそのイベントの様子や内容を紹介します。
当日参加くださったみなさま、ありがとうございました!
Findy AI Meetupとは?
ファインディ株式会社のエンジニアが主催する技術系のオフラインイベントです。
ファインディ株式会社では、生成AIやAIエージェントの活用を通じて開発生産性の向上を目指す取り組みを行っています。このイベントでは、ファインディのエンジニアが社内での実践事例を紹介するとともに、エンジニア同士がつながり、知見の共有や交流を目的としています。
今回のMeetupは2回目の開催となっており、前回開催にも参加くださった方々が3割ほど、初参加の方々が7割ほどの割合でした。まだ参加したことがない読者の方も次回開催には是非ご参加ください。
登壇内容
実践!カスタムインストラクション&スラッシュコマンド
最初にフロントエンドテックリードの新福が、「実践!カスタムインストラクション&スラッシュコマンド」と題して、ファインディでGitHub CopilotやClaude Codeの機能をどのように活用しているかを紹介しました。
カスタムインストラクションは、生成AIのコンテキストとして渡す文章です。生成AIの特性に合わせた書き方を工夫することで出力の精度を高められます。
実践の例として、今回はコミットメッセージ生成のカスタムインストラクションの設定方法を紹介しました。
// .vscode.settings.json { "github.copilot.chat.commitMessageGeneration.instructions": [ { "file": ".github/instructions/commit-message.instructions.md" } ], }
commit-message.instructions.md の例を次に示します。
--- applyTo: '**' description: 'コミットメッセージの生成' --- コミットメッセージは [Conventional Commits](https://www.conventionalcommits.org/ja/v1.0.0/) に従って記述する。 ## フォーマット <type>[optional scope]: <description> [optional body] [optional footer(s)] ### type(必須) - `feat`: 新機能や既存機能の変更 - `fix`: バグ修正 - `docs`: ドキュメントのみの変更 - `*.md` を追加、変更した場合 - `test`: テスト追加・修正 - `*.spec.*` `*.spec.*.snap` を追加、変更した場合 <!-- (中略) --> ### scope(任意) - ディレクトリ名が `package.json` または `package-lock.json` の時 `deps` - ディレクトリ名が `.github/**` の時 `github` - ディレクトリ名が `apps/frontend/**` の時 `frontend` - ディレクトリ名が `libs/frontend/feature-xxx/**` の時 `frontend-feature-xxx` - ディレクトリ名が `libs/ui/**` の時 `ui` <!-- (中略) --> ## コミットメッセージの例 - feat(frontend-feature-xxx): add social login - feat(ui): add button component - fix(frontend-feature-xxx): fix validation - docs(*): update README.md - refactor(frontend-feature-xxx): refactor form logic <!-- (中略) -->
GitHub Copilotのカスタムインストラクションは applyTo というプロパティを持っており、ファイル拡張子でコンテキストを絞り込めるのが特徴です。
ファインディのフロントエンドでは、慣習的に拡張子によってモジュールの責務を分離していたため applyTo と相性が良いという発見が得られました。これまでやってきた開発の工夫が生成AIの活用に繋がった好例と言えるでしょう。
スラッシュコマンドについては、Gitコマンドを実行する例を示しつつ、プロンプトを書くコツを紹介しました。

さらに実践的な内容として、Nx のマイグレーションやClaude Codeの通知設定といった例を示しつつ、プロンプトの二重管理を防ぐ工夫を紹介しました。

スライドは↓から参照できます。時間の都合で割愛した他のサンプルも掲載しております。
ファインディでは生成AIツールの活用を進めつつ、生成AI時代に向けた新しいサービスを開発中です。
冒頭に紹介しました調査結果は、次のURLから全文をダウンロードできます(Findyのユーザー登録が必要です)。
ファインディ株式会社におけるMCP活用とサービス開発
次にテックリードの戸田が、「ファインディ株式会社におけるMCP活用とサービス開発」と題しまして、弊社の開発シーンでもMCP(Model Context Protocol)の活用方法と、MCPを埋め込んだプロダクト開発について紹介しました。
まず、弊社でのMCPの活用事例を紹介しました。
TypeScriptのSDKを使用して社内MCPサーバーを開発できるように環境を整備したことを紹介しました。以前にも、このテックブログで紹介しています。
Nxのgenerator機能を利用して、ワンコマンドでMCPサーバーの雛形を作成できる ようにしています。さらにNxで管理しているため、複数のMCPサーバーをmonorepoで管理できるようにしており、MCPサーバーの社内エコシステムを実現しています。
このような環境を整備したことにより、3日間で10個のMCPサーバー、30個のtoolを実装して、社内のエンジニアに配布することを実現しました。
次に、他社のMCPと連携して効率化した事例を紹介しました。
GitHubのMCPを利用して、メンティーが受け取ったレビューコメントを取得し、社内MCPサーバーから解析用のプロンプトを動的に返すようにして、レビューコメントの傾向をLLMが解析する 仕組みを作りました。
また、GitHubのメトリクスを取得してきてMCPサーバー内でmermaid記法のmarkdownに落とし込み、それをクライアント側でグラフ表示する といった仕組みも作りました。
このように、LLMとMCP、MCPクライアントとMCPサーバーの責務を分けて考えることがMCP活用のコツ です。
最後に、弊社からリリースされた新サービスのFindy AI+について紹介させてもらいました。
Findy AI+は、GitHub連携・プロンプト指示で生成AIアクティビティを可視化し生成AIの利活用向上を支援するサービスです。人と生成AIの協働を後押しして、開発組織の変革をサポートします
当日はFindy AI+のアーキテクチャや設計などについても解説したのですが、これはまた別の機会で紹介できればと思います。お楽しみに!
今回の登壇と資料が皆さんの参考になると幸いです。
懇親会
登壇発表後は参加者の皆さんと懇親会を開催しました。
懇親会では「パックマンルール」をお願いしています。懇親会で誰かと話すときは新しい人が会話に入れるように、一人分のスペースを空けて話しましょう。というルールです。

生成AI活用における悩みや知見を意見交換して、楽しんでいただけたようです。
まとめ
いかがでしたでしょうか?
当日、イベントに足を運んでくださった参加者のみなさん、本当にありがとうございました。頂いたアンケート結果を、次回開催の参考とさせていただきます。
次回開催は11月前後を予定しております。残念ながら今回のイベントに参加出来なかったみなさんも、次回イベント開催時には是非ご参加ください!
現在、ファインディでは一緒に働くメンバーを募集中です。
興味がある方はこちらから ↓ herp.careers