40代マネージャーのVibe Coding開発記1
あぁ...歯が痛い
みなさんこんにちは。たきあすです。
わたしは最近、インプラントの治療をしたら頬が腫れてこぶとり爺さんみたいになっています。
痛すぎてロキソニンが手放せない日々です。みなさんはこんな40代にならないように自分の歯を大切になさってください。
祝すべき第一回の記事(前回)は、個人開発したサービスの紹介がメインだったので、今回は個人開発記みたいなものを書いていこうと思います。
参考になるべきポイントがあるかどうか怪しいですが、楽しんで読んで頂ければ幸いです。
今回の記事で言いたいこと
- AIに触れるための第1歩としてAIチャットボットを開発するのは良い選択肢だと思う
開発記
なんちゃってVibe Coding
時は2024年
当時、「2024年はAIエージェントの時代だ!」と盛り上がっていたものの、コーディング系のエージェントは全く触っていませんでした。
ただAI界隈にまったく触れていなかったというとそういう訳でもなく、SlackAPIからBedrockエージェントを呼び出すAIチャットボットを業務の空いた時間で開発して、自分のチーム内で展開していました。
↓構成はこんな感じ
実はわたし、AWS SAPというAWSの上位資格を持っているのですが恥ずかしながらペーパー資格者でした。しかし、この開発でAPIGateway、LambdaやPythonなどのノウハウや知識が人並みにつき、のちのちの個人開発に凄く役に立ちました。
で、作成したAIチャットボットを使って何をやっていたかというと、メールの原文作らせたり、議論の壁打ち相手になってもらったりもしていたのですが、AIチャットボット自身のコードをプロンプトとして渡して機能改修させたりすることに一番ハマっておりました。
「うひゃー、こいつ自分で自分を機能強化させてる。これぞ自己進化。AIやばすぎる―。」とはしゃいでた。自分が懐かしいです。
これが私のなんちゃってVibe Coding期の始まりでした。
なんちゃってVibe Codingの限界
なんちゃってVibe Coding期では、以下の機能を追加実装するなどしてAIコーディングライフをそれなりに楽しんでいました。
- Slackで添付したファイルをBedrockに渡して内容を分析できる機能
-
Web検索を行って、Bedrock(LLM)が持っていない最新の情報を取得できる機能
また当時のコーディングは、以下の様なフローで実施していました。
改善したいPythonファイルのコードをSlackで投げる
↓
Slackで改善後のコードが返ってくる
↓
返ってきたコードをLambdaにコピペする
↓
テストする
↓
動かない(エラー)
↓
エラー内容をSlackで投げる
↓
改善後のコードがSlackで返ってくる ※以降、正常に動くまでループ
ただ、コードの量が少ないなら上記のフローで回るのですがコード量が多くなってくると幾つか問題がでてきました。
- AIから提示される改善後のコードが一部しかない(主要なコード以外が省略されるのでそのままコピペできない)
- 全コードの提示するとコードが長すぎてSlackの文字数上限に抵触し途中で切れてしまう
AIから返信されるコードが途中で切れないような仕組みを追加実装するものの、それすらも上記の事態に阻まれ改善が難航していました。
かろうじてスパゲッティコードにはなっていないものの、if文やfor文のネストが多くコードを読む気力もなくしてしまい、いわゆる「詰んだ(気持ちとして)」状態に陥っていました・・・
さてさて、どうなるAIコーディングライフ
この続きは次回の記事で!
個人開発したドキュメントレビューシステムのデモ版は以下で公開しています。
AWSがあればそんなに時間がかからずデプロイできるのでぜひ使ってみてご意見頂けると嬉しいです。
[ReviewMasterのGithubリポジトリ] ※構築手順はSETUP.mdを見てください。
Discussion