正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

カスタムフローYAMLスキーマ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
  • ステータス: ベータ版

カスタムフローは、flowレジストリv1仕様構文を使用します。v1仕様では、versionenvironmentcomponentspromptsroutersflowなどのフィールドを含む、完全なYAML構造を定義します。

v1仕様の一部のフィールドは、カスタムフローで制限されています。詳細については、restricted fieldsを参照してください。

トリガータイプごとの目標値

カスタムフローを設計する際、目標値はフローを開始するトリガータイプによって異なります。フローには複数のトリガータイプを設定でき、各トリガータイプはcontext:goalとして異なる値を渡します。フローは、設定する各トリガータイプの目標フォーマットを処理する必要があります。

トリガータイプに関する詳細については、トリガーを参照してください。

コンポーネントは、inputsフィールドを介して目標にアクセスします:

components:
  - name: "my_agent"
    type: AgentComponent
    prompt_id: "my_prompt"
    inputs:
      - from: "context:project_id"
        as: "project_id"
      - "context:goal"

メンションイベント

ユーザーがコメントでフローサービスアカウントをメンションすると、完全なコメントテキストとリソースコンテキストが目標として渡されます。

目標はこのフォーマットを使用します:

Input: <comment_text>
Context: {<resource_type> IID: <iid>}

たとえば、ユーザーがイシュー#2@ai-my-flow Can you work on this?と書き込んだ場合、目標は次のようになります:

Input: @ai-my-flow Can you work on this?
Context: {Issue IID: 2}

割り当ておよびレビュアー割り当てイベント

フローサービスアカウントがイシューまたはマージリクエストに割り当てられた場合、またはレビュアーとして割り当てられた場合、リソースのIIDが目標として渡されます。

たとえば、フローサービスアカウントがマージリクエスト!10のレビュアーとして割り当てられた場合、context:goalの値は10です。

IIDをcontext:project_idとともに使用してリソースを読み取ります:

components:
  - name: "review_mr"
    type: AgentComponent
    prompt_id: "review_mr_prompt"
    inputs:
      - from: "context:project_id"
        as: "project_id"
      - from: "context:goal"
        as: "mr_iid"

パイプラインイベント

パイプラインイベントがフローをトリガーすると、完全なパイプラインイベントWebhookペイロードが目標として渡されます。

制限されたフィールド

v1仕様の一部のフィールドと機能は、カスタムフローがGitLabで一貫して機能するように制限されています。

environment

カスタムフローでは、environmentフィールドはambientの値のみをサポートします。

chatchat-partialの値はサポートされていません。

プロンプト内のmodel

promptsエントリ内のmodelフィールドはサポートされていません。

モデルは、グループまたはインスタンス設定で構成されたモデルプロバイダーによって決定されます。

AgentComponentフィールド

response_schema_idresponse_schema_versionフィールドはサポートされていません。

OneOffComponentフィールド

ui_role_asフィールドはサポートされていません。

プロンプトパラメータ内のstop

paramsエントリ内のstopフィールドはサポートされていません。

トップレベルフィールド

v1仕様のnamedescription、およびproduct_groupフィールドはサポートされていません。カスタムフローはこれらのフィールドを拒否します。