Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIと人間の共創開発!OSSで試行錯誤した開発スタイル

Avatar for mae616 mae616
October 16, 2025

 AIと人間の共創開発!OSSで試行錯誤した開発スタイル

Claude Code Meetup Tokyo(LT) 2025.10.17 金

OSS:
https://github.com/mae616/ai-template

Avatar for mae616

mae616

October 16, 2025
Tweet

More Decks by mae616

Other Decks in Programming

Transcript

  1. 自己紹介 mae616 (まえ) • フリーランス準備中 (休職中のWebエンジニア) • エンジニア歴 8年 (SE

    6.5年、Web 1.5年、講師の副業 1年) コミュニティ運営 • ゆるっと もくもく会 for Women • お題でプログラミング: おだいで.dev 開発で遊ぼう! ...他 直近の予定 • 技書博#12 頒布 東葛.devの合作本に寄稿 X: @mae616_
  2. 関わる知識 • コンテキスト・エンジニアリング • AIでアジャイル開発を行う (※) • AIでエンジニアの知識をペルソナ化する (※) ※

    海外では“AI-Paired Programming”や“Agile Ai Driven Development”などのキーワードとし て議論されている内容
  3. コンテキスト・エンジニアリングについて バイブコーディング(Vibe Coding)& プロンプト・エンジニアリング • 「ノリ」や「雰囲気」を大事にした即興的なやりとり。 • ふわっとした指示を投げて、AIにコードを書かせながら、その場の流れで調整する。 コンテキスト・エンジニアリング(Context Engineering)

    • 目的・背景・制約・ゴールを一緒に渡して、AIに「なぜそれをやるか」まで理解させる。 • さらに、構造化(役割・手順・前提条件を整理)してLLMに渡す。 • そうすることで、AIが「部分最適なコード」じゃなく「エンジニアの意図に沿った全体的な設 計」を出しやすくなる。 • 再現性や品質が安定して、チーム開発的な流れにも耐えられる。
  4. ワンパス実装とアジャイル的アプローチの違い 要件定義 設計 タスク の作成 AIによる実装 人の確認 要件定義 スプリント の作成

    タスク の作成 AIによる実装 人の確認と AIによる修正 タスク の作成 AIによる実装 人の確認と AIによる修正 ※ ワンパス = On-shot, Single-pass など 「一度の実行で完成度の高い成果物を目指す」 通常のコンテキスト・エンジニアリング(ワンパス実装) = AIを実行して一晩放っておけばアプリが出来上がる ある意味「ウォーターフォール」的、制作物を確認できるのは最後 「要件定義→設計」とコンテキストを用意するのも大変 コンテキスト・エンジニアリングをアジャイル開発的に改良 細かく確認、試行ができる、調整ができる
  5. 実現したペルソナ Claude Code カスタムコマンド (作業モード) 自分のエンジニアの知識を 反映したペルソナ • スプリント &

    タスクシステムでの反復開発 要件定義またはタスクチケットから スプリント・タスクの作成 → 反復した実装 • トラブルシューティング機能 バグの起票 → 現状確認 → 改修策をWebで調査 → 改修 開発の補助機能 • マニュアル機能 設定マニュアル作成 → ステップバイステップでのガイド機能 ※ インフラ等をMCPでなく自分で作成したかっただけの機能 • 暫定コードの禁止 • SOLID原則に基づいた コード • 最小で正確な実装 • 公式ドキュメントに準拠 • Docsコメントを付与 • ドメイン意図を説明した コメント • ハマった時はサンプルを 実装して確認する ... など タスク処理 バグ処理 エンジニアの自分の普段やってる手順や知識をAIにペルソナ化した
  6. AIと人の役割分担 要件定義 スプリント の作成 タスク の作成 AIによる実装 人の確認と AIによる修正 AIと人で要件定義

    • 目的や機能 • 選択技術スタック • アーキテクチャ • 何か修正が必要な時に 新規タスクとするか バグ起票するかを判断 • 内容のコンテキストを入力 計画や実装時に 変な方向にいってないか確認 (一応) 人の役割: 方向性の決定、要件の整理、品質の担保 (ディレクター的なの) AI の役割: 実装の自動化、パターンの学習、反復作業の効率化
  7. 品質と状況 (1) OSS のコード(ts) (2) vibe codingでAIが書いたコード(js) (3) 自分が簡易的に書いたコード(ts) 債務が複数あって読みにくい

    比較的似ているが、 (1) OSSのコードの方が SOLID原則などに適切に沿っていて読みやすい