---
title: 関数ライターAIアシスタント
description: 関数ライターAIアシスタントを使用して、データ変換、イベント、および訪問関数のJavaScriptコードを生成、編集、デバッグします。
url: https://docs.tealium.com/ja/server-side/functions/ai-assistant/
---

<blockquote>
この機能は選択した顧客のみが利用可能です。この機能を試してみたい場合は、[サポートに連絡してください](https://docs.tealium.com/support/)。
</blockquote>


関数ライターは、関数コードエディター専用に構築されたAIアシスタントの機能です。

関数AIアシスタントは以下のことができます：

* 関数コードの作成と編集。
* テストペイロードの生成。
* 既存の関数コードのデバッグと説明。
* パフォーマンス、個人識別情報（PII）の取り扱い、エラー処理に関するベストプラクティスのアドバイス。

AIアシスタントを開くには、関数コードエディターで**AIに尋ねる**をクリックします。

![](https://docs.tealium.com/images/server-side/functions-ai-assistant.png)

## 要件

この機能には以下が必要です：

* アカウント管理者はアカウントレベルとプロファイルレベルで**関数AIアシスタント**を有効にする必要があります。詳細については、[Tealium AI機能](https://docs.tealium.com/ai-features/)を参照してください。

## 動作原理

関数AIアシスタントは、現在開いている関数について専用のチャットセッションを提供します。AIアシスタントを開き、簡単な英語で必要なことを説明します。関数AIアシスタントは応答し、現在の関数のためのJavaScriptコード、トリガールール、またはテストペイロードを生成します。

AIアシスタントは、関数構成を変更する前に常にそのアクションを確認します。

![](https://docs.tealium.com/images/server-side/functions-ai-assistant-response.png)

### セッションコンテキスト

AIアシスタントは自動的に現在の関数のコンテキストを含みます。このコンテキストには、関数コード、アクティブなトリガールール、テストペイロード、アカウントおよびプロファイルの詳細、および定義された属性が含まれます。関数が開いている間、AIアシスタントはチャットウィンドウを閉じて再度開いてもコンテキストを維持します。

セッションは30分間の非活動後、または関数ウィンドウを閉じると期限切れになります。開いた各関数は新しいAIチャットセッションを開始します。

### データ変換関数

AIアシスタントはアクティブなランタイムを読み取り、それに応じてコードを生成します。データ変換関数が開いている場合、以下の制約が適用されます：

* AIアシスタントは同期コードのみを生成します。`fetch`、`async`、`await`、Promises、およびネットワークI/Oの呼び出しは除外されます。
* 生成されたコードは`event.data.udo`を直接変更し、`event`を再割り当てしません。
* 生成されたコードは`tealium_`プレフィックスの属性に書き込むことはできません。

詳細については、[データ変換関数について](https://docs.tealium.com/about-data-transformation-functions/)を参照してください。

### イベントと訪問関数

イベントと訪問関数は、非同期操作と外部HTTP呼び出しをサポートするランタイムで実行されます。イベントまたは訪問関数が開いている場合、AIアシスタントは次のようなコードを生成できます：

* 外部HTTP呼び出しを行う。
* `helper.getAuth()`を使用して保存された認証情報にアクセスする。
* `track()`を使用してイベントを再送信する。

詳細については、[イベントと訪問関数](https://docs.tealium.com/event-visitor-functions-v3/)を参照してください。

## 関数AIアシスタントの使用方法

関数AIアシスタントを使用するには：

1. **サーバーサイド > 関数**に移動します。
1. 関数を開くか、新しく作成します。
1. コードエディターで**AIに尋ねる**をクリックしてAIアシスタントパネルを開きます。
1. 関数に何をさせたいか、または関数についての質問を説明します。説明が具体的であればあるほど、結果は正確になります。例については、[例のプロンプト](#example-prompts)を参照してください。
1. 応答を確認し、変更を適用するか、調整を続けるためにチャットを続けます。

### 変更の適用

AIアシスタントがコードまたはテストペイロードを生成すると、現在の関数またはペイロードを生成されたものに置き換えることを確認するボタンが表示されます。

**このコードを関数で使用する**または**このテストペイロードを使用する**をクリックして、すべての既存のコードまたはテストペイロードを置き換えます。

## 例のプロンプト

以下の例は、各関数タイプのためのタスクを説明する方法を示しています。

**データ変換関数**

```wrap
customer_emailフィールドの空白をトリムし、小文字に変換します。
```

```wrap
customer_emailをSHA-256でハッシュし、結果をcustomer_email_hashedに保存します。ハッシュする前にメールを小文字にします。元のフィールドは保持します。
```

```wrap
order_totalが500より大きい場合はcustomer_segmentをhigh_valueに構成し、それ以外の場合はstandardに構成します。
```

**イベントと訪問関数**

```wrap
tealium_eventがpurchaseに等しい場合、event.data.udoからorder_id、order_total、customer_emailをhttps://api.example.com/ordersにJSONとしてPOSTします。認証キー「orders_token」からBearerトークンを使用します。order_idが欠けている場合は呼び出しをスキップします。
```

```wrap
event.data.udoからcustomer_idを使用して、認証キー「crm_token」からBearerトークンを使用してGET https://api.example.com/customers/{customer_id}を呼び出します。応答からloyalty_tierを抽出し、元のtealium_eventと一緒にtrack()で再トラックします。
```

**テストペイロード**

```wrap
2つの製品を含む購入イベントのテストペイロードを生成します。
```

```wrap
customer_emailが欠けているテストペイロードを作成し、nullガードをテストします。
```

```wrap
作成したばかりのトリガールールを満たすテストペイロードをください。
```

**既存のコードのデバッグと説明**

```wrap
現在のコードをレビューし、まだ対処していないエッジケースを特定してください。
```

```wrap
現在のトリガールールがどのように機能するか説明してください。
```

## 制限レート

Tealiumはアカウントレベルで複数のAI機能を横断してトークン使用を追跡します。アカウントレベルの制限を超えると、制限がリセットされるまでAI機能を使用できません。制限に達したとき、AIアシスタントはリセット時間を表示します。