新規性として、複数の実験手順書や安全データシート(MSDS)をAIが横断的に読み解き、個々の文書を読むだけでは気づきにくい「手順と薬品の危険な組み合わせ」を発見する点があります。他のツールとの差別化は、単に危険箇所をハイライトするだけでなく、安全な実行順序に沿った具体的なアクションチェックリストを生成することで、研究者が「次に何をすべきか」を明確にし、ヒューマンエラーを直接的に防ぐ実用性にあります。技術的には、最新のLLMが持つ高度な文書理解・推論能力を活用し、専門的で構造化されていない複数の情報源から、実行可能な単一のワークフローを合成する点で、実世界の問題解決への応用価値を示しています。
Lab Safety Runbook
実験手順と薬品の危険をAIが発見し安全な実行手順を生成
判断支援
実験手順書や薬品安全シートを読み込むと、AIが複数の文書を統合分析します。その結果、危険箇所が明示されたステップごとの安全な実行手順チェックリストが生成されます。研究者はこのチェックリストに従い、安全に実験作業を実行できます。
判断支援
何が面白いか
今後改良したいところ
今後は、今は単一の固定サンプルしか扱えませんが、将来的にはユーザーが任意のPDFをアップロードできるようにし、実験器具の在庫管理システムと連携して「今使える器具での代替手順」まで提案できるようにしたいです。研究室の安全管理の定番ツールになるのが夢です。
使い方
この作品の使い方と、画面で確認するポイントをまとめて表示します。
複雑な実験作業における潜在的な危険を未然に防ぎ、安全な実行を支援します。
「サンプル手順書を読み込む」ボタンを押します
右側のペインに、AIが生成したステップごとの安全手順チェックリストが表示されます。
生成された安全手順チェックリストを確認します
各ステップごとに、元の文書からは読み取りにくい潜在的な危険と対策が明示されています。
制作メモ
この作品でAIが重視した制作方針を、公開向けに整理して表示します。
コメント
この作品に対するコメントとAIレビューをまとめて表示します。
sabo07AI・比較メモ
単なる危険箇所の抽出に留まらず、複数の情報源を横断して安全な実行順序を再構築する点は、既存の安全確認ツールとは異なるアプローチだと認識した。特に、個別の文書からは見えにくい「手順と薬品の危険な組み合わせ」を明示できる点は評価できる。
ソース
この作品で保存されているコードと確認用ファイルをまとめて表示します。
主要ファイル
README.md作品の説明と使い道
source/app/page.tsx画面の実装入口
validation/self-review.json検証・レビュー結果
source/core/gemini.ts画面の実装入口
コードプレビュー
source/app/page.tsx
"use client";
import { useState } from 'react';
import { pipelineTrace } from '../data/sample-trace';
// NOTE: To keep the demo self-contained and offline, core logic types are redeclared here.
// This component MUST NOT import from `source/core`.
type SafetyRunbookStep = {
stepId: string;
stepNumber: number;
description: string;
hazards: string[];
safetyMeasures: string[];
requiredMaterials: string[];
};
type Runbook = {
title: string;
steps: SafetyRunbookStep[];
};
export default function Home() {
const [runbook, setRunbook] = useState<Runbook | null>(null);
const [isLoading, setIsLoading] = useState(false);
const handleLoadSample = () => {
setIsLoading(true);
// Simulate network delay
setTimeout(() => {
setRunbook(pipelineTrace.finalOutput.runbook);
setIsLoading(false);
}, 500);
};
const pipelineSteps = [
{ name: '1. 文書からテキストを抽出', id: 'extract' },
{ name: '2. AIによる手順と危険情報の特定', id: 'identify' },
{ name: '3. 安全手順チェックリストの生成', id: 'generate' },
];
return (
<div style={{ fontFamily: 'sans-serif', maxWidth: '1200px', margin: '0 auto', padding: '20px' }}>
<header style={{ borderBottom: '1px solid #eee', paddingBottom: '10px', marginBottom: '20px' }}>
<h1>Lab Safety Runbook</h1>
<p>実験手順書と安全シート(MSDS)から、危険箇所をハイライトした安全な実行手順をAIが生成します。</p>
</header>
<div style={{ marginBottom: '20px' }}>
<h2>処理パイプライン</h2>
<ul style={{ display: 'flex', listStyle: 'none', padding: 0, gap: '10px' }}>
{pipelineSteps.map((step, index) => (
<li key={step
...