<?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/categories/ai/</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/categories/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>テスト工程におけるAI活用</title><link>https://tech.feature-branch.co.jp/posts/2026/06/ai-assisted-test-process/</link><pubDate>Thu, 18 Jun 2026 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/06/ai-assisted-test-process/</guid><description>&lt;h2 id="1-はじめに">1. はじめに&lt;/h2>
&lt;p>テスト項目の作成では、Jira、仕様書、ソースコードを見ながら「何を、どの条件で、どう確認するか」を具体化します。&lt;/p>
&lt;p>この作業に、最初からAIを使っています。
ただし、Codexへ直接依頼し続けるとコンテキストを多く使い、5時間単位や1週間単位の利用制限も気になります。&lt;/p>
&lt;p>そこで、まずChatGPTで依頼文を整理し、その内容をCodexに渡してテスト項目のたたき台を作っています。&lt;/p>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_sr35plsr35plsr35.png" alt="Jira、仕様書、ソースコード、AIチャットを並べてテスト項目を整理している様子">&lt;/p>
&lt;h2 id="2-テスト工程をざっくり整理">2. テスト工程をざっくり整理&lt;/h2>
&lt;p>テスト工程は、確認する範囲で分けると理解しやすいです。
ISTQBでも、テストレベルは目的や責任範囲に応じて整理されています&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>。&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;/td>
 &lt;td>実装者が中心&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>結合テスト&lt;/td>
 &lt;td>画面、API、DB、権限などのつながり&lt;/td>
 &lt;td>テストチームが中心&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;p>今回の主役は、結合テストです。&lt;/p>
&lt;p>結合テストでは、単体では問題なさそうに見える部品を組み合わせたときに、正しく動くかを確認します。
たとえば、画面で入力した内容が保存されるか、権限ごとに表示が変わるか、同時操作でデータが壊れないか、といった観点です。&lt;/p>
&lt;h2 id="3-今回のテストチームの役割">3. 今回のテストチームの役割&lt;/h2>
&lt;p>今回のプロジェクトでは、役割を次のように分けています。&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;/td>
 &lt;td>単体テストを実施&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>テストチーム&lt;/td>
 &lt;td>結合テスト、総合テストを実施&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>テストチーム&lt;/td>
 &lt;td>パターンが多い単体テストも一部対応&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>テスト項目を作る材料は、主に以下です。&lt;/p>
&lt;ul>
&lt;li>Jira&lt;/li>
&lt;li>仕様書&lt;/li>
&lt;li>ソースコード&lt;/li>
&lt;li>操作マニュアル&lt;/li>
&lt;li>既存のテスト項目&lt;/li>
&lt;/ul>
&lt;p>テスト項目では、「動作確認する」だけでは足りません。
実施者が迷わないように、操作者、前提条件、操作手順、期待結果まで書く必要があります。&lt;/p>
&lt;h2 id="4-aiを使ったテスト項目作成の流れ">4. AIを使ったテスト項目作成の流れ&lt;/h2>
&lt;p>実際の流れはシンプルです。&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>1&lt;/td>
 &lt;td>実装内容と確認したい観点をざっくり書く&lt;/td>
 &lt;td>人間&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2&lt;/td>
 &lt;td>ChatGPTでCodex向けの依頼文に整える&lt;/td>
 &lt;td>ChatGPT&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>3&lt;/td>
 &lt;td>Jira、仕様書、ソースコードを見て項目を作る&lt;/td>
 &lt;td>Codex&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>4&lt;/td>
 &lt;td>内容を確認し、実施できる形に直す&lt;/td>
 &lt;td>人間&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_98pxef98pxef98px.png" alt="人間のメモ、ChatGPTによる依頼文整理、Codexによるテスト項目作成、人間レビューの4ステップ図">&lt;/p>
&lt;p>ChatGPTを挟む理由は、Codexを節約したいからです。&lt;/p>
&lt;p>Codexにはソースコードを読んでほしいので、雑な相談や依頼文の整理でコンテキストを消費するのはもったいないです。
そのため、ChatGPTで「Codexに何を頼むか」を先に固めます。&lt;/p>
&lt;p>依頼文で指定する内容は、だいたいこのあたりです。&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;/td>
 &lt;td>Jira、仕様書、関連ソースコード&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>出力形式&lt;/td>
 &lt;td>Markdown表、CSVなど&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>試験分類&lt;/td>
 &lt;td>IT、ST&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>観点&lt;/td>
 &lt;td>正常系、異常系、権限、境界値、既存影響&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>追加情報&lt;/td>
 &lt;td>想定工数、不明点、確認が必要な点&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;p>OpenAIのプロンプトガイドでも、役割や必要な情報を明確にすることが有効だとされています&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。
テスト項目作成でも、依頼が具体的なほど出力が安定します。&lt;/p></description></item><item><title>Claudeのアーティファクト入門 〜暮らしを助ける小さな道具を作ってみよう〜</title><link>https://tech.feature-branch.co.jp/posts/2026/05/claude-artifacts-daily-tools/</link><pubDate>Wed, 27 May 2026 12:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/05/claude-artifacts-daily-tools/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>「自分にちょうどいい、シンプルな自己管理アプリがあったらいいのに」——そう思ったことはありませんか。続けたい習慣をチェックするだけのトラッカー、自分の支出項目に合わせた家計メモ、読んだ本を記録するリスト。市販のアプリは多機能すぎたり、逆に欲しい項目が足りなかったりで、なかなか“ちょうどいい一品”には出会えないものです。&lt;/p>
&lt;p>そんな“自分好みの小さな道具”を、プログラミングなしで作れてしまうのがClaudeの「アーティファクト（Artifacts）」です。Claudeが作ったものを会話の隣の専用パネルに表示し、その場で見て・触って・共有できる機能で、ちょっとしたアイデアを「日常生活を助ける小さな道具」に変えるのが得意です。&lt;/p>
&lt;ul>
&lt;li>そもそもアーティファクトとは何か&lt;/li>
&lt;li>Anthropicがなぜこの機能を作ったのか（思想）&lt;/li>
&lt;li>できること・できないこと（2026年時点の最新仕様）&lt;/li>
&lt;li>日常生活で役立つ作例&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="image.png" alt="alt text">&lt;/p>
&lt;h2 id="1-そもそもアーティファクトって何">1. そもそもアーティファクトって何？&lt;/h2>
&lt;h3 id="11-一言でいうと">1.1 一言でいうと&lt;/h3>
&lt;p>アーティファクト（Artifacts）は、Claudeが作ったものを、会話の隣の専用パネルに表示して、その場で見て・触って・編集できる機能です&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>文章・コード・Webページ・図・小さなアプリなどを、チャットの流れに埋もれさせず、独立した「作業スペース」として扱えるのがポイントです。&lt;/p>
&lt;h3 id="12-身近な比喩で">1.2 身近な比喩で&lt;/h3>
&lt;p>イメージとしては、チャット相手が目の前で小さな道具をこしらえてくれる「作業台」のようなものです。&lt;/p>
&lt;ul>
&lt;li>ふつうのチャットは、口頭で相談しているだけの状態&lt;/li>
&lt;li>アーティファクトは、相談しながら隣の作業台で実物を組み立て、その場で動かして見せてくれる状態&lt;/li>
&lt;/ul>
&lt;p>「おしゃべり」が「ものづくり」に変わる、と考えると分かりやすいです。&lt;/p>
&lt;h3 id="13-どんなものが作れる">1.3 どんなものが作れる？&lt;/h3>
&lt;p>作れるものは多岐にわたります。代表的なものは次の通りです&lt;sup id="fnref1:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>。&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;/td>
 &lt;td>Markdown・プレーンテキストの文章&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>コード&lt;/td>
 &lt;td>各種言語のスクリプトやコード片&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Webページ&lt;/td>
 &lt;td>1枚もののHTML（CSS・JavaScript入り）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>Reactコンポーネント&lt;/td>
 &lt;td>状態を持つインタラクティブなUI部品&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>図・ダイアグラム&lt;/td>
 &lt;td>フローチャート、シーケンス図など（Mermaid）&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>画像&lt;/td>
 &lt;td>SVGベクター画像&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>ダウンロード資料&lt;/td>
 &lt;td>&lt;code>.docx&lt;/code> / &lt;code>.pptx&lt;/code> / &lt;code>.xlsx&lt;/code> / &lt;code>.pdf&lt;/code>&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h3 id="14-いつからある機能">1.4 いつからある機能？&lt;/h3>
&lt;p>意外と歴史は浅く、2024年に登場してから猛烈な勢いで進化してきました。主な歩みは以下の通りです。&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>2024年6月20日&lt;/td>
 &lt;td>プレビュー公開（Claude 3.5 Sonnetと同時に登場）&lt;sup id="fnref: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>2024年7月初旬&lt;/td>
 &lt;td>公開URL（claude.site）への公開と、他人の作品をコピーして使う remix を追加&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2024年8月26日&lt;/td>
 &lt;td>全プラン（無料含む）で一般公開&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2025年6月25日&lt;/td>
 &lt;td>AIを埋め込んだアプリを作れる機能をベータ公開&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2025年7月31日&lt;/td>
 &lt;td>PDF・画像・ファイルのアップロードに対応&lt;sup id="fnref1:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2025年10月21日&lt;/td>
 &lt;td>外部サービス連携（MCP）と永続ストレージ（20MB）に対応&lt;sup id="fnref2:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>2026年4月&lt;/td>
 &lt;td>Live Artifacts（開くたびに最新データへ自動更新するダッシュボード）登場&lt;/td>
 &lt;/tr>
 &lt;/tbody>
&lt;/table>
&lt;h2 id="2-なぜanthropicはこれを作ったの思想">2. なぜAnthropicはこれを作ったの？（思想）&lt;/h2>
&lt;p>機能の「何ができるか」だけでなく「なぜ作ったのか」を知ると、使いどころの勘が働くようになります。&lt;/p></description></item><item><title>AIと和解する</title><link>https://tech.feature-branch.co.jp/posts/2026/04/work-with-ai/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/04/work-with-ai/</guid><description>&lt;h1 id="aiと和解する">AIと和解する&lt;/h1>
&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;ul>
&lt;li>AIとはなんぞや？AIにコーディングさせても効率落ちるのでは？という印象をもっていた古いエンジニアが、AIと仲良く仕事できるようになっていく過程で感じたことや今後AIと仕事をしていくうえで何を気にしながらやり取りしていこうとしているかを共有したいと思います。&lt;/li>
&lt;/ul>
&lt;h2 id="1-怪訝期-こいつ何者">1. 怪訝期 〜こいつ何者？〜&lt;/h2>
&lt;ul>
&lt;li>こちらが実現したいことを伝えても期待通りには捉えてくれないんでしょう？&lt;/li>
&lt;li>AIに任せても手直しが必要になって、余計に時間がかかるんでしょう？&lt;/li>
&lt;li>実装はできたとしてもスパゲッティコードになって解読に苦労するんでしょう？&lt;/li>
&lt;li>ドキュメントを作らせても正確でなく読みづらい文章になるんでしょう？&lt;/li>
&lt;li>依頼するにも何を任せていいのかがわからない&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="./images/kegen.png" alt="怪訝期">&lt;/p>
&lt;h2 id="2-受入期-ちょっと抜けてるけどいい仕事する">2. 受入期 〜ちょっと抜けてるけどいい仕事する〜&lt;/h2>
&lt;ul>
&lt;li>あいまいな質問をしても答えてくれるし、自分でWeb検索して探すより情報収集が早い&lt;/li>
&lt;li>設計の相談をすると自分が気付いていなかった視点で方式を提案してくれる&lt;/li>
&lt;li>設計変更やバグ等で現状分析すると、自分で調べるよりはるかに早く分かりやすい結果を返してくれる&lt;/li>
&lt;li>実装してもらうと不要なコードが残ったり書き方が分かりづらい部分があるなぁ&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="./images/ukeire.png" alt="受入機">&lt;/p>
&lt;h2 id="3-和解期-何をお願いしてもこなしてくれる">3. 和解期 〜何をお願いしてもこなしてくれる〜&lt;/h2>
&lt;ul>
&lt;li>関連する複数ファイルを変更しなればならない場合も人が書くより全然速いし的確&lt;/li>
&lt;li>あいまいな方針から壁打ちで具体化していき細部まで決まれば実装が正確&lt;/li>
&lt;li>面倒なテストケースの作成もまとめて実施してくれるしアサーションも意味あるものになっている&lt;/li>
&lt;li>やたらと処理を細分化しようとするけどそれが標準だよなぁ&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="./images/wakai.png" alt="和解期">&lt;/p>
&lt;h2 id="4-信頼期-適切な指示で後はお任せ">4. 信頼期 〜適切な指示で後はお任せ〜&lt;/h2>
&lt;ul>
&lt;li>スタートさえ間違わなければ実装はほぼ任せてしまえる&lt;/li>
&lt;li>成果物のチェックは、一通り行うがざっくりと違和感を探す程度&lt;/li>
&lt;li>全て依存するのではなく細かいミスは手直しすれば無駄な時間を省ける&lt;/li>
&lt;li>0.5~0.6人分くらいの作業はAIでこなせる&lt;/li>
&lt;/ul>
&lt;p>&lt;img src="./images/shinrai.png" alt="信頼期">&lt;/p>
&lt;h2 id="5-信頼はしているけれど">5. 信頼はしているけれど&amp;hellip;&lt;/h2>
&lt;ul>
&lt;li>設計・実装ではインプットを曖昧にしない
&lt;ul>
&lt;li>最初のインプットを曖昧にしても壁打ちを繰り返すことで求める結果に辿り着くかもしれないが作業短縮効果が薄れる&lt;/li>
&lt;li>具体化できている部分をその通りに伝えることでより正確な分析をしてくれるので、結果も速く正確になる&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>成果物イメージを持つことをサボらない
&lt;ul>
&lt;li>自分の中で成果物のイメージがあると、想定と違う≒間違いを検出できる&lt;/li>
&lt;li>AIの間違いでなくとも、自分の間違いに対してその対応で問題ないかのチェックができる&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>自分が分からないことを任せない
&lt;ul>
&lt;li>成果物が正しいのか判断できなければ成果物として成り立たない&lt;/li>
&lt;li>分からないなら分かるまで壁打ちしたから目的の成果物作成を任せる&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;h2 id="6-ただ裏では">6. ただ裏では&lt;/h2>
&lt;p>ここまでAIを信頼できる状態になっているのは、単にAIの進化だけが要因ではない。
裏で有識者がAGENTS.mdの調整や適切なSkillsの導入をしていることも大きな要因になっている。
なので、単に使い方を工夫するだけでは足りず、AGENTS.mdの書き方やSkillsに対する知識も付ける必要がある。&lt;/p>
&lt;p>&lt;img src="./images/maintenance.png" alt="裏では">&lt;/p>
&lt;h2 id="7-まとめ">7. まとめ&lt;/h2>
&lt;ul>
&lt;li>AIは日々進化しており信頼できる相棒足りえる&lt;/li>
&lt;li>現状分析・コーディングレベルの作業はAIの生産性には勝てない&lt;/li>
&lt;li>人に必要な能力
&lt;ul>
&lt;li>成果物を明確にイメージして具体的にAIへ伝える&lt;/li>
&lt;li>アウトプットと成果物イメージに差異がないか見極める&lt;/li>
&lt;li>AIの基本設定を行える&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul></description></item><item><title>昔は曖昧だと止まった。今は曖昧でも進む。だからAI時代の方が危ない</title><link>https://tech.feature-branch.co.jp/posts/2026/03/translating-specs-for-humans-and-ai/</link><pubDate>Sun, 29 Mar 2026 09:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/03/translating-specs-for-humans-and-ai/</guid><description>&lt;h1 id="昔は曖昧だと止まった今は曖昧でも進むだからai時代の方が危ない">昔は曖昧だと止まった。今は曖昧でも進む。だからAI時代の方が危ない&lt;/h1>
&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>AIを使うと、仕事が前に進む速度は確かに上がります。&lt;/p>
&lt;p>コードのたたき台を作る。文章を整理する。調査の出発点を作る。ひと昔前なら半日かかったことが、数分で返ってくることもあります。&lt;/p>
&lt;p>そこは本当に便利です。&lt;/p>
&lt;p>でも、その便利さの裏に少し怖さがあります。&lt;/p>
&lt;p>&lt;img src="./images/ai-laptop-chatgpt.jpg" alt="ノートPCでAIと対話しながら作業する様子">&lt;/p>
&lt;p>昔、ある自動車メーカー向けのCAD関連の仕事で、車体がたわんだときに、ある部品の曲面が別の部品にどう影響するかを計算する処理を作ったことがありました。&lt;/p>
&lt;p>CGっぽく言うと、あるボディパネルの影が別のパネルのどこに落ちるか、みたいな計算です。担当の数学者が提示した式を、私がコンピュータで動く形に落とし込んでいました。&lt;/p>
&lt;p>&lt;img src="./images/car-design-centre.jpg" alt="自動車設計の現場をイメージしやすい車のデザイン風景">&lt;/p>
&lt;p>ところが、どうしても収束しないケースが出ました。&lt;/p>
&lt;p>当然、最初は自分の実装ミスを疑いました。でも調べていくと、実装ではなく、渡されていた計算式のほうに問題があったんです。修正案とエビデンスをそろえて担当数学者に確認し、最終的に必要な機能を満たす形に直しました。&lt;/p>
&lt;p>CGなら、ある程度それっぽく見えれば許される場面もあるかもしれません。でも、自動車の部品ではそうはいきません。人を乗せて走るものだからです。&lt;/p>
&lt;p>この件を振り返って今強く思うのは、昔の開発は、曖昧さや不具合があると途中で止まるしかなかった、ということです。&lt;/p>
&lt;p>人が確認に入る。検証で矛盾が見つかる。計算が収束しない。つまり、曖昧さが早い段階で露出しやすかった。&lt;/p>
&lt;p>ところが今は、AIがそこをそれっぽく埋めて前へ進めてしまいます。止まらない。速い。しかも、見た目もそれなりに整っている。&lt;/p>
&lt;p>だから私は、AI時代は楽になった部分もある一方で、仕様を伝える難しさはむしろ上がったと思っています。&lt;/p>
&lt;h2 id="1-昔は曖昧さがあると止まった">1. 昔は、曖昧さがあると止まった&lt;/h2>
&lt;p>昔の開発環境は、今のように気軽ではありませんでした。&lt;/p>
&lt;ul>
&lt;li>計算資源が限られていた&lt;/li>
&lt;li>実行確認の回数も少なかった&lt;/li>
&lt;li>一回の手戻りが重かった&lt;/li>
&lt;/ul>
&lt;p>そんな環境では、「まあ、だいたいこういう意味だろう」で進めるのは危険でした。&lt;/p>
&lt;p>数学者や物理学者が考えた内容を、そのまま機械が理解してくれるわけではありません。考え方を整理し、前提を確認し、条件を明文化し、コンピュータが処理できる形に落とし込む必要がありました。&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;/p>
&lt;p>計算結果が合わない。検証で再現しない。レビューで説明できない。曖昧な部分が、そのまま手戻りや停止として返ってきたのです。&lt;/p>
&lt;p>しかも重要なのは、通訳する側が単に受け取って流すだけでは足りなかったことです。成立しているか、破綻しないか、要求を満たすかまで見ないと仕事になりませんでした。&lt;/p>
&lt;p>今振り返ると、あの時代に必要だったのは「賢い人の頭の中にあるものを、曖昧さの少ない仕事の言葉に変えること」であり、同時に「それが本当に成り立つかを検証すること」でもありました。&lt;/p>
&lt;h2 id="2-今は曖昧でも進んでしまう">2. 今は、曖昧でも進んでしまう&lt;/h2>
&lt;p>今はそこにAIが加わりました。&lt;/p>
&lt;p>AIは便利です。ですが、読心術は使えません。&lt;/p>
&lt;p>こちらが言っていない前提は、本来分からないはずです。それでもAIは、足りない部分を推測して、それっぽく補い、もっともらしい答えを返します。&lt;/p>
&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;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&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>これでもAIは何かしら返してきます。&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;li>何を確認したら完了なのか&lt;/li>
&lt;/ul>
&lt;p>人間の実装者なら、「情報が足りません」と聞き返してくれるかもしれません。ところがAIは、そこを自分で埋めて進みがちです。&lt;/p>
&lt;p>ここが便利さであり、同時に危なさでもあります。&lt;/p>
&lt;p>昔は曖昧だと止まりました。&lt;br>
今は曖昧でも進みます。&lt;/p>
&lt;p>進むこと自体は良いのですが、正しい方向に進んでいるとは限りません。&lt;/p>
&lt;p>しかもAIは速いので、ズレた前提のまま成果物が量産されやすい。これが人間相手より厄介だと感じる理由です。&lt;/p>
&lt;h2 id="3-危ないのは間違うことより間違ったまま進むこと">3. 危ないのは「間違うこと」より「間違ったまま進むこと」&lt;/h2>
&lt;p>人間もAIも間違えます。そこ自体は新しい話ではありません。&lt;/p>
&lt;p>でもAI時代に少し怖いのは、間違いが露出しにくいことです。&lt;/p>
&lt;p>コンパイルエラーのように止まってくれれば気づけます。レビューで「この前提は違います」と返ってくれば立て直せます。&lt;/p>
&lt;p>ところがAIは、ある程度もっともらしい文章、コード、設計案を返してきます。見た目が整っているので、「とりあえず前に進んだ感」が出てしまう。&lt;/p>
&lt;p>私は、ここにAI時代の落とし穴があると思っています。&lt;/p>
&lt;p>危ないのは、AIが間違うことそのものではありません。曖昧な依頼でも、止まらず、確認もせず、もっともらしく前へ進んでしまうことです。&lt;/p>
&lt;p>昔の不便な環境には、皮肉にも安全装置がありました。曖昧さや不具合があると、収束しない、説明できない、検証で落ちるといった形で止まりやすかったからです。&lt;/p>
&lt;p>今は便利になったぶん、その安全装置が弱くなったとも言えます。&lt;/p>
&lt;h2 id="4-では何が必要なのか">4. では、何が必要なのか&lt;/h2>
&lt;p>ここで必要になるのは、魔法のようなプロンプトではないと思っています。&lt;/p>
&lt;p>必要なのは、昔からある基本です。曖昧な仕事を、相手に渡せる仕様へ変換することです。&lt;/p></description></item><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>2ターン設計で精度を上げる：VSCode×Codexのやりとり術</title><link>https://tech.feature-branch.co.jp/posts/2026/01/two-turn-codex-vscode/</link><pubDate>Thu, 22 Jan 2026 10:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/01/two-turn-codex-vscode/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>「VSCodeからCodexにお願いしたけど、意図とズレた」――そんな経験はありませんか。私自身、短く書くと精度が落ち、長く書くと伝える内容が散らばることがありました。&lt;/p>
&lt;p>そこで効果があったのが&lt;strong>2ターン設計&lt;/strong>です。1回目で前提を確認し、2回目で実行に移す。たったそれだけで、精度と納得感が上がりました。この記事では、VSCode×Codexで使える「2ターンの型」を整理します。&lt;/p>
&lt;p>&lt;img src="./images/Gemini_Generated_Image_8824fu8824fu8824.png" alt="VS Code×Codex 2ターンの型">&lt;/p>
&lt;h2 id="1-なぜ1回でうまくいかないのか">1. なぜ1回でうまくいかないのか&lt;/h2>
&lt;p>LLMは文脈が不足していると、良い推測はしても&lt;strong>本当に欲しい答え&lt;/strong>に辿り着けないことがあります。公式のプロンプト指針でも「目的・制約・期待する出力」を明確に伝えることが推奨されています&lt;sup id="fnref:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。&lt;/p>
&lt;p>つまり、1回目の指示で「必要な前提が足りているか」を確かめるだけで、2回目の成功率が大きく上がります。&lt;/p>
&lt;h2 id="2-2ターン設計の全体像">2. 2ターン設計の全体像&lt;/h2>
&lt;p>2ターン設計は、**確認（Turn 1）→実行（Turn 2）**の流れです。会話の段階を明確にするだけで、やりとりが安定します。&lt;/p>
&lt;pre class="mermaid">flowchart LR
 A[Turn 1: 調査・前提確認] --> B[Turn 2: 実装・反映]
&lt;/pre>
&lt;h3 id="turn-1-調査前提確認">Turn 1: 調査・前提確認&lt;/h3>
&lt;p>このターンでは、**「何を、どこまで、どういう形で」**を固めます。足りない情報があれば質問してもらい、必要な前提を揃えるのが目的です。質問してから進めるスタイルは公式例でも推奨されています&lt;sup id="fnref:3">&lt;a href="#fn:3" class="footnote-ref" role="doc-noteref">3&lt;/a>&lt;/sup>。&lt;/p>
&lt;h3 id="turn-2-実装反映">Turn 2: 実装・反映&lt;/h3>
&lt;p>Turn 1で前提が揃ったら、実装・修正・整理などを依頼します。ここでは&lt;strong>作業のゴール&lt;/strong>と&lt;strong>受け入れ条件&lt;/strong>が明確になっていることが大事です。&lt;/p>
&lt;h2 id="3-turn-1のテンプレそのまま使える">3. Turn 1のテンプレ（そのまま使える）&lt;/h2>
&lt;p>短くてもよいので、次の項目を伝えると迷いが減ります。&lt;/p>
&lt;ul>
&lt;li>目的&lt;/li>
&lt;li>変更範囲&lt;/li>
&lt;li>期待する出力&lt;/li>
&lt;li>制約（触らない場所、守るルール）&lt;/li>
&lt;li>参照してほしいファイル&lt;/li>
&lt;/ul>
&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-text" data-lang="text">&lt;span class="line">&lt;span class="cl">目的: 画面の表示崩れを直したい
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">変更範囲: @src/pages/order-detail/ だけ
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">期待出力: レイアウトが崩れずに表示されること
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">制約: UIの文言は変更しない
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">参照: @src/pages/order-detail/index.tsx
&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;strong>先にフェーズを指定&lt;/strong>することです。これだけで、いきなり修正を始めるリスクが減ります。&lt;/p>
&lt;h2 id="4-turn-2のテンプレ承認してから実行">4. Turn 2のテンプレ（承認してから実行）&lt;/h2>
&lt;p>Turn 2では「OK、やってください」を明示します。明確な実行依頼が推奨されることは公式のベストプラクティスでも触れられています&lt;sup id="fnref1:1">&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref">1&lt;/a>&lt;/sup>&lt;sup id="fnref1:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。&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;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&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">- 差分を最後にまとめてください
&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>【実践】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>頭脳 vs 手足：Claude Code（Opus 4.5）とCodex CLI（GPT-5.2）徹底比較</title><link>https://tech.feature-branch.co.jp/posts/2026/01/claude-code-vs-codex-cli/</link><pubDate>Tue, 06 Jan 2026 12:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2026/01/claude-code-vs-codex-cli/</guid><description>&lt;h2 id="はじめに">はじめに&lt;/h2>
&lt;p>2025年末から2026年にかけて、AIコーディングツールは新たなステージに突入しました。AnthropicのClaude Code（Opus 4.5）とOpenAIのCodex CLI（GPT-5.2）は、どちらも「AIエージェントが自律的にコードを書く」時代を切り開いています。&lt;/p>
&lt;p>しかし、この2つのツールは設計思想が根本的に異なります。本記事では、**「頭脳 vs 手足」**という独自の視点からこの2大ツールを比較し、それぞれの強みと使い分けのポイントを解説します。&lt;/p>
&lt;!-- TODO: Nano Banana Pro挿絵 - 左側に大きな脳（GPT-5.2を象徴）、右側にロボットアーム（Claude Codeを象徴）が描かれた対比イラスト、テック風のフラットデザイン -->
&lt;h2 id="1-両ツールの概要">1. 両ツールの概要&lt;/h2>
&lt;p>まずは、それぞれのツールの基本的な特徴を押さえておきましょう。&lt;/p>
&lt;h3 id="11-claude-code--opus-45">1.1 Claude Code + Opus 4.5&lt;/h3>
&lt;p>Claude Codeは、Anthropicが提供するAIコーディングエージェントです。2025年11月にリリースされたOpus 4.5モデルと組み合わせることで、「世界最高のAIコーディングツール」を謳っています&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;/p>
&lt;ul>
&lt;li>&lt;strong>ローカルファースト設計&lt;/strong>: ターミナルやIDEに直接統合され、開発者のワークフローに溶け込む&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;/ul>
&lt;h3 id="12-codex-cli--gpt-52">1.2 Codex CLI + GPT-5.2&lt;/h3>
&lt;p>Codex CLIは、OpenAIが提供するオープンソースのAIコーディングエージェントです。GPT-5.2-Codexは、複雑なソフトウェアエンジニアリングタスクに最適化された専用モデルで、2025年12月にリリースされました&lt;sup id="fnref:2">&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref">2&lt;/a>&lt;/sup>。&lt;/p>
&lt;p>主な特徴は以下の通りです。&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>: テスト中に7時間以上連続して複雑なタスクに取り組んだ実績&lt;/li>
&lt;li>&lt;strong>サイバーセキュリティ強化&lt;/strong>: CTFチャレンジでの高精度を実証&lt;/li>
&lt;/ul>
&lt;h2 id="2-頭脳-vs-手足の比較軸">2. 「頭脳 vs 手足」の比較軸&lt;/h2>
&lt;p>ここで本記事の核心となる比較軸を紹介します。&lt;/p>
&lt;table>
 &lt;thead>
 &lt;tr>
 &lt;th>観点&lt;/th>
 &lt;th>GPT-5.2 Codex（頭脳型）&lt;/th>
 &lt;th>Claude Code + Opus 4.5（手足型）&lt;/th>
 &lt;/tr>
 &lt;/thead>
 &lt;tbody>
 &lt;tr>
 &lt;td>設計思想&lt;/td>
 &lt;td>「深く考える」ことに最適化&lt;/td>
 &lt;td>「精密に実行する」ことに最適化&lt;/td>
 &lt;/tr>
 &lt;tr>
 &lt;td>強み&lt;/td>
 &lt;td>巨大なコンテキスト、長時間思考&lt;/td>
 &lt;td>ローカル統合、ツール操作の精度&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="21-gpt-52-codex賢い頭脳">2.1 GPT-5.2 Codex：「賢い頭脳」&lt;/h3>
&lt;p>GPT-5.2 Codexは、まさに**「頭脳派」**のAIエージェントです。&lt;/p></description></item><item><title>GPTとChatGPT入門（発表用スピーカーノート）</title><link>https://tech.feature-branch.co.jp/posts/2025/12/about-gpt/</link><pubDate>Wed, 17 Dec 2025 00:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2025/12/about-gpt/</guid><description>&lt;h1 id="gptとchatgpt入門">GPTとChatGPT入門&lt;/h1>
&lt;h2 id="発表時に話すためのスピーカーノート">発表時に話すためのスピーカーノート&lt;/h2>
&lt;p>※このファイルは &lt;strong>スライドに書く文章ではなく、発表時に話す内容&lt;/strong> です。&lt;/p>
&lt;hr>
&lt;h2 id="概要">概要&lt;/h2>
&lt;p>今日は、GPTとChatGPTについて&lt;br>
できるだけ &lt;strong>専門用語を使わずに&lt;/strong>、イメージしやすく説明します。&lt;/p>
&lt;p>GPTは、人間のように理解して考えているAIに見えるかもしれませんが、&lt;br>
実際には &lt;strong>文章の流れから、次に来そうな言葉を予測して文章を作る仕組み&lt;/strong> です。&lt;/p>
&lt;p>この発表では、&lt;/p>
&lt;ul>
&lt;li>GPTとは何か&lt;/li>
&lt;li>ChatGPTとの違い&lt;/li>
&lt;li>そして日常や仕事でどう使えるか&lt;/li>
&lt;/ul>
&lt;p>この3点を押さえていきます。&lt;/p>
&lt;hr>
&lt;h2 id="1-gptとは何か">1. GPTとは何か&lt;/h2>
&lt;p>まず、GPTという名前の意味からです。&lt;/p>
&lt;p>GPTは&lt;br>
&lt;strong>Generative Pre-trained Transformer&lt;/strong> の略です。&lt;/p>
&lt;ul>
&lt;li>
&lt;p>&lt;strong>Generative（生成）&lt;/strong>&lt;br>
新しい文章を作り出せる、という意味です。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Pre-trained（事前学習済み）&lt;/strong>&lt;br>
あらかじめ大量の文章を読んで、知識を身につけている、という意味です。&lt;/p>
&lt;/li>
&lt;li>
&lt;p>&lt;strong>Transformer&lt;/strong>&lt;br>
言葉と言葉の関係を理解するためのAIの仕組みです。&lt;/p>
&lt;/li>
&lt;/ul>
&lt;p>つまりGPTは、&lt;br>
たくさんの文章で事前に学習したうえで、&lt;br>
新しい文章を作り出せるAIだと考えてください。&lt;/p>
&lt;hr>
&lt;h2 id="2-gptは実際に何をしているか">2. GPTは実際に何をしているか&lt;/h2>
&lt;p>次に、GPTが実際に何をしているかです。&lt;/p>
&lt;p>やっていることは、とてもシンプルです。&lt;/p>
&lt;p>「この文章の流れなら、次にどんな言葉が来そうか？」&lt;br>
これを &lt;strong>ひたすら予測し続けている&lt;/strong> だけです。&lt;/p>
&lt;p>スマートフォンの予測変換が、&lt;br>
とても賢くなったものを想像すると分かりやすいと思います。&lt;/p>
&lt;p>GPTは、人間のように意味を理解して考えているわけではなく、&lt;br>
&lt;strong>文章を自然につなげている&lt;/strong> だけです。&lt;/p>
&lt;hr>
&lt;h2 id="3-gptの得意なこと苦手なこと">3. GPTの得意なこと・苦手なこと&lt;/h2>
&lt;p>GPTには、はっきりとした得意・不得意があります。&lt;/p>
&lt;p>得意なことは、&lt;br>
長い文章の要約、翻訳や言い換え、&lt;br>
説明文やメールの作成、アイデア出し、&lt;br>
プログラミングの補助などです。&lt;/p>
&lt;p>一方で苦手なことは、&lt;br>
事実の正確性を保証すること、&lt;br>
最新の情報を把握すること、&lt;br>
あいまいな指示を正しく理解することです。&lt;/p>
&lt;p>そのためGPTは、&lt;br>
&lt;strong>答えを決める存在ではなく、人を助ける道具&lt;/strong> として使うのが重要です。&lt;/p>
&lt;hr>
&lt;h2 id="4-gptとchatgptの違い">4. GPTとChatGPTの違い&lt;/h2>
&lt;p>GPTとChatGPTは、名前が似ているのでよく混同されますが、役割が違います。&lt;/p>
&lt;p>GPTは、文章を生成する &lt;strong>中身の技術&lt;/strong> です。&lt;br>
ChatGPTは、そのGPTを &lt;strong>誰でも使いやすくしたアプリケーション&lt;/strong> です。&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>