0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Udemyで学んだAIエンジニア「Devin」を使ったTODOリストアプリ開発体験

0
Last updated at Posted at 2025-09-10

はじめに

本記事では、Udemyで受講したDevinの研修を通して学んだことをまとめます。
今回の研修では、AIエンジニアであるDevinを用いて「TODOリストアプリケーション」を開発するという演習を行いました。
この記事は、評価制度の一環として「学習の証跡」を残すためのものでもあります。


サンプルアプリケーションの概要

今回利用したサンプルアプリは非常にシンプルなTODOリストアプリケーションです。
image.png

  • タスクを追加することは可能
  • ただし、削除や期限設定などが未実装
  • 結果として、タスクが増える一方で整理ができない状態

この不足機能をDevinに依頼し、拡張していくのが今回のゴールでした。


Devinの開発プロセスの特徴

Devinの開発フローは、以下の点で一般的なAIツールと大きく異なります。

1. VM(仮想マシン)上での開発

Devinはクラウド上のVM環境を利用して開発を進めます。
そのため、ローカル環境のセットアップや依存関係の調整といった手間が不要です。
開発者は要件を伝えるだけで、Devinが安全な環境内で開発〜実行〜テストまで完結してくれます。


2. 要件定義から設計までを明確にプロセス化

Devinは依頼された内容をいきなり実装するのではなく、まず要件定義設計の段階を踏みます。

  • 要件を整理して、開発に必要な仕様を確認
  • 設計図を提示し、実際にどのような実装するかを説明
  • 開発者(私たち)はその設計内容をレビューし、承認することで次のフェーズに進む

この流れによって「意図していた仕様と違うものができてしまった」というリスクを大きく軽減できます。


3. Confidenceによる実現可能性の提示

Devinの設計フェーズでは、各要件に対して**Confidence(確信度)**が表示されます。
image.png

  • High: 要求通りに実装できる見込みが高い
  • Medium: 実現は可能だが、仕様の不明確さやリスクが残っている
  • Low: そのままでは実装が難しい可能性がある

この仕組みにより、設計段階で「どの要求が曖昧か」「追加で深掘りすべきか」を判断できます。
例えば「タスクの期限を設定する」機能に対して Medium と出た場合、
「期限は日付だけか?時間までか?繰り返し設定は必要か?」といった追加確認が必要であることに気づけます。


4. Gitブランチを用いた開発プロセス

Devinの大きな特徴の一つが、要件ごとにGitブランチを自動で作成する点です。

  • 新しい要件(セッション)を作成すると、main ブランチから feature/xxxx ブランチが自動で切られる
  • そのブランチ上で実装・テストが進められる
  • 開発が完了すると、Pull Request 形式で main にマージされる

これにより、まるで人間のエンジニアがチーム開発を進めるときと同じように、要件単位でコードの変更が管理される仕組みになっています。
また、複数の要件を並行して進める場合も、Gitのブランチ運用が前提となっているため、衝突が起こりにくいのも特徴的でした。


実際に行ったこと

  1. TODOリストアプリに「削除機能」と「期限設定機能」を追加するよう依頼
  2. Devinが要件を整理し、設計を提示
  3. Confidenceの結果を確認し、不明瞭な要件について追加で定義
  4. 要件ごとに feature ブランチが自動生成され、VM上で開発・テストが進行
  5. 開発が完了すると、Pull Request が提示され、レビュー&マージを実施
  6. 最終的に、期待通りの機能が実装されたアプリの完成

image.png


学んだこと・気づき

  • Devinは単なるコード生成ツールではなく、要件定義〜設計〜開発〜テスト〜Git運用までを支援する「AIエンジニア」的存在
  • Confidenceにより「どの部分が不明瞭か」を可視化でき、要件定義の質が上がる
  • Gitブランチを用いた開発フローは、実際のチーム開発に非常に近く、自然な形でレビューやマージを体験できた
  • 開発者は「正しい要件を伝える」ことがより重要になり、AIとの対話が人間同士のプロジェクト進行に近いと感じた

まとめ

今回の研修を通じて、Devinを使った開発の流れを体験しました。
特に印象的だったのは以下の3点です。

  1. VM上での自動開発により、環境構築の手間が不要
  2. Confidence表示によって、要件の曖昧さを事前に洗い出せる
  3. Gitブランチを自動で切り、要件単位で開発〜レビュー〜マージまでを実施できる

この体験を通して、今後の実務でもAIを活用する際には「要件定義の精度を高めること」と「チーム開発を意識したコード管理」が重要だと学びました。


最後に

本記事はUdemyのDevin研修で学んだことをまとめたものです。
DevinのようなAIエンジニアが普及していけば、開発の在り方そのものが変わっていくのではないかと強く感じました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?