【AI】AI駆動開発(AI‐Driven Development) - j-komatsu/myCheatSheet GitHub Wiki
AI駆動開発(AI-Driven Development)
「エーアイ くどう かいはつ」と読みます。
AI(人工知能)を活用して、ソフトウェアの設計・実装・テスト・運用を支援・自動化する開発手法です。
人間の作業をAIがサポートし、より早く正確な開発が可能になります。
🔧 通常の開発:職人が1から設計図を書いて家を建てる
🤖 AI駆動開発:設計図はAIがドラフトを作ってくれて、職人が仕上げる感じ
利用シーン | 具体例 |
---|---|
コーディング | AIがコードを自動生成(例: GitHub Copilot) |
テスト | AIがテストケースを自動生成 |
仕様分析 | ユーザー要望から仕様を自動で抽出 |
デバッグ | エラーログを解析して原因を予測 |
自然言語による指示:
「ユーザー登録フォームをReactで作って」
import React from 'react';
function RegisterForm() {
return (
<form>
<label>Username: <input type="text" /></label>
<label>Email: <input type="email" /></label>
<button type="submit">Register</button>
</form>
);
}
export default RegisterForm;
flowchart TD
A[要件定義] -->|自然言語で記述| B[AI分析]
B --> C[プロンプト生成]
C --> D[コード生成/補完]
D --> E[自動テスト生成]
E --> F[CI/CDやレビュー]
項目 | 従来型開発 | AI駆動開発 |
---|---|---|
スピード | 人力中心で遅い | AI補助で高速化 |
精度 | 人に依存 | AIがパターンを学習して改善 |
コスト | 高め | 工数削減により低コスト化 |
スキル依存 | 高 | 低〜中 |
ツール | 概要 |
---|---|
GitHub Copilot | コード補完AI |
TabNine | マルチ言語対応コード補完 |
ChatGPT API | 要件分析や設計支援 |
Codex | OpenAIのプログラミング特化AIモデル |
LangChain | AIのワークフロー構築に利用可能 |
Cursor | AIによるインライン補完・リファクタリングができるエディタ(VSCodeベース) |
const { Configuration, OpenAIApi } = require("openai");
const config = new Configuration({ apiKey: process.env.OPENAI_API_KEY });
const openai = new OpenAIApi(config);
async function generateCode(prompt) {
const response = await openai.createCompletion({
model: "code-davinci-002",
prompt,
max_tokens: 300,
});
console.log(response.data.choices[0].text);
}
generateCode("ExpressでREST API(GETとPOST)を作って");
// カーソル位置の例示 ↓↓↓
// カーソルで続きを書く位置はこちら
// ↓↓↓
// たとえば、バリデーション処理やルーティング追加などをここに追記可能
- AIの出力を過信しない
- セキュリティチェックやレビュー工程は必要
- 商用利用時のライセンス確認
ポイント | 内容 |
---|---|
AI駆動開発とは? | AIが設計・開発・テストを補助する開発手法 |
メリット | 高速化、コスト削減、習得の敷居が下がる |
デメリット | 判断の誤り、セキュリティ不安、ブラックボックス化 |
活用例 | GitHub Copilot、OpenAI Codex、LangChain |
- プロンプト設計の標準化
- より高度な自己改善AIの登場
- 人とAIの協働がスタンダードに