はじめに
こんにちは! 2025年4月にエムスリーキャリアへ新卒エンジニアとして入社しました藤田です。
弊社では生成AIの業務活用を積極的に推進しており、最先端のツールに触れながら開発を進める機会が豊富にあります。
今回はその中でも、AIコーディングツール「Cline」を業務でどのように活用しているかについて、具体的な取り組みと共にご紹介します。
恵まれたAI開発環境
エムスリーキャリアの大きな魅力の一つは、生成AIの活用に対する積極的な姿勢です。GitHub Copilotはもちろん、Gemini、DevinやClaude Codeなど、多くの外部AIツールが利用可能な状態で提供されています。(使用できるAIモデルも最新...!)
また、まだ試行錯誤段階ですが、MCP関連も積極的に導入を推進しています。
さらに、必要なツールがあれば、申請を通じて新たに導入することもできます。
このように、多様なAIツールを試しやすい環境は、エンジニアにとって大きなアドバンテージです。今回は、その中でも私が使用している「Cline (Claude sonet 4)」を使い、既存プロジェクトのアップデート作業の効率化に挑戦しました。
Clineが生んだ「開発の仕方の変化」
結論から言うと、Clineの導入によって開発工数を大幅に短縮(想定より65%程短縮)することができました。
これは、人間の認知能力を補佐する形で活用できるからです。
例えば、生成AIにコードを出させることにより、本来であれば時間をかけて読まなければいけないドキュメントなどを、必要な箇所だけ読むことができるようになりました。
また、開発面においても効率が上がりました。その理由は、単にコード生成が速くなったからだけではありません。Clineのclinerulesという機能を活用することで、開発の進め方そのものを変革できたからです。
clinerulesは、コード生成のルールをあらかじめ定義しておける機能です。これにより、毎回同じ指示をプロンプトに含める必要がなくなり、出力されるコードの品質と一貫性を飛躍的に高めることができます。
clinerulesの実例(チームでの設計思想の共有)
clinerulesの真価は、チームが持つ設計思想やコーディング規約そのものをAIに学習させられる点にあります。
例えば、Railsのプロジェクトで私が導入し、チームのルールとなっているものには以下のようなものがあります。
- POROによるObjectの実装 AIにビジネスロジックの分離を指示すると、Active Recordモデルが肥大化する「ファットモデル」を生成しがちです。そこでclinerulesに「ロジックはPORO (Plain Old Ruby Object) を用いて切り出す」というルールを定義し、このアンチパターンを回避しています。
- 単一責任の原則の徹底 POROに切り出す際、「公開するpublicメソッドは.callメソッド一つに限定する」というルールも定義しています。これにより、クラスの責務が明確になり、単一責任の原則(SRP)に沿ったコードが生成されるようになります。
- 循環的複雑度の低減 複雑な条件分岐を持つコードを生成させないよう、「循環的複雑度が低くなるようなロジックを生成する」という制約を加えています。これにより、可読性とメンテナンス性の高いコードを維持できます。
- その他諸々...

これらのルールを事前定義することで、AIは私たちのチームの設計思想に沿った、高品質なコードを生成してくれるようになりました。
Vitestによるフロントエンドのテストコード生成
この取り組みはバックエンドに留まりません。私が導入したフロントエンドテストでは、テストフレームワークのVitestについてもclinerulesをカスタマイズしました。
これにより、チームの誰もがある程度精度の高いテストコードを安定して生成できるようになり、触れたことのない技術領域であっても、品質を担保しながら安心して開発を進められるようになりました。
- ブラックボックステストを守る コンポーネントの内部実装(stateや特定のclass名)ではなく、ユーザーの操作によってUIがどう変化するかという「振る舞い」をテストします。これにより、リファクタリングで壊れにくく、保守性の高いテストを実現します。
- AAAパターンの明確化 テストコードを「Arrange(準備)、Act(実行)、Assert(検証)」の3つのブロックに構造化するルールです。これにより、テストの目的が明確になり、誰にとっても可読性の高いコードを維持します。
- モックとスタブの再定義 テストの代役(テストダブル)の役割をチームで統一します。「モック」は振る舞いを検証する偽物、「スタブ」は決められた値を返す偽物と定義することで、テストの意図が明確になり、混乱を防ぎます。

「チームで育てるプロンプト」という文化
私たちのチームでは、このclinerulesを個人で利用するだけでなく、チームの共有資産として皆で育てていくという文化が根付いています。
また、経験豊富なエンジニアが修正したプロンプト定義を見ることにより、チームメンバーのスキルアップに直結します。優れたプロンプトは、単なる指示文ではなく、設計思想やベストプラクティスが凝縮された"生きたドキュメント"でもあるからです。
このようにチームでプロンプトを改善し続けることで、
- 個人のスキルアップが促進される
- チーム全体の技術力が向上する
- コードの品質と一貫性が保たれる
という好循環が生まれています。この取り組みの成果は、社内の共有会でも発表させていただきました。
まとめ
生成AIツール「Cline」と、そのカスタマイズ機能であるclinerulesの活用は、単なる工数削減以上の価値をチームにもたらしました。
AIに出力の「型」を教え、それをチームで育てていくアプローチは、開発の生産性を飛躍的に高めるだけでなく、チーム全体の技術力向上にも貢献します。
これからも、チームでプロンプトを育てながら、より高度な開発に挑戦していきたいと思います!
私たちエムスリーキャリアのチームやエンジニアリンググループに少しでも興味を持っていただけましたら、ぜひ下記の採用ページをご覧ください!
https://career.m3career.com/midcareer/engineer