実験やワークショップの時間管理を効率化する
実験やワークショップを行うとき、5分のセッション、1分の入れ替え、10分のディスカッション、、、こうした時間管理をするとき、計画や実行でつまずくことがあります。タイムライン君はこうした時間管理をサポートするためのツールです。タイムライン君は、CSVファイルで指定したスケジュールのタイマーを生成してくれるアプリケーションです。ダウンロードはこちら(Windows版)、ZIPファイルを解凍して使用してください。
CSVファイルは以下のような形式で作成します。
| title | member | start | duration | fixed | instruction |
|---|---|---|---|---|---|
| セッション1 | Member | 0:05:00 | duration | セッション5分間 | |
| 入れ替え | Manager | 0:01:00 | duration | 入れ替えを行ってください | |
| セッション2 | Member | 0:05:00 | duration | セッション5分間 | |
| 入れ替え | Manager | 0:01:00 | duration | 入れ替えを行ってください | |
| セッション3 | Member | 0:05:00 | duration | セッション5分間 | |
| ディスカッション | Manager | 0:10:00 | duration | ディスカッション10分間 |
右上にある「Send to timer」ボタンを押すと、以下のような画面が出てきてタイマーが開始されます。
ChatGPT用のスキーマを用意する
CSVファイルはExcelやテキストエディタで簡単に編集することができますし、部分的な修正であればタイムライン君のアプリケーション内で直接編集することも可能です。しかし、複雑なスケジュールを作成する場合にはChatGPTを活用するとより便利です。 ここでは、タイムライン君用のCSVファイルを生成するためのChatGPTプロンプトの例を紹介します。プロンプトの前に、スキーマについて説明します。今回私たちがほしいのは、タイムライン君が読み込むことのできるフォーマットに従ったCSV形式のデータです。カラム名(一行目のtitleやmemberなど)は正確である必要がありますし、時刻のフォーマット(h:mm:ss)も曖昧であってはいけません。
そういうとき、スキーマを提示することで、得られるデータの精度を高めることができます。タイムライン君はChatGPT向けのスキーマを公開しており、具体的には以下のようなものです。CSVの各カラムの意味やフォーマット、生成例をJSON形式で指示しています。
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Timeline-kun CSV",
"description": "An array of CSV rows for Timeline-kun",
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"title": { "type": "string", "description": "Event name" },
"member": { "type": "string", "description": "Person or group" },
"start": { "type": "string", "pattern": "^\\d{1,2}:[0-5]\\d:[0-5]\\d$", "description": "Start time H:MM:SS" },
"duration": { "type": "string", "pattern": "^\\d{1,2}:[0-5]\\d:[0-5]\\d$", "default": "0:00:05", "description": "Duration H:MM:SS" },
"fixed": { "type": "string", "enum": ["start","duration"]},
"instruction": { "type": "string", "description": "Notes" }
},
"required": ["title","member","fixed"],
"allOf": [
{
"if": { "properties": { "fixed": { "const": "start" } } },
"then": { "required": ["start"] }
},
{
"if": { "properties": { "fixed": { "const": "duration" } } },
"then": { "required": ["duration"] }
}
]
},
"x-notes": {
"csvHeaderOrder": ["title","member","start","duration","fixed","instruction"],
"rowOrdering": "Array order is execution order. Do not reorder rows.",
"instructionTrigger": "The instruction field triggers recording only if it contains the exact substring '(recording)' with matching case",
"rowRules": [
"All column values may be duplicated across rows",
"If duration is not specified, default to 0:00:05"
],
"examples": [
{ "title": "Wake up", "member": "all member", "start": "0:00:00", "fixed": "start", "instruction": "Good morning! (recording)" },
{ "title": "Stand by", "member": "group A", "start": "0:10:00", "fixed": "start" },
{ "title": "Walking", "member": "group B", "start": "0:11:00", "duration": "0:05:00", "fixed": "start" },
{ "title": "Stand by", "member": "sub-001", "duration": "0:00:20", "fixed": "duration" },
{ "title": "Monitoring", "member": "sub-001/ses-01", "duration": "0:20:00", "fixed": "duration", "instruction": "Skip when core body temperature reaches 38.5°C" }
] }
}
上記の記述をそのままプロンプトにコピペするか、こちらのリンクを右クリック→名前を付けてリンクを保存し、ChatGPTに渡すことで使用できます。次に、実際にChatGPTに投げるプロンプトの例を示します。
このスキーマに従ってCSVファイルを生成してほしい。
5分のセッションを3回、間に入れ替え時間が1分、最後に10分のディスカッション
CSVファイルで提供してください。言語は日本語
実際のChatGPTの応答例は以下のとおりです。
指示に矛盾や抜け漏れがなければ、このように簡潔な指示でも正確なCSVファイルが生成されます。ちなみにこのとき生成されたCSVファイルの中身は以下のとおりでした。
| title | member | start | duration | fixed | instruction |
|---|---|---|---|---|---|
| セッション1 | グループA | 0:00:00 | 0:05:00 | start | 記録を開始します (recording) |
| 入れ替え1 | 全員 | 0:05:00 | 0:01:00 | start | |
| セッション2 | グループB | 0:06:00 | 0:05:00 | start | |
| 入れ替え2 | 全員 | 0:11:00 | 0:01:00 | start | |
| セッション3 | グループC | 0:12:00 | 0:05:00 | start | |
| ディスカッション | 全員 | 0:17:00 | 0:10:00 | start | 意見交換まとめ |
タイムライン君に限らず、スキーマを提示することでChatGPTからより品質の高いデータを得ることができます。ぜひ試してみてください。