
1. はじめに
ABEJAの大田黒です。ABEJAアドベントカレンダー2025の3日目の記事です。今回はVision-Language Model(VLM)とAI エージェントを使って、「いい感じの燻製を自動で作れないか?」という実験に取り組んだ内容を紹介します。ほぼネタ記事です。数年前にキャンプ用としてSOTOのキッチン香房 を購入し、最近は自宅キッチンでも手軽に燻製を楽しんでいます。ただし、家庭用ガスコンロで燻製を行う場合、熱源と燻製器の距離が調整しづらいという問題があります。焚き火やバーナーを使うアウトドア環境とは異なり、家庭用ガスコンロは火力調整の粒度が粗く、最弱火でも思った以上に温度が上がってしまうことがあります。
- 最弱火でも短時間で 140℃を超えてしまう(熱燻の温度から大きく逸脱)
- 溶けやすい食材(チーズなど)が一瞬で失敗
- 距離調整ができず、火力を下げる以外のオプションがない
こうした理由から、温度維持が最も難しい工程になっていました。この温度管理の問題を解決するため、
- 温度計の映像をVLMに読み取らせる
- 読み取った温度を基に、AI エージェントが火力を制御する
というアプローチが実現できれば、「温度をいい感じに保つ燻製プロセスの自動化」が可能になるのでは?と考えて、実際に少し試してみました。
注意:今回はAC100Vを用いた工作となります。熱源も使用します。もし真似される方がいらっしゃったら、感電や火災には十分気をつけてください。
2. 全体像
2.1 ハードウェア構成
今回、燻製器付属の丸形温度計とデジタル温度計(熱電対)を使った2つのパターンで構築&実験しています。
Fig: 燻製専用温度計を使用したバージョン (V1)
Fig: デジタル温度計を使用したバージョン (V2)
2.2 ハードウェア詳細
2.2.1 電気コンロ
今回のようにSSRで短い周期のON/OFF制御を行う場合、ヒーターは「シンプルな電熱線」で構成された電気コンロであることが必須です。理由は、最近のポータブルIHヒーターや電子制御コンロは内部にマイコンやタッチボタン制御が組み込まれており、外部から電源を断続しても正常に加熱動作に戻らないためです。電源投入ごとにボタン操作が必要なモデルや、内部保護回路が頻繁に動作するモデルもあり、自動制御用途には適しません。もし、似たような実験をする場合は、電熱線(ニクロム線など)を通電して発熱させるシンプルな加熱器具を探しましょう。
2.2.2 熱電対
熱電対は、異なる2種類の金属を接合したときに生じる「熱起電力」を利用して温度を測定するセンサーです。接合点(測温接点)の温度と、反対側(基準接点)の温度差によって電圧が発生し、その電圧値から温度を計算します。構造がシンプルで高温に強く、応答速度が速い点が特徴です。K、J、Tなど複数の種類があり、用途や測定範囲に応じて選択します。また、正確に温度を求めるには基準接点の温度補償(冷接点補償)が必須です。産業機器、製造ライン、加熱装置など幅広い場面で利用される、汎用性の高い温度センサーです。
2.2.3 Raspberry Pi
Raspberry Piは、手のひらサイズのシングルボードコンピュータで、GPIOによるセンサー制御からネットワーク処理まで幅広い用途に使える汎用デバイスです。Linux ベースの OS を動かし、Python などで手軽に周辺機器を制御できるため、組み込み用途やプロトタイピングで広く利用されています。近年のモデルは十分な CPU 性能とネットワーク機能を備えており、外部 API を叩いてVLM(Vision-Language Model)を利用した画像解析や、クラウド側で動作する AI エージェントとの連携 も実用的です。これにより、温度・映像センサーからの情報を取得し、外部の AI と連携して判断した結果をSSR経由で加熱制御する、といった自動燻製器のような高度な制御システムを小規模な構成で構築できます。
2.2.4 ソリッドステートリレー(SSR)
ソリッドステートリレー(SSR)は、メカニカルな接点を持たず、半導体素子(トライアックなど)で電力のオン・オフを行うリレーです。物理的に金属接点を動かさないため、スイッチングが高速・静音で、振動や摩耗の影響を受けにくいという特徴があります。

2.3 ソフトウェア構成

温度を取得する、電気コンロをONにする、電気コンロをOFFにするという、3つのツールが登録されています。また、SSEServerTransportを用いる事でLAN内からアクセスできるので、外からの温度確認や制御割り込みが可能になっています。
使用しているフレームワークやモデルは下記です。
- Python
- LangChain
- LangChain MCP Adapters
- LangChain OpenAI
- MCP 1.22.0
- OpenAI
- OpenCV
- Pillow
ソースコードは下記で公開しています。 github.com
3. 実験
3.1 燻製器付属のアナログ温度計使用バージョン(途中で実験停止)
こちらの実験では、アナログ温度計を使いましたが、途中で実験を中止しました。アナログ温度計の読み取り誤差が大きく、正しく温度コントロールができていなかったためです。
Fig 3.1.1 燻製する前のチーズ達(もう美味しそう)
Fig 3.1.2 Webカメラの位置調節・ピント合わせ
Fig 3.1.3 順調に温度が上がっていく様子。香ばしい匂いがキッチンに立ち込める。
Fig 3.1.4 気づいたら180度超えたので、実験停止。だいぶ香ばしい。
Fig3.1.5 超短期間で濃い色に....
3.2 デジタル温度計(熱電対)を使用したバージョン(まぁまぁ成功)
Fig 3.2.1 燻製する前のチーズ達(もう美味しそう)
Fig 3.2.2 Webカメラの位置調節・ピント合わせ (※加熱前に撮影し忘れました。加熱後に急いで撮影しています。)
Fig3.2.3 目標温度(120度)を超えて心配...
Fig 3.2.4 それっぽい温度に落ち着いた
Fig3.2.5 完成(結構いい感じ)
4. 気づき・工夫など

4.1 アナログ温度計の読み取りが難しい
室温26度を60℃や90℃と誤認識するなど、許容できない温度読み取りミスが発生していました。試しに ChatGPT 側で確認してみたところ、こちらでも同様の誤認識を再現することができました。理由については、なんとなく理解できる部分もあると感じています。
Fig 4.1.1 誤認識①
Fig 4.1.2 誤認識②
4.2 デジタル温度計の読み取りもコツが必要
桁や小数点の位置を正しく把握できず、制御に影響するケースが散見されました。プロンプト改善&Structured Outputsを導入することで、読み取りミスの発生率を抑えることができました。
- 小数点の位置や桁数を意識してもらう内容のプロンプトを入れる
- 事前に正しい値域をインプットしておく(20度〜200度など)
Fig 4.2.1 79.2℃が792℃として認識されている。
Fig 4.2.2 103.4℃が1034.0℃として認識されている。
4.3 温度が認識できない時の処理を定義しておく
温度センサーの読み取りに失敗した場合に備えて、MCPサーバー側では -1.0℃ をエラーコードとして返すようにしました。プロンプト側ではこの値を検知すると即座に電気コンロの出力を停止するよう指示しており、異常時でも安全に制御が落ちるようにしています。
Fig 4.3 温度計や数値を正しく読み取れない場合の挙動
4.4 GPIOの排他的ロックに気をつける
温度が180℃に達したタイミングで、別プロセスから GPIO を強制的にOFFしようとしましたが、排他的ロックがかかっており制御できませんでした。想定外の状態で加熱が続き、急いで手動で電源を切ることになりました。
今回の経験から、電気コンロのように危険性の高いデバイスを扱う場合は、ソフトウェアから複数経路で停止命令を出せる仕組みや、ハードウェア側の多重インヒビット回路を用意しておくことで、より安全に運用できると感じました。
最後に
「まあ、やってみれば何とかなるだろう」と気軽に始めたものの、実際に動かしてみると想像以上に学びが多い検証になりました。特にアナログ温度計の安定した読み取りは本当に難しくて、環境光や角度が少し変わるだけで精度が揺れるあたり、現場で計測している人たちはどう工夫しているのか気になっています。
温度制御まわりの安全性や、センサーの扱い、AIに任せる部分と人間が担保すべき部分の境界など、実際に手を動かして初めて見える改善ポイントが多く有りました。
引き続き、
- センサー信頼性の向上
- 多重インヒビットを含む安全設計の強化
- VLM の読み取り精度チューニング
- AIエージェントの制御ロジック改善
など、地道にバージョンアップを続けていきます。
これからも少しずつ作り直しながら、より安全で、より安定して動く仕組みに育てていきます。最終的には、火事や火傷に気をつけつつ、気兼ねなく放っておけるくらい、いつでもいい感じのチーズ燻製を作れるところまで持っていきたいです。
参考
We Are Hiring!
ABEJAは、テクノロジーの社会実装に取り組んでいます。 技術はもちろん、技術をどのようにして社会やビジネスに組み込んでいくかを考えるのが好きな方は、下記採用ページからエントリーください! (新卒の方やインターンシップのエントリーもお待ちしております!) careers.abejainc.com
特に下記ポジションの募集を強化しています!ぜひ御覧ください!

![温度計 TM902C デジタル K型温度計 電池タイプ LCDディスプレイデジタルセンサー センサー 熱電対プローブ 気体 液体 半固体 温度測定 検知 産業用 表面热电偶‑50‑1300℃ (バッテリーなし) [並行輸入品] 温度計 TM902C デジタル K型温度計 電池タイプ LCDディスプレイデジタルセンサー センサー 熱電対プローブ 気体 液体 半固体 温度測定 検知 産業用 表面热电偶‑50‑1300℃ (バッテリーなし) [並行輸入品]](https://m.media-amazon.com/images/I/41zfWo+3o7L._SL500_.jpg)
