皆さん、お疲れ様です!横浜の清掃職人、49歳のヤスです。
前回は【Dify】食べたものを話しかけるだけ!食事記録→栄養アドバイスBot
のアプリを作りましたね。
今回は「ベイスターズの居酒屋トークAI」を作りましたが、実は大苦戦。AIが退任したはずの三浦監督を何度も「名采配!」と呼び戻してしまうんです。それを「がちがちに封じ込める」という大工事を敢行した結果……なんとAIが「申し訳ありませんが、ニュースがありません」と、借りてきた猫みたいに黙り込んでしまいました。
今日は、そんな「やりすぎた配管工事」が招いた失敗と、そこから学んだ教訓を等身大でシェアします!
【結論】 今回の失敗の結論は、「AIを縛りすぎると、何も話さなくなる」ということです。
嘘(ハルシネーション)を恐れるあまり、プロンプトで「少しでもデータがなければ喋るな!」「自分の記憶は一切使うな!」とガチガチに制約(ファイアウォール)をかけた結果、検索ツール(Tavily)がうまく情報を拾えなかった瞬間に、AIがパニックを起こしてシャットダウンしてしまいました。 AI活用は、厳しさと自由の「さじ加減」が本当に難しい!でも、この失敗こそが「再スタート」の醍醐味です。
【手順】AIが黙り込んだ「がちがちプロンプト」の記録
失敗した時のワークフローの配管と、AIを黙らせてしまった「鉄鉄の掟(プロンプト)」を振り返ります。
STEP 1:Pythonでの日付取得(これは成功)
まずは最新情報を取るために、今日の日付を計算するコードを挟みました。ここは完璧でした。
Python
# 日付とタイムゾーンを扱うための道具(ライブラリ)を読み込む
from datetime import datetime, timedelta, timezone
def main() -> dict:
# 世界標準時に9時間を足して、日本時間(JST)を計算する
jst_time = datetime.now(timezone.utc) + timedelta(hours=9)
# AIが読みやすい「2026年05月11日」のような形に変換する
today_str = jst_time.strftime('%Y年%m月%d日')
# 計算した日付を「date」という名前で外に吐き出す
return {
"date": today_str
}
STEP 2:AIを黙らせた「鉄の掟」プロンプト
これが問題のプロンプトです。ハルシネーション(知ったかぶり)を絶対に許さないために、私が書いた「厳しすぎる指示」がこちらです。
Markdown
// --- 5. Strict Constraints (絶対遵守ルール) ---
# Strict Constraints
// 1ミリの嘘も許さないという強い縛り
- 【最重要】監督名、選手名、スタメン等の情報は、必ず検索データにある最新情報のみを使用すること。
// 自分の記憶を使うことを死罪レベルで禁止
- AI自身の過去の知識(退任した監督など)を出力に混ぜることは【絶対禁止】。
// AIらしい謝罪すらも禁止して追い込んだ
- 「申し訳ありません」といったAI特有の謝罪文も【絶対に出力してはならない】。
// データがなければ喋るなと命令
- 検索結果に本日の試合情報がない場合は、勝手に予想せず「情報がない」とだけ言え。

何が起きたのか?
この「がちがちの縛り」のせいで、Tavily検索が少しでも空振りをしたり、マニアックな情報を拾えなかったりした瞬間に、AIは「自分の記憶は使っちゃダメだし、嘘もダメだし、謝るのもダメ。じゃあ、何も言わないのが正解だ!」と判断してしまったんです。 清掃で言えば、汚れを落とそうとして強い洗剤を使いすぎて、壁の塗装まで剥がしてしまったような状態です。
【まとめ】 今回の「ベイスターズAI沈黙事件」で学んだのは、AIも人間と同じで、あまりに厳しすぎると縮こまってしまうということです。
失敗は成功のもと。このようなアプリは作らない方が良いという事を学びました!
次におすすめの記事はこちら
【Dify×GAS】エージェントで作る!商談前の雑談ネタ自動収集LINEボット
xもやってるので良かったら見に来てください
次回も是非お楽しみに!


コメント