Claude Code とSalesforce Apex・フローの下書きと本番反映のゲート(概念)
目次 クリックで開く
Salesforceの開発現場において、Apexのコーディングや複雑なフロー(Flow Builder)の設計は、常に「仕様の整合性」と「本番反映の安全性」という二つの壁に直面してきました。従来のChatGPTなどの汎用チャットAIは、コードの断片を生成するには長けていましたが、Salesforceプロジェクト全体(SFDXリポジトリ)のメタデータ構造や、既存クラスとの依存関係を完全に把握することは困難でした。
この状況を打破するのが、Anthropic社が提供するClaude Codeです。これは、ローカルのリポジトリ上で動作するCLI(コマンドラインインターフェース)型のコーディングエージェントであり、Salesforce開発の実務プロセスを劇的に進化させます。本記事では、Claude Codeを用いてApexやフローの下書きを作成し、それを「品質ゲート」を介して安全にSalesforce環境へデプロイするための完全な実務アーキテクチャを解説します。
Salesforce開発を劇的に変える「Claude Code」とは何か
汎用チャットAIとの決定的な違い:リポジトリ全体を俯瞰するコンテキスト理解
従来のブラウザ型AIツールとClaude Codeの最大の違いは、「今、目の前にあるローカルコードをすべて読み取れるか」という点にあります。Salesforceの開発では、一つのApexクラスを変更する際に、関連するトリガー、ハンドラークラス、そしてカスタムオブジェクトの定義(xml)を同時に考慮しなければなりません。
Claude Codeは、claudeコマンドを叩いた瞬間からリポジトリ内のディレクトリ構造をスキャンし、開発者が「このトリガーにエラーハンドリングを追加して」と指示するだけで、関連するすべてのファイルを特定し、矛盾のない修正案を提示します。これは単なるコード生成ではなく、リポジトリに深く根ざした「エンジニアリング・パートナー」としての振る舞いです。
Salesforce開発(SFDX)とCLIエージェントの親和性
Salesforce開発は現在、sf(旧sfdx)コマンドを中心としたCLI駆動の開発が標準となっています。Claude CodeはCLI上で動作するため、AIが生成したコードをそのままsf project deploy startで検証環境へデプロイしたり、sf apex test runでテストを実行したりといった、コマンドベースの連携が極めてスムーズです。
例えば、AIにコードを書かせた直後に「そのままテストクラスを実行して、エラーが出たら修正して」と命令することで、開発者はターミナルから一歩も出ることなく、デバッグ作業を完結させることが可能になります。
実践:Claude CodeをSalesforceリポジトリで起動する
実務でClaude Codeを運用するためには、単にツールをインストールするだけでなく、Salesforce固有のルールをAIに教え込む必要があります。
初期設定とインストール(CLI環境の準備)
Claude CodeはNode.js環境で動作します。以下の手順でセットアップを行います(詳細はAnthropic公式ドキュメントを参照)。
- Node.js 18以上をインストール。
npm install -g @anthropic-ai/claude-codeを実行。- Salesforceプロジェクトのルートディレクトリに移動し、
claudeコマンドを起動。 /authでAnthropicアカウントと連携。
CLAUDE.mdによるSalesforce開発ルールの定義
Claude Codeを賢く運用するための鍵は、リポジトリのルートに配置する「CLAUDE.md」ファイルです。ここには、そのプロジェクト固有のコーディング規約や、Salesforce特有の制約を記述します。
Salesforce Project Rules API Version: 60.0 Naming Convention: Apex classes must use PascalCase and end with 'Handler' or 'Controller'. Test Coverage: Minimum 75% required, but aim for 90%. Avoid using (SeeAllData=true). Trigger Policy: One trigger per object. Use a Trigger Framework. Command: Use sf project deploy start for deployment and sf apex run test for testing.
このファイルを置いておくことで、Claude Codeは常にこのルールに従ったコード生成を行うようになります。これは、大規模なチーム開発において品質ゲートを均一化するために不可欠なステップです。
Salesforceとfreeeを繋いでも「サブスク売上」は自動化できない理由についても併せてご確認ください。
AGENTS.mdを活用したApex/フロー生成用サブエージェントの構築
さらに高度な運用として、AGENTS.mdを活用して役割別のサブエージェント(Skills)を定義できます。例えば、「Salesforce Architect」というエージェントを定義し、ガバナ制限(Governor Limits)のチェックを専門に行わせる、といった使い分けが可能です。
Apex開発のゲート運用:Claude Codeによる下書きからPR作成まで
実務において、AIにコードを書かせて終わりにするのは危険です。必ず「検証」と「レビュー」のゲートを設ける必要があります。Claude Codeを用いた標準的な開発フローは以下の通りです。
既存コードの読み取りとリファクタリング提案の自動化
「この古いApexクラスを、最新のTrigger Frameworkに合わせて書き換えて。ついでにSOQLクエリがループ内で発行されていないかチェックして」と指示します。Claude Codeは、関連する複数のファイルを読み込み、最適なリファクタリング案を新しいファイルまたは差分(diff)として提示します。
テストクラスの自動生成とsf test runのローカル検証
Salesforceにおいて、テストクラスの作成は最も時間がかかる作業の一つです。Claude Codeは実装コードを理解しているため、カバレッジを網羅するテストデータを自動的に生成できます。生成後、そのまま/run sf apex test run -n MyTestClassと命令すれば、ローカルでテスト結果を確認し、失敗すればその場で修正案を出させることができます。
Git連携:Claude Codeによる要約付きプルリクエストの作成
修正が完了したら、Claude Codeに「ここまでの変更を要約して、プルリクエストを作成して」と依頼します。AIは差分を解析し、人間が読むのに適した丁寧な要約文を作成し、gh pr createなどのCLIコマンドを組み合わせてPRの発行まで自動化します。これが、本番反映前の「人間によるレビュー」という第一のゲートになります。
ノンコードの境界線:Salesforceフローの「下書き」をClaude Codeで制御する
Salesforceのフローは「ノンコード」と呼ばれますが、その実体は膨大なXMLファイルです。Claude CodeはこのXMLを直接編集・生成することが可能です。
フローXMLの構造を理解させ、ロジックのプロトタイプを生成する
複雑な分岐を持つフローをGUIで一つずつ配置するのは手間がかかります。「取引先が更新されたときに、関連する商談のフェーズを一括で更新するフローのXMLを生成して」と指示することで、プロトタイプとなる.flow-meta.xmlを生成させることができます。これをVS Codeで開き、Salesforceにプッシュすることで、GUI上には既にロジックが組み上がった状態で表示されます。
フローとApexの「責務分解」をAIとディスカッションする
「この処理はフローでやるべきか、Apexでやるべきか?」という設計上の悩みも、Claude Codeに相談できます。リポジトリ内の既存のロジック密度を計算し、保守性の観点から最適な提案を受けられます。
こうした自動化の考え方は、他の業務DXにも共通します。例えば、
Google Workspace × AppSheetを用いた業務DX
のように、適切なツール選定とAIによるロジック構築を組み合わせることで、開発コストを最小化できます。
運用・比較:Salesforce標準機能 vs AI駆動開発(Claude Code)
Claude Codeを導入することで、従来のSalesforce開発プロセスがどう変化するかを以下の表にまとめました。
| 工程 | 従来の開発(手動) | Claude Code 運用 |
|---|---|---|
| 仕様把握 | 複数ファイルを行き来し手動で調査 | /searchコマンドで全ファイルを瞬時に解析 |
| 下書き作成 | ボイラープレートを手書き | リポジトリの規約に沿ったコードを自動生成 |
| テスト作成 | 実装後に苦労して作成 | 実装と同時にテストコードを自動生成 |
| 品質ゲート | デプロイエラーが出てから修正 | sf validateをAIが実行し、エラーを自動修正 |
| ドキュメント | Wiki等に手動で追記 | CLAUDE.mdへの自動反映とPR要約の自動生成 |
セキュリティとガバナンス:機密情報を守るための設定
Salesforceの実務では、クライアントシークレットや認証情報を扱うことがあります。Claude Codeはデフォルトで.gitignoreを尊重しますが、念のため.claudeignoreファイルを作成し、デプロイ用スクリプトや鍵情報が含まれるディレクトリを明示的に除外することをお勧めします。
また、AIが生成したコードが既存のSaaSエコシステムに悪影響を及ぼさないよう、
SaaSコストと負債を断つためのアーキテクチャ設計
の視点を持ち、不要なAPIコールが発生していないかをゲートで確認することが重要です。
結論:Claude CodeがSalesforce実務の「新しいゲート」になる
Claude Codeの登場により、Salesforce開発は「コードを書く作業」から「AIが生成したロジックを承認し、品質ゲートを管理する作業」へとシフトしています。特にCLAUDE.mdを用いたコンテキスト共有と、CLI経由の自動テスト・デプロイ連携は、これまで属人化していたSalesforce開発の知見をチーム全体の資産に変える力を持っています。
まずは、小さなApexユーティリティクラスの作成や、既存フローの仕様ドキュメント作成からClaude Codeを使い始めてみてください。その圧倒的なスピードと、リポジトリに対する深い理解に驚くはずです。AIを単なるチャット相手ではなく、ターミナル上で共に戦う実務担当者として迎え入れることが、次世代のSalesforce開発における勝利条件となります。
実務導入前に確認すべき「運用上の注意点」とコスト管理
Claude Codeを実務に投入する際、多くのエンジニアが直面するのがトークン消費量とコンテキスト窓の管理です。特にSalesforceプロジェクトは、メタデータXMLが肥大化しやすいため、以下のポイントに留意してください。
- トークンコストの把握: Claude Codeはリポジトリ全体をスキャンするため、大規模なプロジェクトで不用意に広いコンテキストを与えると、API利用料が急増する可能性があります。
.claudeignoreを活用し、不要なバイナリやドキュメント、node_modules、Salesforceのバックアップファイル(.bak等)は必ず除外してください。 - セッションの連続性: CLI上での対話は非常にスムーズですが、複雑なApexの修正を繰り返すと過去の履歴が蓄積されます。混乱を避けるため、タスクごとに
/clearコマンドでコンテキストをリセットするか、新しいセッションを開始することを推奨します。 - 公式リソースの活用: Claude Codeの最新仕様やCLIコマンドの詳細は、Anthropicのエンジニア向けドキュメントClaude Code – Anthropic Documentationにて常にアップデートされています。
デプロイ前にチェックすべき「最終品質ゲート」リスト
AIが生成したコードを本番環境に近いSandboxへ反映する前に、人間が必ず確認すべきチェックリストをまとめました。これはコードレビュー時の「観点」としても有効です。
| チェック項目 | 確認のポイント |
|---|---|
| ガバナ制限の遵守 | ループ内でのSOQL発行やDML操作が、暗黙的に発生していないか。 |
| セキュリティ・権限 | with sharingの適切な付与、およびFLS(項目レベルセキュリティ)の考慮がなされているか。 |
| ハードコードの有無 | IDやURLが直接記述されていないか。カスタムラベルやカスタム設定に逃がされているか。 |
| 副作用の確認 | 生成されたフローXMLによって、既存の自動化プロセスと競合が発生しないか。 |
Salesforceの枠を超えたデータアーキテクチャへの拡張
Claude Codeを用いた効率的な開発が実現できれば、Salesforce内部のロジックだけでなく、外部システムとの「高度な連携」にもリソースを割けるようになります。例えば、Salesforceに蓄積された顧客行動データを、より安価で強力なデータ基盤へ統合し、マーケティングに活用する設計が求められる場面も増えています。
高額なツールに依存せず、コストパフォーマンスを追求した設計思想については、以下の記事も非常に参考になります。
Claude Codeを「単なるコード生成ツール」としてだけでなく、こうした広範なシステム設計を高速化するための「思考のプロトタイピングツール」として活用することが、これからのSalesforceエンジニアには求められます。
ご相談・お問い合わせ
本記事の内容を自社の状況に当てはめたい場合や、導入・運用の設計を一緒に整理したい場合は、当社までお気軽にご相談ください。担当より折り返しご連絡いたします。