誰でも瞬時にWebアプリが作れる時代へ？Replit Agentで業務アプリの一部機能を試作してみた。

# 1. はじめに

近年、AI技術の進化により、Webアプリ開発の敷居が大きく下がってきました。
中でも、私が特に注目しているのが「**[Replit Agent](https://replit.com/)**」というツールです。
このツールを使えば、プログラミングの知識が一切ない人でも、Webアプリを作成して公開することが可能です。
実際に私も「[Replit Agent](https://replit.com/)」を利用して、自分が担当している**業務アプリの一部機能**を試作してみました。本記事では、その過程や使用感をまとめて共有したいと思います。

# 2. Replit Agentとは

### 概要
[Replit Agent](https://replit.com/) とは、フロントエンドからバックエンドまでのコードをAIが自動生成する、AIシステム開発ツールです。
「こんなアプリを作りたい」と指示を出すだけで、AIがコードを書き、アプリの設計から動作までを形にしてくれるツールです。

主な特徴:
- 自然言語で操作: プログラミング知識がなくても、簡単な指示を出すだけでアプリが作れる
- コード自動生成: フロントエンド、バックエンド、データベースのコードをAIが自動で作成
- 迅速なプロトタイプ開発: アイデアをすぐに形にし、デプロイまでをスムーズに実行

:::note warn
[Replit Agent](https://replit.com/)は基本的に有料で、月額25ドル（記事執筆時点、2024/12/17）です。本記事も有料版を使用しています。
:::

### 他ツールとの違い
[Replit Agent](https://replit.com/)は、他のAIエージェント（例: [v0](https://v0.dev/)など）と比較して、**バックエンドまでの実装が可能な点**が最大の特徴です。例えば、以下のような機能も簡単に実現できます。
- 写真保存機能: データベースを必要とする写真アップロード機能の構築
- ログイン機能: ユーザー認証やアカウント管理機能の追加

### 利用例: タイピングゲームの作成
[Replit Agent](https://replit.com/)に「ランキング機能を持ったタイピングゲームを作って」と指示を出して見ます。

1. **指示入力:**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/fd4cec7e-f7ce-bd76-eca2-6a628777f778.png)

2. **コード自動生成:**
指定した要件に基づき、フロントエンドやバックエンドのコードが自動生成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/e3481ad2-ec6f-bfe9-9890-c010fd950778.png)

3. **アプリ完成:** 
約5～10分で動作するアプリケーションが完成しました。デプロイも非常に簡単です。
※エラーが発生する場合もありますが、チャット形式で解決が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/9ec3ca75-7061-feb7-d417-e702a16c4981.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/fc6ffb4a-3d87-3e17-3954-5ed84e3b8942.png)



# 3. Replit Agentで業務アプリの一部機能を試作してみる

それでは本題の業務アプリケーションの一部機能の試作です。
私が普段開発している「原価管理システム」の一部機能を対象にしています。

### i. 要件

今回試作する機能は「部品の金額を設定し、製品に積み上げて計算する機能」です。
以下の要件をもとに開発を進めました。

1. 計算に必要なデータを登録する機能
    - 製品と部品の関係性を登録できる
2. 計算実行する機能
    - 計算を実行するボタンを実装する
3. 計算結果を見る機能
    - 計算結果を画面に表示する機能を実装する

以下の図は実現したい計算のイメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/036689bf-5322-6f6b-f343-3da5e1b554cc.png)


### ii. 機能を実装してもらう
まずは、[Replit Agent](https://replit.com/)に上記の要件を入力し、機能を自動生成してもらいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/1373b5e9-7bc5-57dc-aa76-0cc81cbdb2c2.png)

5分ほど待つと以下の画面が生成されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/c2fd738d-da8c-b9da-b531-93b4098000bc.png)

### iii. 画面を動かしてみる
実際に機能が動くか確認してみます。

１．**データ登録機能**
まず、1つ目の要件である製品と部品の関係性を登録する画面を確認します。

※製品の登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/666232ff-1a54-ea9d-696a-ec431d29e9d9.png)

※部品の登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/e473ede2-2e4b-55bc-a617-90e65009f281.png)

※製品-部品関係の設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/fc6a6d52-db9e-3369-1810-7ac6191d8a3f.png)

※登録データの確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/ac128861-9a70-77ff-417d-e8dfdd627b23.png)

全てのデータが問題なく登録されました。
ただし、現状ではレコードの削除と、登録した製品と部品の関係を参照する機能が実装されていません。

２．**計算実行する機能**
続いて、2つ目の要件である計算実行する機能を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/a16c7b7b-3d50-0076-8013-62466e56dafa.png)

問題なく処理が完了しました。


３．**計算結果を見る機能**
最後に3つ目の要件である計算結果を確認する機能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/20ada338-863e-16fc-6aaa-3ad666d81278.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/4c235326-6ba7-8264-248e-cf6f34615ba0.png)

計算結果は期待通りに表示されました。
部品の数量を増やした場合も問題なく実行できました。

### iv. 機能を修正してもらう

先ほど作成した画面は概ねの要件は満たされていましたが、以下の機能が未実装でした。
1. レコードを削除する機能
2. 登録した製品と部品の関係性を確認する機能

これらの機能を[Replit Agent](https://replit.com/)に修正依頼してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/f3a68d8f-b267-84d7-83ad-94e06c00bdec.png)

約1分ほどで修正後の画面が完成しました。
どちらの機能も問題なく実装され、正常に動作しました。

1. レコードを削除する機能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/1ac4b5ff-14be-d24b-a1a1-f0db71b95993.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/540102b0-1795-9e8a-25d8-700410d05e05.png)

2. 登録した製品と部品の関係性を見る機能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636558/99b0a61d-d0b5-2ac3-2920-caf03dd7911e.png)

# 4. 所感
結果として、今回実装したいと考えていた機能は全て正常に動作しました。
特に以下の点が印象的でした。

- **短時間で実装可能**
今回のようにシンプルな機能であれば、要件を入力してから5分程度で完成しました。プロトタイプ開発には非常に適していると感じました。

- **操作のシンプルさ**
実装するにあたって、操作で詰まるところがほとんどありませんでした。また、作成されたWebアプリのUIも直感的で使いやすかったです。しかし、まだ日本語には対応していないようなのでそこは及第点だと感じました。

- **課題**
本記事とは別にWebアプリを作成した際に、細かい機能の実装でうまくいかない部分がありました。
また、チャット形式で修正ができる点は良いですが、上手くエラーを認識してくれないこともあり、自分でコードを書いた方が早いと思うこともありました。
そのため、難易度の高い処理を実装する場合にプログラミングスキルが依然として重要だと感じました。


# 5. 最後に
[Replit Agent](https://replit.com/)を試してみて、初心者でもWebアプリを作成・公開できる時代が到来していると実感しました。また、Webアプリ開発のハードルが下がったことで、「使い捨てる」ことを前提とした新しい利用方法も可能になると感じています。例えば、旅行用にアプリを作成し、旅行が終わればそのアプリを廃棄するといった、一時的で柔軟な活用が考えられます。このようなAIツールの進化がもたらす新しい可能性に、非常にワクワクしています。
一方で、よく言われていることではありますが、[Replit Agent](https://replit.com/)などのAIツールを利用するにあたって以下のようなスキルが重要だと感じました
- システムを言語化する力: 要件や仕様をAIに的確に伝える能力
- コードを理解する力: AIが生成したコードを修正・調整するスキル

また、今後は以下のような点についても焦点を当てて記事を書いていけたらと思います。
- パフォーマンス検証: 大量のデータが登録された際の処理速度や負荷テスト
- UI指示の詳細化: 作成される画面のデザインをより細かく指定する方法

この記事が読者の皆さんの参考になれば幸いです。最後までお読みいただき、ありがとうございました。