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

【仮説】バイブコーディング起こりそうなこと

 【仮説】バイブコーディング起こりそうなこと

Avatar for Tasuku Hori

Tasuku Hori

August 03, 2025
Tweet

More Decks by Tasuku Hori

Other Decks in Technology

Transcript

  1. AI活用開発:ここまでで判明していること • [2024, 堀] • AIは「時短ツール」 • 時短→生産性向上 • AIは「業務経験がないと生産性効果がない」

    • SEランクAが使用する場合QCD指標が下がる AIは、現在進行型で性能向上中であ る • [2025, 堀] • AIは今も「性能向上中」 • 2025/1~3ではほぼ毎週新しいモデルが登場 • AIを使った開発よりも、AIを「使う」ことに注力すべき • ソリューションが完成したときには、高性能モデルがでる
  2. コーディングを委ねるAIツール群 • OpenHands/Devin/OpenCode/Gemini CLI/Grok CLI/Codex CLI/AWS kiro ツール名 開発元 /

    提供元 主な用途 インターフェース オフライン対応 特徴・備考 OpenHands All-Hands AI AIエージェントによるロー カル開発支援 Web GUI + CLI LLMとプラグインを組み合わせたタスク実行支援。 OllamaなどのローカルLLMに対応。コンテナ上に開発 環境、DAYTONA.io利用可能。 Devin Cognition AI ソフトウェアエンジニア AI(自律型) GUI + CLI 自律的に開発タスクを実行。限定された環境で動作 中(Devin外部からのアクセスは一時的なURL公開レ ベル)。 Claude Code Anthropic Claudeベースのコーディ ング支援CLI CLI Claude 4 をバックエンドにした、端末操作主体の コーディング支援。Claude API利用者を増やす原因 に。 Gemini CLI Google / DeepMind GeminiによるCLIベースの 開発支援 CLI (構成次第) Gemini モデルをCLIから利用。ColabやCloud SDK と連携可能。無料で使用可能な範囲が広い。 Grok CLI xAI(Elon Musk) Grok(LLM)によるCLI 対話型アシスタント CLI (要接続) GrokはX(旧Twitter)と統合。CLI版は公開されつ つあるがまだ開発中段階。情報があまり多くないが Grok 4の性能は高い。 Codex CLI OpenAI(旧Codex) GPTベースのコード生成 CLI 独自モデル運営していたが、現在はGPT-4のコード補 完機能に吸収。CLI形式は非公式が多く、旧Codex の影響を受ける。 AWS Kiro AWS(非公式プロジェク ト) AWS操作の自動化・補助 CLI CLI KiroはBedrock等を利用してCLI操作を自然言語で支 援するツール。まだ試験的な要素が多い。 AIコード補完 [2023] から AIデベロッパー[2025] へ
  3. • 2023年起業のCognition AI社が開発したSaaS型のAI開発者 • SandboxをUbuntuコンテナとして持つ • GitHub/GitLabリポジトリ単位で最初に作成する • 最初にUbuntuコンテナの開発環境構築を行う •

    Ubuntuなのでサーバ起動できる • 外部から一時的にアクセスできるFQDNも作成することができる Devin.ai Devinの セッション サンドボックス ・Progress:処理中の状況 ・Shell: シェル画面(Ubuntu) ・Code: VSC画面 ・Browser: ブラウザ セッション内での Devinとのやりとり 質問や指示出し セッション内のやり取りは Devin側も記憶している Devin作業中にコメントを 書き込んでちょっかい出せる アプリ屋・基盤屋・管理屋 関係なくGitHubは必修科目に! Devinは作業中は英語を使うの で英語が読めるとなおよし! **金額の目安(2025/7/29時点)** 10~15分の作業≒1ACU→2.2ドル(330円)
  4. Devinの使い方例 • GitHub: リポジトリを作成 • GitHubトークンを作成→Devinに設定 • README.mdに何を作成するのかを記載しておく • Devin:

    GitHubリポジトリ追加 • Devin: 仮想環境(Devin’s Machine)追加 • 開発・実行環境を構築、Devinとやり取りしながら作成しても良い • Devin: ナレッジ追加 • セッションのやり取りを日本語化、ブランチネーミングルールなど • Devin: 作業計画立案セッション作成 • @repos→該当リポジトリ選択、仮想環境の動作を確認する • README.mdを読んでDevinセッションで処理できる単位に切り分け作業計画をたてて • 作業計画ごとにIssueを順番に作成して • GitHub: Issue確認 • Issue番号を確認する • Devin: Issue実行セッション作成 • @repos→該当リポジトリ選択 • Issue #XX を確認して実行して、完了したらmainリポジトリへのマージをpull requestして • GitHub: PRを確認、よければマージ • だめな場合は該当Issueを閉じて作成し直しもしくはIssueにコメントつけて継続 1セッションDevin実行時間約30分までにするのがめやす 5ACUsを超えると性能が落ちるのでmainリポジトリへ マージさせIssueに残作業コメント追加させて新規セッ ションで継続
  5. Open Hands • 2024年設立のスタートアップ企業All Hands AI社が提供 • OpenDevinとして開発が始まった • OSS(MITライセンス)と商用ライセンスの2つ

    • AI API別途必要 • 有償AIを使う場合、現時点では Claude4Sonetが最良選択 • ローカルLLMを使えばクローズド環境でも動作 可能 • DeepseekV3以上の性能は必須 • SandboxをUbuntuコンテナとして持つ • Open Handsが動作しているマシン上の別コ ンテナとして動作 • T14(標準PC)では正直きつい • OSSはDocker、商用はHelmチャート(k8sク ラスタ) • Daytona.io(Sandbox環境を提供する有償 サービス)上にも作れる • T14でも動作可能(試用無料枠ですこしだけ試 せる) • コンテナイメージで残る • GitHub/GitLabなしでも動くが基本使用した ほうが良い セッション内での OpenHandとのやり とり 質問や指示出し Sandboxは Dockerコンテナ としてのこるので 後日続きの作業を 実行できる 1セッション 1GitHubリポジト リが混乱なく作業 できそう サンドボックス内の状態を確認できる CHangeLog:変更履歴 VSCode:VSCode画面で見れる ターミナル:Shellプロンプト Jupyter:Jupyter Nodebook環境 アプリ:未使用(GUIアプリ?) ブラウザ:Webアプリの参照 Devin.aiと画面が似ている(Devinのほうが複雑) Devin.aiかOpenHandsを覚えれば、もう一方も理解が早い
  6. Claude Code • CLIで動作するAIエージェント型のコーディング支援ツール • 要Anthropic 社Claude API契約(AWSなどのClaude API) •

    ターミナル上で動作(WindowsはWSL上) • 自然言語で操作 • コードベースの広範な理解と自律実行 • 複数ファイル横断の大規模修正 • IDE連携可能 • 本体にはSandbox機能なし→GitHub/GitLabワークフロー連携可能 • CLAUDE.mdを最初に読む 機能 内容・指示例 コード編集・修正 「この関数のバグを修正して」などの自然言語で広範なファイルを自動更新 コード解説・設計理解 「このプロジェクトの構造を説明して」等 テスト・デバッグ テストコードの自動実行・デバッグの補助 Git操作 コミット・PR作成・マージ・履歴検索も自然言語で支持 リファクタリング 大規模なコード整理や最適化提案 《Sandbox機能》 AIコーディングエージェントが生成・実行するコードを、 安全かつ隔離された仮想環境で動作させるための技術 開発者やシステムに危害を及ぼすことなく、 自動で様々なコーディング作業を試行・実行できる 【参考】2025/7/28時点 中華AI APIはAnthropic互換化することで、高価な Claude Code代金を回避させている ・GLM4.5(Z.ai) ・Kimi K2 (Moonshot) テキスト入力でカレントディレクトリ内の作業指示
  7. Claude CodeのGitHub連携 • 対象のGitHub プロジェクトをclone/pull • プロジェクトディレクトリでClaude を起動 • /install_github-app

    • .github/workflow/ に2つのワークフロー定義作成される • ワークフロー定義を適宜修正しcommit/push→有効化される ファイル名 トリガ 内容 claude.yml 「@claude」をつけた Issue投入時 指示内容をもとにGitHub ホスト上で作業を実 行 Claude-code-review.yml Pull Requestにて 「Create pull request」押下時 Pull requestコメントと対象コードを確認し、 妥当性検査などのレビューを実施、結果を報告 する
  8. claude.yml: AIがIssue対応 Issueを@claudeつきで コメント記述 GitHubワークフローが Actions環境上で Claude Code起動 GitHubリポジトリの内容を確認しながら Issueコメントで指示された作業を実行

    ※MCPツール登録されている場合適宜使用 ※場合によりmainからブランチを切りその上で作業 更新したファイルなどはこのブランチに格納される →CreatePRリンクをつけたコメントを返信 Issueに返信コメント
  9. claude-code-review.yml: PR自動レ ビュー @claudeの返信コメント にあるCreatePRリンク押下 Marge Pull Requestを押下 Pull Request画面に遷移

    Claude Codeが作成した プルリクコメント付き プルリクコメントを適宜修正 Pull Request実行 GitHubワークフローが Actions環境上で Claude Code起動 GitHubリポジトリの内容を確認しながら 修正内容のコードレビューを実施 指摘事項をコメントとして返信 マージ処理実行 マージ元のブランチを Delete マージ元ブランチ削除 実行 プルリクに返信コメント プルリク返信コメント確認 マージを決断した場合 レビュー不合格の場合、レビューコメントで 「@claude」をつけて作業することで修正す ることになるが、GitHub側のレビューはPR時 のブランチがかわり書き込めなくなるエラーが でるので注意
  10. 毎回mainへPRリンクを作成させたい • allowed_tools に Bashを加える • Issueに以下のような指示文を追加する ## すべてのClaude Codeジョブで守らなくてはならないこと:

    ###実行要件: 1. 作業開始前に、必ずmainブランチから新しい作業ブランチを作成してください 2. 作業ブランチ上で、必要なファイルの新規作成・修正・削除を行ってください 3. 変更を git add, git commit, git push でリモートにプッシュしてください 4. 作業完了時に、mainブランチへのプルリクエストリンクを提供してください 5. 変更が一切ない場合のみ、作業ブランチを削除してください ### 確認事項: - [ ] 各ステップの実行前後で git status を確認し、状況を報告してください - [ ] 実際に変更したファイルを明確に記載してください - [ ] 虚偽の報告は厳重に禁止します ### 重要: 以下を必ず遵守してください - 作業ブランチ名を明確に報告する - git commit メッセージを提示する - git push の実行結果を提示する - 作業前後の git diff を提示する(変更がある場合) - 作業が権限不足で失敗した場合はブランチを削除し、必要な権限を掲示する
  11. Commands機能 • 独自スラッシュコマンドが作成できる • プロンプトのエイリアスのようなもの • .claude/commands/ 以下に<コマンド名>.md を作成するだけ #

    rev-design ## 目的 既存のコードベースから技術設計文書を逆生成する。実装されたアーキテクチャ、データフロー、API 仕様、データベーススキーマ、TypeScriptインターフェースを分析し、設計書として文書化する。 ## 前提条件 - 分析対象のコードベースが存在する - `docs/reverse/` ディレクトリが存在する(なければ作成) - 可能であれば事前に `rev-tasks.md` を実行済み ## 実行内容 1. **アーキテクチャの分析** - プロジェクト構造からアーキテクチャパターンを特定 - レイヤー構成の確認(MVC、Clean Architecture等) - マイクロサービス構成の有無 - フロントエンド/バックエンドの分離状況 2. **データフローの抽出** : .claude/commands/rev-design.md ※tsumiki: クラスメソッド社作成のMITライセ ンスOSSより引用 カレントディレクトリ内以下にあるソースコード から設計書群を作成させるスラッシュコマンド 日本語で書けるので、作業内容を細かく買いい ている標準化チームの成果物を転記して作成 可能
  12. Hooks機能とAgents機能 • Hooks • イベント駆動による外部プログラム実行 • Claude Codeイベント • Agents

    • Claude Code内でGemのようなサブエージェント • コンテキストは別立て→長期記憶できないがRate Limitはかわせる • Agent内からMCPツール使用可能 • Claude Flow (OSS) • HooksやAgentsをつかったマルチエージェントによる開発環境を実現 • Architect、Researcher、Coder、Tester、Documenterなどのエージェント • MCPツールとして85個ツールを追加して駆使 • 書籍管理システム品質5割レベル:本体約7分実行+人2時間修正で作成可能 • 2.0.0Alpha / Claude 4 Sonet API使用 Claude Codeをつかった協調したマルチエージェント環境を実現可能に
  13. 【参考】Agents エージェント指示文 # コード品質分析者 あなたには、包括的なコードレビューと分析を行うコード品質分析者 をお任せします。 ## 主な責務 1. コードの”臭い”やアンチパターンの特定

    2. コードの複雑さと保守性の評価 3. コーディング標準への準拠をチェック 4. リファクタリングの機会を提案 5. 技術的負債の評価 ## 分析基準 - 読みやすさ: 明確な命名、適切なコメント、一貫したフォーマット - 保守性: 低い複雑性、高い結合性、低いカップリング - 性能: 効率的なアルゴリズム、明らかなボトルネックなし - セキュリティ: 明らかな脆弱性なし、適切な入力検証 - ベストプラクティス: デザインパターン、SOLID原則、DRY/KISS ## コードの”臭い”の検出: - 長いメソッド(>50行) - 大きなクラス(500行以上) - 重複したコード - デッドコード - 複雑な条件分岐 :
  14. Open Code • MITライセンスベースのOSS • Go実装版、TypeScript実装版の2種類ある • 情報検索時注意、定義が一部異なる • Claude

    Codeとほぼ同じようなCLIベースのツール • TS版は頻繁に更新、ただし追加機能実装速度はClaude Codeほど早くない • 現時点では、GitHub Copilot エージェントと同じくらいの機能と考えて良い • Go版はあまり更新されていない様子 • Claude以外のAI APIを指定可能 • 中華AI、Open RouterやローカルLLMも可能 • ~/.config/opencode/opencode.jsonに定義を記述 • AGENTS.mdを最初に読む • MCPツールも使用可能
  15. 【参考】機能比較 ツール名 MCP機能 Commands機能 Hooks機能 Agents機能 備考 Claude Code ◯

    ◯ ◯ ◯ 比較の基準。これらの機能を統合的に提供し、高度な自動化を実現。 Open Code (sst版) △ 主にコード検索と理解に特化。コマンドは存在するが限定的。 Open Code (Go版) △ Goなので早いがsst版と同様、コード検索が中心。CLIとしての機 能は発展途上。Sst版より開発は緩やか。 Gemini CLI ◯ ◯ △ MCPをサポートし拡張性が高い。自律エージェント機能は"YOLO モード"などで部分的に実現。Hooksに相当する機能はなし。 Codex CLI (OpenAI) ◯ ◯ 自律性(Agents)を3段階で制御可能。ただし、MCPやHooksのよ うな外部連携・自動化の仕組みは限定的。 Qwen CLI △ 主にAlibaba Cloudサービスとの連携や基本的な対話が中心。高度 な開発支援機能は限定的。(情報が少ない) Open Hands ◯ ◯ エージェント機能に特化したOSS。タスクプランニングと実行が主 目的であり、UIはWebベース。サンドボックスをDAYTONAにする と外部コンテナで動かせる。 Devin ◯ ◯ △ ◯ 完全自律型エージェントの代表格。内部的にHooksやMCPに近い 概念を持つ(ナレッジ)が、ユーザが直接設定する形ではない。対 話型インターフェース。
  16. Context Engineering メモリアーキテクチャ • Short-term memory: コンテキストウィンドウに表示され、現在の会話を処理 • Long-term memory:

    (Weaviateのような)ベクタDBに保存され、セッション をまたいでユーザのプリファレンスや過去のインタラクションを保持 エージェント・システムが失敗するとき、モデルが十分に賢くないからということはほ とんどない 原因は、「適切なコンテキスト」が与えられていないからである フォーマットも重要 きちんと構造化されたエラーメッセージは、巨大なJSONの塊に勝ることはない 人間同様、LLMも明確で消化しやすいコミュニケーションを必要としている 引用元:https://x.com/victorialslocum/status/1950841048491565500 構成要素 説明 User Information プリファレンス、履歴、パーソナライゼーションデータ Tool Use API、計算機、検索エンジン - LLMが仕事を遂行するた めに必要なものなら何でも RAG Context (Weaviateのような)ベクタDBから取得した情報 User Input 実際のクエリやタスク Agent Reasoning LLMの思考プロセスと意思決定チェーン Chat History 継続性をもたらす過去の交流 Prompt Engineering is Dead の次 CLAUDE.md MCPツール/Hooks機能 MCPツール経由のRAG使用エージェント Claude Codeへの入力するテキスト Agents機能+Hooks機能/GitHub WF User Input+Claude Code出力
  17. マルチエージェントによる開発 • Claude Flowなど • Devin.aiも近い動作をしている • 要件定義ドキュメントや制約情報、設計・実装ルールを最初に投入 • 投入後作業中は、ほぼ人間が手を出せない

    • Claude Flowは不可、Devin.aiは追加プロンプト投入可能 • 初期プロジェクト構築時のスタートダッシュ • プロジェクト後半は品質管理を保持しつつ指示出し • 人間がやったほうが早い状態になる可能性も
  18. VC初期:PMの指示丸投げ 仕 事 の 品 質 締め切り 100% 実開発を知らない AIインフルエンサー

    の想定する高品質 AIスゲー 作業割合はAI中心の赤身肉状態 どっちいくのか 判断できん PM 顧客 ほぼ丸投げ AIスゲー 数行のプロンプト+2人時で 5割品質のCRUD Webアプリが 作れる おこりそうなこと
  19. VC初期:プロは嫌う・アマ喜ぶ 仕 事 の 品 質 締め切り 100% アマチュア AIなしでも

    いいかな プロ プロ 自分、いら なくね? アマ おこりそうなこと
  20. VC初期:PMの指示丸投げ 仕 事 の 品 質 締め切り 100% 実開発を知らない AIインフルエンサー

    の想定する高品質 AIスゲー メリット これだけ? オレ、早っ AIってこんなも んか PM 顧客 単価スキルの違いが大きく出る アマ プロ おこりそうなこと
  21. VC中期A:指示に導線を加える 仕 事 の 品 質 締め切り 100% アマチュア 作業割合はヒトの作業が増えてきたヒレ肉状態

    おおまかな 指示でも動く 数行のプロンプト+2人時で 5割品質のCRUD Webアプリが 作れる おこりそうなこと
  22. VC中期A:ヒトが引き取ると.. 仕 事 の 品 質 締め切り 100% 時間が足りん AIここまでか

    オレ、早っ AIって大したこ とないなあ PM 顧客 単価スキルの違いは少し縮む アマ プロ おこりそうなこと
  23. VC中期B:AIとペアプログラミング 仕 事 の 品 質 締め切り 100% 作業割合は霜降り肉状態 ラストワン

    マイルが.. 順調順調♪ PM 顧客 PMが油断しやすい 品質レベル おこりそうなこと
  24. VC中期B:ヒトが引き取ると.. 仕 事 の 品 質 締め切り 100% 把握したとこ ろで終わった

    こだわりでつい 最終日まで なんで こうなった? PM 顧客 アマ プロ おこりそうなこと
  25. Devin.ai Open Hands レビューGem Claude Code Open Hands 結論:自分の「見切り」ポイントを掴め 仕

    事 の 品 質 100% ここらで引き受 けるか,, アマ プロ アマチュア プロ 要員平均した ら生産性は.. PM 顧客 早めにAIと 決別だな.. 引用元:[2025, 堀] Claude Flow Devin.ai OpenHands GitHub + Claude Code(WF連携) ツール利用例: 人間が主導権を奪っていく おこりそうなこと
  26. 「見切り」を磨く • スキルレベルが低い場合 • 見切り不可能なので、初期のみ使用 • のこりは自力でなんとかする→高スキルな人に助けてもらう • 自力でなんとかしないと、承認ボタン押しスキルのみ向上→とんでも”ラジャー”マン •

    スキルレベルが高い場合 • 品質がサチるポイントを、とくいのKKDでつかめ • ポイントがきたらきっぱり見切り→AIレビュー多用で品質早期向上に切り替え • 新人の頃のように自分がボトルネックに戻る→どうメンタルを保持するか • スキルレベルが中途半端な場合 • 品質がサチる見切りの付け方を体で覚える • AIまかせにしてしまうと、自分のスキルのほうがここでサチる