<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>コミュニケーション on Feature Branch Tech Blog</title><link>https://tech.feature-branch.co.jp/tags/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/</link><description>Recent content in コミュニケーション 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/%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/index.xml" rel="self" type="application/rss+xml"/><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>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>多様なチームを動かす「共通言語」としてのロジック</title><link>https://tech.feature-branch.co.jp/posts/2025/12/the-basic-of-communication/</link><pubDate>Sat, 20 Dec 2025 10:00:00 +0900</pubDate><guid>https://tech.feature-branch.co.jp/posts/2025/12/the-basic-of-communication/</guid><description>&lt;h1 id="多様なチームを動かす共通言語としてのロジック">多様なチームを動かす「共通言語」としてのロジック&lt;/h1>
&lt;blockquote>
&lt;p>&lt;strong>〜プロジェクトを通して再認識した、コミュニケーションの基礎〜&lt;/strong>&lt;/p>
&lt;/blockquote>
&lt;h2 id="0-はじめに">0. はじめに&lt;/h2>
&lt;p>現在のプロジェクトは、「国籍・会社・業務経験」がバラバラな混成チームです。そこで痛感したのは、これまでの阿吽（あうん）の呼吸」や「言わなくてもわかるだろう」という甘えは、多様なメンバー間ではリスクでしかないということです。&lt;/p>
&lt;p>背景が違う者同士が最短距離で成果を出すために必要なのは、感情やニュアンスではなく &lt;strong>「ロジック（論理）」という共通言語&lt;/strong> でした。今回は、私が現場で学び直したコミュニケーションの3つの基礎を共有します。&lt;/p>
&lt;hr>
&lt;h2 id="1-相手の期待値を把握するゴールの定義">1. 相手の期待値を把握する（ゴールの定義）&lt;/h2>
&lt;p>コミュニケーションの失敗の多くは、「何を話すか」ではなく &lt;strong>「相手が何を求めているか」のズレ&lt;/strong> から起こります。&lt;/p>
&lt;h3 id="期待値を外さないための3ステップ">期待値を外さないための3ステップ&lt;/h3>
&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;/ol>
&lt;h3 id="事例目的を持つ話し方">事例：目的を持つ話し方&lt;/h3>
&lt;p>&lt;strong>NG&lt;/strong>：「この改修、なるはやでいい感じにお願い」&lt;br>
&lt;strong>結果&lt;/strong>：1週間後に「期待と全く違うもの」が出てくる&lt;br>
&lt;strong>OK&lt;/strong>：「目的は明朝のデモ用。範囲はログイン画面のみ。精度はモックレベルでOK。今日の18時に一度見せて」&lt;br>
&lt;strong>Point&lt;/strong>：&lt;strong>「何を・いつまでに・どのレベルで」&lt;/strong> を定義する。ロジカルシンキングの基本「目的の明確化」を徹底します。&lt;/p>
&lt;hr>
&lt;h2 id="2-質問を正しく理解する問いの構造化">2. 質問を正しく理解する（問いの構造化）&lt;/h2>
&lt;p>相手の言葉を自分の勝手な解釈で受け取らず、論点を整理して打ち返します。&lt;/p>
&lt;h3 id="事例質問の型を把握した上で話す">事例：質問の型を把握した上で話す&lt;/h3>
&lt;p>&lt;strong>不透明なやり取り&lt;/strong>&lt;br>
&lt;strong>メンバー&lt;/strong>: 「仕様、A案とB案どちらがいいですかね？」&lt;br>
&lt;strong>PL&lt;/strong>: 「Aの方がユーザーには親切かな。あ、でもBの方が実装は楽だよね。検討してみて。」&lt;br>
&lt;strong>結果&lt;/strong>: メンバーは「判断」を求めているのに、PLが「感想」を返したため、意思決定が停滞する。&lt;/p>
&lt;p>&lt;strong>ロジックによる構造化&lt;/strong>&lt;br>
&lt;strong>PL&lt;/strong>: 「 &lt;strong>『どちらにするか、今、私が判断すべきか？』&lt;/strong> という質問ですね。結論、Aで行きます。」&lt;br>
&lt;strong>理由&lt;/strong>: 「今回の最優先事項が『UX向上』だからです。工数増はスケジュール側で私が吸収します。」&lt;br>
&lt;strong>Point&lt;/strong>: 相手の問いを「事実の確認」なのか「意思決定の依頼」なのか構造的に捉える。&lt;/p>
&lt;hr>
&lt;h2 id="3-talk-straight-で話す結論と根拠の提示">3. Talk Straight で話す（結論と根拠の提示）&lt;/h2>
&lt;p>背景が違うからこそ、遠回しな表現は「ノイズ」になります。&lt;strong>まず結論から話すこと&lt;/strong>が、チームに対する最大の誠実さです。&lt;/p>
&lt;h3 id="事例進捗確認への回答">事例：進捗確認への回答&lt;/h3>
&lt;p>&lt;strong>NG（状況が見えない）&lt;/strong>
「あー、API連携の件ですね。一応メールはしたんですけど、時差もあって返信がまだで。マニュアルも読んだんですが、仕様が特殊みたいで……。まあ、週明けにはなんとか……」&lt;/p>
&lt;p>&lt;strong>OK（Talk Straight）&lt;/strong>&lt;br>
「結論から言うと、&lt;strong>API連携の実装は現在ストップしています。&lt;/strong>」&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>: 昨夜から回答待ち状態です。経験上、回答に3日はかかるため、その間は別タスクを優先します。&lt;/li>
&lt;/ol>
&lt;hr>
&lt;p>&lt;strong>Point： 結論から話す (PREP法)&lt;/strong>
結論（Point）→ 理由（Reason）→ 具体例（Example）→ 結論（Point）の順で構成し、相手の脳の負担を減らします。&lt;/p></description></item></channel></rss>