はじめに
こんにちは。最近、Claude Codeなどの生成AIを使ったコードの自動生成が大きな話題になっていますね。開発効率が劇的に向上する一方で、「本当にすべてのプロジェクトで有効なのか?」と疑問に思うこともあります。
今回、私はAIによるアシスト機能を搭載したメモ帳アプリをFlutterで開発しました。しかし、あえてAIによるコード生成は一切利用せず、すべて手書きで実装しました。
本記事では、なぜAIを使わないという選択をしたのか、その理由と開発を通じて感じたことを共有します。
開発したアプリの概要
開発したのは、AI(Firebase AI / Gemini)と連携するシンプルなメモ帳アプリです。
- 主な機能: メモのCRUD、AIとのチャットによるテキスト生成・要約など、メモのAIエージェントアプリ
- 主な使用技術:
- Flutter
- Provider (状態管理)
- sqflite (ローカルDB)
- Firebase (AI, App Check, etc.)
- Google Mobile Ads, In-App Purchase (収益化)
機能的にはAIを活用していますが、開発プロセスではAIを使いませんでした。
なぜAIによるコード生成を使わなかったのか?
理由は大きく分けて2つあります。
-
最新ライブラリへの追従が難しい
このアプリでは、Google I/Oで発表されたばかりの firebase_ai パッケージを利用しています。
このような登場して間もないライブラリは、AIモデルの学習データに含まれていない可能性が高いです。
もしAIにコード生成を依頼したとしても、古い情報や存在しないAPIを使ったコードが出力され、それを修正する手間が発生しかねません。結果として、公式ドキュメントを読みながら自分で実装する方が、確実かつスピーディーだと判断しました。
最新技術をキャッチアップする際は、一次情報である公式ドキュメントが最も信頼できる情報源であることに変わりはありません。 -
プロジェクトがシンプルで、全体像を把握しやすかった
このアプリのコア機能は、メモのCRUD(作成・読み取り・更新・削除)であり、非常にシンプルです。状態管理にはProviderを使い、画面とロジックも明
確に分離しています。
1 lib/
2 ├── models/ # データモデル
3 ├── providers/ # 状態管理
4 ├── screens/ # UI画面
5 └── services/ # ビジネスロジック
プロジェクトの全体像を開発者自身が完全に把握できている場合、AIに細かく指示を与えてコードを生成させるよりも、自分で直接書いた方が圧倒的に早いケースが多くあります。
特に、画面間の連携や状態の受け渡しなど、複数のファイルをまたぐ処理をAIに正確に理解させるのは、かえってコミュニケーションコストが高くなると感じました。
AI時代における「書く力」の重要性
今回の経験を通じて、AIによるコード生成は銀の弾丸ではなく、あくまで強力なツールの一つだと再認識しました。
プロジェクトの特性(技術の鮮度、複雑さ、規模)を見極め、AIに任せる部分と、人間が責任を持って実装する部分を適切に使い分けることが重要です。
そして、AIが生成したコードをレビューし、修正するためには、結局のところ自分自身でコードを書ける力(=基礎となる知識と経験)が不可欠です。
まとめ
本記事では、AIコード生成を使わずにAI搭載アプリを開発した経験についてお話ししました。
- 最新ライブラリを使う場合、AIが対応できず手戻りが発生する可能性がある。
- シンプルなプロジェクトでは、自分で書いた方が早いことが多い。
- AIを使いこなすためにも、基礎となる「コードを書く力」は依然として重要。
もちろん、定型的なコードやUIコンポーネントの作成など、AIが得意な領域は積極的に活用していくべきです。
宣伝
AIの力を使わずにこのアプリを開発したのですが、このアプリのテーマは
「面倒な作業は、AIに任せよう。」ですw。
この記事で開発した「Note Agent AI」は、ただのメモアプリではありません。
- アイデアの壁打ち: AIが新しい視点を提供
- 長文の要約: 会議の議事録や論文も数秒で要点把握
- 画像/音声の文字起こし: 録音データや画像のテキストを瞬時にデータ化
- 多言語翻訳&校正: 正確で自然な文章作成をサポート
あなたの「面倒くさい」を解決する機能が満載です。ぜひ、この感動を体験してみてください。
▼ ダウンロードはこちら