Devinってなんだろな

## **背景**
私の彼氏がインフラオペレーターからフルスタックエンジニアになりたくて、プログラミング（全くの未経験）を勉強し始めたのだけど、
勉強を開始した1ヶ月後に[Devin](https://devin.ai/)が発表されたことで、もうコーダーは不要の世界なんだと絶望してたので調べてまとめてみた:snowman:

## **1. DevinってどんなAI？🤖✨**  
DevinはCognition社が開発した**AIエンジニア**で、こんなことができるみたい👇  
✅ **コードの自動生成**（Python, JavaScript など）  
✅ **バグの修正やデバッグ**もお手のもの！  
✅ **アプリのデプロイ（公開）** までサクッと対応  

まるで「AIがエンジニアの仕事を奪う！」みたいな雰囲気があるけど、**実はそうでもない！**  
コードの品質やセキュリティチェックをしないと危ないし、エンジニアの知識がゼロのままでは使いこなせないかと思います💡  

## **2. Devinはどんな言語が使える？💻**

DevinはPythonやJavaScript以外にも対応できる可能性はあるみたい

| 言語 | 使いどころ |
|------|---------|
| **Python** | AI・データ処理・Web開発 |
| **JavaScript / TypeScript** | フロントエンド・バックエンド |
| **Go** | 高速なサーバー処理 |
| **Rust** | 安全で高速なシステム開発 |
| **Java / Kotlin** | Androidアプリ開発 |
| **Swift** | iOSアプリ開発 |
| **C / C++** | 組み込み・ゲーム開発 |

💡 **特定の言語で開発したいときは、Devinに直接指示を出して確認しようね！**

## **3. Devinの活用法💡**  

### **① Devinを使った開発の流れ**  
1️⃣ **アプリのアイデアを決める**（ここが大事！）  
2️⃣ **Devinにコードを書かせる**（試作を作る）  
3️⃣ **バグやエラーをチェックして品質UP！**  
4️⃣ **AWS, Vercel, Firebaseなどにデプロイ**  
5️⃣ **ストア公開や運用・集客をがんばる🔥**  

### **② プログラミングの習熟度別 Devinの活用方法**  
#### **🔰 初心者：「とりあえずアプリを作ってみたい！」**  
👉 Devinに「こういうアプリを作りたい！」と指示し、とりあえず動くものを作ってもらう  
👉 出てきたコードを見ながら**学習＆試行錯誤！**  
👉 **ブラックボックス化**しないように、**エラーや修正点を自分でチェック！**  
💡 **Devin = 料理代行サービス！** 材料を渡せば作ってくれるけど、味見は自分でしよう！ 

#### **⚡中級者：「開発スピードを爆速にしたい！」**  
👉 Devinを「アシスタント」として使い、**面倒な部分をお願いする**  
👉 CRUD（データの登録・更新・削除）みたいな**繰り返し作業はDevinに任せる**  
👉 コードのリファクタリング（改善）やデバッグも**補助的に使う**
💡 **Devin = キッチンスタッフ！** 下ごしらえは任せて、自分は料理の仕上げに集中！  

#### **🔥 上級者：「開発の自動化＆生産性UP！」**  
👉 Devinを「プライベートAIエンジニア」として活用し、**プロジェクトの一部を丸投げ**  
👉 フレームワークの設定、CI/CDのセットアップなど、**時間のかかる作業を自動化！**  
👉 開発チームの補助ツールとして、**ドキュメント生成やテストコード作成**も活用！  

💡 **Devin = レストランのシェフ補助！** 仕込みを任せて、クリエイティブな部分に集中！

#### 活用法のまとめ！

✔ **初心者は「学びながら開発」できる！**  
✔ **中級者は「開発スピードUP」に使える！**  
✔ **上級者は「チームの生産性を爆上げ」できる！**  

## **4. Devin vs 他のAI開発ツールを比較してみた⚡**  

いろんな活用法があル上に設計からデプロイまで対応可能ってことは、「Devinって最強なんじゃない？」ってなる人もいるよね、**似たようなAI開発ツール**も結構あるみたいなのでざっくり比較してみました👇  

| AIツール | 　できること | 価格感 | 　　　　　　　特徴 |
|:--:|:--|:--:|:--|
| **Devin** | デバッグ、デプロイ<br>フルスタック開発 | $500/月〜<br>（約74,500円〜） | AIエンジニアとして、開発全体をサポートするツール。設計からデプロイまで対応可能。 |
| **OpenHands** <br /> (旧：OpenDevin)| DevinのOSS版<br>カスタマイズ可能 | 無料<br>（OSS） | オープンソース版のDevin。商用レベルの安定性は未確認で、個人や研究用途向け。 |
| **Cline** | 自然言語によるコード生成<br>コードの変換と最適化 | 現在はベータ版のため無料 | コマンドラインインターフェースで動作するAIツール。自然言語で指示を出すことで、コードの生成、変換、最適化などを実行できる。 |
| **Cursor** | AIコード補完<br>ペアプログラミング | 無料プランあり | VSCode風エディタにAIを統合し、スムーズな開発をサポート。Copilotよりも会話型のコード補完が強み。 |
| **GitHub Copilot** | コード補完<br>バグ修正 | $10/月〜<br>（約1,490円〜） | コードを書くスピードを上げるアシスタント向け。エディタ内で動作し、開発効率を向上させる。 |
| **Tabnine** | コードのスタイル向上<br>コード補完 | $12/月〜<br>（約1,788円〜） | エンタープライズ向けで、セキュリティやプライバシーを重視したコード補完ツール。 |
| **Amazon CodeWhisperer** | AIコード補完<br>セキュリティチェック | 無料プランあり | AWS環境に最適化されていて、セキュリティリスクの検出機能も搭載。 |
| **Codeium** | コード補完<br>エラーチェック | 無料プランあり | Copilotの代替として注目。無料でAI補助が使えるため、コストを抑えたい人におすすめ。 |


💡 **結論**：Devinは「AIエンジニア」として幅広く対応できるけど、価格や実用性を考えるとCopilotやCodeiumを使うのもアリ！  

## **5. Devinが活躍できるのはどの開発フェーズ？**  

| 開発フェーズ   | AIツールの活用度 | Devinの有用性 |
|-----------|----------------|--------------|
| **0→1**  | ⭐⭐⭐⭐⭐<br/>（AIがあれば開発がラクに！） | **✅ MVP（最小限のプロダクト）開発に最適** |
| **0→10** | ⭐⭐⭐⭐<br/>（開発スピードを上げたい） | **✅ 仕様変更や試行錯誤が多いフェーズで強い** |
| **1→10** | ⭐⭐⭐<br/>（スケールのための整理が必要） | ⚠ 技術負債の管理やインフラ周りの整備が必要 |
| **10→100** | ⭐<br/>（開発より最適化・運用が重要） | ⚠ ここでは補助的な活用に留まる |

結論：  
👉 **0→1、0→10ではDevinが大活躍！**  
👉 **1→10以降はエンジニアの組織やインフラ整備が鍵！**  

私の所属している中堅ベンチャーではCopilotを使っているし、
フロントエンジニアでAIスタートアップの友達はCopilotとCursorを使っているみたいだけどみんなはどうかな？

## **6. Devinに限らず生成AIの出力したシステムをそのまま使うデメリット⚠️**

基本的なエンジニアの知識がないままにDevinへ丸投げしちゃうと、さまざまなリスクが発生するかも💦  
### **① セキュリティのリスク**  
❌ AIのコードに **脆弱性（ハッキングされる隙）** があるかもしれない
❌ 暗号化や認証の設定ミスがあるとヤバい💀  
❌ **[RASIS](https://qiita.com/shinkawa_misaki/items/da2255d0463def7d8cad)の要件を満たせない** 可能性が高い

🔹 **対策** → Devinが作ったコードを必ずチェックする！  

### **② 法律違反のリスク**  
❌ データの取り扱いが適当だと、**GDPRや個人情報保護法に違反**するかもしれない  

🔹 **対策** → コンプライアンスを意識して運用しよう！  

### **③ AIのコードはブラックボックス化しやすい**  
❌ **AIがなぜそのコードを書いたのか分からない！**  
❌ **エラーが出たときに原因が特定できない…**  

🔹 **対策** → コードの意味を理解しながら使う！


## **7. AI任せにしないために事前に知っておきたいこと🧐**  

最低限、以下の知識を身につけておくと安心かな！  

### **① プログラミングの基礎（Python / JavaScript）**
✅  変数・データ型・関数・クラス
✅  条件分岐・ループ処理
✅  APIの使い方（REST / GraphQL）

### **② テストとデバッグ**
✅  **単体テスト**（機能ごとのチェック）
✅  **統合テスト**（全体の動作確認）

### **③ AWSやクラウドの基礎**
✅  **サーバーって何？**（AWS, Firebaseなど）
✅  **データベースの基本**（SQL / NoSQL）
✅  **デプロイのやり方**（CI/CD, Docker など）

### **③ できればあった方がいい知識**
✅ **システム設計に必要な基本的な知識** 
([RASIS](https://qiita.com/shinkawa_misaki/items/da2255d0463def7d8cad)の概念、アーキテクチャ設計、スケーラビリティ、パフォーマンス管理、セキュリティ)
✅ **法務的な知識**（コンプライアンス）
✅ **運用管理と監視**(監視とログ管理)

💡 AIを使いこなすには、**エンジニアとしての知識が必要**ってこと！  

## **8. Devinを「うまく」活用するコツ🛠️**  

Devinは「エンジニアの代わり」ではなく、**エンジニアの補助ツール**として使うのがベスト！  

✅ **試作やプロトタイプを作るのに使う**  
✅ **面倒な作業を自動化するのに使う**  
✅ **本番コードは人間がチェックする！**  

💡 **「AIに任せる」ではなく「AIを活用する」意識が大事！**  

## **9. まとめ**  

✔ **DevinはすごいAIエンジニアだけど、エンジニア不要になるわけじゃない！**  
✔ **他のAI（GitHub Copilot など）とも比較して、自分に合うツールを選ぼう！**  
✔ **高信頼性システム（銀行・決済・医療など）には慎重に使うべし！**  
✔ **最終的にAIのコードをチェックするのは「人間」！**  

## **10. 感想**

Devinが発表されたからといって、エンジニアの未来は暗くない！🌟

Devinの登場に「エンジニア終わった…」って思う人もいるけど、**実際にはエンジニアの仕事はまだまだ必要！**  

むしろ、**AIを活用できるエンジニアはこれからもっと価値が上がる✨** と思われる！ 

彼氏にも「[Devin](https://devin.ai/)を上手く使いこなせるエンジニアになれば最強！」って伝えようと思う🤓🔥