<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Windsurf &#8211; AI開発実践ラボ</title>
	<atom:link href="https://creativecontentlabtokyo.com/tag/windsurf/feed/" rel="self" type="application/rss+xml" />
	<link>https://creativecontentlabtokyo.com</link>
	<description>AIで、作る力を手に入れる。</description>
	<lastBuildDate>Sat, 04 Apr 2026 21:09:22 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.2</generator>
	<item>
		<title>AIエディタを使ったVibe CordingでSalesforceの開発を行う【①用語の理解とツールの説明】</title>
		<link>https://creativecontentlabtokyo.com/develop-salesforce-with-vibe-cording-using-ai-editor/</link>
		
		<dc:creator><![CDATA[セールスフォース標準化推進ラボ]]></dc:creator>
		<pubDate>Sun, 22 Jun 2025 05:15:48 +0000</pubDate>
				<category><![CDATA[生成AI（Generative AI）]]></category>
		<category><![CDATA[AIエディタ]]></category>
		<category><![CDATA[Claude Code]]></category>
		<category><![CDATA[Cline]]></category>
		<category><![CDATA[Copilot]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Vibe coding]]></category>
		<category><![CDATA[VSCode]]></category>
		<category><![CDATA[Windsurf]]></category>
		<category><![CDATA[コーディング]]></category>
		<category><![CDATA[生成AI]]></category>
		<category><![CDATA[開発]]></category>
		<guid isPermaLink="false">https://creativecontentlabtokyo.com/?p=5506</guid>

					<description><![CDATA[Vibe Codingとは何か（感覚的・直感的なコーディング手法） Vibe Coding（バイブコーディング）とは、従来の詳細な設計書やドキュメントベースの開…]]></description>
										<content:encoded><![CDATA[<h2 class="text-2xl font-bold mt-1 text-text-100">Vibe Codingとは何か（感覚的・直感的なコーディング手法）</h2>
<p class="whitespace-normal break-words">Vibe Coding（バイブコーディング）とは、従来の詳細な設計書やドキュメントベースの開発から脱却し、開発者の直感と感覚、そしてAIの支援を活用した新しいコーディング手法です。</p>
<p class="whitespace-normal break-words">開発者が「こんな機能を作りたい」という漠然としたアイデアや要求を、AIエディタとの対話を通じて具体的なコードに変換していくため、完璧な設計よりもスピードや柔軟性を重視しており、Salesforceの開発と非常に相性がよい手法となります。</p>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">Vibe Codingを使えば、開発が必要な画面や機能も要件定義の段階でプロトタイプをサクッと作ったり、設計書や開発のコーディングのベースを作成して開発を大幅に効率化できます</div></div></div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">従来のSalesforce開発の課題を解消</h3>
<p>Salesforceの開発では、Javaなどの言語は経験があるが、ApexやLWCは経験がないというメンバーがアサインされることもありますが、Vibe codingを行うことで、Salesforce独自の言語（Apex/LWC/Visualforce/SOQL/SOSL）への対応やガバナ―制限への対応もAIが自動的に対応してくれるため、キャッチアップも用意で、開発効率も大幅にアップすることができます。</p>
<p>作成されたソースコードについて仕様や解説もしてくれるしコメントを入れることができるので、処理内容を把握して、要件と異なるところもすぐに検索して修正することができます。</p>
<p>AIエディタで実現できること</p>
<p><img fetchpriority="high" decoding="async" width="1920" height="1129" class="alignnone wp-image-5521 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140.jpg" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140.jpg 1920w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140-300x176.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140-1024x602.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140-768x452.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-140-1536x903.jpg 1536w" sizes="(max-width: 1920px) 100vw, 1920px" /></p>
<h2 class="text-2xl font-bold mt-1 text-text-100">AIエディタとは？</h2>
<p>開発現場で、皆さんが一番利用している生成AIは何でしょうか？実際はコーディング以外の作業もあるのでChatGTPが一番多いかもしれませんね。</p>
<p>コーディングで利用するAI エディター（※1）については、「<span style="color: #0000ff;"><strong>GitHub Copilot</strong></span>」「<span style="color: #0000ff;"><strong>Cline</strong></span>」「<span style="color: #0000ff;"><strong>Cursor</strong></span>」「<span style="color: #0000ff;"><strong>Windsurf</strong></span>」「<span style="color: #0000ff;"><strong>Claude Code</strong></span>」 など数多くのエディタが出てきてますが、それぞれ一長一短があるような印象です。</p>
<p>ちなみに私は、現時点ではClaude Codeが一番のお気に入りです。Salesforceの開発IDEとしてはVisual Studio Codeが一般的になってきてますが、Claude Code はVSCodeの拡張プラグインとして利用することができます。</p>
<p>CursorやWindsurfは、VSCode のフォークエディタの位置づけとなります。</p>
<p>※1.AIエディタとは、AI（人工知能）技術を活用して、文章作成やコード編集などの作業を支援するソフトウェアで、コード補完やエラーチェック、自動生成などの機能を持ちます。</p>
<p>Salesforceの開発ではVSCodeを利用することが多いと思うので、現時点では、VSCodeと相性の良いものを選択するのがいいかもしれません。現在はまだ過渡期なので、特定のエディタというよりは、ChatpGPTやCluade.aiを使ってソースコードを生成して利用するなど組み合わせで進めていくのもよいと思います。</p>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/no-img.png" alt="" loading="lazy" /></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f8f8f8;"><div class="cclt-compat-kaiwa__text">エディタについては、開発者ごとにこだわりが強く表れるので、まずは使ってみて気に入ったものを見つけるところから始めてください</div></div></div>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">主要AIエディタの比較</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">比較表</h3>
<table class="bg-bg-100 min-w-full border-separate border-spacing-0 text-sm leading-[1.88888] whitespace-normal">
<thead class="border-b-border-100/50 border-b-[0.5px] text-left">
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">項目</th>
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">GitHub Copilot</th>
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">Cline</th>
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">Cursor</th>
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">Windsurf</th>
<th class="text-text-000 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] font-400 px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">Claude Code</th>
</tr>
</thead>
<tbody>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>料金</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">$10/月</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">無料/有料プラン</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">$20/月</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">$15/月</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">無料（プレビュー）</td>
</tr>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>統合性</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">多エディタ対応</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">VS Code専用</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">専用エディタ</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">専用エディタ</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">コマンドライン</td>
</tr>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>Salesforce対応</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /></td>
</tr>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>コード補完</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">非常に高精度</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">高精度</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">高精度</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">高精度</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">中程度</td>
</tr>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>ファイル操作</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">限定的</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">可能</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">可能</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">可能</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">可能</td>
</tr>
<tr class="[tbody&gt;&amp;]:odd:bg-bg-500/10">
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]"><strong>学習コスト</strong></td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">低</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">中</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">低</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">中</td>
<td class="border-t-border-100/50 [&amp;:not(:first-child)]:-x-[hsla(var(--border-100) / 0.5)] border-t-[0.5px] px-2 [&amp;:not(:first-child)]:border-l-[0.5px]">高</td>
</tr>
</tbody>
</table>
<div class="cclt-compat-cmemo" style="background-color:#ffebee;color:#000000;border:px solid ;"><span class="cclt-compat-cmemo__icon fa fa-file-text-o" style="color:#ef5350;"></span><div class="cclt-compat-cmemo__text">※料金や機能、Salesforceへの対応状況については日々変化しているため、最新の情報を公式HPやドキュメントで確認するようにしてください。</div></div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">GitHub Copilot の詳細分析</h3>
<p><img decoding="async" width="1373" height="396" class="alignnone wp-image-5513 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138.jpg" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138.jpg 1373w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-300x87.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1024x295.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-768x222.jpg 768w" sizes="(max-width: 1373px) 100vw, 1373px" /></p>
<p class="whitespace-normal break-words"><strong>概要と特徴</strong> GitHub Copilotは、OpenAIのCodexモデルをベースとしたAIコーディング支援ツールです。GitHub上の膨大なオープンソースコードで訓練されており、多言語に対応しています。Salesforce開発においては、ApexやLightning Web Componentsのコード補完に優れた性能を発揮します。</p>
<p class="whitespace-normal break-words"><strong>Salesforce開発における強み</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">Apex言語の高精度な補完とコード生成</li>
<li class="whitespace-normal break-words">Lightning Web Componentsのテンプレート自動生成</li>
<li class="whitespace-normal break-words">SOQLクエリの最適化提案</li>
<li class="whitespace-normal break-words">テストクラスの自動生成</li>
<li class="whitespace-normal break-words">Salesforce APIの適切な使用方法提案</li>
</ul>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://azure.microsoft.com/ja-jp/products/github/copilot" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#FFD54F;border:1px solid #FFEB3B;border-radius:5px;font-weight:bold;background:linear-gradient(#ffdb69,#FFD54F);" rel="noopener">公式HPはコチラ</a></div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Cline の詳細分析</h3>
<p class="whitespace-normal break-words"><strong>概要と特徴</strong> ClineはVS Code拡張として動作するAIアシスタントで、ファイル操作やターミナル操作が可能な点が特徴です。Salesforce開発においては、Salesforce CLIとの連携や、複数ファイルにまたがる機能実装に威力を発揮します。</p>
<p class="whitespace-normal break-words"><strong>Salesforce開発における活用方法</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">Salesforce CLIコマンドの自動実行</li>
<li class="whitespace-normal break-words">プロジェクト構造の自動生成</li>
<li class="whitespace-normal break-words">設定ファイルの一括更新</li>
<li class="whitespace-normal break-words">デプロイメントスクリプトの作成</li>
</ul>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Cursor の詳細分析</h3>
<p><img decoding="async" width="1740" height="603" class="alignnone wp-image-5515 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1.jpg" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1.jpg 1740w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1-300x104.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1-1024x355.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1-768x266.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1-1536x532.jpg 1536w" sizes="(max-width: 1740px) 100vw, 1740px" /></p>
<p class="whitespace-normal break-words"><strong>概要と特徴</strong> CursorはAI機能を内蔵した専用エディタで、自然言語でのコード編集指示が可能です。コードベース全体を理解した上での提案を行うため、Salesforceの複雑なオブジェクト関係を理解した開発が可能になります。</p>
<p class="whitespace-normal break-words"><strong>Salesforce開発における強み</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">自然言語でのApexクラス生成指示</li>
<li class="whitespace-normal break-words">オブジェクト関係を考慮したコード提案</li>
<li class="whitespace-normal break-words">Lightning Web Componentの統合的な開発支援</li>
<li class="whitespace-normal break-words">プロジェクト全体の一貫性チェック</li>
</ul>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://www.cursor.com/ja" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#FFD54F;border:1px solid #FFEB3B;border-radius:5px;font-weight:bold;background:linear-gradient(#ffdb69,#FFD54F);" rel="noopener">公式HPはコチラ</a></div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Windsurf の詳細分析</h3>
<p><img loading="lazy" decoding="async" width="1706" height="453" class="alignnone wp-image-5516 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2.jpg" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2.jpg 1706w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2-300x80.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2-1024x272.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2-768x204.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-2-1536x408.jpg 1536w" sizes="auto, (max-width: 1706px) 100vw, 1706px" /></p>
<p class="whitespace-normal break-words"><strong>概要と特徴</strong> WindsurfはCodeium社が開発したAI統合開発環境で、マルチファイル編集とプロジェクト全体の理解に優れています。Salesforce開発においては、複雑なビジネスプロセスの実装や、大規模プロジェクトの管理に特に有効です。</p>
<p class="whitespace-normal break-words"><strong>Salesforce開発における特徴</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">複数のApexクラス間の依存関係管理</li>
<li class="whitespace-normal break-words">Lightning Web Componentとバックエンドの連携設計</li>
<li class="whitespace-normal break-words">カスタムオブジェクトとコードの同期的開発</li>
<li class="whitespace-normal break-words">エンタープライズレベルのアーキテクチャ提案</li>
</ul>
<div class="cclt-compat-mybutton cclt-compat-mybutton--ref cclt-compat-mybutton--shadow"><a href="https://windsurf.com/" class="cclt-compat-mybutton__link" style="color:#fff;background-color:#FFD54F;border:1px solid #FFEB3B;border-radius:5px;font-weight:bold;background:linear-gradient(#ffdb69,#FFD54F);" rel="noopener">公式HPはコチラ</a></div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Claude Code の詳細分析</h3>
<p><img loading="lazy" decoding="async" width="1379" height="475" class="alignnone wp-image-5517 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138.png 1379w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-300x103.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-1024x353.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-138-768x265.png 768w" sizes="auto, (max-width: 1379px) 100vw, 1379px" /></p>
<p class="whitespace-normal break-words"><strong>概要と特徴</strong> Claude CodeはAnthropic製のコマンドライン型AIツールで、ターミナルから直接Claude AIを活用できます。Salesforce開発においては、複雑なロジック実装や、アーキテクチャレベルの意思決定に強みを発揮します。</p>
<p class="whitespace-normal break-words"><strong>Salesforce開発における活用シーン</strong></p>
<ul class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-disc space-y-1.5 pl-7">
<li class="whitespace-normal break-words">複雑なビジネスロジックの設計相談</li>
<li class="whitespace-normal break-words">パフォーマンスチューニング戦略の策定</li>
<li class="whitespace-normal break-words">セキュリティ要件の実装方法検討</li>
<li class="whitespace-normal break-words">大規模データ移行戦略の立案</li>
</ul>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">AIエディタとSalesforce開発の相性</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Salesforce特有の開発要素への対応</h3>
<p class="whitespace-normal break-words"><strong>Apex言語の特殊性</strong> ApexはJavaライクな構文を持ちながら、Salesforceプラットフォーム特有の制約とオブジェクトモデルを持っています。AIエディタは、標準的なJavaの知識を持つ開発者でも、Salesforce特有の書き方（sObjectの操作、SOQL埋め込み、ガバナーリミット対応など）を自然に習得できるよう支援します。</p>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code class="language-apex"><span class="token">// AIエディタが提案する効率的なApexコード例</span>
<span class="token">public</span> <span class="token">class</span> <span class="token">ContactProcessor</span> <span class="token">{</span>
    <span class="token">public</span> <span class="token">static</span> <span class="token">void</span> <span class="token">updateContactsByAccount</span><span class="token">(</span><span class="token">Set</span><span class="token">&lt;</span><span class="token">Id</span><span class="token">&gt;</span> accountIds<span class="token">)</span> <span class="token">{</span>
        <span class="token">// バルク処理を意識したSOQL</span>
        <span class="token">List</span><span class="token">&lt;</span><span class="token">Contact</span><span class="token">&gt;</span> contactsToUpdate <span class="token">=</span> <span class="token sql language-sql">[</span>
                      <span class="token sql language-sql">SELECT</span><span class="token sql language-sql"> Id</span><span class="token sql language-sql">,</span><span class="token sql language-sql"> AccountId</span><span class="token sql language-sql">,</span><span class="token sql language-sql"> LastName 
</span>                      <span class="token sql language-sql">FROM</span><span class="token sql language-sql"> Contact 
</span>                      <span class="token sql language-sql">WHERE</span><span class="token sql language-sql"> AccountId </span><span class="token sql language-sql">IN</span><span class="token sql language-sql"> :accountIds
</span>                  <span class="token sql language-sql">]</span><span class="token">;</span>
        
        <span class="token">for</span> <span class="token">(</span><span class="token">Contact</span> contact <span class="token">:</span> contactsToUpdate<span class="token">)</span> <span class="token">{</span>
            <span class="token">// ビジネスロジックをここに記述</span>
            contact<span class="token">.</span>LastModifiedById <span class="token">=</span> UserInfo<span class="token">.</span><span class="token">getUserId</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
        <span class="token">}</span>
        
        <span class="token">// DML操作もバルク処理</span>
        <span class="token">if</span> <span class="token">(</span><span class="token">!</span>contactsToUpdate<span class="token">.</span><span class="token">isEmpty</span><span class="token">(</span><span class="token">)</span><span class="token">)</span> <span class="token">{</span>
            Database<span class="token">.</span><span class="token">update</span><span class="token">(</span>contactsToUpdate<span class="token">,</span> <span class="token">false</span><span class="token">)</span><span class="token">;</span>
        <span class="token">}</span>
    <span class="token">}</span>
<span class="token">}</span></code></pre>
</div>
</div>
<p class="whitespace-normal break-words"><strong>Lightning Web Componentsの複雑性</strong> LWCは、HTML、JavaScript、CSSの組み合わせに加え、Salesforce特有のデコレータやワイヤーサービスの理解が必要です。AIエディタは、これらの複雑な連携を自然な形で提案し、モダンなWeb開発の知識をSalesforceプラットフォームに適用できるよう支援します。</p>
<p class="whitespace-normal break-words"><strong>SOQL/SOSLの最適化</strong> データクエリの最適化は、Salesforce開発において極めて重要です。AIエディタは、パフォーマンスを考慮したクエリの作成、適切なインデックス活用、クエリプランの最適化などを支援します。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">AIエディタによる開発効率化のポイント</h3>
<p class="whitespace-normal break-words"><strong>コンテキスト理解の向上</strong> 最新のAIエディタは、単一ファイルではなくプロジェクト全体のコンテキストを理解し、一貫性のあるコード提案を行います。これにより、Salesforceの複雑なオブジェクト関係やビジネスプロセスを考慮した開発が可能になります。</p>
<p class="whitespace-normal break-words"><strong>リアルタイムコード検証</strong> コーディング中にSalesforceのガバナーリミットやセキュリティルールをチェックし、問題のあるコードパターンを事前に警告します。これにより、デバッグ時間の大幅短縮が実現できます。</p>
<p class="whitespace-normal break-words"><strong>自動テストケース生成</strong> Salesforceでは高いテストカバレッジが求められますが、AIエディタは機能的なテストケースを自動生成し、テスト品質の向上と開発時間の短縮を両立させます。</p>
<p><img loading="lazy" decoding="async" width="2474" height="1396" class="alignnone wp-image-5519 size-full" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139.png" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139.png 2474w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139-300x169.png 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139-1024x578.png 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139-768x433.png 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139-1536x867.png 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Pasted-139-2048x1156.png 2048w" sizes="auto, (max-width: 2474px) 100vw, 2474px" /></p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">コード品質向上への貢献</h3>
<p class="whitespace-normal break-words"><strong>ベストプラクティスの自動適用</strong> AIエディタは、Salesforce開発のベストプラクティス（トリガーパターン、バルク処理、エラーハンドリングなど）を自動的に適用したコードを提案します。経験の浅い開発者でも、高品質なコードを作成できるようになります。</p>
<p class="whitespace-normal break-words"><strong>セキュリティ強化</strong> CRUD権限チェック、SOQL インジェクション対策、適切な共有設定など、セキュリティに関する考慮事項を自動的に組み込んだコードを生成します。</p>
<p class="whitespace-normal break-words"><strong>保守性の向上</strong> 可読性が高く、拡張しやすいコード構造を提案することで、長期的な保守性を向上させます。また、適切なコメントやドキュメンテーションも自動生成されます。</p>
<p class="whitespace-normal break-words">以下のようなコードとコメントが自動生成されるためSalesforce特有の書き方（sObjectの操作、SOQL埋め込み、ガバナーリミット対応など）を自然に習得することができます。</p>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">実践的なVibe Coding手法</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">AIエディタを活用した具体的な開発フロー</h3>
<p class="whitespace-normal break-words"><strong>ステップ1: 要件の自然言語化</strong></p>
<p class="whitespace-normal break-words">従来の詳細設計書の代わりに、実現したい機能を自然言語で記述します。この段階では、技術的な詳細よりもビジネス価値に焦点を当てます。</p>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>例：「顧客からの問い合わせメールを受信したときに、自動的にケースを作成し、
適切な担当者にアサインし、顧客に自動返信を送信する機能を実装したい」</code></pre>
</div>
</div>
<p class="whitespace-normal break-words"><strong>ステップ2: AIとの対話による要件精緻化</strong></p>
<p class="whitespace-normal break-words">AIエディタとの対話を通じて、曖昧な要件を具体的な技術要件に変換します。</p>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>開発者: "メール受信時の自動ケース作成機能を実装したい"
AI: "Email-to-Caseの機能実装ですね。以下の要素が必要です：
1. インバウンドメール処理のApexクラス
2. ケース作成とアサインメントロジック
3. 自動返信のEmailテンプレート
4. エラーハンドリングとログ機能

どの部分から開始しますか？"</code></pre>
</div>
</div>
<p class="whitespace-normal break-words"><strong>ステップ3: 段階的な実装</strong></p>
<p class="whitespace-normal break-words">AIの提案に基づいて、機能を小さな単位に分割して段階的に実装します。</p>
<div class="relative group/copy rounded-lg">
<div class="text-text-500 text-xs p-3.5 pb-0">apex</div>
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code class="language-apex"><span class="token">// ステップ3-1: 基本的なメール処理クラス</span>
<span class="token">global</span> <span class="token">class</span> <span class="token">EmailToCaseHandler</span> <span class="token">implements</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailHandler</span> <span class="token">{</span>
    <span class="token">global</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span> <span class="token">handleInboundEmail</span><span class="token">(</span>
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmail</span> email<span class="token">,</span> 
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEnvelope</span> envelope
    <span class="token">)</span> <span class="token">{</span>
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span> result <span class="token">=</span> <span class="token">new</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
        
        <span class="token">try</span> <span class="token">{</span>
            <span class="token">Case</span> newCase <span class="token">=</span> <span class="token">createCaseFromEmail</span><span class="token">(</span>email<span class="token">)</span><span class="token">;</span>
            <span class="token">assignCaseToAgent</span><span class="token">(</span>newCase<span class="token">)</span><span class="token">;</span>
            <span class="token">sendAutoReply</span><span class="token">(</span>email<span class="token">.</span>fromAddress<span class="token">,</span> newCase<span class="token">.</span>CaseNumber<span class="token">)</span><span class="token">;</span>
            result<span class="token">.</span>success <span class="token">=</span> <span class="token">true</span><span class="token">;</span>
        <span class="token">}</span> <span class="token">catch</span> <span class="token">(</span><span class="token">Exception</span> e<span class="token">)</span> <span class="token">{</span>
            <span class="token">logError</span><span class="token">(</span>e<span class="token">,</span> email<span class="token">)</span><span class="token">;</span>
            result<span class="token">.</span>success <span class="token">=</span> <span class="token">false</span><span class="token">;</span>
        <span class="token">}</span>
        
        <span class="token">return</span> result<span class="token">;</span>
    <span class="token">}</span>
<span class="token">}</span></code></pre>
</div>
</div>
<p class="whitespace-normal break-words"><strong>ステップ4: AIによる継続的改善</strong></p>
<p class="whitespace-normal break-words">実装したコードをAIがレビューし、改善提案を行います。</p>
<div class="relative group/copy rounded-lg">
<div class="text-text-500 text-xs p-3.5 pb-0">apex</div>
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code class="language-apex"><span class="token">// AIが提案する改善版</span>
<span class="token">global</span> <span class="token">class</span> <span class="token">EmailToCaseHandler</span> <span class="token">implements</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailHandler</span> <span class="token">{</span>
    <span class="token">// 設定値の外部化</span>
    <span class="token">private</span> <span class="token">static</span> <span class="token">final</span> <span class="token">EmailToCaseSettings__c</span> settings <span class="token">=</span> EmailToCaseSettings__c<span class="token">.</span><span class="token">getInstance</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
    
    <span class="token">global</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span> <span class="token">handleInboundEmail</span><span class="token">(</span>
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmail</span> email<span class="token">,</span> 
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEnvelope</span> envelope
    <span class="token">)</span> <span class="token">{</span>
        <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span> result <span class="token">=</span> <span class="token">new</span> <span class="token">Messaging</span><span class="token">.</span><span class="token">InboundEmailResult</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
        
        <span class="token">try</span> <span class="token">{</span>
            <span class="token">// バリデーション追加</span>
            <span class="token">if</span> <span class="token">(</span><span class="token">!</span><span class="token">isValidEmail</span><span class="token">(</span>email<span class="token">)</span><span class="token">)</span> <span class="token">{</span>
                <span class="token">throw</span> <span class="token">new</span> <span class="token">EmailValidationException</span><span class="token">(</span><span class="token">'Invalid email format'</span><span class="token">)</span><span class="token">;</span>
            <span class="token">}</span>
            
            <span class="token">Case</span> newCase <span class="token">=</span> <span class="token">createCaseFromEmail</span><span class="token">(</span>email<span class="token">)</span><span class="token">;</span>
            <span class="token">assignCaseToAgent</span><span class="token">(</span>newCase<span class="token">)</span><span class="token">;</span>
            
            <span class="token">// 非同期での自動返信（ガバナーリミット対策）</span>
            <span class="token">System</span><span class="token">.</span><span class="token">enqueueJob</span><span class="token">(</span><span class="token">new</span> <span class="token">AutoReplyQueueable</span><span class="token">(</span>email<span class="token">.</span>fromAddress<span class="token">,</span> newCase<span class="token">.</span>CaseNumber<span class="token">)</span><span class="token">)</span><span class="token">;</span>
            
            result<span class="token">.</span>success <span class="token">=</span> <span class="token">true</span><span class="token">;</span>
        <span class="token">}</span> <span class="token">catch</span> <span class="token">(</span><span class="token">Exception</span> e<span class="token">)</span> <span class="token">{</span>
            <span class="token">logError</span><span class="token">(</span>e<span class="token">,</span> email<span class="token">)</span><span class="token">;</span>
            result<span class="token">.</span>success <span class="token">=</span> <span class="token">false</span><span class="token">;</span>
            result<span class="token">.</span>message <span class="token">=</span> <span class="token">'Error processing email: '</span> <span class="token">+</span> e<span class="token">.</span><span class="token">getMessage</span><span class="token">(</span><span class="token">)</span><span class="token">;</span>
        <span class="token">}</span>
        
        <span class="token">return</span> result<span class="token">;</span>
    <span class="token">}</span>
<span class="token">}</span></code></pre>
</div>
</div>
<h2 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">プロンプトエンジニアリングのコツ</h2>
<p class="whitespace-normal break-words"><strong>効果的なプロンプトの構造</strong></p>
<ol class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7">
<li class="whitespace-normal break-words"><strong>コンテキストの明確化</strong></li>
</ol>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>"Salesforceの本番環境で使用する、エンタープライズレベルのApexトリガーを作成してください。
ガバナーリミットとセキュリティを考慮した実装が必要です。"</code></pre>
</div>
</div>
<ol class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7" start="2">
<li class="whitespace-normal break-words"><strong>具体的な制約条件の提示</strong></li>
</ol>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>"以下の制約を満たすLightning Web Componentを作成してください：
- 10,000件以上のレコードを効率的に表示
- モバイル対応（レスポンシブデザイン）
- Lightning Design Systemに準拠
- アクセシビリティ要件（WCAG 2.1 AA）を満たす"</code></pre>
</div>
</div>
<ol class="[&amp;:not(:last-child)_ul]:pb-1 [&amp;:not(:last-child)_ol]:pb-1 list-decimal space-y-1.5 pl-7" start="3">
<li class="whitespace-normal break-words"><strong>期待する出力形式の指定</strong></li>
</ol>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>"以下の形式でコードを生成してください：
1. クラス全体のコード
2. 重要な部分の解説コメント
3. 使用方法の例
4. テストクラスの実装
5. 注意点とベストプラクティス"</code></pre>
</div>
</div>
<p class="whitespace-normal break-words"><strong>反復的改善のためのプロンプト例</strong></p>
<div class="relative group/copy rounded-lg">
<div class="">
<pre class="code-block__code !my-0 !rounded-lg !text-sm !leading-relaxed"><code>"先ほど生成したApexクラスを以下の観点で改善してください：
1. パフォーマンス最適化（特にSOQL実行回数の削減）
2. エラーハンドリングの強化
3. ログ出力の改善
4. コードの可読性向上
5. 単体テストカバレッジの向上"</code></pre>
</div>
</div>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">ベストプラクティス</h3>
<p class="whitespace-normal break-words"><strong>1. 段階的な開発アプローチ</strong> 一度に完璧なコードを求めるのではなく、動作する最小限の実装から始めて、段階的に機能を追加していきます。</p>
<p class="whitespace-normal break-words"><strong>2. AIの提案の検証</strong> AIが生成したコードは必ず動作確認を行い、Salesforceの制約やセキュリティ要件を満たしているかチェックします。</p>
<p class="whitespace-normal break-words"><strong>3. チーム知識の共有</strong> 効果的だったプロンプトや手法は、チーム内で共有し、組織全体のVibe Coding能力を向上させます。</p>
<p class="whitespace-normal break-words"><strong>4. 継続的学習</strong> AIエディタの新機能や改善されたプロンプト技術を継続的に学習し、開発手法をアップデートしていきます。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Salesofrceの開発に関するユースケース</h3>
<div class="cclt-compat-card st-no-shadow cclt-compat-card--text"><span class="cclt-compat-card__label" style="background-color:#cccccc;color:#ffffff;">参考</span><a href="https://creativecontentlabtokyo.com/development-use-case-vibe-coding/" class="cclt-compat-card__link"><div class="cclt-compat-card__thumb"><img decoding="async" width="300" height="169" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-300x169.jpg" class="attachment-medium size-medium wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-300x169.jpg 300w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-1024x576.jpg 1024w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-768x432.jpg 768w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-1536x864.jpg 1536w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース.jpg 1920w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div class="cclt-compat-card__body"><div class="cclt-compat-card__title">AIエディタを使ったVibe codingの実際の開発事例（ユースケース）</div><div class="cclt-compat-card__excerpt">AIエディタを使ったVibe codingの実際の開発事例（ユースケース） Li…</div><span class="cclt-compat-card__readmore">続きを読む</span></div></a></div>
<h2 class="text-xl font-bold text-text-100 mt-1 -mb-0.5">まとめ</h2>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">Vibe Codingがもたらす開発パラダイムの変化</h3>
<p class="whitespace-normal break-words">AIエディタを活用したVibe Codingは、Salesforce開発において従来の課題を大幅に解決し、新しい開発体験を提供しています。詳細な設計書に依存した開発から、直感的で創造的な開発へのシフトが可能になり、開発者はより高次元のビジネス価値創出に集中できるようになります。</p>
<h3 class="text-lg font-bold text-text-100 mt-1 -mb-1.5">技術トレンドとの統合</h3>
<p class="whitespace-normal break-words"><strong>ローコード・ノーコード開発との融合</strong> AIエディタによるVibe Codingは、Salesforceのローコード・ノーコード機能と相互補完的な関係にあります。Flow Builder、Process Builder、Lightning App Builderなどの宣言的開発ツールとAIエディタを組み合わせることで、より柔軟で強力な開発環境が実現できます。</p>
<p class="whitespace-normal break-words"><strong>DevOpsとの統合</strong> CI/CDパイプライン、自動テスト、デプロイメント自動化などのDevOpsプラクティスとAIエディタを統合することで、コード生成から本番環境への展開まで一貫した自動化が可能になります。</p>
<p class="whitespace-normal break-words"><strong>アジャイル開発手法との親和性</strong> Vibe Codingの反復的で柔軟なアプローチは、アジャイル開発やスクラム手法と非常に相性が良く、スプリント内での迅速な機能開発と改善が可能になります。</p>
<h2 class="whitespace-normal break-words">続き</h2>
<p>本記事では、AIエディタやVibe codingについての用語や概念について説明してきました。AIエディタの種類やそれぞれの特徴についても理解いただけたと思います。</p>
<p>環境構築については、別の記事で紹介したいと思います。</p>
<div class="cclt-compat-kaiwa cclt-compat-kaiwa--left"><div class="cclt-compat-kaiwa__icon"><img decoding="async" src="https://creativecontentlabtokyo.com/wp-content/uploads/2024/11/schooldays1.jpg" alt="サポーターさん" loading="lazy" /><span class="cclt-compat-kaiwa__name">サポーターさん</span></div><div class="cclt-compat-kaiwa__bubble" style="background-color:#f4f4e3;"><div class="cclt-compat-kaiwa__text">実際に環境を構築して、AIエディタを利用できるようにしていきましょう。</div></div></div>
<p>&nbsp;</p>
<h2>関連記事</h2>
<div class="cclt-compat-catgroup"><ul class="cclt-compat-catgroup__list"><li class="cclt-compat-catgroup__item"><a href="https://creativecontentlabtokyo.com/develop-salesforce-with-vibe-cording-using-ai-editor/" class="cclt-compat-catgroup__link"><div class="cclt-compat-catgroup__thumb"><img decoding="async" width="150" height="150" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-Vibe-coding-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-Vibe-coding-150x150.jpg 150w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-Vibe-coding-100x100.jpg 100w" sizes="auto, (max-width: 150px) 100vw, 150px" /></div><div class="cclt-compat-catgroup__info"><span class="cclt-compat-catgroup__title">AIエディタを使ったVibe CordingでSalesforceの開発を行う【①用語の理解とツールの説明】</span><time class="cclt-compat-catgroup__date" datetime="2025-06-22T14:15:48+09:00">2025年6月22日</time></div></a></li><li class="cclt-compat-catgroup__item"><a href="https://creativecontentlabtokyo.com/development-use-case-vibe-coding/" class="cclt-compat-catgroup__link"><div class="cclt-compat-catgroup__thumb"><img decoding="async" width="150" height="150" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-150x150.jpg 150w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/Salesforce-vibe-coding-ユースケース-100x100.jpg 100w" sizes="auto, (max-width: 150px) 100vw, 150px" /></div><div class="cclt-compat-catgroup__info"><span class="cclt-compat-catgroup__title">AIエディタを使ったVibe codingの実際の開発事例（ユースケース）</span><time class="cclt-compat-catgroup__date" datetime="2025-06-22T14:14:11+09:00">2025年6月22日</time></div></a></li><li class="cclt-compat-catgroup__item"><a href="https://creativecontentlabtokyo.com/2025-napkinai-guidance/" class="cclt-compat-catgroup__link"><div class="cclt-compat-catgroup__thumb"><img decoding="async" width="150" height="150" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/napkin.ai_-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="napkin.ai" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/napkin.ai_-150x150.jpg 150w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/napkin.ai_-100x100.jpg 100w" sizes="auto, (max-width: 150px) 100vw, 150px" /></div><div class="cclt-compat-catgroup__info"><span class="cclt-compat-catgroup__title">【2025年最新】Napkin AI完全ガイド-生成AIを使って効率的に資料やスライド用の文章や図解を作成しよう</span><time class="cclt-compat-catgroup__date" datetime="2025-06-08T17:32:11+09:00">2025年6月8日</time></div></a></li><li class="cclt-compat-catgroup__item"><a href="https://creativecontentlabtokyo.com/generative-ai-business-guide-for-salesforce/" class="cclt-compat-catgroup__link"><div class="cclt-compat-catgroup__thumb"><img decoding="async" width="150" height="150" src="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/ビジネスを変革する生成AI活用-150x150.png" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/ビジネスを変革する生成AI活用-150x150.png 150w, https://creativecontentlabtokyo.com/wp-content/uploads/2025/06/ビジネスを変革する生成AI活用-100x100.png 100w" sizes="auto, (max-width: 150px) 100vw, 150px" /></div><div class="cclt-compat-catgroup__info"><span class="cclt-compat-catgroup__title">ビジネスを変革する生成AI「ジェネレーティブAI（Generative AI）」活用ガイド</span><time class="cclt-compat-catgroup__date" datetime="2025-06-03T13:38:22+09:00">2025年6月3日</time></div></a></li><li class="cclt-compat-catgroup__item"><a href="https://creativecontentlabtokyo.com/what-is-generative-ai/" class="cclt-compat-catgroup__link"><div class="cclt-compat-catgroup__thumb"><img decoding="async" width="150" height="150" src="https://creativecontentlabtokyo.com/wp-content/uploads/2021/10/eye-catching-picture-work-3-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" loading="lazy" srcset="https://creativecontentlabtokyo.com/wp-content/uploads/2021/10/eye-catching-picture-work-3-150x150.jpg 150w, https://creativecontentlabtokyo.com/wp-content/uploads/2021/10/eye-catching-picture-work-3-100x100.jpg 100w" sizes="auto, (max-width: 150px) 100vw, 150px" /></div><div class="cclt-compat-catgroup__info"><span class="cclt-compat-catgroup__title">生成AIとは？初心者向け完全ガイド：基本から活用方法まで徹底解説</span><time class="cclt-compat-catgroup__date" datetime="2025-06-02T19:16:16+09:00">2025年6月2日</time></div></a></li></ul></div>
		<div class="wpulike wpulike-animated-heart " ><div class="wp_ulike_general_class wp_ulike_is_restricted"><button type="button"
					aria-label="いいねボタン"
					data-ulike-id="5506"
					data-ulike-nonce="c95a0ece19"
					data-ulike-type="post"
					data-ulike-template="wpulike-animated-heart"
					data-ulike-display-likers=""
					data-ulike-likers-style="popover"
					data-ulike-append="&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop one&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop two&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop three&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop four&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop five&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop six&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop seven&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop eight&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;&lt;svg class=&quot;wpulike-svg-heart wpulike-svg-heart-pop nine&quot; viewBox=&quot;0 0 32 29.6&quot;&gt;&lt;path d=&quot;M23.6,0c-3.4,0-6.3,2.7-7.6,5.6C14.7,2.7,11.8,0,8.4,0C3.8,0,0,3.8,0,8.4c0,9.4,9.5,11.9,16,21.2c6.1-9.3,16-12.1,16-21.2C32,3.8,28.2,0,23.6,0z&quot;/&gt;&lt;/svg&gt;"
					class="wp_ulike_btn wp_ulike_put_image wp_post_btn_5506"><svg class="wpulike-svg-heart wpulike-svg-heart-icon" viewBox="0 -28 512.00002 512" xmlns="http://www.w3.org/2000/svg"><path
						d="m471.382812 44.578125c-26.503906-28.746094-62.871093-44.578125-102.410156-44.578125-29.554687 0-56.621094 9.34375-80.449218 27.769531-12.023438 9.300781-22.917969 20.679688-32.523438 33.960938-9.601562-13.277344-20.5-24.660157-32.527344-33.960938-23.824218-18.425781-50.890625-27.769531-80.445312-27.769531-39.539063 0-75.910156 15.832031-102.414063 44.578125-26.1875 28.410156-40.613281 67.222656-40.613281 109.292969 0 43.300781 16.136719 82.9375 50.78125 124.742187 30.992188 37.394531 75.535156 75.355469 127.117188 119.3125 17.613281 15.011719 37.578124 32.027344 58.308593 50.152344 5.476563 4.796875 12.503907 7.4375 19.792969 7.4375 7.285156 0 14.316406-2.640625 19.785156-7.429687 20.730469-18.128907 40.707032-35.152344 58.328125-50.171876 51.574219-43.949218 96.117188-81.90625 127.109375-119.304687 34.644532-41.800781 50.777344-81.4375 50.777344-124.742187 0-42.066407-14.425781-80.878907-40.617188-109.289063zm0 0" /></svg></button><span class="count-box wp_ulike_counter_up" data-ulike-counter-value="0"></span>			</div></div>
	]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
