コードブロックを使うと、Fin Procedure内で直接Pythonロジックを実行でき、LLMが予測不可能な場合でも一貫した正確な結果が得られます。
コードブロックを使うタイミング
決定論的で再現可能なロジックにはコードブロックを使いましょう。特にFinが一貫しない場合に有効です:
日付と時間の計算 — 営業日、タイムゾーン変換、締め切りチェック
数学的操作 — 返金額、パーセンテージ、通貨換算
文字列操作 — IDのフォーマット、部分文字列の抽出、正規表現マッチング
データ変換 — コネクタの応答の再構成、リストのフィルタリングやマッピング
複雑な条件ロジック — 複数条件による適格性チェック
ヒント: 出力が正確かつ再現可能である必要がある場合にコードブロックを使い、解釈が有利な場合は使わないでください。
コードブロックを使わない場合
Finが自然にうまく処理できるタスクにはコードブロックを避けましょう。例えば:
ユーザーの意図の解釈
会話応答の生成
コードブロックの使い方
1. コードブロックを作成する
@または/を入力してツールセレクターを開く
+コードブロックを作成を選択
2. コードを書いてテストする
コードブロックエディターが開きます
コードをテストをクリックしてロジックを実行、テストパネルが開きます
参照した属性の入力フィールドが表示されます
テストを実行し、JSONまたはリスト形式で結果を確認します
3. 属性を理解する
属性は返された応答から作成されます。例えば、次のコード:
return {
"result": {
"nested_result": "This is nested"
},
"date": "05-04-2025"
}次の属性を作成します:
ルート属性(応答全体)
ネストされた属性:result、result.nested_result、およびdate
注意: ルート属性は常に作成され、返された応答全体を含みます。JSONである必要はありません。
4. 手続きでコードブロックを使う
選択後、手続き全体で属性を使い、通常通り続行できます。
利用可能なライブラリ
これらのPython標準ライブラリモジュールはホワイトリストに登録され、事前にインポートされています。インポート文なしで直接使えますが、明確さのためにインポートを追加することを推奨します。
モジュール | 用途 | 例 |
math | 数学関数 | math.floor(3.7), math.ceil(2.1) |
decimal | 正確な10進数演算 | Decimal("19.99") * Decimal("0.15") |
re | 正規表現 | re.match(r"\d{4}", order_id) |
datetime | 日付、時間、期間 | datetime.date.today(), timedelta(days=5) |
json | JSONのエンコード/デコード | json.loads(raw_string) |
random | 乱数生成 | random.randint(1, 100) |
zoneinfo | タイムゾーン処理 | ZoneInfo("America/New_York") |
time | 時間関連の関数 | time.time() |
注意: トップレベルのインポートのみ許可されています。サブモジュールのインポートは避けてください。例:from json import loads はサポートされていません。







