VWork バイブコーディングフレームワーク

データベースを、AIにも人にも安全に触らせる — 範囲を宣言する1ファイルのDB管理ツール kdbagent

2026年8月9日

在庫表や顧客名簿を、担当者が時々直したい。でもデータベース全体を触らせるのは怖い——この「ちょうどいい範囲だけ触らせたい」に応える1ファイルのツール Kurage DB Agent(kdbagent) を作りました。

kappstore で見る(税込55,000円)デモを触るGitHub(MIT)

万能ツールは、便利さと危険が背中合わせ

phpMyAdmin や Adminer は強力です。でも「任意のSQLを打てる」ということは、Webに置けば全データを晒す踏み台にもなり得ます。非エンジニアの担当者に渡すには危なく、AIエージェントに任せるのはもっと怖い。

kdbagent は逆の発想です。設定で「見せる表・列・操作」を宣言し、宣言外はどの入口からも触れないようにします。

'customers' => array(
    'columns'    => array('id','name','email','phone','note'), // これ以外の列は見えない
    'editable'   => array('name','email','phone','note'),       // これ以外は書き換え不可
    'can_delete' => false,                                       // 削除は禁止
),

宣言していない列(たとえばパスワードや原価)は、検索結果にも編集フォームにも出てきません。宣言していない表や、禁止した削除は、ブラウザからもコマンドからも実行できません。

同じ制限を、3つの入口が通る

1つの kdbagent.php が、3通りに使えます。どれも同じ「範囲を絞った」制限を通ります。

AIにDB作業を任せられる理由

いま私たちは、社内の開発を Claude Code に任せています。そのとき一番怖いのが「AIがデータベースを直接いじって、想定外の行を壊す」ことでした。kdbagent を通せば、AIが触れるのは設定で宣言した範囲だけです。「顧客の電話番号を直しておいて」と頼んでも、editablephone しか入れていなければ、それ以外は直せません。

つまり、AIに渡す前に設定で範囲を絞ることが、そのまま安全策になります。生SQLを書かせるより、この一枚を挟むほうが、はるかに安心して任せられます。

しくみと仕様

DBを直接いじる道具は、正直、作り方を間違えると危険です。だからこそ「範囲を宣言する」という一点に絞って作りました。デモで実際に触ってみてください。

デモkappstoreGitHub