---
title: "コードアシスタント"
slug: "code-assistant"
abstract: "コードアシスタントの仕組みと例示プロンプトについて。"
---
# コードアシスタント

> !注コードアシスタントは、組織でSitecore Streamが有効である場合にのみ利用可能です。

Code AssistantはCDPのAI搭載ツールで、自然言語で書いたプロンプトを理解し、JavaScriptコードで応答します。コードは、オーディエンスのエクスポート、条件、プログラム可能な特性など、アシスタントを使用するCDPの特定の機能に合わせてカスタマイズされています。

このトピックでは、Code Assistantが裏でどのように動作しているか、そしてCDPでJavaScriptの作業を向上させるためにどのようにプロンプトできるかについて説明します。

## データのプライバシーとセキュリティ

Sitecoreでは、データのプライバシーとセキュリティを最優先事項としています。あなたのデータはLLMの学習に使われることはなく、安全かつ機密性が保たれます。当社のAI機能は、マーケティングワークフロー全体を通じて機密ブランド情報を保護するAIガードレールを組み込みます。AI対応ツールとのやり取りによるすべてのブランド文書およびデータは、厳格なデータプライバシーおよびセキュリティポリシーの下で保護されています。

SitecoreでのAI活用については、[Gen AI FAQ](https://www.sitecore.com/legal/gen-ai-faqs)をご覧ください。

## コードアシスタントのプロンプト

コードアシスタントにプロンプトを出すと、[サポートされているJavaScript関数](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/supported-and-unsupported-javascript-entities/supported-and-unsupported-javascript-entities.html "Supported and unsupported JavaScript entities")を使った生成コードのみが応答します。自然言語による説明やフィードバックは一切提供しません。応答を生成する際には、CDPインスタンスの基礎データスキーマ、現在のプロンプト、そしてコードエディタにあるコード(存在する場合)を考慮します。プロンプト履歴やコードエディタ内の過去のJavaScriptは考慮しません。

したがって、アシスタントと仕事をする際は:

-   現在のコードをプロンプトにコピー&ペーストしないでください。エディターにコードがあれば、アシスタントが自動的に使います。
-   アシスタントにコードの生成や修正を促します。アシスタントはJavaScriptを出力するよう設計されており、一般的な会話には関わるものではありません。

> !注コードアシスタントはミスをすることがあります。本番環境で使用する前に、必ずコードを確認し、該当するCDP機能でテストしてください。
> 
> AIの応答は様々です。同じプロンプトを複数回実行すると結果が異なることがあります。

## プロンプトのアイデア

ここでは、コードアシスタントのためのいくつかのプロンプトアイデアを紹介します。

### コードを理解し、リファクタリングする

コードアシスタントを使ってコードを説明・リファクタリングし、構文を好みに合わせて更新し、CDPテストコンソールに役立つログを追加できます。

プロンプト

結果

*コードの理解を助けるために、各行にコードコメントを追加しました。*

コードの内容をより理解できるように、行ごとのコメントで更新します。

*テスト中に確認できるように、コードにもっとログを含めてください。*

テスト中のコード実行を> **Response** **Logs** **\>で**テスト中のコード実行を追跡できるよう、コードにprint()文を付けて更新します。

*コードを短くリファクタリングしてください。*

コードをより簡潔に更新します。

-   *if-else文をスイッチに変換します。*
-   *矢印関数を従来の関数に変換します。*
-   *forループを簡素化しましょう。*

JavaScriptの構文を更新し、あなたの好みに応じてコードの読みやすさを向上させます。

-   *このJavaScriptをES5と互換性のあるものにしてください。*
-   *このJavaScriptをES6と互換性のあるものにしてください。*

コードを好みに応じて古いまたは新しいバージョンのJavaScript構文に変換します。

### 視聴者輸出

**JavaScript**コードエディタの[オーディエンスエクスポートでCode Assistant](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/ai-in-cdp/manage-audience-exports.html#UUID-7311f83e-762f-dd3c-add1-120ca17f52e0 "Create JavaScript for an audience export with the Code Assistant")を使って、ゲストプロファイルにあるデータに加えてデータを計算できます。これにより、Sitecore CDPからエクスポートしたデータをさらに充実させることができます。

> !注**JavaScript**タブでコードを生成した後、出力**構造文の**出力に${jsResult.objectKeyName}記法を使って属性[を含める](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/ai-in-cdp/javascript-in-the-export.html#UUID-e0fcc0c5-b3e4-cbab-1a1c-81f5c3fee3e4_section-idm4603441978648033871245048397 "Including the computed data in the output")ようにしてください。

-   プロンプト:結果
-   *過去30日間のセッション数をエクスポート*:ゲストが過去1か月間に行ったセッション数を返します。出力例:

{ "recentSessions": 4 }

-   *直近10件の注文合計をエクスポート*:ゲストの直近10件の注文合計を返します。例の出力:

{ "totalOrderValue": 299 }

-   *エクスポート平均注文価格*:すべてのゲストの注文の平均価格を返します。例の出力:

{ "averageOrderPrice": 64.88 }

-   *顧客ロイヤルティポイントのエクスポート*:組織がデータ拡張を使ってその情報を取得した場合、ゲストのロイヤルティポイントの総数を返します。例文:

{ "totalExternalLoyaltyPoints": 363 }

### 条件

[コードアシスタントを使って、](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/create-a-condition-with-the-code-assistant.html "Create a condition with the Code Assistant")特定の基準を評価してオーディエンスをフィルタリングする条件を素早く作成できます。

-   プロンプト:結果
-   *過去2日以内に購入した顧客*:過去48時間以内に購入した場合は返品が真;そうでなければ返品は偽。例文:

{ false }

-   *Returning customer*: 顧客が少なくとも1件の注文を持っている場合はtrueを返します。過去の購入がない場合はfalseを返します。例文:

{ true }

-   *セグメント内の顧客*:指定されたセグメントに属している顧客はtrueを返します。属さなければfalseを返します。例文:

{ false }

-   *購入は開始済みですが未完了*:ゲストが注文を開始したが注文ステータスが完了していない場合はtrueを返します。注文が完了または開始されていない場合、falseを返します。例文:

{ false }

### セッション特性

[Code Assistantを使えば、](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/session-traits/create-a-session-trait-with-the-code-assistant.html "Create a session trait with the Code Assistant")個々の顧客のセッションベースの値を取得・保存するためのセッション特性を簡単に作成できます。短いプロンプトを入力したり、セッション特性を定義する際には好きなだけ説明的でいくことができます。

-   プロンプト:結果
-   *セッションで最も閲覧されたページ*:顧客のセッション中に最も頻繁に閲覧されたページを返します。例文:

{ "cmp" }

-   *総ビューイベントをカウント*する:顧客セッション中のページビューイベントの総数を返します。例文:

{ 2 }

-   *最終閲覧ページ*:セッション中に顧客が最後に閲覧したページを返します。例の出力:

{ "/select" }

-   *セッション中のストア時間*:顧客がセッション中に使用した合計時間を、最初のイベントから最後のイベントまで返します。例文:

{ "0 hour(s), 0 minute(s), 15 second(s)"}

-   *顧客がカートに追加した回*数を保存:セッション内のADD TO CARTイベント数を返します。例文:

{ 1 }

-   *ゲストが閲覧した上位3つの商品カテゴリを保存*する:セッション中に閲覧された上位3つの商品カテゴリを返します。例文:

{  "undefined", "select"  }

-   *最後の注文で購入した商品のタイプ名を保存*する:顧客の直近購入の商品タイプを返します。例の出力:

{ "FLIGHT" }