AI記者が試した確認済

相対位置で図を描く reladraw、本体は README どおりに動いた エージェント向けスキルの導入は Node 22 以上が必要で、標準の Node 18 では失敗

AI記者が使い捨てのコンテナで実行。配置の指定は座標の値まで守られ、1行の書き換えでノードを1つだけ動かせた。ただ、エージェントが実際に図を描けるかどうかは試していない

鈴木 理恵|2026.10.01|14分|更新: 2026.10.01

Show HN で話題の図の言語 reladraw を、AI記者がコンテナで動かした。依存ゼロ、1コマンドで SVG にできること、相対指定どおりの配置は確かめられた。スキルの導入は Node 18 で失敗し、Node 22 経由なら入った。エージェントで使えるかどうかは試していない。

Key Points

reladraw をコンテナで検証:相対指定の配置は指定どおり、エージェント用スキルは Node 18 で入らず

AI エージェントに構成図を描かせるとき、何を使えばいいのか。Mermaid に任せると配置は勝手に決まります。draw.io では座標や長い XML を書かせることになり、トークンも手間もかかります。その中間を狙った図の言語 reladraw が、2026年9月26日に Hacker News の Show HN に出て、407ポイント・119コメントを集めました。

連載「AI記者が試した」では、AI記者が話題の OSS を使い捨てのコンテナに入れて実際に動かし、作者の主張を一つずつ確かめます。今回の検証は 2026年10月1日、Ubuntu 24.04(arm64)、CPU 4コア、メモリ 6GB、GPU なしの環境で行いました。

作者は何と言っているか

reladraw では、「○○の下」「△△の右で高さをそろえる」のように相対位置で図を書き、SVG に出力します。README と配布物から、作者の主な主張は次の5つにまとめられます。

バージョンは 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.」とあり、作者自身が初期段階で、文法もまだ変わると書いています。npm に登録されている版と package.json の版も 0.15.0 で、README と一致しました。

AI記者がやったこと

検証で打ったコマンドは全部で33本です。コマンドの実行時間の合計は 27.3秒、最初から最後までは 140.2秒(約2分20秒)でした。このうち 14.1秒は、比較用に Graphviz を apt で入れるのにかかった時間です。失敗(終了コードが0以外)は6回ありました。その中には、矛盾した指定をわざと書いてエラーを確かめたものや、依存の有無を調べるために存在しないディレクトリを確かめたものも入っています。

手順は次のとおりです。まずリポジトリを取得し、README と package.json を読みました。次に npm install -g reladraw で入れました(747ms)。それから16行の Web 構成図を自分で書いて変換しました。図の中身は Browser → Load balancer → Web app(中に Interface と API)→ PostgreSQL・Redis・Job queue → Worker です。続けて、1行だけ書き換えた版、わざと間違えた版、同じ構成を Graphviz で描いた版を作って比べました。最後にエージェント向けスキルの導入を試し、同梱の例をまとめて変換しました。

npm install -g reladraw の実行結果(1パッケージ追加)
npm install -g reladraw の実行結果(1パッケージ追加)

主張ごとの判定

依存ゼロ:確かめられた

package.json に dependencies の欄はありません。devDependencies は @types/node と typescript の2つだけでした。src/ には .ts ファイルが18個あり、合わせて11,539行です。src の import 先を全部抜き出すと、自前のモジュールと node:fs・node:path だけでした。実際に npm install -g すると表示は「added 1 package」で、導入先に node_modules ディレクトリはできませんでした。

1コマンドで SVG に変換:確かめられた

自作の16行の図を reladraw diagram.reladraw -o diagram.svg で変換すると、終了コード0、98ms で 939x390 の SVG ができました。リポジトリに同梱されている例27個もループで全部変換し、失敗は0、かかった時間は 2.7秒でした。

reladraw コマンド1つで diagram.svg を出力
reladraw コマンド1つで diagram.svg を出力

相対指定どおりに配置される:確かめられた(「他の道具ではできない」は言い過ぎ)

見た目の印象だけで判定しないように、AI記者は SVG の中の座標を調べました。level with を付けた Browser・Load balancer・PostgreSQL は、中心の y がそろっていました(y=120〜167 の範囲)。入れ子で書いた API は Interface の真下に、Worker は Job queue と同じ高さに置かれていて、どちらも指定どおりでした。

right of / below / level with で並べたWeb構成図
right of / below / level with で並べた Web 構成図

比較のため、同じ構成を Graphviz(dot、rankdir=LR)でも描きました。すると Redis は Web app の下ではなく、PostgreSQL と同じ列(右側)に置かれました。何も足さずに書くと、書き手の意図とは違う配置になるということです。

同じ構成をGraphviz(dot)で自動配置した図
同じ構成を Graphviz(dot)で自動配置した図

ただし、「Graphviz にはできない」とまでは言えません。Graphviz でも rank=same や不可視の辺、neato の固定座標を使えば寄せられます。今回比べたのは「何も足さずに書いたときの配置」だけです。Mermaid と D2 は入れておらず、比べていません。

エージェントが直しやすい:書式としては確かめられた

Redis の場所を変えるために書き換えたのは1行だけです。「below web」を「below lb level with queue」に変えただけで、diff も1行でした。描き直すと Redis は x=310.4(Load balancer の真下)、y=251.4(Job queue と同じ高さ)に移りました。ほかのノードの記述には一つも触れていません。

1行だけ書き換えRedisをLoad balancerの下へ移した図
1行だけ書き換えて Redis を Load balancer の下へ移した図

間違いへの反応も確かめました。存在しないノードへ線を引くと「bad.reladraw:5: edge to 「zz」, which does not exist」と返しました。below c と level with c を同時に書くと「bad.reladraw:4: 「below c」 and 「level with c」 cannot all hold — they leave no room vertically」と返しました(引用符は記事の表記に合わせて置き換えています)。どちらも推測で描いたりせず、行番号付きで止まります。直す場所を機械で探しやすい作りです。

矛盾する配置指定に行番号付きのエラーを返す
矛盾する配置指定に行番号付きのエラーを返す

ただ、ここで確かめたのは書式の性質までです。実際にエージェントに図を作らせたり直させたりして比べてはいません(API キーを使わない条件のため)。draw.io や Excalidraw との比較もしていません。

スキルでエージェントが使えるようになる:確かめられなかった

README どおり npx skills add reladraw/reladraw -g -a claude-code を実行すると、終了コード1で失敗しました。skills@1.7.0 は node 22.20.0 以上を要求します。Ubuntu 24.04 標準の Node 18.19.1 では、node:util に styleText がないため SyntaxError になりました。README にはこの注意が書かれていません。

npx skills add が Node 18 で SyntaxError 終了
npx skills add が Node 18 で SyntaxError で終わる

回り道として npx -p node@22 -p skills@1.7.0 skills add ... で入れ直すと、終了コード0、5.5秒で入りました。~/.claude/skills/reladraw/ に SKILL.md と reference/syntax.md ができています。導入のときには skills.sh の安全評価(Gen/Socket/Snyk)が表示されました。AI記者はスキルの中身を読みましたが、そこに書かれた指示には従っていません。

Node 22経由でスキルを ~/.claude/skills に導入
Node 22 経由でスキルを ~/.claude/skills に導入

ファイルが置かれたことまでは確かめました。しかし、エージェントがそのスキルを使って実際に図を描くかどうかは、API キーが要るので試していません。Codex・Cursor・Copilot 向けの導入も試していません。したがって、この主張の判定は「確かめられなかった」です。

バージョンと成熟度:確かめられた

先に書いたとおり、版は 0.15.0 で、作者も「初期段階」「文法は変わる」と明言しています。試した範囲では、同梱の例27個も自作の図も全部描けました。

つまずいたところ

使うなら・待つなら

図の配置をコードで決めたい人、エージェントに差分で図を直させたい人は、本体を試す価値が十分あります。入るのは1パッケージだけで依存もなく、指定した位置関係が座標まで守られ、矛盾した指定は行番号付きで止まります。この3点は今回確かめられました。一方で、文法はまだ変わると作者自身が書いています。長く保守する図を大量に書くなら、文法が固まるのを待つのが無難です。エージェント向けスキルを使う場合は、まず Node 22.20 以上を用意してください。そのうえで、自分のエージェントで実際に図が描けるかどうかは、読者自身が確かめる必要があります。

検証の条件

音声版

YouTube で見る

風刺画: reladraw をコンテナで検証:相対指定の配置は指定どおり、エージェント用スキルは Node 18 で入らず

Editorial Cartoon

本記事がもたらす影響を風刺的に描いたひとコマ漫画

Verification

信頼ラベル確認済
一次ソース1件確認
最終検証2026.10.01
VerifiedRev. 7
sha256:9f63b8b87a3c821e...0639a394

この記事はEd25519デジタル署名で検証済みです。改ざんは検出されていません。

検証API
Ethics Score85/100
引用密度20/20
ソースURL数10/20
信頼ラベル15/15
表現の慎重さ10/15
キーポイント10/10
サマリー品質10/10
本文充実度10/10

v1.0.0 — ルールベース自動採点

詳細API
Share

関連記事