Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. 【開発レポート】未経験からのフルスクラッチ開発──AIと歩む、ゼロからのアプリ開発のコツ

【開発レポート】未経験からのフルスクラッチ開発──AIと歩む、ゼロからのアプリ開発のコツ

投稿者:土橋

本TechBlogは、Team xG Advent Calendar 2025 9日目の記事になります。

はじめに

こんにちは。日本情報通信の土橋です。

生成AIの登場により、エンジニアの開発スタイルは大きく変わりつつあります。では、「開発未経験者」がAIを相棒にすると、どこまで実務で通用するのでしょうか?

私は今回、ほとんど開発経験がない状態(Pythonを少し触った程度)から、TypeScriptによるフルスクラッチ開発に挑戦しました。担当したのは、AI画像分析を活用したWebアプリの「食事記録機能」です。
言語も開発自体も初めてという不安だらけの状況でしたが、Geminiという強力な相棒と共に開発を進めることで、無事に機能をリリースすることができました。
(※成果物の詳細は、Team xG 佐々木さんブログをご覧ください!)

本記事では、知識ゼロの状態から開発を進める上で役立ったアプローチと、各アプローチでどのようにAIを活用したかについて共有します。

知識ゼロからの開発戦略①:「習うより慣れろ」で動くコードを起点にする

初めての言語やフレームワークに触れるとき、皆さんはどうしますか? 

私は当初、「まずは言語の勉強をして、言語の特性を理解してから手を動かそう」と思い、新しいフレームワークや言語について調べていました。
しかし、この方法ではなんとなくの理解しかできず、実際にコーディングしようと思っても手が動きませんでした。

そこで切り替えて効果的だったのが、「まずは動くものを作ってみて、その作成過程を経て勉強・理解する」ということです。

具体的には、私は生成AIの力を借りて、「Hello world!」を表示させるような簡易な画面を作成しました。
生成AIのサポートがあれば、知識が少ない状態でも「動くコード」を作り出すことができます。

動くコードを実際に作り、目にすることで、言語やフレームワークの基本的な理解につながりました。

また、AIのサポートがありながらも、知識が少ない状態で「自分の手で動くものを作れた」という小さな達成感は、次の学習への大きなモチベーションになりました。

まずは動かし、その後に「なぜ動いたのか?」をコードから読み解く。 この順番で学ぶことで、座学よりも効果的に「コードを読む力」を身につけることができました。

知識ゼロからの開発戦略②:「書く」のではなく生成コードを磨く

言語やフレームワークの理解が進み、実際に開発を行うとなったとき、強力なパートナーとなってくれたのが生成AIの「Gemini」です。

冒頭でもお伝えしたように、今回はフルスクラッチ開発でしたが、私はエディタに一文字目からコードを打ち込んだわけではありません。

今回の開発では、大きなコーディングはAIに行わせ、私は「コードを書く力」よりも「コードを読む力」
そして「明確なプロンプト文を作る力」に注力し、開発を進めていきました。

私が実際に行った開発フローは以下の通りです。

Step1. 要件の整理とプロンプトの準備(担当:自分)

まずは、「今、何を作りたいのか」を言語化し、AIへの要件を明確にします。

ここで重要なのは、一度で完璧なものを作ろうとしないことです。
機能単位など、キリが良い区切りごとに、「いま何が作りたいのか」というAIへの要件を明確にしていきます。

そして、整理したAIへの要件をプロンプト文に落とし込みます。

このとき、私はチャット欄に直接プロンプト文を打ち込まずに、ドキュメントツールに下書きするようにしていました。
これにより、「文章は冗長になっていないか」「与える情報に過不足はないか」を客観的にチェックすることができます。

また、良い出力を得れたプロンプト文を記録することができ、次に活用することに繋がりました。

Step2. 大枠のコード作成(担当:Gemini)

AIへの要件を明確にし、正確なプロンプト文を作成出来たら、AIにプロンプト文を実行させます。

基本的なロジックの構築はGeminiに任せます。AIに土台となるコードを生成してもらい、コードの約6割を記述させます。

Step3. コード理解と調整(担当:自分)

ここからが再び人間の出番です。

出力されたコードを読み、要件に沿ったコードが出力されているか確認していきます。

わからない関数があればAIに解説させて理解し、作りたい機能となっているか、綿密に確認します。
そして、実際に自分の環境で動かし、UIの調整やバグ修正を行い「製品」に仕上げていきます。

以上が開発フローです。

この役割分担のメリットは、コーディング速度が上がるだけではありません。

AIが書いたコードを「読んで理解し、必要な箇所を調整する」ことに集中できるため、未経験者でも論理的な整合性の確認や、仕様の抜け漏れチェックに時間を割くことができます。

知識ゼロからの開発戦略③:「失敗リスト」で自己レビューを強化

未経験からの挑戦において、最初から完璧なコードを書くことは不可能です。

実際、私も開発初期はたくさんの失敗をしました。

想定が甘くエラーハンドリングが不十分だったり、PCでは動くのにスマートフォン環境では挙動が変わってしまったりと、多くの壁にぶつかりました。

そこで私は、これらの失敗を次の成功につなげるために、ミスを記録した「失敗リスト」を作成しました。

具体的には、「デバイスによって違う挙動をしないか」「エラーハンドリングに漏れはないか」といったように、過去の失敗に基づくレビュー観点を蓄積していきました。

そして、自己レビューを行う際に、作成したコードとこの「失敗リスト」をAIに読み込ませ、過去の失敗と同様の失敗がないかチェックするのに活用しました。

開発経験が浅いうちは、どうしても「何に気をつけるべきか」という引き出しが少なく、自分ひとりでは見落としが発生します。
しかし、自らの失敗経験から生まれた観点を基に、AIと共にダブルチェックをすることで、自身のミスの検知能力とコード品質を向上させることができました。


まとめ

生成AIの登場により、エンジニアの開発スタイルは劇的に変化しました。
未経験であっても、AIという強力なサポーターがいれば、本格的な開発を行うことができます。 

しかし、「どのようなコードを書いてほしいのか」「要件は何なのか」をいかに簡潔・明確・過不足なく伝えられるかで、AIの出力の質は大きく変わります。

AIを最大限に活用するには、使い手のAIへの深い理解とリテラシーが必要だと改めて感じました。

今回の開発レポートが、これから新しい技術や開発に挑戦する誰かの背中を少しでも押すことができれば嬉しいです。

最後まで読んでいただき、ありがとうございました!

ページのトップへ