作成したAIチャットボット
AIを活用した開発が身近になってきたこともあり、
今回は、ポートフォリオ用のMVP版として、
ログインユーザーが自分のドキュメントを登録し、
その内容についてAIに質問できるAIチャットボットのWebアプリを作成しました。
今後の精度改善、UI改善、運用面の拡張余地は残しつつ、
まずは公開環境で動く形まで持っていくことを重視しました。
技術的な詳細はGitHubのREADMEなどを参照ください。
・GitHub: https://github.com/shunabcd/portfolio-chatbot-overview
・作成実績ホーム: https://www.creativelife.work

AI駆動開発を安定させるために意識したこと
AI駆動開発を安定して進めるために、
・テストやチェックなどを繰り返し安全に実行できるハーネス設計
を意識しました。
ここがガタついていると、行ったり来たりの往復が増えやすくなります。
今回はCodexとClaude Codeを併用しながら、前提情報の整理、実装、確認、改善の流れをなるべく一定に保てるように進めました。
小さく作って、定期的にリファクタしたこと
AI開発では、ルールを書いていてもその通りに進まないことがあります。
LLMは文脈から次に来る可能性が高いトークン(文字や単語の単位)を確率的に選んで生成するため、同じ指示でも出力に揺れが出ることがあります。
なので、小さい単位で作って確認し、リファクタリングしながら進めました。
コンテキスト設計、ハーネス設計、トークン節約を目的としたリファクタも定期的に行うと、地味に効きます。
コードだけではなく、AIに渡す前提や作業手順そのものも、定期的に整える必要があると感じました。
やってみて感じたこと
すべてを事前に確定してから進めようとすると、
AIの生成速度に対して人間側がボトルネックになります。
なので今回は、システム開発の原則に沿って小さく作り、テストで確認しながら進めることを重視しました。
詳細理解が必要な部分を放置するのではなく、デグレードしない環境を作ったうえで、
重要な処理はあとから深掘りできる状態にしておくことが大事だと感じました。
もちろん、基本原則を押さえないまま作り続けると、いずれ技術負債として返ってきやすくなります。
そのため、AIで補助する領域と、人間が設計判断する領域の線引きは重要だと感じました。
AIを使うほど、自分で考える力をどう残すかも大事になります。
SNSで最新情報を追いすぎると判断もブレるので、まずゴールを決めて、必要なものだけ取り入れるスタイルで進めました。
これから試したいこと
今回はあえて範囲を絞ったため、次に試したい領域も残っています。
マルチエージェントによる並列処理、MCPの導入など、次回以降に検証したいテーマです。
並列処理は、人間の理解速度をさらに超えてくる領域だと思うので、まずは検証しやすい範囲から試していく予定です。
こういう感じで少しずつ、自分なりのAI駆動開発の型として育てていけたらと思っています。
