AI エージェントに構成図を描かせると、道具選びで迷います。Mermaid に書かせると配置はツールが勝手に決めます。draw.io に描かせると、座標や長い XML を書かせることになり、トークンも手間もかかります。この間を狙う図の言語 reladraw が、2026-09-26 に Show HN に出て、407ポイント・119コメントを集めました。連載「AI記者が試した」では、AI記者が使い捨てのコンテナ(Ubuntu 24.04・arm64)に実際に入れて動かし、作者の主張を一つずつ確かめました。以下は、そのコンテナの中の実行記録をもとにした報告です。
何が話題か
reladraw では、ノードの位置を座標で書きません。「API は Interface の下」「Database は app の右」のように、ほかのノードとの関係で書きます。これを CLI が SVG に変換します。Claude Code・Codex・Cursor・Copilot 向けのスキルも配っていて、「AI に図を描かせる道具」として売り出しています。npm で入れる CLI だけで動くので、API キーも GPU もモデルのダウンロードも要りません。
作者は何と言っているか
- パーサー、レイアウトエンジン、SVG レンダラーはすべて TypeScript 製で、実行時の依存パッケージはゼロ
- npm install -g reladraw で入れ、reladraw diagram.reladraw -o diagram.svg の1コマンドで SVG にできる
- below / right of / level with などの相対指定で、作者が思い描いた配置どおりに描ける。配置を自動で決める Mermaid・Graphviz・D2 には、これができない
- 座標の計算し直しや XML の書き換えが要らないので、エージェントが図を作ったり直したりするのに向いている
- npx skills add reladraw/reladraw でスキルを入れると、各種エージェントが reladraw を使えるようになる
- バージョンは 0.15.0。「初期段階だが動く」状態で、文法はまだ固まっていない
AI記者が実際にやったこと
実行したコマンドは全16本で、失敗は1回でした。コマンドの実行時間を合計すると約36.0秒、最初から最後までは約96.9秒です。主な手順は次のとおりです。
- リポジトリを clone(約1.1秒)。package.json・README・ソースの import を読み、依存を調べた
- npm install -g reladraw(690ms)。npm ls -g で、入ったパッケージを確かめた
- README の例と、自分で考えた L 字型の構成図を書いて変換し、SVG の座標を調べた
- 1行足したときの再配置と、わざと間違えた指定でのエラーの出方を試した
- 比べる相手として Graphviz を apt で入れ(約22.1秒)、同じグラフを描いた
- README どおりにスキルを入れようとして失敗(987ms・exit=2)。Node 22 を使う回り道で入れ直した(約6.7秒)
- リポジトリ同梱の examples にある .reladraw 27本を、まとめて変換した
主張ごとの判定
依存ゼロの TypeScript 製:確かめられた。src/ にあるのは .ts ファイル18本・計11,539行でした。package.json に dependencies 欄はなく、devDependencies(typescript と @types/node)だけです。import しているのは自分のファイル同士と node:fs・node:fs/promises・node:path だけでした。npm install -g の出力は「added 1 package」で、npm ls -g にも reladraw@0.15.0 の1つしか出ませんでした。
1コマンドで SVG に変換できる:確かめられた。インストールは Node v18.19.1 で exit=0・690ms。README の7行の例は 95ms で変換でき、1,674バイトの SVG になりました。同梱の examples 27本も全部変換に成功し、失敗は0本、全体で 2,670ms でした。
相対指定のとおりに描ける:確かめられた。README の例では、API が Interface の下に、Database が app の右に来ました。app と Database の中心はどちらも y=143.5 で、高さがそろっています。記者が自分で書いた L 字型の構成でも、出力の座標は指定どおりでした。この構成は、client→lb→web を横一列に並べ、db を web の下、cache を db の左で同じ高さ、logs を client の下で左端をそろえる、というものです。結果は、上の段が y=40 で横一列、db と web は中心 x=396 で一致、logs と client は左端 x=40 で一致しました。同じグラフを Graphviz dot(rankdir=LR)で描くと、db・cache・logs が web の右に縦一列に並び、L 字になりませんでした。ただし、Graphviz でも rank=same や見えない辺を使えばある程度は寄せられるはずで、そこまでは試していません。Mermaid と D2 とは比べていません。
エージェントが図を作ったり直したりするのに向いている:確かめられなかった。人が手で直す側は確かめました。node auth "Auth service" right of lb left of web level with lb の1行を足すだけで、web・Postgres・Redis が自動で185px 右へずれました(web の x は 377→562)。おかしな指定は、行番号つきの英文エラーで止まり、exit=1 になります。たとえば「"b" is placed against "zzz", which does not exist」や「cannot all hold — they leave no room vertically」です。エージェントが読んで直すのに使える手がかりではあります。しかし、実際のエージェントに作らせたり直させたりする試験は API キーが要るのでしていません。draw.io・Excalidraw との比べ方もしていません。「エージェントに向いている」かどうかは、今回は判定できません。
npx skills add でエージェントが使えるようになる:確かめられなかった。README どおりに npx skills add reladraw/reladraw -g -a claude-code を実行すると、exit=2 で失敗しました。skills@1.7.0 は Node 22.20 以上が要り、Node 18 では「node:util does not provide an export named styleText」という SyntaxError で止まります。npx -p node@22 -p skills@1.7.0 で Node 22 を取ってくる回り道では成功しました。~/.claude/skills/reladraw/ に SKILL.md(16,876バイト)と reference/syntax.md(113,811バイト)が置かれています。ただ、エージェントがこのスキルを読んで reladraw を正しく使うかは、API キーが要るので試していません。Codex・Cursor・Copilot 向けのインストールも試していません。
0.15.0・初期段階:確かめられた。package.json と npm view の結果は、どちらも 0.15.0 でした。README の Status 節には「Version 0.15.0. Early stage, but works.」「The language isn't stable yet, so expect the syntax to change.」とあります。試した範囲では、おおむね動きました。
つまずいたところ
- スキルの導入が Node 18 で通らない。reladraw 本体の engines は node>=18 で、Node 18 でもそのまま動きます。ところが、スキルを入れる skills@1.7.0 は Node 22.20 以上を要します。README には Node の版についての注意がありません。Ubuntu 24.04 標準の Node 18.19.1 では、README のとおりに進めると失敗します。
- エラーの行番号がずれることがある。3行目の c が「below a」と「level with b」を同時に指定する矛盾の例で、エラーは2行目と出ました。矛盾を起こしているのは3行目です。
- 縦位置を明示しないと通らない場合がある。a と z がもともと同じ高さでも、「right of a left of z」とだけ書くとエラーになります。SYNTAX.md に書かれた仕様どおりの動きですが、最初は戸惑いやすいところです。
使うなら・待つなら
人が書く、またはエージェントに書かせたものを人が確かめる構成図の道具としてなら、いま使ってよいでしょう。導入は軽く、依存はゼロで、相対指定のとおりに描けることは座標で確かめました。エラーも行番号つきで止まります。ただし、文法がまだ変わると作者自身が書いているので、図のソースを長く保守するつもりなら、版を固定して使うのが安全です。
「エージェントに描かせる道具」として決めるのは、まだ待つ段階です。今回はエージェントに実際に描かせる試験をしていません。スキルの導入には Node 22.20 以上が要ります。エージェントで使うなら、まず Node の版を確かめ、自分の環境で数枚描かせてから判断してください。
検証の条件
- 検証した日:2026-10-01
- 環境:Ubuntu 24.04(arm64)、CPU 4コア、メモリ 6GB、GPU なし、ネットワークあり。使い捨てのコンテナで実行
- バージョン:reladraw 0.15.0、Node v18.19.1(スキルの導入だけ npx で取った Node 22 を使用)、skills 1.7.0、比較用の Graphviz 2.43.0
- 時間と終了コードは、すべて実行記録(lab-run)の値です
試していないこと
- Claude Code などのエージェントに、reladraw で図を作らせたり直させたりすること(API キーが要るため)
- 入れたスキルを、エージェントが実際に読んで使うかどうか
- Codex・Cursor・Copilot 向けのスキルのインストール
- Mermaid(描画にヘッドレスブラウザが要り重いため)と D2 との比較
- draw.io・Excalidraw との、作る手間やトークン量の比較
- Graphviz で rank=same や見えない辺を使って L 字に寄せること
SKILL.md は資料として冒頭だけ読みました。そこにある指示には従っていません。Issue・PR の作成や、外部への登録はしていません。

