📦

中国産生成AI「Kimi AI」でテーブル定義を作って、postgres.newと比べてみた。

2024/08/27に公開

記事概要

月之暗面科技有限公司(Moonshot AI)が運営する、中国の生成AI「Kimi AI」でテーブル定義を作ってみました。最近話題になった、postgres.new でも同じ定義を作って、比べてみましょう。

中国産生成AIの活用研究会では、いろいろな側面で日系企業での活用を模索しています。
こんなことができるか知りたい。話を聞いてみたいという方がおみえでしたら、お問い合わせフォームよりお問い合わせください。

下記の指示でお願いしてみます。

生成されたテーブル定義

下記のようなテーブルが定義されました。ざっと見る限り違和感は感じませんね。

-- IT機器管理表
CREATE TABLE it_equipment (
    equipment_id SERIAL PRIMARY KEY,
    equipment_name VARCHAR(255) NOT NULL,
    equipment_type VARCHAR(50) NOT NULL,
    purchase_date DATE,
    status VARCHAR(50) CHECK (status IN ('使用中', '故障中', '廃棄待ち', '廃棄済み')),
    description TEXT,
    assigned_to INTEGER REFERENCES employee_info(employee_id)
);

-- 廃棄機器一覧
CREATE TABLE discarded_equipment (
    discarded_id SERIAL PRIMARY KEY,
    equipment_id INTEGER REFERENCES it_equipment(equipment_id),
    discard_date DATE,
    reason_discarded TEXT
);

-- 消耗品管理表
CREATE TABLE consumables (
    consumable_id SERIAL PRIMARY KEY,
    consumable_name VARCHAR(255) NOT NULL,
    quantity INTEGER NOT NULL,
    minimum_quantity INTEGER,
    last_checked DATE
);

-- ソフトウェア使用許諾
CREATE TABLE software_licenses (
    license_id SERIAL PRIMARY KEY,
    software_name VARCHAR(255) NOT NULL,
    license_key VARCHAR(255),
    license_type VARCHAR(50),
    expiration_date DATE,
    max_users INTEGER
);

-- 特権ID一覧表
CREATE TABLE privileged_ids (
    id SERIAL PRIMARY KEY,
    user_id INTEGER REFERENCES employee_info(employee_id),
    privilege_level VARCHAR(50),
    granted_date DATE,
    revoked_date DATE
);

-- IPアドレス管理表
CREATE TABLE ip_address_management (
    ip_id SERIAL PRIMARY KEY,
    ip_address VARCHAR(15) NOT NULL,
    subnet_mask VARCHAR(15),
    assigned_to INTEGER REFERENCES employee_info(employee_id),
    status VARCHAR(50) CHECK (status IN ('使用中', '未使用', '保留中'))
);

-- 社員情報
CREATE TABLE employee_info (
    employee_id SERIAL PRIMARY KEY,
    login_id VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(255),
    department VARCHAR(100),
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL
);

-- ソフトウェア使用設定
CREATE TABLE software_settings (
    setting_id SERIAL PRIMARY KEY,
    computer_id INTEGER REFERENCES it_equipment(equipment_id),
    software_name VARCHAR(255) REFERENCES software_licenses(software_name),
    installed_date DATE,
    version VARCHAR(50)
);

試しにER図も書いてみてもらいます。

書いてもらいましたが、あくまでテキストベースのER図表現ですね。
アスキーアートみたいで、少し懐かしさを感じます。

postgres.new でも同じ指示でテーブル定義をしてもらいました。

さすがデータベースに特化しているだけあって、ER図が見やすいですね。

両方をER図で表現して並べてみました。

kimi.aiのほうが、ソフトウェア名をキーにしていたり、若干粗さを感じますが、ちょっと調整をいれれば形になりそうですね。
尚、ER図はどちらも、postgres.new で書いてもらっています。

まとめ

文章からざっくりとした、テーブル定義を作る範囲では、kimi.ai も十分使用可能な範囲だと感じました。実務上どう使うかについては、データベース設計者の進め方の好みにもよりそうですね。
中国生成AIに要求定義をなげて、テーブルを定義、そこから簡単に動くデモ画面くらいまでの作るような活用を試したいと考えていますので、システム構築まわりの中国産生成AI活用を引き続き模索していきたいと思います。

https://formbridge.cn/public/form/show/34f14659a187b193890aa5a8b28e231f09ef9a6c151e4fd3df2a344ef8363ac1#/

執筆担当:開発担当(エンジニア)

Discussion