AI Library
自律的科学発見の時代
キム・ギョンジン, 弁護士
AI科学者とセルフドライビング・ラボ
AI科学者とセルフドライビング・ラボが、科学研究における主張の生成と検証をどのように変えつつあるのかを追います。文献に基づく発見、自然言語プロトコルからロボット命令への変換、マルチエージェント研究システム、閉ループ実験室、材料探索、検証ギャップ、証拠の連鎖、研究ハーネス、学術誌倫理、法的責任までを扱います。
AIライブラリ
デジタル主権の二重構造
欧州の脱パランティアとアメリカン・ビッグテックの鎖
金景珍(キム・ギョンジン), 弁護士
欧州の情報機関と国防省が米パランティアの分析ツールを排除し始めた2026年の記録です。フランス国内治安総局とドイツ連邦憲法擁護庁、オランダ国防省の置き換え決定、米国の輸出規制が同盟国の人工知能アクセスをわずか3日で遮断した事件、CLOUD ActとFISA 702条がもたらした域外管轄の実態を扱っています。欧州連合のクラウド・AI開発法(CADA)が定めた4段階の主権保証レベルと主権理由による契約解除権、ユーロスタック構想と3,000億ユーロの投資障壁に至るまで、全5章15節と結論2節で整理しました。
[AI書斎] 第16章 ウェブサイト作成と自動化
AIに任せて席を離れる - YOLOモード完全入門
第16章 ウェブサイト作成と自動化
キム・ギョンジン弁護士
事例9)個人ブログ、アイデアから公開まで
場面
大学生のパク・ジホさんは、ビールのレビューを書くブログを作りたいと思っていました。Naver ブログや Tistory を使うこともできますが、自分だけのドメイン(domain、インターネット上のアドレス)を持ちたかったのです。beerlog.kr のようなアドレスです。ただ、ウェブサイトを自分で作った経験はありません。HTML という言葉は聞いたことがあるけれど、コードを書いたことは一度もありません。
命令
mkdir ~/beerlog
cd ~/beerlog
git init
Claude Code を起動して、次のように指示します。
「ビールレビューブログを作って。名前は『ビール一杯の記録』。ホームページには记事一覧を表示して、記事をクリックするとレビュー本文が読めるようにして。レビューにはビール名、醸造所、星評価(5点満点)、写真1枚、本文を入れて。デザインはすっきりした暗めのトーンで。Markdown ファイルで記事を書いたら自動でページが生成されるようにして。」
進行の流れ
Claude Code が静的サイトジェネレーター(Static Site Generator、Markdown ファイルをウェブページに変換するツール)を設定します。複数のツールの中から Hugo や Eleventy などを選んでインストールします。
フォルダ構成を作り、テーマ(theme、デザインの枠組み)を設定して、サンプルのレビュー記事を一つ生成します。ホームページに記事一覧が表示され、クリックすると本文が読める構成です。
ローカル(local、自分のコンピューター上)でプレビューを起動します。
hugo server
このコマンドを実行すると、ブラウザで http://localhost:1313 のアドレスからブログを確認できます。自分のコンピューター内だけで見えるため、他の人には見えません。
ここまでおよそ15分です。
デプロイ(deploy、インターネットへの公開)まで行うには、Claude Code に続けて指示します。
「このブログを Vercel にデプロイして。」
Vercel(ウェブサイトをインターネットに公開するサービス)は、個人プロジェクトであれば無料で使えます。Claude Code が GitHub(コードを管理するリポジトリサービス)のリポジトリを作成し、コードをアップロードして、Vercel と連携します。
デプロイまで含めると、25分から30分かかります。
結果
インターネットに公開されたブログ。beerlog.vercel.app のようなアドレスで誰でもアクセスできます。自分のドメイン(beerlog.kr)を設定したい場合は、ドメインを別途購入する必要があり、年間約1,500円程度です。
費用
作業時間30分、費用300円から500円程度。サーバー運用費は無料(Vercel 無料プラン)。ドメインを購入すると年間約1,500円が追加でかかります。
リスク
デプロイ、つまりインターネットに公開した瞬間にリスクが生じます。コードに個人情報が含まれていれば、世界中に公開されます。API キー、パスワード、個人のメールアドレスがコードにハードコーディング(hard-coding、コードに直接書き込むこと)されていると、深刻な問題になります。この事例は個人ブログなので機密情報が入ることは少ないですが、習慣として必ず確認してください。
デプロイ前に Claude Code へこう指示します。「このフォルダ内のすべてのファイルを調べて、パスワード・API キー・トークンなど機密情報が露出している箇所がないか確認して。」Claude Code がファイルを一つずつ調べ、password、secret、api_key、token といった単語が含まれる行を見つけ出します。何も検出されなければ安全です。
実践するには
ブログの目的とデザインのトーンを具体的に伝えてください。「ブログを作って」より「クラフトビールのレビューブログ、ダークトーン、星評価あり」のほうが結果は良くなります。公開にはVercelやNetlifyのような無料サービスを使いましょう。GitHubアカウントが必要です(無料です)。
事例10)地域サークルのスケジュールサイト
場面
マンションの読書サークルを運営するキム・ヨンスクさん。毎月の集まりの日程と課題本をグループチャットに投稿していますが、新しいメンバーが入るたびに過去の情報を送り直さなければなりません。昔の記録も探しにくい。シンプルなウェブページに日程を載せておけば、リンク一つで済むのに。
コマンド
「読書サークルのスケジュールサイトを作って。ページは1枚でいい。上部にサークル名『一緒に読む午後』、その下に次回の集まり情報(日付、場所、課題本)、さらにその下に過去の記録。データはJSONファイルから読み込むようにして。JSONファイルを編集するだけでウェブページが自動的に更新されるようにして。」
進め方
Claude Codeがhtml とCSS(ウェブページのデザインを決める言語)でページを作り、schedule.jsonというデータファイルを生成します。JSON(JavaScript Object Notation、データを保存するフォーマット)ファイルは人が読めるテキストファイルなので、メモ帳で開いて日付と本のタイトルを書き換えられます。
10分あれば完成します。VercelやGitHub Pagesに公開するとウェブアドレスが発行されます。そのアドレスをグループチャットに貼ればOKです。
結果
1ページのシンプルなスケジュールサイト。次回の集まり情報が目立つ上部に表示され、スクロールすると過去の記録が確認できます。
コスト
作業時間10分、費用約50円、サーバー運用費無料。
注意点
サイトは公開されているので、集まりの場所の詳細な住所(部屋番号など)は載せないでください。「敷地内の集会室」のように、内部の人だけわかる表現を使いましょう。
実践するには
サークル名、雰囲気、必要な情報(日付、場所、テーマなど)を伝えてください。JSONファイルの編集方法がわからなければClaude Codeに聞いてみましょう。「schedule.jsonに7月の集まりを追加するにはどうすればいい?」と聞けば教えてくれます。
事例11)小さなお店の予約システム
場面
ソウル・ヨンナムドンの小さな花屋。オーナーがInstagramのDMで予約を受け付けていました。「金曜の午後3時にブーケを一つ作っていただけますか?」といったメッセージが一日に10件以上届きます。返信して、手帳に書いて、時間が重なっていないか確認して。DMが溜まると見落とす予約も出てきます。
予約システムがあればいいのですが、NaverやKakaoの予約サービスは手数料が発生します。自作すれば手数料はかかりませんが、開発者を雇うと200万ウォンはかかると言われています。
コマンド
「花屋の予約システムを作って。お客さんがウェブページで日付と時間を選んで、名前と電話番号を入力したら予約が保存されるようにして。同じ時間に二人が予約しようとしたら『すでに予約済みの時間です』と表示して。予約一覧は管理者ページで確認できるようにして。管理者パスワードはflower2025に設定して。」
進め方
このケースは前のケースより複雑です。データを保存して読み込む必要があるからです。Claude Codeがフロントエンド(ユーザーが見る画面)とバックエンド(データを処理する裏側)の両方を作ります。
フロントエンド:カレンダーで日付を選び、予約可能な時間帯を表示し、名前と電話番号を入力する画面。
バックエンド:予約情報をデータベースに保存し、同じ時間帯への重複予約を防ぐロジック。
管理者ページ:パスワードを入力すると、その日の予約一覧が表示される画面。
Claude CodeがNext.jsとSupabase(無料で使えるデータベースサービス)を組み合わせて作ることができます。どちらも無料プランがあるので、小規模なお店なら費用はかかりません。
全体の作業には40分から1時間ほどかかります。他のケースより時間はかかりますが、開発者に外注すれば数日かかりますし、費用も数十万円から数百万円になることがあります。
結果
インターネットで公開された予約ページ。Instagramのプロフィールにこのリンクをつけておけばお客様が自分で予約できます。オーナーは管理者ページから予約一覧を確認できます。
費用
作業時間1時間、API費用500円から800円程度。サーバー運用費は月0円(無料プランの範囲内)。独自ドメインを取得する場合は年間1,500円ほど。
リスク
このケースのリスクは本当に注意が必要です。予約システムはお客様の名前と電話番号を保存します。個人情報です。このデータが流出すると、法的な問題につながる可能性があります。
Supabaseはデフォルトでデータを暗号化して保存しますが、管理者ページのパスワードが「flower2025」のように簡単なものだと誰かに破られてしまうことがあります。パスワードは長く複雑なものに変更してください。「Fl0w3r!2025#SeouL」のようにです。
コードにパスワードが直接書かれていないか確認してください。環境変数(environment variable、秘密情報をコードの外に保存する方法)に入れる必要があります。これについては16章末尾の失敗事例で詳しく説明します。
自分でも試すには
予約システムを作るとき、Supabaseのような外部サービスの使い方を知らなくても大丈夫です。Claude Codeがすべての設定をやってくれます。ただし、あらかじめSupabaseのウェブサイトで無料アカウントを作っておく必要があります。アカウントを作るとAPIキーが発行されるので、そのキーをClaude Codeに伝えると接続してくれます。サービスを運用していて予約が1日100件を超えるようになったら、有料プランへの移行が必要になることがあります。
事例12)ブラウザを開いて自分でテストまでするAI
場面
ウェブサイトを作りました。うまく動いているようですが、ボタンを押したときに本当に機能するか、スマートフォンの画面で文字が切れていないかを確認したいと思っています。人が一つひとつクリックして確認するのは手間がかかります。
指示
「今作ったウェブサイトをブラウザで開いて、すべてのボタンとリンクをクリックしてみてください。エラーが出る箇所があれば教えて直してください。モバイル画面のサイズ(375px)でも確認してください。」
進め方
ここでBrowser Use(AIがブラウザを直接操作するツール)という機能が登場します。AIが本物のブラウザを開き、まるで人間のようにマウスを動かし、ボタンをクリックし、テキストを入力します。
Claude CodeはPlaywright(プレイライト、ブラウザ自動化ツール)を使ってブラウザを開きます。ウェブページを読み込み、ボタンを一つずつクリックします。リンクが壊れている箇所を見つければ報告します。「お問い合わせボタンを押すと404エラーが出ます。」そして自動的に修正します。
モバイルサイズに画面を縮小して確認もします。テキストが画面からはみ出ていればCSSを修正します。
全体の作業時間は5分から10分。
結果
テスト済みのウェブサイト。ボタンはすべて動作し、モバイルでもレイアウトが崩れません。AIが修正した内容の一覧がターミナルに表示されます。
コスト
時間10分、費用およそ100円から200円。
リスク
ブラウザの使用は、AIがインターネットに接続する機能です。第12章のニュース要約の事例と同様に、Docker内で実行するのが安全です。AIがテスト中に外部サイトへアクセスしたり、想定外のページを開いたりする可能性があります。
自分でやってみるには
ウェブサイトを作った直後に「ブラウザでテストして」と指示するだけです。Playwrightは自動的にインストールされます。テスト範囲は具体的に伝えてください。「すべてのボタン、すべてのリンク、モバイルサイズ」のように。
失敗事例:デプロイしたらパスワードがコードにそのまま露出
花屋のオーナーの話です(事例11のその後)。予約システムを作り、GitHubにコードをアップし、Vercelにデプロイしました。うまく動いていました。2週間、問題なく予約を受け付けていました。
ところがある日、管理者ページを開いてみると、予約リストが空になっていました。誰かが管理者ページにアクセスして、予約データをすべて削除したのです。
原因はこうでした。コードの中に管理者パスワード「flower2025」がそのまま書かれていました。GitHubにアップしたコードは誰でも見られます(公開リポジトリだったのです)。誰かがGitHubでコードを見て、パスワードを見つけ、管理者ページに入ったのです。
AIに「管理者パスワードはflower2025に設定して」と指示したので、AIはそのパスワードをコードに書きました。AIのせいではありません。言われた通りにしただけです。パスワードをコードの外に保存するよう伝えなかった人のミスです。
こうした秘密情報は環境変数ファイル(.envファイル)に保存し、そのファイルをGitHubにアップしないようにする必要があります。.gitignore(ギットイグノア、Gitが無視するファイルのリスト)ファイルに.envを追加すれば大丈夫です。
防止策:AIに指示するとき、この一文を加えてください。「パスワードとAPIキーは.envファイルに入れて、.gitignoreに.envを追加して。」

















