#91 AIとPythonを使って技能伝承支援ツールを作成する、チャレンジ AI×100業務(製造業)
製造業の現場で深刻化する「技能伝承」の課題。熟練技術者の高齢化や人手不足により、貴重なノウハウが失われつつあります。もし、AIとPythonの力でこの課題解決の一助となるツールを作れたら?
■ 対象作業

*それでは、スタートです。
*執筆者は以下を参照してください。
使ったツール・準備したこと
Chat GPT 4o(技術伝承支援について会話)
Cursor
やってみたこと|コード・ステップ紹介
実行した内容の簡単な流れ
Chat GPTに次のように聞きました。
AIとPythonを使って技能伝承支援ツールを作成する、についてどのようにするのか教えてください。
これに対し、作業の流れは以下の回答となりました。
1. 情報収集
2. 自然言語処理
3. 出力パート
意外に1. 情報収集が大切で、記述の方法を決めておくことは大切です。本記事はcsvファイルに決まった形式で記述していますが、種々のパターンがありそうです。
■ csvファイルの読み込み

■ アウトプットされたマニュアル

ただ、これではミニマムなので、今後の拡張を考慮すると以下の提案がありました。

以前、「#65 統計解析アプリ×RAGチャットボット;業務ナレッジと統計をつなぐ」でも言及しましたが、RAGを利用し、オープンソースLLMをローカル環境で活用することを想定すれば、上記のマニュアルは改装を整えたRAGへのアウトプットが好適ですね。
今後の展開・アイデア
次回取り組みたいこと;
・生成AIで自動化するQC七つ道具:特性要因図
■ 今回のコード
import pandas as pd
import tkinter as tk
from tkinter import filedialog, messagebox
import os
# CSVファイルを選択して処理する関数
def select_csv_file():
file_path = filedialog.askopenfilename(filetypes=[("CSV Files", "*.csv")])
if not file_path:
return
try:
df = pd.read_csv(file_path)
output_folder = "技能伝承マニュアル"
os.makedirs(output_folder, exist_ok=True)
for index, row in df.iterrows():
process_name = row.get('工程名', '')
point = row.get('作業のポイント', '')
caution = row.get('注意事項', '')
manual_text = f"""## {process_name}(技能伝承マニュアル)
### 1. 作業概要
{process_name}は、現場で重要な役割を担う作業です。
### 2. 熟練のコツ
{point}
### 3. 注意事項
{caution}
### 4. よくある失敗例
作業に慣れていないと、重要な確認を見落とす場合があります。
### 5. 新人へのアドバイス
作業内容を毎回記録し、先輩からのフィードバックを受けることで、早く習得できます。
"""
filename = os.path.join(output_folder, f"manual_{index+1:02d}.md")
with open(filename, 'w', encoding='utf-8') as f:
f.write(manual_text)
messagebox.showinfo("完了", f"{len(df)}件のマニュアルを作成しました。\nフォルダ:{output_folder}")
except Exception as e:
messagebox.showerror("エラー", f"ファイル読み込みまたは処理中にエラーが発生しました:\n{str(e)}")
# GUI構築
root = tk.Tk()
root.title("技能伝承マニュアル生成ツール")
frame = tk.Frame(root, padx=20, pady=20)
frame.pack()
label = tk.Label(frame, text="CSVファイルを選択してください(工程名、作業のポイント、注意事項の列が必要です)")
label.pack(pady=10)
button = tk.Button(frame, text="CSVファイルを選択", command=select_csv_file)
button.pack()
root.mainloop()
