---
title: "Dippin"
description: "AIパイプラインワークフローを記述するためのドメイン固有言語 — プロンプト、モデル、分岐に型付き構文を提供し、DOTでは表現できないことを実現。"
canonical_url: "https://2389.ai/ja/research/products/dippin-lang/"
last_updated: "2026-08-06T15:35:08-05:00"
doc_version: "1.0"
date: 2026-04-03
product_type: "Tool"
status: "Alpha"
tags: ["dsl", "pipeline", "go", "cli", "language", "lsp", "dot", "agents", "tracker"]
---

# Dippin

> AIパイプラインワークフローを記述するためのドメイン固有言語 — プロンプト、モデル、分岐に型付き構文を提供し、DOTでは表現できないことを実現。


Dippin は AI パイプラインワークフローを記述するためのドメイン固有言語です。[Tracker]() パイプラインのオーサリング形式として Graphviz DOT を置き換え、プロンプト、シェルスクリプト、モデル設定、条件分岐に専用の構文を与えます。すべてをエスケープされた文字列属性に詰め込む必要はありません。

## インストール

```bash
go install github.com/2389-research/dippin-lang/cmd/dippin@latest
```

確認:

```bash
dippin help
```

既存の DOT パイプラインを移行:

```bash
dippin migrate --output pipeline.dip pipeline.dot
dippin validate-migration pipeline.dot pipeline.dip
```

## 機能

**パイプラインオーサリング用の本格的な言語。** ワークフローはインデントベースの構造を持つ `.dip` ファイルです。エージェントノードには型付きの `model:` と `provider:` フィールドがあります。プロンプトとシェルコマンドは複数行ブロックで記述でき、エスケープや引用符は不要です。条件は不透明な文字列属性の代わりに `when ctx.outcome == "fail"` で書けます。

**39の診断コード。** バリデーションは構造的な問題（開始ノードの欠如、到達不能ノード、重複エッジ）とセマンティックな問題（不明なモデル名、制限のない再試行、タイムアウトのないツールコマンド）を検出します。エラーメッセージは Rust コンパイラの慣例に従います — ソースの場所、説明、修正の提案。

**DOT からの移行。** `dippin migrate` は既存の DOT パイプラインを `.dip` 形式に変換します。`dippin validate-migration` は元ファイルと変換後のファイルの構造的同等性を確認し、翻訳で何も失われないようにします。

**分析ツール。** `dippin simulate` は LLM を呼び出さずに実行グラフをドライランします。`dippin cost` はモデルとプロバイダー別の実行あたりコストを見積もります。`dippin coverage` はエッジの到達可能性を確認します。`dippin doctor` はリント、カバレッジ、コストを文字評価にまとめます。`dippin unused` はデッドブランチノードを見つけてコストの無駄を見積もります。

**サブグラフ合成。** `subgraph` ノードは `ref:` で別の `.dip` ファイルを参照し、`params:` でデータを渡すことで1つのワークフローを別のワークフロー内に埋め込みます。子ワークフローは自己完結しており、独立してリント、フォーマット、コスト計算できます。ツールチェーンはサブグラフを不透明に保ちます: 親は独自のリントパス、子は独自のリントパスを持ちます。共有パターンが変わると、1つのファイルを更新するだけで参照するすべてのワークフローに反映されます。設計の根拠は[ブログ記事]()を参照してください。

**エディターサポート。** LSP サーバー（`dippin lsp`）がリアルタイム診断、ホバーツールチップ、定義へのジャンプ、オートコンプリートを提供します。VS Code 拡張機能がシンタックスハイライト、コメントトグル、インデント対応のフォールディングを追加します。

## ブラウザで試す

[Dippin Playground](https://2389-research.github.io/dippin-lang/playground.html) は WebAssembly でフルツールチェーンを実行します — 何もインストールせずにワークフローのリント、パース、フォーマットが試せます。

## チュートリアル

[Dippin ブログ](https://2389-research.github.io/dippin-lang/blog/index.html)にツールチェーンのすべての部分についてのガイドがあります:

- [Dippin 入門](https://2389-research.github.io/dippin-lang/blog/getting-started.html) — 5分以内で最初のワークフロー
- [.test.json によるシナリオテスト](https://2389-research.github.io/dippin-lang/blog/scenario-testing.html) — 非決定論的パイプラインの決定論的テスト
- [DOT から Dippin への移行](https://2389-research.github.io/dippin-lang/blog/migrating-from-dot.html) — 同等性検証付きのステップバイステップ移行
- [CI インテグレーション](https://2389-research.github.io/dippin-lang/blog/ci-integration.html) — リント、テスト、フォーマットを含む GitHub Actions
- [エディターセットアップ: LSP、VS Code、Tree-sitter](https://2389-research.github.io/dippin-lang/blog/editor-setup.html) — エディターでの診断とハイライト
- [エスケープなしの複数行プロンプト](https://2389-research.github.io/dippin-lang/blog/multi-line-prompts.html) — クリーンなプロンプトのためのインデントベースブロック
- [条件付きエッジ](https://2389-research.github.io/dippin-lang/blog/conditional-edges.html) — `when` を使ったパイプラインのルーティング
- [コスト見積もり](https://2389-research.github.io/dippin-lang/blog/cost-estimation.html) — 実行前にコストを把握

## 仕組み

すべては中間表現（`ir.Workflow`）にコンパイルされます。パーサーは再帰下降パーサーに渡すインデント対応レキサーです。各コマンドは IR を読んでそれぞれの処理を行います — バリデーターは構造を確認し、リンターはセマンティクスを確認し、フォーマッターはきれいに出力し、DOT エクスポーターは視覚化用の Graphviz 出力を生成します。パッケージは `ir` をインポートしますが、互いはインポートしません。

DOT は引き続き視覚化のターゲットです。`dippin export-dot` は Graphviz レンダリング用の DOT を生成します。Dippin はオーサリングを担い、DOT は描画を担います。

## 必要要件

- Go 1.21+
- 視覚化用: Graphviz（`dot` コマンド）


## Sitemap

Parent: [プロダクト](https://2389.ai/ja/research/products/index.md)

Related pages in this section:

- [スキルマーケットプレイス](https://2389.ai/ja/research/products/skills-marketplace/index.md)
- [Mammoth](https://2389.ai/ja/research/products/mammoth/index.md)
- [BotBoard](https://2389.ai/ja/research/products/botboard/index.md)
- [Smasher](https://2389.ai/ja/research/products/smasher/index.md)
- [Jeff](https://2389.ai/ja/research/products/jeff/index.md)
- [Mux](https://2389.ai/ja/research/products/mux/index.md)
- [ISH](https://2389.ai/ja/research/products/ish/index.md)
- [Coven](https://2389.ai/ja/research/products/coven/index.md)
- [Soloclaw](https://2389.ai/ja/research/products/soloclaw/index.md)
- [ccvault](https://2389.ai/ja/research/products/ccvault/index.md)


Site index: [llms.txt](https://2389.ai/llms.txt) · [sitemap.md](https://2389.ai/sitemap.md) · [HTML](https://2389.ai/ja/research/products/dippin-lang/)
