【正直レビュー】プログラミング未経験の僕がAIと作ったLINE Bot、自分で作ったBotと徹底比較してみた結果!
【正直レビュー】プログラミング未経験の僕がAIと作ったLINE Bot、自分で作ったBotと徹底比較してみた結果!
「AIに作らせる」と「自分で作る」、LINE Bot開発はどっちがイケてる?ガジェットレビュアー並みの厳しさで使い勝手からデザインまで徹底的にぶった斬ってみた!
1. 結論から言うと、AI一択!…と言いたいところだけど、そう単純じゃない話。
おいおい、いきなり結論かよ!って思ったでしょ?でもね、プログラミングなんて全くわからなかった僕が、AIをフル活用してLINE Bot作った結果、マジで「これはアリだ…!」ってなったんだ。
だって、深夜2時にふと思い立って、「なんか面白いことしたいなー、LINE Botとか作れたら面白いかも」って思ったんだよ。で、AIに相談しながらサクサク作ったら、朝にはもう動いてる。このスピード感、ハンパない。
でもね、そうやって作ったAI製Botと、その後「やっぱり自分でちゃんと作ってみたい!」って一念発起して泥臭くコード書いた自作Botをガチで比較してみたら、見えてきた景色が全然違ったんだ。ぶっちゃけ、どっちにも「これは神か?」って叫んだポイントと、「正直微妙…」ってなった落とし穴があった。
この記事では、僕みたいなプログラミング未経験だけど、AIとか『バイブコーディング』(なんとなくノリと勢いでコード書いちゃうことね)に興味津々なそこのキミのために、AI製LINE Botと自作LINE Bot、どっちが『映える』のか、ガチで徹底比較してみる!使い勝手からデザイン、開発コストまで、ガジェットレビュアー並みの厳しさで徹底的にぶった斬っていくから、覚悟して読んでくれよな!
2. AI製LINE Botを爆速レビュー!「これは神か?」と叫んだポイントと「正直微妙…」な落とし穴
まずはAIに作らせたLINE Botの話から。これはもう、開発スピードの暴力だね。マジでビビった。
AIにLINE Botを作らせる手順(ざっくり)
僕がやったのは、ざっくり以下のステップ。
- LINE Developersに登録: LINE Botを作るには、まずLINE Developersコンソールに登録して「プロバイダー」と「チャネル」を作る必要がある。(これはAIを使っても自分で作っても必須)
- AIに相談: 「LINE Botを作りたいんだけど、どうしたらいい?」ってAIにひたすら質問攻め。
- コード生成: AIが「じゃあ、こういうコードを書いてみましょう」って感じでPythonコードとかを生成してくれる。
- デプロイ: 生成されたコードをクラウドにアップロードして動かす。(今回はReplitっていうオンラインIDE(統合開発環境)を使ったんだけど、これがまた便利でさ、環境構築とか気にしなくていいのが最高だった)
- LINE Developersと連携: LINE Developersコンソールで発行された「チャネルアクセストークン」とか「チャネルシークレット」をAIが生成したコードに設定して、Webhook URL(LINEからのメッセージを受け取るためのURL)をLINE Developersに登録する。
Webhook URLってのは、LINEが「ユーザーからメッセージ来たよ!」って教えてくれる連絡先みたいなもんだね。このURLにBotのプログラムが動いているサーバーを設定するんだ。
AIが爆速でコードを生成してくれた例
例えば、「オウム返しBotを作りたい」ってAIに伝えたら、こんな感じでコードを生成してくれた。
# main.py (Replitで動かす想定)
from flask import Flask, request, abort
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError
from linebot.models import MessageEvent, TextMessage, TextSendMessage
import os
app = Flask(__name__)
# LINE Developersから取得したチャネルアクセストークンとチャネルシークレット
LINE_CHANNEL_ACCESS_TOKEN = os.environ.get('LINE_CHANNEL_ACCESS_TOKEN')
LINE_CHANNEL_SECRET = os.environ.get('LINE_CHANNEL_SECRET')
line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(LINE_CHANNEL_SECRET)
@app.route("/callback", methods=['POST'])
def callback():
signature = request.headers['X-Line-Signature']
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
try:
handler.handle(body, signature)
except InvalidSignatureError:
print("Invalid signature. Please check your channel access token/channel secret.")
abort(400)
return 'OK'
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
# ユーザーから送られてきたテキストメッセージをそのまま返す
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text)
)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=os.environ.get('PORT', 5000))
このコード、何も知らない僕が見ても「なんかそれっぽい!」って思えるでしょ?実際、これをコピペして、必要な設定をAIの指示通りに入力したら、ものの数十分でオウム返しBotが完成したんだ。これはマジで感動したね。「え、俺プログラマーになれるんじゃね?」って一瞬勘違いしたもん。
「これは神か?」と叫んだポイント
- 爆速開発: これに尽きる。アイデアが浮かんでから形になるまでの時間が圧倒的に短い。
- 環境構築不要: Replitとか使うと、Pythonのインストールとかライブラリの管理とか、初心者には敷居が高い部分をすっ飛ばせる。AIが「Replitでやるといいよ」って教えてくれたのがデカかった。
- エラー対応もしてくれる: 途中でエラーが出ても、エラーメッセージをAIに投げれば「ああ、これはこういう理由で、こう直せばいいよ」って教えてくれる。まるで専属メンターがついてるみたいだった。
「正直微妙…」な落とし穴
- コードの理解が追いつかない: 確かに動くけど、「このコードが何をしてるのか」を完全に理解するのは難しい。AIが生成したコードって、たまに僕が求めてない余計な処理が入ってたりするんだよね。
- デザインの自由度が低い: オウム返しだけじゃなくて、もっとおしゃれなリッチメニューとか、画像を使った応答とか、凝ったデザインにしたいって思っても、AIにそれを伝えるのが意外と難しい。具体的な指示を出さないと、テキストベースの地味なBotになりがち。
- AIガチャ: AIの気分というか、プロンプト(AIへの指示文)の出し方によっては、全然意図しないコードが出てくることもある。試行錯誤が必要で、たまにイライラする。(これマジで人間っぽいんだよな)
AIに頼りすぎると、結局何がどう動いているのか分からなくなることがあるよ。特にLINE Botはユーザーと直接やり取りするから、セキュリティとか個人情報の扱いは慎重に!