当ブログではアフィリエイト広告を利用しています

生成AI(Generative AI)

AIエディタを使ったVibe CordingでSalesforceの開発を行う【①用語の理解とツールの説明】

Vibe Codingとは何か(感覚的・直感的なコーディング手法)

Vibe Coding(バイブコーディング)とは、従来の詳細な設計書やドキュメントベースの開発から脱却し、開発者の直感と感覚、そしてAIの支援を活用した新しいコーディング手法です。

開発者が「こんな機能を作りたい」という漠然としたアイデアや要求を、AIエディタとの対話を通じて具体的なコードに変換していくため、完璧な設計よりもスピードや柔軟性を重視しており、Salesforceの開発と非常に相性がよい手法となります。

サポーターさん
Vibe Codingを使えば、開発が必要な画面や機能も要件定義の段階でプロトタイプをサクッと作ったり、設計書や開発のコーディングのベースを作成して開発を大幅に効率化できます

従来のSalesforce開発の課題を解消

Salesforceの開発では、Javaなどの言語は経験があるが、ApexやLWCは経験がないというメンバーがアサインされることもありますが、Vibe codingを行うことで、Salesforce独自の言語(Apex/LWC/Visualforce/SOQL/SOSL)への対応やガバナ―制限への対応もAIが自動的に対応してくれるため、キャッチアップも用意で、開発効率も大幅にアップすることができます。

作成されたソースコードについて仕様や解説もしてくれるしコメントを入れることができるので、処理内容を把握して、要件と異なるところもすぐに検索して修正することができます。

AIエディタで実現できること

AIエディタとは?

開発現場で、皆さんが一番利用している生成AIは何でしょうか?実際はコーディング以外の作業もあるのでChatGTPが一番多いかもしれませんね。

コーディングで利用するAI エディター(※1)については、「GitHub Copilot」「Cline」「Cursor」「Windsurf」「Claude Code」 など数多くのエディタが出てきてますが、それぞれ一長一短があるような印象です。

ちなみに私は、現時点ではClaude Codeが一番のお気に入りです。Salesforceの開発IDEとしてはVisual Studio Codeが一般的になってきてますが、Claude Code はVSCodeの拡張プラグインとして利用することができます。

CursorやWindsurfは、VSCode のフォークエディタの位置づけとなります。

※1.AIエディタとは、AI(人工知能)技術を活用して、文章作成やコード編集などの作業を支援するソフトウェアで、コード補完やエラーチェック、自動生成などの機能を持ちます。

Salesforceの開発ではVSCodeを利用することが多いと思うので、現時点では、VSCodeと相性の良いものを選択するのがいいかもしれません。現在はまだ過渡期なので、特定のエディタというよりは、ChatpGPTやCluade.aiを使ってソースコードを生成して利用するなど組み合わせで進めていくのもよいと思います。

管理人
エディタについては、開発者ごとにこだわりが強く表れるので、まずは使ってみて気に入ったものを見つけるところから始めてください

主要AIエディタの比較

比較表

項目 GitHub Copilot Cline Cursor Windsurf Claude Code
料金 $10/月 無料/有料プラン $20/月 $15/月 無料(プレビュー)
統合性 多エディタ対応 VS Code専用 専用エディタ 専用エディタ コマンドライン
Salesforce対応 ⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐
コード補完 非常に高精度 高精度 高精度 高精度 中程度
ファイル操作 限定的 可能 可能 可能 可能
学習コスト

※料金や機能、Salesforceへの対応状況については日々変化しているため、最新の情報を公式HPやドキュメントで確認するようにしてください。

GitHub Copilot の詳細分析

概要と特徴 GitHub Copilotは、OpenAIのCodexモデルをベースとしたAIコーディング支援ツールです。GitHub上の膨大なオープンソースコードで訓練されており、多言語に対応しています。Salesforce開発においては、ApexやLightning Web Componentsのコード補完に優れた性能を発揮します。

Salesforce開発における強み

  • Apex言語の高精度な補完とコード生成
  • Lightning Web Componentsのテンプレート自動生成
  • SOQLクエリの最適化提案
  • テストクラスの自動生成
  • Salesforce APIの適切な使用方法提案

公式HPはコチラ

Cline の詳細分析

概要と特徴 ClineはVS Code拡張として動作するAIアシスタントで、ファイル操作やターミナル操作が可能な点が特徴です。Salesforce開発においては、Salesforce CLIとの連携や、複数ファイルにまたがる機能実装に威力を発揮します。

Salesforce開発における活用方法

  • Salesforce CLIコマンドの自動実行
  • プロジェクト構造の自動生成
  • 設定ファイルの一括更新
  • デプロイメントスクリプトの作成

Cursor の詳細分析

概要と特徴 CursorはAI機能を内蔵した専用エディタで、自然言語でのコード編集指示が可能です。コードベース全体を理解した上での提案を行うため、Salesforceの複雑なオブジェクト関係を理解した開発が可能になります。

Salesforce開発における強み

  • 自然言語でのApexクラス生成指示
  • オブジェクト関係を考慮したコード提案
  • Lightning Web Componentの統合的な開発支援
  • プロジェクト全体の一貫性チェック

公式HPはコチラ

Windsurf の詳細分析

概要と特徴 WindsurfはCodeium社が開発したAI統合開発環境で、マルチファイル編集とプロジェクト全体の理解に優れています。Salesforce開発においては、複雑なビジネスプロセスの実装や、大規模プロジェクトの管理に特に有効です。

Salesforce開発における特徴

  • 複数のApexクラス間の依存関係管理
  • Lightning Web Componentとバックエンドの連携設計
  • カスタムオブジェクトとコードの同期的開発
  • エンタープライズレベルのアーキテクチャ提案

公式HPはコチラ

Claude Code の詳細分析

概要と特徴 Claude CodeはAnthropic製のコマンドライン型AIツールで、ターミナルから直接Claude AIを活用できます。Salesforce開発においては、複雑なロジック実装や、アーキテクチャレベルの意思決定に強みを発揮します。

Salesforce開発における活用シーン

  • 複雑なビジネスロジックの設計相談
  • パフォーマンスチューニング戦略の策定
  • セキュリティ要件の実装方法検討
  • 大規模データ移行戦略の立案

AIエディタとSalesforce開発の相性

Salesforce特有の開発要素への対応

Apex言語の特殊性 ApexはJavaライクな構文を持ちながら、Salesforceプラットフォーム特有の制約とオブジェクトモデルを持っています。AIエディタは、標準的なJavaの知識を持つ開発者でも、Salesforce特有の書き方(sObjectの操作、SOQL埋め込み、ガバナーリミット対応など)を自然に習得できるよう支援します。

// AIエディタが提案する効率的なApexコード例
public class ContactProcessor {
    public static void updateContactsByAccount(Set<Id> accountIds) {
        // バルク処理を意識したSOQL
        List<Contact> contactsToUpdate = [
                      SELECT Id, AccountId, LastName 
                      FROM Contact 
                      WHERE AccountId IN :accountIds
                  ];
        
        for (Contact contact : contactsToUpdate) {
            // ビジネスロジックをここに記述
            contact.LastModifiedById = UserInfo.getUserId();
        }
        
        // DML操作もバルク処理
        if (!contactsToUpdate.isEmpty()) {
            Database.update(contactsToUpdate, false);
        }
    }
}

Lightning Web Componentsの複雑性 LWCは、HTML、JavaScript、CSSの組み合わせに加え、Salesforce特有のデコレータやワイヤーサービスの理解が必要です。AIエディタは、これらの複雑な連携を自然な形で提案し、モダンなWeb開発の知識をSalesforceプラットフォームに適用できるよう支援します。

SOQL/SOSLの最適化 データクエリの最適化は、Salesforce開発において極めて重要です。AIエディタは、パフォーマンスを考慮したクエリの作成、適切なインデックス活用、クエリプランの最適化などを支援します。

AIエディタによる開発効率化のポイント

コンテキスト理解の向上 最新のAIエディタは、単一ファイルではなくプロジェクト全体のコンテキストを理解し、一貫性のあるコード提案を行います。これにより、Salesforceの複雑なオブジェクト関係やビジネスプロセスを考慮した開発が可能になります。

リアルタイムコード検証 コーディング中にSalesforceのガバナーリミットやセキュリティルールをチェックし、問題のあるコードパターンを事前に警告します。これにより、デバッグ時間の大幅短縮が実現できます。

自動テストケース生成 Salesforceでは高いテストカバレッジが求められますが、AIエディタは機能的なテストケースを自動生成し、テスト品質の向上と開発時間の短縮を両立させます。

コード品質向上への貢献

ベストプラクティスの自動適用 AIエディタは、Salesforce開発のベストプラクティス(トリガーパターン、バルク処理、エラーハンドリングなど)を自動的に適用したコードを提案します。経験の浅い開発者でも、高品質なコードを作成できるようになります。

セキュリティ強化 CRUD権限チェック、SOQL インジェクション対策、適切な共有設定など、セキュリティに関する考慮事項を自動的に組み込んだコードを生成します。

保守性の向上 可読性が高く、拡張しやすいコード構造を提案することで、長期的な保守性を向上させます。また、適切なコメントやドキュメンテーションも自動生成されます。

以下のようなコードとコメントが自動生成されるためSalesforce特有の書き方(sObjectの操作、SOQL埋め込み、ガバナーリミット対応など)を自然に習得することができます。

実践的なVibe Coding手法

AIエディタを活用した具体的な開発フロー

ステップ1: 要件の自然言語化

従来の詳細設計書の代わりに、実現したい機能を自然言語で記述します。この段階では、技術的な詳細よりもビジネス価値に焦点を当てます。

例:「顧客からの問い合わせメールを受信したときに、自動的にケースを作成し、
適切な担当者にアサインし、顧客に自動返信を送信する機能を実装したい」

ステップ2: AIとの対話による要件精緻化

AIエディタとの対話を通じて、曖昧な要件を具体的な技術要件に変換します。

開発者: "メール受信時の自動ケース作成機能を実装したい"
AI: "Email-to-Caseの機能実装ですね。以下の要素が必要です:
1. インバウンドメール処理のApexクラス
2. ケース作成とアサインメントロジック
3. 自動返信のEmailテンプレート
4. エラーハンドリングとログ機能

どの部分から開始しますか?"

ステップ3: 段階的な実装

AIの提案に基づいて、機能を小さな単位に分割して段階的に実装します。

apex
// ステップ3-1: 基本的なメール処理クラス
global class EmailToCaseHandler implements Messaging.InboundEmailHandler {
    global Messaging.InboundEmailResult handleInboundEmail(
        Messaging.InboundEmail email, 
        Messaging.InboundEnvelope envelope
    ) {
        Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
        
        try {
            Case newCase = createCaseFromEmail(email);
            assignCaseToAgent(newCase);
            sendAutoReply(email.fromAddress, newCase.CaseNumber);
            result.success = true;
        } catch (Exception e) {
            logError(e, email);
            result.success = false;
        }
        
        return result;
    }
}

ステップ4: AIによる継続的改善

実装したコードをAIがレビューし、改善提案を行います。

apex
// AIが提案する改善版
global class EmailToCaseHandler implements Messaging.InboundEmailHandler {
    // 設定値の外部化
    private static final EmailToCaseSettings__c settings = EmailToCaseSettings__c.getInstance();
    
    global Messaging.InboundEmailResult handleInboundEmail(
        Messaging.InboundEmail email, 
        Messaging.InboundEnvelope envelope
    ) {
        Messaging.InboundEmailResult result = new Messaging.InboundEmailResult();
        
        try {
            // バリデーション追加
            if (!isValidEmail(email)) {
                throw new EmailValidationException('Invalid email format');
            }
            
            Case newCase = createCaseFromEmail(email);
            assignCaseToAgent(newCase);
            
            // 非同期での自動返信(ガバナーリミット対策)
            System.enqueueJob(new AutoReplyQueueable(email.fromAddress, newCase.CaseNumber));
            
            result.success = true;
        } catch (Exception e) {
            logError(e, email);
            result.success = false;
            result.message = 'Error processing email: ' + e.getMessage();
        }
        
        return result;
    }
}

プロンプトエンジニアリングのコツ

効果的なプロンプトの構造

  1. コンテキストの明確化
"Salesforceの本番環境で使用する、エンタープライズレベルのApexトリガーを作成してください。
ガバナーリミットとセキュリティを考慮した実装が必要です。"
  1. 具体的な制約条件の提示
"以下の制約を満たすLightning Web Componentを作成してください:
- 10,000件以上のレコードを効率的に表示
- モバイル対応(レスポンシブデザイン)
- Lightning Design Systemに準拠
- アクセシビリティ要件(WCAG 2.1 AA)を満たす"
  1. 期待する出力形式の指定
"以下の形式でコードを生成してください:
1. クラス全体のコード
2. 重要な部分の解説コメント
3. 使用方法の例
4. テストクラスの実装
5. 注意点とベストプラクティス"

反復的改善のためのプロンプト例

"先ほど生成したApexクラスを以下の観点で改善してください:
1. パフォーマンス最適化(特にSOQL実行回数の削減)
2. エラーハンドリングの強化
3. ログ出力の改善
4. コードの可読性向上
5. 単体テストカバレッジの向上"

ベストプラクティス

1. 段階的な開発アプローチ 一度に完璧なコードを求めるのではなく、動作する最小限の実装から始めて、段階的に機能を追加していきます。

2. AIの提案の検証 AIが生成したコードは必ず動作確認を行い、Salesforceの制約やセキュリティ要件を満たしているかチェックします。

3. チーム知識の共有 効果的だったプロンプトや手法は、チーム内で共有し、組織全体のVibe Coding能力を向上させます。

4. 継続的学習 AIエディタの新機能や改善されたプロンプト技術を継続的に学習し、開発手法をアップデートしていきます。

Salesofrceの開発に関するユースケース

参考AIエディタを使ったVibe codingの実際の開発事例(ユースケース)

AIエディタを使ったVibe codingの実際の開発事例(ユースケース) Lightning Web Componentの開発例 要件:顧客管理ダッシュボードの作成 自然言語での要求: "取引先の情 ...

続きを見る

まとめ

Vibe Codingがもたらす開発パラダイムの変化

AIエディタを活用したVibe Codingは、Salesforce開発において従来の課題を大幅に解決し、新しい開発体験を提供しています。詳細な設計書に依存した開発から、直感的で創造的な開発へのシフトが可能になり、開発者はより高次元のビジネス価値創出に集中できるようになります。

技術トレンドとの統合

ローコード・ノーコード開発との融合 AIエディタによるVibe Codingは、Salesforceのローコード・ノーコード機能と相互補完的な関係にあります。Flow Builder、Process Builder、Lightning App Builderなどの宣言的開発ツールとAIエディタを組み合わせることで、より柔軟で強力な開発環境が実現できます。

DevOpsとの統合 CI/CDパイプライン、自動テスト、デプロイメント自動化などのDevOpsプラクティスとAIエディタを統合することで、コード生成から本番環境への展開まで一貫した自動化が可能になります。

アジャイル開発手法との親和性 Vibe Codingの反復的で柔軟なアプローチは、アジャイル開発やスクラム手法と非常に相性が良く、スプリント内での迅速な機能開発と改善が可能になります。

続き

本記事では、AIエディタやVibe codingについての用語や概念について説明してきました。AIエディタの種類やそれぞれの特徴についても理解いただけたと思います。

環境構築については、別の記事で紹介したいと思います。

サポーターさん
実際に環境を構築して、AIエディタを利用できるようにしていきましょう。

 

関連記事

2025/6/22

AIエディタを使ったVibe CordingでSalesforceの開発を行う【①用語の理解とツールの説明】

Vibe Codingとは何か(感覚的・直感的なコーディング手法) Vibe Coding(バイブコーディング)とは、従来の詳細な設計書やドキュメントベースの開発から脱却し、開発者の直感と感覚、そしてAIの支援を活用した新しいコーディング手法です。 開発者が「こんな機能を作りたい」という漠然としたアイデアや要求を、AIエディタとの対話を通じて具体的なコードに変換していくため、完璧な設計よりもスピードや柔軟性を重視しており、Salesforceの開発と非常に相性がよい手法となります。 サポーターさんVibe ...

ReadMore

2025/6/22

AIエディタを使ったVibe codingの実際の開発事例(ユースケース)

AIエディタを使ったVibe codingの実際の開発事例(ユースケース) Lightning Web Componentの開発例 要件:顧客管理ダッシュボードの作成 自然言語での要求: "取引先の情報を表示し、関連する商談と取引先責任者を タブ形式で切り替えて表示できるダッシュボードコンポーネントを作成したい。 リアルタイムでデータを更新し、Excel出力機能も必要。" AIエディタによる段階的実装 ステップ1: 基本構造の生成 html <!-- accountDashboard.html -- ...

ReadMore

napkin.ai

2025/6/8

【2025年最新】Napkin AI完全ガイド-生成AIを使って効率的に資料やスライド用の文章や図解を作成しよう

このアイキャッチ画像もnapkin.aiで自動生成されたものです。 【2025年最新】Napkin AI完全ガイド テキストから文章や図解を用いたスライドを自動生成する革新的AIツール 図解生成時間:5秒 時間短縮効果:90% 図解タイプ:10+ 生成AIの進化により、私たちの働き方は日々変化しています。その中でも特に注目されているのが、テキストから美しい図解を自動生成するNapkin AIです。プレゼンテーション資料の作成に時間を取られがちなビジネスパーソンにとって、このツールは真の業務効率化をもたらす ...

ReadMore

2025/6/3

ビジネスを変革する生成AI「ジェネレーティブAI(Generative AI)」活用ガイド

はじめに 私が初めて本サイトで以下のChatGPTの記事を公開したのが、2023年2月21日でした。当時から衝撃を受けて、数年でシステム開発は生成AIに置き換わると想像していましたが、ほぼ予想通りの展開になってきました。 ここまでできる今話題のAI(ChatGPT)を使ったSaleforce開発(自動コード生成) 今回は、今話題の文章生成AI(ChatGPT)を使ってSalesforceの開発が現状どこまでできるのか検証してみた結果の記事となります。 過去にAIの機能を使ったことがある人は、「結局AIとい ...

ReadMore

2025/6/8

生成AIとは?初心者向け完全ガイド:基本から活用方法まで徹底解説

はじめに 「生成AI(ジェネレーティブAI)という言葉を最近よく耳にするけれど、実際にどんなものなのか分からない。ChatGPTは知っているけれど、生成AI全体について詳しく知りたい。そんな方のために、この記事では生成AIの基本から最新動向まで、初心者にもわかりやすく解説します。 読み終える頃には、生成AIとは何なのか、私たちの生活やビジネスにどのような影響を与えるのかが理解できるはずです。 生成AIとは?基本を理解しよう 生成AIの定義 生成AI(ジェネレーティブAI)とは、新しいコンテンツを創造するこ ...

ReadMore

-生成AI(Generative AI)
-, , , , , , , , , ,