---
title: "Mammoth"
description: "DOTベースのパイプラインランナー。有向グラフをチェックポイント、リトライ、ヒューマン・イン・ザ・ループゲートを備えたマルチステージAIコーディングワークフローに変換する。"
canonical_url: "https://2389.ai/ja/research/products/mammoth/"
last_updated: "2026-08-06T15:35:08-05:00"
doc_version: "1.0"
date: 2026-02-26
product_type: "Tool"
status: "Alpha"
tags: ["pipeline", "agents", "dot", "go", "cli", "orchestration", "multi-agent", "checkpointing"]
---

# Mammoth

> DOTベースのパイプラインランナー。有向グラフをチェックポイント、リトライ、ヒューマン・イン・ザ・ループゲートを備えたマルチステージAIコーディングワークフローに変換する。


MammothはパイプラインのグラフをDOTファイルから読み込み、各ステージをLLMコーディングエージェントに振り分けながらノードごとに実行する。ワークフローを有向グラフとして定義する — ノードはタスク、エッジはトランジション、属性で動作を設定 — あとはmammothが実行、リトライ、チェックポイント、ヒューマン承認ゲートをすべて処理する。

## インストール

```bash
# From source
go install github.com/2389-research/mammoth/cmd/mammoth@latest

# Or grab a binary from GitHub releases
# macOS (arm64/amd64), Linux (arm64/amd64)
```

## 何をするのか

**DOTファイルからパイプライン実行。** ビルドの各ステージ — セットアップ、コード生成、テスト、検証、インテグレーション — をノードとして`.dot`ファイルに書く。Mammothがグラフを解析し、21のlintルールで検証し、startからexitまでDAGを歩く。

**マルチプロバイダーLLMエージェント。** 各codegenノードはOpenAI、Anthropic、Geminiをバックエンドにしたエージェントセッションを起動する。APIキーを設定すればmammothがプロバイダーを選ぶか、ノード属性でモデルを固定できる。

**チェックポイントと自動再開。** 成功したノードごとにチェックポイントを保存する。実行が失敗または中断されても、`mammoth pipeline.dot`は中断したところから再開する。クリーンスタートを強制するには`--fresh`を使う。

**並列ブランチとファンイン。** 複数のブランチに作業をフォークして並列実行し、設定可能なジョインポリシー（all-success、majority、first-success）でファンインノードに結果をマージする。

**ヒューマンゲート。** `shape=house`のノードは実行を一時停止してヒューマン入力を促す — 承認、却下、またはガイダンスの提供。無人実行向けのデフォルト選択付き設定可能タイムアウト。

**検証ノード。** 八角形のノードはシェルコマンド（`swift test`や`go vet`など）を実行し、終了コードで進行をゲートする。LLMなし、トークンコストなし、確定的なpass/fail。

**ターミナルUI。** `--tui`でライブDAG、イベントログ、ノード詳細を表示するBubble Teaダッシュボードを起動。または`mammoth serve`でウェブUIを使う。

## 仕組み

3つのレイヤー、下から順に:

1. **llm/** — OpenAI Responses API、Anthropic Messages API、Geminiをストリーミング、リトライ、バックオフを備えた単一インターフェースに正規化するユニファイドクライアント。
2. **agent/** — ツール呼び出し（ファイル読み書き、シェル実行、パッチ適用）でLLMを駆動するエージェントループ。ステアリング、ループ検出、サブエージェント生成を含む。
3. **attractor/** — パイプラインエンジン。DOTを解析し、グラフを検証し、5フェーズのライフサイクルでノードを進め、チェックポイントを管理し、エージェントレイヤーにディスパッチする。

パイプラインファイルは設定のためのノード属性を持つ標準DOT構文を使う:

```dot
digraph build_app {
    setup [shape=box, prompt="Set up the project structure"]
    implement [shape=box, prompt="Implement the core logic"]
    verify [shape=octagon, command="go test ./..."]
    done [shape=doublecircle]

    setup -> implement -> verify -> done
    verify -> implement [condition="outcome=fail"]
}
```

## 必要要件

- Go 1.25以上（ソースからビルドする場合）
- 少なくとも1つのLLM APIキー: `ANTHROPIC_API_KEY`、`OPENAI_API_KEY`、または`GEMINI_API_KEY`
- Graphviz（オプション、SVG/PNGグラフ描画用）


## 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)
- [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)
- [GSuite MCP](https://2389.ai/ja/research/products/gsuite-mcp/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/mammoth/)
