Get Started

カプセルアビリティの使用

カプセルアビリティの使用

カプセルアビリティの使用

キャプセルアビリティの使い方

キャプセルアビリティ(Capsule Ability)は、マウントされたノードを包み込み、前処理と後処理を強制的に適用するラッパーアビリティです。スロットにマウントされたノードは、キャプセルアビリティ内部でプロキシ実行されるため、アビリティ単位で再利用可能な前後処理ロジックを構成できます。

このガイドでは、個人情報の暗号化(マスキング)キャプセルアビリティを作成し、それを仮データ生成アビリティに適用する全体の流れを説明します。仮データが生成されると、キャプセルアビリティを通じて自動的に暗号化される2段階のワークフロー(Workflow)です。

パート1. キャプセルアビリティを作る

キャプセルアビリティの作成

アビリティ作成画面で キャプセルアビリティ(Capsule Ability) トグルをオンにして、アビリティを作成します。

注意: キャプセルアビリティは、作成後に通常のアビリティへ変換することはできません。また、単独のアビリティとして実行することはできず、必ず他のアビリティのキャプセルノードとしてのみ使用できます。

キャンバス(Canvas)に入ると、**キャプセルアダプタースロット(Capsule Adapter Slot)**がデフォルトで配置されています。このスロットの位置に、後から通常のアビリティがノード形式でマウントされます。

ワークフローの構成

全体ワークフローの接続

以下の順番でノードを接続します。

キャプセルアダプタースロットの設定

キャプセルアビリティのインプットとアウトプット変数はObjectタイプに固定されており、変更できません。アダプタースロットのインプットピンに input の値をドラッグ&ドロップ(Drag and Drop)でバインドします。

LLMノードの設定

LLMノードをダブルクリックしてノードエディター(Node Editor)を開き、システムプロンプトとユーザープロンプトをそれぞれ入力します。後の手順での混乱を防ぐため、出力変数名を llm_output(Stringタイプ)に変更します。

  • システムプロンプト

  • ユーザープロンプト

JSONデータを確認し、個人情報と思われる情報を以下の形式に従って暗号化のために'*'で処理してください。出力形式はMarkdownにしてください。
- 形式
1. 名前:名字だけを残し、残りはすべて'*'(例:山**)
2. マイナンバー:ハイフン以降の数字をすべて'*'(例:010101-******)
3. 口座番号:最初の4桁を除いてすべて'*'(例:1111-***-**

JSONデータを確認し、個人情報と思われる情報を以下の形式に従って暗号化のために'*'で処理してください。出力形式はMarkdownにしてください。
- 形式
1. 名前:名字だけを残し、残りはすべて'*'(例:山**)
2. マイナンバー:ハイフン以降の数字をすべて'*'(例:010101-******)
3. 口座番号:最初の4桁を除いてすべて'*'(例:1111-***-**

JSONデータを確認し、個人情報と思われる情報を以下の形式に従って暗号化のために'*'で処理してください。出力形式はMarkdownにしてください。
- 形式
1. 名前:名字だけを残し、残りはすべて'*'(例:山**)
2. マイナンバー:ハイフン以降の数字をすべて'*'(例:010101-******)
3. 口座番号:最初の4桁を除いてすべて'*'(例:1111-***-**

Pythonノードの設定

Pythonノードをダブルクリックしてノードエディターを開き、LLMが返した llm_output の値を "Encryption" キーに保存するコードを作成します。Pythonノードは最終的に {"python_output": {"Encryption": "..."}} の形式で返します。

アウトプット領域で出力変数名を python_output(Objectタイプ)に設定します。

テストとバージョニング

ランテスト

JSON形式の入力値を入力し、RUN TEST をクリックします。暗号化された結果が返ってくれば正常に動作しています。

{
    "phone": "010-1234-5678",
    "name": "Joy",
    "num": "010101-4123456",
    "address": "Jung-gu, Seoul"
}
{
    "phone": "010-1234-5678",
    "name": "Joy",
    "num": "010101-4123456",
    "address": "Jung-gu, Seoul"
}
{
    "phone": "010-1234-5678",
    "name": "Joy",
    "num": "010101-4123456",
    "address": "Jung-gu, Seoul"
}

デバッガーでノードごとの実行履歴を確認します。

バージョンの追加

キャプセルアビリティを他のアビリティのキャプセルノードとして使用するには、必ずバージョンが登録されている必要があります。上部コントローラーで バージョン(Version) をクリックし、+ ボタンを押してバージョンを追加します。

バージョンが登録されると、以降はバージョン単位でロールバックできます。

パート2. 通常アビリティにキャプセルアビリティを適用する

通常アビリティの作成

キャンバスを離れてアビリティ一覧に戻ります。+新規アビリティ(+ New Ability) ボタンをクリックし、キャプセルアビリティのトグルをオフのまま通常アビリティを作成します。

ワークフローの構成

基本ワークフローを以下のように構成します。

インプットノードをダブルクリックしてノードエディターを開き、input 変数をStringタイプで宣言します。

キャプセルアビリティノードの接続

キャプセルアビリティノードの追加

ノードパネルの マイアビリティ(My Abilities) カテゴリから、先ほど作成したキャプセルアビリティをキャンバスへドラッグ&ドロップします。

キャプセルアビリティノードは、使用するアビリティとバージョンを選択して初めて有効になります。パート1でバージョニングが必要だった理由はここにあります。

LLMノードへのキャプセル装着

キャプセルアビリティノードをLLMノードの上へドラッグ&ドロップします。LLMノードがキャプセルアビリティに包まれた形になります。

ノードの設定

LLMノードの出力変数設定

LLMノードをダブルクリックしてノードエディターを開き、出力変数名を Encryption(Stringタイプ)に変更します。キャプセルアビリティのアウトプット変数名が Encryption で宣言されているため、名前を一致させる必要があります。

システムプロンプトとユーザープロンプトを作成します。この例では、国名を入力するとその国の人物情報の仮データ(個人情報サンプル)を生成するプロンプトを使用します。

  • システムプロンプト




  • ユーザープロンプト




アウトプットノードの設定

アウトプットノードをダブルクリックしてノードエディターを開き、output 変数を宣言してから Encryption 変数をドラッグ&ドロップでバインドします。

ランテストと結果の確認

入力欄に 韓国 と入力し、RUN TEST をクリックします。仮データが生成され、キャプセルアビリティを通じて暗号化された個人情報が出力されます。

デバッガーでキャプセルアビリティが正常に動作したことを確認します。

次のステップ

設定が完了しました。

これでキャプセルアビリティを活用して、あらゆるアビリティに前後処理ロジックを一貫して適用できます。セキュリティが必要なデータ処理、共通バリデーション、ロギングなど、さまざまなシナリオで再利用してみてください。