2026年にZeerenを活用する:統合MiniAppプロビジョニング、Durableスケジュール、Composable Skillsレイヤー

Dev.to / 2026/5/12

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • Zeerenは、永続的な共同作業コンテキストである「Work」を中核にしたエージェント型の海外オペレーション・プラットフォームで、MiniAppやスケジュール、データ資産をWork配下で管理します。
  • 2026年以降は、従来14回必要だったMiniApp作成手順が「POST /api/v1/miniapps/provision」(MINIAPP_UNIFIED_PROVISION=true)により単一トランザクション化され、部分失敗による不整合リスクが大幅に減ります。
  • Durable Schedulesにより、エージェントのスケジュール実行がより堅牢になり、失敗や再試行を含む運用上の安定性が向上すると説明されています。
  • Composable Skills Layerは、スキル(能力)を組み合わせて拡張できる設計として提示され、エージェント開発の柔軟性と再利用性を高める方針が示されています。

すぐに分かる概要

Zeeren はエージェント型の海外オペレーション・プラットフォームです。中心となる概念は Work — リソースツリーを保持し、エージェントノードを実行し、スケジュール、MiniApp、そしてデータアセットを所有する、永続的で共同作業可能なコンテキストです。エージェントが読み書きしたり、Work としてスケジュール投入したりできる、長寿命のプロジェクト用コンテナだと考えてください。

Zeeren の上に構築する場合、把握しておくとよい最近の変更が3つあります。

1. 統一 MiniApp 提供:14回ではなく1回の呼び出し

従来のフロー(pre-2026-04)では、MiniApp をスキャフォールドするために、14 個の個別な API 呼び出しを連鎖させる必要がありました。レコード作成、リソースツリー作成、Work のリンク、マイグレーション適用、開発コンテナの起動などです。途中で部分的に失敗すると、不整合な状態が残ってしまいました。

新しいエンドポイント POST /api/v1/miniapps/provisionMINIAPP_UNIFIED_PROVISION=true によって有効化)は、トランザクション全体をラップします。ボディは1つ、往復は1回だけ:

{
  "slug": "project-tracker",
  "name": "Project Tracker",
  "work_id": 5821,
  "stack": {
    "frontend": "react",
    "backend": "python-fastapi",
    "runtime": "docker",
  },
  "data_mode": "tenant_db",
  "schema": {
    "tables": [
      {
        "name": "projects",
        "columns": [
          { "name": "name",   "type": "text",  "nullable": false },
          { "name": "status", "type": "text",  "default": "'open'" },
          { "name": "owner",  "type": "text"}
        ]
      }
    ]
  },
  "scope": "tenant",
  "visibility": "private"
}

レスポンスには、開発コンテナの host_port、稼働中の preview_url、そしてマテリアライズされた workdir のパスが返ってきます。つまり、すぐにコード生成を開始するために必要なものがすべて揃っています。

知っておくとよい注意点がいくつかあります:

  • SLUG_CONFLICT (409): -N を付けて、1回だけ再試行してください。プラットフォームはこれを自動では行いません。
  • provision_failed (500): トランザクションはきれいにロールバックされました。同じボディでの再試行は安全です。
  • WORK_ALREADY_AUTHORING (409): 再試行しないでください。すでにその Work には MiniApp があります。再開する場所を見つけるために /miniapps/{id}/status を呼び出してください。
  • プラットフォームは idcreated_atupdated_at を自動で追加します。宣言しないでください。宣言すると 422 が返ります。

従来の 14 アクションのための操作面は、2026年4月より前に provision された Work でも引き続き存在しますが、新しい Work は統一エンドポイントを使うべきです。

2. マルチトリガー対応の WorkSchedules

Zeeren におけるスケジューリングは WorkSchedule レコードで扱います。便利なのは trigger_type の選択肢の幅で、cron だけではありません:

トリガー種別 いつ使うか
CRON 固定されたカレンダー周期:「平日の9時に毎回」
INTERVAL 一定間隔で繰り返し:「5分ごと」
WEBHOOK 外部システムが生成されたエンドポイントへ POST する
EVENT 内部プラットフォームのイベント。例:log.error
CHAT ユーザーが特定のプレフィックス付きで Work に DM したとき
MQ Kafka/メッセージキューのトピック・サブスクライバー

execution_mode フィールドは、各トリガー発火で新しい Work を開くか(NEW_WORK)、既存の Work にノードを追記するか(APPEND_NODE)を制御します。後者の APPEND_NODE は、そのスケジュールの出力を、それを所有する Work と同じ会話コンテキストに保ちたいときの正しいデフォルトです。

最小限の CRON ボディ:

返却形式: {"translated": "翻訳されたHTML"}
{
  "owner_scope": "USER",
  "owner_work_id": 653,
  "name": "Daily standup digest",
  "trigger_type": "CRON",
  "trigger_config": { "cron": "0 9 * * 1-5" },
  "execution_mode": "APPEND_NODE",
  "payload_template": "Generate today's standup digest.",
  "is_active": true
}

WEBHOOK トリガーの場合、201レスポンスには、後から取得できない hmac_secret_plaintext が含まれています。作成時に保存してください。

3. スキル層:構成可能・宣言的・スキルカード駆動

Work + MiniApp + Schedule をまとめているのが スキル層 です。スキルとは宣言的な単位(SKILL.md + 任意のスクリプト)で、入力、出力、見積りコスト、そしてエージェントが従う手順を定義します。スキルは合成できます。たとえば zeeren-overseas-retention のようなメタスキルは zeeren-goal-decomposer を呼び、そこからコンテンツ、懸念トリアージ、帰属(アトリビューション)のスキルへと扇状に分岐します。

開発者の観点では、スキルカードは次のように見えます:

inputs:
  - name: brief
    type: string
    required: true
outputs:
  - name: channel_drafts
    output_type: draft_action
    action_type: " publish_<channel>_post"
estimated_cost_usd: 0.12
estimated_duration_seconds: 45

スキルは、WORK_DOMAIN エージェント(柔軟な推論、ツールアクセス)または決定論的な SKILL ランナー(固定手順、LLM 呼び出しはスキル自身のプロンプト以外なし)を対象にします。スケジュールはどちらも呼び出せます。

スキルモデルにより、マイクロサービスを組み合わせて配線することなく、信頼できる自動ワークフローを構築しやすくなります。プラットフォームがルーティング、リトライ、そして出力の永続化を、Work のリソースツリーへ処理します。

始めるには

稼働する3つの部品 — Works、MiniApps、Schedules — これだけでほとんどの社内向けツールを構築できます。まずは統合プロビジョニング・エンドポイントでアプリの雛形を作成し、APPEND_NODE スケジュールを使って同じ Work コンテキスト内で反復タスクを実行し、スキルカードを使ってスケジュールが呼び出すエージェント手順を定義します。

古い Work を保守している場合、従来の14アクションの表面も引き続き利用できますが、新規開発はデフォルトで統合APIを使うべきです。