YAMLワークフローリファレンス
Simでのヤムルワークフロー作成の完全ガイド
YAMLワークフローは、Simでワークフロー設定を定義、バージョン管理、共有するための強力な方法を提供します。このリファレンスガイドでは、完全なYAML構文、ブロックスキーマ、堅牢なワークフローを作成するためのベストプラクティスについて説明します。
クイックスタート
すべてのSimワークフローは、この基本構造に従います:
version: '1.0'
blocks:
start:
type: starter
name: Start
inputs:
startWorkflow: manual
connections:
success: agent-1
agent-1:
type: agent
name: "AI Assistant"
inputs:
systemPrompt: "You are a helpful assistant."
userPrompt: 'Hi'
model: gpt-4o
apiKey: '{{OPENAI_API_KEY}}'
基本概念
バージョン宣言: 必ず version: '1.0'
(引用符付き)と記述
ブロック構造: すべてのワークフローブロックは blocks
キーの下で定義
ブロック参照: ブロック名は小文字でスペースを削除して使用(例:<aiassistant.content>
)
環境変数: 二重中括弧 {{VARIABLE_NAME}}
で参照
ブロックタイプ
Simは、それぞれ特定のYAMLスキーマを持つ複数のコアブロックタイプをサポートしています:
スターターブロック
手動、ウェブフック、スケジュールトリガーをサポートするワークフローのエントリーポイント
エージェントブロック
ツールと構造化出力をサポートするAI駆動の処理
ファンクションブロック
カスタムJavaScript/TypeScriptコードの実行
APIブロック
外部サービスへのHTTPリクエスト
条件ブロック
ブール式に基づく条件分岐
ルーターブロック
AI駆動の複数パスへのインテリジェントルーティング
ループブロック
forとforEachループによる反復処理
パラレルブロック
複数インスタンスでの並行実行
ウェブフックブロック
外部連携用のウェブフックトリガー
評価ブロック
定義された基準とメトリクスに対する出力の検証
ワークフローブロック
再利用可能なコンポーネントとして他のワークフローを実行
レスポンスブロック
最終的なワークフロー出力のフォーマット
ブロック参照構文
YAMLワークフローの最も重要な側面は、ブロック間でデータを参照する方法を理解することです:
基本ルール
- ブロック名を使用する(ブロックIDではなく)小文字に変換し、スペースを削除
- 適切なプロパティを追加する(エージェントには.content、ツールには.output)
- チャットを使用する場合、スターターブロックを参照する as
<start.input>
例
# Block definitions
email-processor:
type: agent
name: "Email Agent"
# ... configuration
data-formatter:
type: function
name: "Data Agent"
# ... configuration
# Referencing their outputs
next-block:
type: agent
name: "Next Step"
inputs:
userPrompt: |
Process this email: <emailagent.content>
Use this formatted data: <dataagent.output>
Original input: <start.input>
特殊なケース
- ループ変数:
<loop.index>
,<loop.currentItem>
,<loop.items>
- 並列変数:
<parallel.index>
,<parallel.currentItem>
環境変数
APIキーなどの機密データには環境変数を使用してください:
inputs:
apiKey: '{{OPENAI_API_KEY}}'
database: '{{DATABASE_URL}}'
token: '{{SLACK_BOT_TOKEN}}'
ベストプラクティス
- ブロック名は読みやすくする: UI表示用に「Email Processor」など
- 環境変数を参照する: APIキーをハードコードしない
- 読みやすさのための構造化: 関連するブロックを論理的にグループ化する
- 段階的にテストする: ワークフローを一歩ずつ構築する
次のステップ
- ブロック参照構文 - 詳細な参照ルール
- 完全なブロックスキーマ - 利用可能なすべてのブロックタイプ
- ワークフロー例 - 実世界のワークフローパターン