Sim

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スキーマを持つ複数のコアブロックタイプをサポートしています:

ブロック参照構文

YAMLワークフローの最も重要な側面は、ブロック間でデータを参照する方法を理解することです:

基本ルール

  1. ブロック名を使用する(ブロックIDではなく)小文字に変換し、スペースを削除
  2. 適切なプロパティを追加する(エージェントには.content、ツールには.output)
  3. チャットを使用する場合、スターターブロックを参照する 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キーをハードコードしない
  • 読みやすさのための構造化: 関連するブロックを論理的にグループ化する
  • 段階的にテストする: ワークフローを一歩ずつ構築する

次のステップ

YAMLワークフローリファレンス