
⚠️ この記事では、非エンジニアの方でも体験できるように、最低限のプロンプト例だけを載せています。実際の運用では、より高品質化した最適プロンプト&自動化フローを使用しています!詳しく知りたい方はお気軽にご相談ください 。
📌 今回のゴールをおさらい
ここまでで、
- セッションの音声を文字起こしして
- GPTで誤字や改行を整え
- 要点リストを作り
- コーチ用・生徒用のToDoに分けるところまでバッチリ進めてきました!
でもこのままだと、「JSONファイルがあるだけ」なので、他の人に送ったり、印刷したり、提出用の資料として使うにはちょっと不便です。
なので今回は、これまでに作った要点&ToDoを、報告書形式のテキストファイル にまとめて、
誰でも読みやすい形で保存 & ダウンロードできる ようにします!
さらに、次回以降に使う session_report.json
(まとめ用ファイル)も、ここでしっかり準備しておくので、「レポート」「ポータル連携」「通知メール」などなど…どんな用途にも迷わず使える土台が完成します!
✅ 今回のアウトプット
- 報告書形式のテキストファイル(.txt)
コーチ用・生徒用をそれぞれ作ってPCに保存! session_report.json
文字起こし・要約・ToDoを全部1つにまとめた完全データ。
今回の記事の通りに進めれば、「提出しても恥ずかしくない報告書」が手に入り、次回からの自動連携もラクラクになります!
必要なファイルをColabにアップロード
今回の作業で使うのは、これまでに作ってきたこの3つのファイルです👇
ファイル名 | 内容 |
---|---|
✅ session_transcript.txt | GPTで整形した文字起こし |
✅ summary_list.json | セッション要約(300〜500文字) |
✅ todo_list.json | コーチ用/生徒用のToDoリスト |
まずはこれらを Colab にアップロードして、ちゃんと中身が読めるか確認しておきましょう!
📂 ファイルをアップロードする
Colabの左メニューの 📁 マークを開いて、3つのファイルをまとめてドラッグ&ドロップするだけでOKです。

✅ Python で中身を確認する
念のため、アップロードしたファイルが壊れてないか、以下のコードで一度チェックしておきます👇
import json
# 文字起こしを確認
with open("session_transcript.txt", "r", encoding="utf-8") as f:
transcript = f.read()
print("=== 文字起こし ===")
print(transcript[:300]) # 長いので先頭300文字だけ表示
# 要約を確認
with open("summary_list.json", "r", encoding="utf-8") as f:
summary_data = json.load(f)
print("=== 要約 ===")
print(summary_data)
# ToDoを確認
with open("todo_list.json", "r", encoding="utf-8") as f:
todo_data = json.load(f)
print("=== ToDo ===")
print(todo_data)
✅ 確認ポイント
todo_list.json
→ コーチ用・生徒用が分かれているのを確認- 文字起こし → ちゃんとテキストが読めればOK
summary_list.json
→ 発言と要点のペアがリストで出ていればOK
すべてエラーなしで表示されれば準備完了です!
Colabで「要点だけまとめテキスト」を作って保存
summary_list.json
は、「発言」と「要点」がセットでたくさん入っているファイルです。
ここから 要点だけを全部取り出して、1つのテキストにまとめる ステップを作っておきましょう!
これが、報告書に使う「セッション要約のもと」 になります。
✅ まとめテキストを作る
以下のコードを Colab に貼って実行してください👇
import json
# summary_list.json を読み込む
with open("summary_list.json", "r", encoding="utf-8") as f:
summary_data = json.load(f)
# 要点だけを取り出して 1 テキストにまとめる
all_points = "\n".join([seg["要点"] for seg in summary_data])
# まとめテキストとして保存
with open("summary_text.txt", "w", encoding="utf-8") as f:
f.write(all_points)
print("✅ 要点だけをまとめた summary_text.txt を作りました!")
📌 これでできること
summary_list.json
をわざわざ加工しなくても、いつでも「要点まとめテキスト」を作り直せる!summary_text.txt
はこのあと作るsession_report.json
にそのまま入れるだけ!
これで完璧です!
session_report.json を作る
ここまでで、
- 文字起こし(
session_transcript.txt
) - 要点だけまとめテキスト(
summary_text.txt
) - コーチ用・生徒用ToDo(
todo_list.json
)
が全部揃いました!
あとはこれらを 1つのファイル session_report.json
にまとめます。
✅ まとめる理由
- いちいちバラバラのファイルを読む必要がなくなる
- 報告書の自動生成・ポータル連携・通知メール など、全部これ1つでOK!
✅ Python でまとめる
以下のコードをそのまま Colab で実行してください👇
import json
# 文字起こしを読み込む
with open("session_transcript.txt", "r", encoding="utf-8") as f:
transcript = f.read()
# まとめテキストを読み込む(要点だけまとめたやつ)
with open("summary_text.txt", "r", encoding="utf-8") as f:
session_summary = f.read()
# ToDo を読み込む
with open("todo_list.json", "r", encoding="utf-8") as f:
todo_data = json.load(f)
# ✅ 配列の1個目からキーを取る
coach_todo = todo_data[0]["coach_todo"]
student_todo = todo_data[0]["student_todo"]
# まとめて辞書にする
session_report = {
"session_id": "20250615_001", # 日付や連番など自由に設定OK
"original_transcript": transcript,
"session_summary": session_summary,
"coach_todo": coach_todo,
"student_todo": student_todo
}
# JSON として保存する
with open("session_report.json", "w", encoding="utf-8") as f:
json.dump(session_report, f, ensure_ascii=False, indent=2)
print("✅ session_report.json を作成しました!")
🎉 これで完了!
これで session_report.json
が完成!
あとはこれを ChatGPT に渡すだけで
✅ 提出用報告書
✅ ポータル表示
✅ 自動メール通知
…何にでも使えます!
GPTで報告書っぽい文章を生成する
ついに準備は整いました!
これまでに作った
session_report.json
(文字起こし+要約+ToDoの全部入り!)
を ChatGPT に丸ごと渡して、誰が読んでもわかりやすい提出用の報告書 にしてもらいます。
今回は コーチ用・生徒用の2種類 を一気に生成します!
1️⃣ session_report.json を読み込む
まずは、さっき作った session_report.json
を Python で読み込みます👇
import json
from openai import OpenAI
# OpenAI クライアント
client = OpenAI()
# session_report.json を読み込む
with open("session_report.json", "r", encoding="utf-8") as f:
data = json.load(f)
session_summary = data["session_summary"]
coach_todo_text = "\n".join(data["coach_todo"])
student_todo_text = "\n".join(data["student_todo"])
2️⃣ GPTに報告書をお願いする
以下のコードで、GPT に報告書を書いてもらいます👇
# ✅ コーチ用の報告書を生成
response_coach = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": (
"あなたは優秀な報告書ライターです。"
"以下の内容をもとに、コーチ向けの報告書を日本語で150〜250文字程度で作成してください。"
"必ず報告書本文のみを返し、前後に余計な挨拶や説明を含めないでください。"
)
},
{
"role": "user",
"content": f"""
【session_summary】
{session_summary}
【coach_todo】
{coach_todo_text}
【student_todo】
{student_todo_text}
"""
}
]
)
# ✅ 生徒用の報告書を生成
response_student = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "system",
"content": (
"あなたは優秀な報告書ライターです。"
"以下の内容をもとに、生徒向けの報告書を日本語で150〜250文字程度で作成してください。"
"必ず報告書本文のみを返し、前後に余計な挨拶や説明を含めないでください。"
)
},
{
"role": "user",
"content": f"""
【session_summary】
{session_summary}
【coach_todo】
{coach_todo_text}
【student_todo】
{student_todo_text}
"""
}
]
)
💡 ポイント
- session_report.json を丸ごと使ってるから、情報が足りなくてGPTが勝手に妄想することがなくなります!
- コーチ用・生徒用で構成をちょっと変えて、読み手にぴったり合わせてます。
これで、自然な文章の報告書テキストが完成!
次は、これを .txt
に保存して PC にダウンロードできるようにしていきましょう✨
生成した文章を .txt
に保存する
ChatGPT にお願いして、コーチ用・生徒用の報告書テキストが完成しました!
あとはこれを PCで開ける .txt
ファイル に保存して、そのまま提出・共有できる形にしましょう。
1️⃣ Colab で .txt
に保存する
以下のコードをそのままColabに貼って実行してください👇
# GPTの返答を変数に代入
coach_report = response_coach.choices[0].message.content
student_report = response_student.choices[0].message.content
# ファイルに書き出す
with open("coach_report.txt", "w", encoding="utf-8") as f:
f.write(coach_report)
with open("student_report.txt", "w", encoding="utf-8") as f:
f.write(student_report)
2️⃣ Colab から PC にダウンロードする
Colabのファイルとして保存したら、以下のコードで直接PCにダウンロードできます👇
from google.colab import files
# コーチ用報告書をダウンロード
files.download("coach_report.txt")
# 生徒用報告書をダウンロード
files.download("student_report.txt")
🔑 これで、「これをそのまま提出してOK!」な .txt
ファイル が手に入りました!
📝 おさらいと次回予告
ここまでで、
- 文字起こし
- 要点抽出
- ToDo化
- まとめテキストの生成
- 全部まとめた
session_report.json
の作成 - そして ChatGPT に渡して 提出用の報告書テキストを完成!
.txt
に保存して PC にダウンロード
まで、ばっちり終わりました 🎉
今回の記事の手順どおりに進めれば、
- ✅ 「これを送れば完璧!」なコーチ用・生徒用の報告書がすぐ作れる
- ✅ 次回のポータル連携や自動メール通知にもそのまま使える
…という、最強のベースが完成 です!
🔜 次回予告
次回からは、いよいよ
セッションの発言を1つずつAIで感情分析する ステップに進みます!
「この発言はポジティブ? ネガティブ? それともニュートラル?」
を、ChatGPT に 1件ずつ丁寧に判定させて、感情の揺れを数値で見える化 していきます。
感情の波を発話単位で追いかけることで、
- セッションの雰囲気の流れを把握したり
- コーチングの進め方を振り返ったり
がカンタンになります!🎙✨
第6回|感情分析①:発言ごとの感情をAIで数値化してみた!
お楽しみに!🚀
これで 第5回|要点抽出③:提出用レポートに仕上げてみよう! は完結です!
お疲れさまでした〜!! 🫶
🔗 関連リンク|AI秘書ツール制作シリーズ
- 1️⃣ 第1回|文字起こし①:Whisperを動かす準備だけしよう!
- 2️⃣ 第2回|文字起こし②:録音ファイルをポイッと、Whisperで文字起こし!
- 3️⃣ 第3回|要点抽出①:ChatGPTで要点だけ抜き出してみた!
- 4️⃣ 第4回|要点抽出②:抽出結果をToDo形式に整えてみた
- 5️⃣ 第5回|要点抽出③:提出用レポートに仕上げてみよう!←(今ここ)
- 6️⃣ 第6回|感情分析①:発言ごとの感情をAIで数値化してみた!
- 7️⃣ 第7回|感情分析②:感情の波をグラフで見える化してみた!
- 8️⃣ 第8回|感情分析③:“気づき”を引き出すレポートをつくろう
- 9️⃣ 第9回|感情分析④:発話のバランスから見えてくること(比率分析編)
- 🔟 第10回|感情分析⑤:感情のゆらぎから“気づき”を拾ってみよう!
- 🏁 【第11回|完結】これが完成形!ポータルに載せる「report.json」をColabで作ろう
💡 迷ったらこちらも