<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>AIエージェント on Feature Branch Tech Blog</title><link>https://tech.feature-branch.co.jp/tags/ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88/</link><description>Recent content in AIエージェント on Feature Branch Tech Blog</description><generator>Hugo</generator><language>ja</language><copyright>Feature Branch inc.</copyright><lastBuildDate>Mon, 06 Jul 2026 18:48:25 +0900</lastBuildDate><atom:link href="https://tech.feature-branch.co.jp/tags/ai%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88/index.xml" rel="self" type="application/rss+xml"/><item><title>仕様駆動開発 — Specsを中心とした開発フロー</title><link>https://tech.feature-branch.co.jp/posts/2026/02/spec-driven-development/</link><pubDate>Mon, 02 Feb 2026 10:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/02/spec-driven-development/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>2025年、**仕様駆動開発（Spec-Driven Development）**が話題になり、関連ツールを試してみました。しかし、従来のSDDには「ドキュメント過剰」の課題を感じ、直近の開発で試行錯誤する中での、私なりのアプローチを整理します。&lt;/p>
&lt;hr>
&lt;h2 id="1-仕様駆動開発の理想と現実">1. 仕様駆動開発の理想と現実&lt;/h2>
&lt;p>2025年、AIコーディングエージェントの登場により**仕様駆動開発（Spec-Driven Development）**が再注目されています&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>。&lt;/p>
&lt;h3 id="sddの理想">SDDの理想&lt;/h3>
&lt;p>SDDの理想では、&lt;strong>Specレビュー → 実装 → テスト/検証 → フィードバック&lt;/strong>のサイクルが日単位で回転し、AIにより爆速化されるはずでした&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。&lt;/p>
&lt;pre class="mermaid">flowchart LR
 A[📝 Spec作成] --> B[🔍 Specレビュー]
 B --> C[💻 AI実装]
 C --> D[✅ テスト/検証]
 D --> E{フィードバック}
 E -->|修正| A
 E -->|OK| F[🎉 リリース]
&lt;/pre>
&lt;h3 id="現実の課題">現実の課題&lt;/h3>
&lt;p>しかし、実際にSDDを試してみると、いくつかの課題が見えてきました。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>課題&lt;/th>
 &lt;th>説明&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>&lt;strong>Specの巨大化&lt;/strong>&lt;/td>
 &lt;td>小さな機能追加でも数千行のSpecが生成され、レビューが重くなる&lt;sup id="fnref1:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>正確性検証の難しさ&lt;/strong>&lt;/td>
 &lt;td>LLMが確率的な出力をする以上、Specのみで実装漏れやミスを防ぐのは難しい&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>組織的な調整&lt;/strong>&lt;/td>
 &lt;td>エンジニア単独では完結せず、PM・QAなど複数ステークホルダーの関与が必要&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>&lt;strong>小規模開発への不適合&lt;/strong>&lt;/td>
 &lt;td>単純なバグ修正に詳細仕様を書くのはオーバーヘッド&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="開発手法の歴史--振り子の揺れ">開発手法の歴史 — 振り子の揺れ&lt;/h3>
&lt;blockquote>
&lt;p>開発の歴史は、「重すぎる文書化」と「軽すぎる文書化」の間で&lt;strong>振り子のように揺れ動いて&lt;/strong>きました。&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/p>
&lt;/blockquote>
&lt;pre class="mermaid">flowchart LR
 subgraph 歴史の振り子
 A[📚 ウォーターフォール&lt;br/>重すぎる文書化] -->|反動| B[🏃 アジャイル&lt;br/>軽すぎる文書化]
 B -->|反動| C[📝 SDD&lt;br/>再び仕様重視?]
 C -->|課題| D[🎯 バランスを探る]
 end
&lt;/pre>
&lt;p>&lt;strong>アジャイル開発&lt;/strong>は「重すぎる文書化」の反動として生まれましたが、別の課題も生まれました。&lt;/p></description></item><item><title>【実践】AIエージェントでのコーディング指南書 - 4ヶ月の開発から学ぶプロンプト術</title><link>https://tech.feature-branch.co.jp/posts/2026/01/ai-agent-coding-guide/</link><pubDate>Wed, 07 Jan 2026 10:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/01/ai-agent-coding-guide/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>「AIエージェントを使ってみたけど、うまく動かない」「何を指示すればいいかわからない」——そんな声をよく聞きます。&lt;/p>
&lt;p>この記事は、&lt;strong>約4ヶ月間AIエージェント（Claude Code、Codex CLIなど）を使って開発してきた経験&lt;/strong>から見つけた、効果的なパターンをまとめた指南書です。これまで各自が試行錯誤しながら使ってきましたが、知見が整理されないまま属人化していました。開発チームに新メンバーが加わったこのタイミングで、改めてノウハウを整理・共有することにしました。&lt;/p>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_71v1ck71v1ck71v1.png" alt="Nano Banana Pro挿絵 - 先輩開発者と新人が一緒にターミナルを見ながら、AIエージェントと対話している様子。画面にはコードとチャットが表示され、先輩が「こうやってプロンプトを書くんだよ」と教えている雰囲気。「指南書」らしいメンタリングのイメージ。">&lt;/p>
&lt;hr>
&lt;h2 id="1-効果的なプロンプトの書き方">1. 効果的なプロンプトの書き方&lt;/h2>
&lt;h3 id="11-ファイルパスでコンテキストを明示する">1.1 「@ファイルパス」でコンテキストを明示する&lt;/h3>
&lt;p>AIエージェントは賢いですが、&lt;strong>読心術は使えません&lt;/strong>。どのファイルの話をしているのか、明示的に教えてあげましょう。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">❌ 悪い例：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">「このエラーを直して」
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">✅ 良い例：
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">「@src/components/user-profile/sections/department-info.tsx
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">について、部署名がIDのまま表示されてしまっています。
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">原因を調査して修正してください。」
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Anthropic のベストプラクティスでも、「giving clear directions upfront reduces the need for course corrections later」（最初に明確な指示を与えることで、後から軌道修正する必要が減る）と述べられています&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>。&lt;/p>
&lt;p>&lt;strong>@記法のポイント：&lt;/strong>&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>ポイント&lt;/th>
 &lt;th>良い例&lt;/th>
 &lt;th>悪い例&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>フルパスで指定&lt;/td>
 &lt;td>&lt;code>@src/components/.../file.tsx&lt;/code>&lt;/td>
 &lt;td>&lt;code>file.tsx を見て&lt;/code>（どこにあるか不明）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>複数ファイル比較時&lt;/td>
 &lt;td>両方のパスを明示&lt;/td>
 &lt;td>「もう一つのファイルと比較して」&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="12-問題の背景文脈を詳細に説明する">1.2 問題の背景・文脈を詳細に説明する&lt;/h3>
&lt;p>実際の開発で効果的だったプロンプトパターンを見てみましょう。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">元請けベンダーから以下の質問が来ています。
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">コードベースやSalesforceの現在のライセンス構成での
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">ガバナ制限など、Context7やネット調査も含めて調査してください。
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">---
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">[質問内容をそのまま貼り付け]
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>このプロンプトには以下の要素が含まれています。&lt;/p></description></item><item><title>【2025年版】エンジニア向けAI用語整理ガイド</title><link>https://tech.feature-branch.co.jp/posts/2025/12/ai-terminology-guide/</link><pubDate>Mon, 01 Dec 2025 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2025/12/ai-terminology-guide/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>最近のIT開発では「AI」「LLM」「エージェント」といった言葉が飛び交っています。この記事では、これらの用語を&lt;strong>ざっくり&lt;/strong>整理してみます。&lt;/p>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_ttc49wttc49wttc4.png" alt="ロボットと人間がホワイトボードの前で用語を整理している様子。フレンドリーな雰囲気で。">&lt;/p>
&lt;hr>
&lt;h2 id="そもそもaiとは">そもそもAIとは？&lt;/h2>
&lt;p>&lt;strong>AI（Artificial Intelligence / 人工知能）&lt;/strong> とは、人間の知的な振る舞いをコンピュータで再現しようとする技術の総称です。&lt;/p>
&lt;p>具体的には以下のような能力があります。&lt;/p>
&lt;ul>
&lt;li>画像認識（写真に何が写っているか判定）&lt;/li>
&lt;li>音声認識（話し言葉をテキストに変換）&lt;/li>
&lt;li>自然言語処理（テキストの意味を理解・生成）&lt;/li>
&lt;li>推論・判断（データから予測や意思決定）&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>ポイント&lt;/strong>: AIは非常に広い概念で、チェスを打つプログラムも、ChatGPTも、自動運転も、すべて「AI」です。&lt;/p>
&lt;!-- TODO: Nano Banana Pro挿絵 - AIの様々な応用例（画像認識、音声認識、チャットボット、自動運転など）がアイコン形式で並んでいる図。 -->
&lt;p>&lt;img src="./images/Gemini_Generated_Image_houbnohoubnohoub.png" alt="AIの様々な応用例（画像認識、音声認識、チャットボット、自動運転など）がアイコン形式で並んでいる図。">&lt;/p>
&lt;hr>
&lt;h2 id="llmとは">LLMとは？&lt;/h2>
&lt;p>&lt;strong>LLM（Large Language Model / 大規模言語モデル）&lt;/strong> とは、膨大なテキストデータを学習し、人間のような文章を理解・生成できるAIのことです。&lt;/p>
&lt;p>代表的なものは以下です（2025年12月時点）。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>GPT-5&lt;/strong> / &lt;strong>o3&lt;/strong>（OpenAI）&lt;/li>
&lt;li>&lt;strong>Claude Opus 4.5&lt;/strong> / &lt;strong>Sonnet 4.5&lt;/strong>（Anthropic）&lt;/li>
&lt;li>&lt;strong>Gemini 3&lt;/strong>（Google）&lt;/li>
&lt;li>&lt;strong>Llama 4&lt;/strong>（Meta）&lt;/li>
&lt;/ul>
&lt;h3 id="モデルとは">モデルとは？&lt;/h3>
&lt;p>「モデル」とは、学習済みのAIの「頭脳」部分のことです。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>学習データ&lt;/strong>（インターネット上の大量のテキスト）を使って&lt;/li>
&lt;li>&lt;strong>パターン&lt;/strong>を学習し&lt;/li>
&lt;li>&lt;strong>出力&lt;/strong>（回答や文章）を生成できる状態になったもの&lt;/li>
&lt;/ul>
&lt;p>同じLLM製品でも、複数のモデルが提供されています。&lt;/p>
&lt;ul>
&lt;li>Claude: Haiku 4.5（軽量・高速）、Sonnet 4.5（バランス型）、Opus 4.5（高性能）&lt;/li>
&lt;li>GPT: GPT-5 Mini（軽量）、GPT-5（標準）、o3（推論特化）&lt;/li>
&lt;li>Gemini: Flash（高速）、Pro（標準）、Deepthink（推論特化）&lt;/li>
&lt;/ul>
&lt;h3 id="モデルの性能は重要">モデルの性能は重要&lt;/h3>
&lt;p>&lt;strong>「とりあえず動けばいいや」ではなく、適切なモデル選択が重要です。&lt;/strong>&lt;/p>
&lt;p>理由は次の通りです。&lt;/p>
&lt;ol>
&lt;li>&lt;strong>回答の正確性&lt;/strong> - 高性能モデルほど複雑な質問に正確に答えられる&lt;/li>
&lt;li>&lt;strong>コード生成の品質&lt;/strong> - バグの少ない、保守しやすいコードを生成&lt;/li>
&lt;li>&lt;strong>指示の理解力&lt;/strong> - 曖昧な指示でも意図を汲み取れる&lt;/li>
&lt;li>&lt;strong>コストとのバランス&lt;/strong> - 単純なタスクには軽量モデル、複雑なタスクには高性能モデルを使い分ける&lt;/li>
&lt;/ol>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_goxm9ngoxm9ngoxm.png" alt="脳のアイコンが小・中・大の3サイズで並び、それぞれのメリット・デメリットを示す図。軽量=速い/安い、高性能=正確/高コスト のイメージ。">&lt;/p></description></item></channel></rss>