ブロックスキーマ
すべてのSimブロックの完全なYAMLスキーマリファレンス
このセクションには、Simで利用可能なすべてのブロックタイプの完全なYAMLスキーマ定義が含まれています。各ブロックタイプには特定の設定要件と出力形式があります。
コアブロック
これらはワークフローを作成するための基本的な構成要素です:
スターターブロック
手動トリガー、ウェブフック、スケジュールをサポートするワークフローのエントリーポイント
エージェントブロック
LLM統合とツールサポートを備えたAI駆動の処理
ファンクションブロック
カスタムJavaScript/TypeScriptコード実行環境
レスポンスブロック
最終的なワークフロー結果のフォーマットと返却
ロジック&制御フロー
条件付きロジックと制御フローを実装するためのブロック:
条件ブロック
ブール式に基づく条件分岐
ルーターブロック
AI駆動の複数パスへのインテリジェントルーティング
ループブロック
forとforEachループによる反復処理
パラレルブロック
複数インスタンスでの並行実行
統合ブロック
外部サービスやシステムに接続するためのブロック:
高度なブロック
複雑なワークフローパターン用の特殊ブロック:
共通スキーマ要素
すべてのブロックが共有する共通要素:
基本構造
block-id:
type: <block-type>
name: <display-name>
inputs:
# Block-specific configuration
connections:
# Connection definitions
接続タイプ
- success: 正常実行時のターゲットブロック
- error: エラー処理用のターゲットブロック(オプション)
- conditions: 条件付きブロック用の複数パス
環境変数
環境変数には二重中括弧を使用します:
inputs:
apiKey: '{{API_KEY_NAME}}'
endpoint: '{{SERVICE_ENDPOINT}}'
ブロック参照
他のブロックの出力を参照するには、ブロック名を小文字で使用します:
inputs:
userPrompt: <blockname.content>
data: <functionblock.output>
originalInput: <start.input>
検証ルール
すべてのYAMLブロックはそのスキーマに対して検証されます:
- 必須フィールド:存在する必要があります
- 型検証:値は期待される型と一致する必要があります
- 列挙型検証:文字列値は許可されたリストから選ばれる必要があります
- 範囲検証:数値は指定された範囲内である必要があります
- パターン検証:文字列は正規表現パターンと一致する必要があります(該当する場合)
クイックリファレンス
ブロックタイプとプロパティ
ブロックタイプ | 主な出力 | 一般的な使用例 |
---|---|---|
starter | .input | ワークフローのエントリーポイント |
agent | .content | AI処理、テキスト生成 |
function | .output | データ変換、計算 |
api | .output | 外部サービス連携 |
condition | N/A (分岐) | 条件付きロジック |
router | N/A (分岐) | インテリジェントルーティング |
response | N/A (終端) | 最終出力フォーマット |
loop | .results | 反復処理 |
parallel | .results | 並行処理 |
webhook | .payload | 外部トリガー |
evaluator | .score | 出力検証、品質評価 |
workflow | .output | サブワークフロー実行、モジュール性 |
必須 vs オプション
- 常に必須:
type
,name
- 通常必須:
inputs
,connections
- コンテキスト依存: 特定の入力フィールドはブロックタイプによって異なります
- 常にオプション:
error
接続、UI固有のフィールド