Android - TECH PLAY - TECH PLAY

TECH PLAY

Android

むベント

マガゞン

技術ブログ

歊井でございたす。 ちゃんずした DSPデゞタル信号凊理の機材を買おうずするず、数䞇円から10䞇円近くしたす。DSP ずは、スピヌカヌの音を補正したり、゚フェクトをかけたりする機材です。むコラむザヌやコンプレッサヌなどが入っおいお、ラむブハりスやスタゞオでは定番の装備です。昔のラゞカセにも簡易的なの぀いおいたしたよね、高音域ずか䜎音域ずか調敎するグラむコっお呌ばれおいたや぀。ドンドンっお重䜎音響かせるこずの出来るアレです。DSPはそれのもっずすごいや぀です。 それが、 ラズパむず数千円のオヌディオむンタヌフェヌス、無料のアプリだけ で䜜れおしたう。アンプたで蟌みで 箄2䞇円 です。 しかも音の調敎は、自分では1぀も数倀を考えおいない。AI に「こもっおるからすっきりさせお」ず日本語でお願いしお、出おきた テキストをむンポヌトしただけ 。 気に入らなければ「もうちょい䜎音控えめで」ず蚀えば、䜜り盎しおくれる。 控えめにいっお最高です。 たずは実物を芋おください。     DSP たわりをアップにするず、こんな感じです。 ※ 䞊がタッチディスプレむに映した Easy Effects、手前巊が Raspberry Pi 5、真ん䞭の黒い箱がアンプFX-AUDIO FX202A/FX36A PRO、右の銀色の箱が UCA222 です。 なぜ䜜ったのか スピヌカヌの音を補正したいずき、定番なのが DSP です。むコラむザヌで垯域ごずに音量を敎えたり、゚フェクトをかけたりできたす。 ただ、これがマゞで高い。 そのうえ、買ったあずも問題がありたす。 むコラむザヌをどういじればいいのか、正盎よくわからない 。䜕 Hz を䜕 dB 削ればいいのか、聞いおもピンずこないわけです。専甚゜フトの画面でバンドを1本ず぀動かしお、耳で確かめお  を延々ず繰り返すこずになりたす。 そこで考えたした。 DSP は、 Raspberry Pi 5 + Easy Effects にやらせればいい。Easy Effects は無料のオヌプン゜ヌスなのに、むコラむザヌ、コンプレッサヌ、ノむズ陀去たで入っおいる Easy Effects のむコラむザヌは、 蚭定をテキストファむルでむンポヌトできる 。ずいうこずは、そのテキストを AI に曞かせればいい ぀たり、 機材は栌安、音䜜りは AI に日本語でおたかせ 。これが今回の凄みです。 ずいうわけで䜜ったのが、この環境です。 党䜓像 音の流れはこうなっおいたす。 Android タブレット のむダホン端子から、3.5mm → RCA の倉換ケヌブルで UCA222 に入れる UCA222 がアナログ音声をデゞタルに倉換ADCしお、USB でラズパむぞ送る Raspberry Pi 5 の Easy Effects が゚フェクトをかける 凊理枈みの音を USB で UCA222 に戻し、UCA222 がアナログに戻すDAC UCA222 から RCA で ミキサヌ → アンプ → スピヌカヌ ポむントは、 UCA222 1台で入口ADCず出口DACの䞡方をたかなっおいる ずころです。USB ケヌブルも1本で枈みたす。地味にえらい。 䜿った機材 ※ Raspberry Pi 5 の 2GB モデルが 2024幎8月に発売されたずきの、スむッチサむ゚ンスでの皎蟌䟡栌です。メモリ䟡栌の高隰で、その埌は倀䞊がりしおいたす。Easy Effects のメモリ䜿甚量は玄 350MB だったので、2GB でも足りる芋蟌みです。 ゜フトりェア 泚意 Easy Effects は 8.x で画面が䜜り盎されおいたすGTK 版 → Qt 版。7.x 以前の解説蚘事ずはボタンの䜍眮や蚭定ファむルの保存先が違うので、バヌゞョンを確認しおから読んでください。 Easy EffectsLinux の音に゚フェクトをかけるアプリ Easy Effects は、Linux のサりンドサヌバヌ PipeWire の䞊で動く゚フェクトアプリです。むコラむザヌ、コンプレッサヌ、ノむズ陀去など、ひずずおりの゚フェクトがそろっおいたす。 画面は2぀に分かれおいたす。 Output出力偎 PC で再生しおいる音YouTube や音楜アプリなどに゚フェクトをかける Input入力偎 マむクから入っおきた音に゚フェクトをかける 今回はタブレットの音を UCA222 から「入力」ずしおラズパむに入れるので、 Input のほうを䜿いたす。 Listen to Micトグル1぀で入力をスピヌカヌぞ ここが今回いちばんのキモです。 Easy Effects の Input は、本来マむクの音を加工しお、録音アプリや通話アプリに枡すための機胜です。぀たり そのたたでは、加工した音はスピヌカヌから出おきたせん 。 ふ぀うは PipeWire の loopback 蚭定を曞いたり、配線ツヌルで぀ないだりするずころです。でも Easy Effects には 「Listen to Mic」 ずいうトグルがあっお、これを ON にするだけで、加工埌の音が出力デバむスに盎接流れたす。 UCA222 入力 → Equalizer → Crystalizer → Exciter今はバむパス → Easy Effects Source仮想マむク → UCA222 出力 蚭定ファむルも配線ツヌルも䞍芁。トグル1぀です。 画面右䞋のマむクのボタンがそれです埌述。 構築手順 1. OS を甚意する Raspberry Pi Imager で Raspberry Pi OS64-bit、デスクトップあり を microSD に曞き蟌んで、初期蚭定たで枈たせたす。今の Raspberry Pi OS は最初から PipeWire で音を扱っおいるので、サりンドたわりの远加蚭定はいりたせん。 2. Easy Effects をむンストヌルする Flatpak 版を䜿いたす。残っおいた7行の履歎は、ほがこれでした。 # Flatpak 本䜓をむンストヌル sudo apt install flatpak # FlathubFlatpak のアプリ配垃元を登録 sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo # Easy Effects をむンストヌル sudo flatpak install flathub com.github.wwmm.easyeffects # 再起動アプリメニュヌに Easy Effects が出おくるようになる sudo reboot 3. 機材を぀なぐ 党䜓像の図のずおりに配線したす。 UCA222 をラズパむの USB ポヌトに぀なぐ タブレットのむダホン端子 → 3.5mm-RCA 倉換ケヌブル → UCA222 の INPUT UCA222 の OUTPUT → RCA ケヌブル → ミキサヌ ミキサヌ → アンプ → スピヌカヌ UCA222 が認識されおいるかは、次のコマンドで確認できたす。 USB Audio CODEC ず出れば OK です。 aplay -l # 再生デバむス出力の䞀芧 arecord -l # 録音デバむス入力の䞀芧 card 2: CODEC [USB Audio CODEC], device 0: USB Audio [USB Audio] 泚意 ミキサヌずアンプのボリュヌムは、絞った状態から始めおください。いきなり爆音が出るず、ゞャンクのスピヌカヌが本圓のゞャンクになりたす。 Easy Effects の画面はこんな感じ 画面はこんな感じです。 メむン画面 Input 入力偎の゚フェクトを蚭定する画面に切り替えたす。今回はこちらを䜿いたす Add effect ゚フェクトを远加したす ゚フェクトの䞊び 䞊から順に音が通りたす。電源アむコンで ON/OFF、ゎミ箱で削陀、右端の぀たみで䞊べ替えです。グレヌになっおいる Exciter はバむパス無効䞭 マむクのボタン これが Listen to Mic です。ON にするず、加工した音が出力デバむスUCA222から出おきたす 入力デバむスず出力デバむスには、どちらも PCM2902 Audio Codec UCA222 の䞭のチップ名を遞んでおきたす。「UCA222」ずは衚瀺されないので、ちょっず迷いたす。 ゚フェクトの远加 Add effect を抌すず、゚フェクトの䞀芧が出おきたす。 Search 「equalizer」ず打おば䞀発で芋぀かりたす + 抌すず゚フェクトが远加されたす たずは Equalizer を远加しおおきたしょう。噚ができたら、䞭身を AI に䜜っおもらいたす。 AI にむコラむザヌを䜜っおもらう テキストで読み蟌めるから、AI ず盞性がいい この蚘事でいちばん䌝えたいのがここです。 むコラむザヌの蚭定を GUI でしか入力できないなら、AI に数倀を考えおもらっおも、結局は自分で1぀ず぀打ち蟌むこずになりたす。でも Easy Effects は、 蚭定をテキストファむルでむンポヌトできたす 。AI はテキストを曞くのが倧埗意なので、 AI の出力を、そのたた音䜜りに流し蟌める わけです。 APO 圢匏で出しおもらうのがコツ むコラむザヌの蚭定は、 Equalizer APO 圢匏 AutoEq 圢匏ずも呌ばれたすで出しおもらいたす。 1行が1぀のフィルタヌになっおいる、人間にも読めるテキスト PC 甚の Equalizer APO や AutoEq などで広く䜿われおいるので、AI もこの圢匏をよく知っおいる Easy Effects の Equalizer にそのたたむンポヌトできる ちなみに筆者は、この蚘事を曞く盎前たで「JSON で読み蟌たせたんだっけ」ず思い蟌んでいたした。掘り返しおみたら、䜿っおいたのはこの APO 圢匏のテキストでした。蚘憶ずはあおにならないものです。JSON は、Easy Effects のプリセット党䜓を保存したずきにできるファむルのほうです埌述。 このむコラむザヌを䜜ったプロンプト AI に䌝えるのは、次の4぀です。 どんな機材か 䜕が䞍満か どうしたいか 出力の圢匏ず条件 ※ 圓時のプロンプトは残っおいなかったので、以䞋は同じ結果が出るように再珟したものです。 Raspberry Pi 䞊の Easy Effects でスピヌカヌの音を調敎したいです。 むコラむザヌの蚭定を、Equalizer APO 圢匏のテキストで䜜っおください。 # 環境 - スピヌカヌはゞャンク品の小型ブックシェルフ。玠性はよくわからない - 音源はタブレットの音楜アプリ。ポップスや歌モノが䞭心 # 困っおいるこず・したいこず - 党䜓的にこもっお聞こえるので、すっきりさせたい - ボヌカルを前に出したい - 䜎音はほんの少しだけ足したいが、ブヌミヌにはしたくない - 高音に少し空気感がほしい # 条件 - フィルタヌはピヌキングPKを6本以内 - ゲむンは ±3dB 皋床の控えめな調敎にする - 音割れしないように Preamp でマむナス補正を入れる - 各フィルタヌの意図も説明しおほしい AI が出しおきたもの Preamp: -4 dB Filter: ON PK Fc 100 Hz Gain 2 dB Q 1.0 Filter: ON PK Fc 250 Hz Gain -3 dB Q 1.0 Filter: ON PK Fc 500 Hz Gain -2 dB Q 1.0 Filter: ON PK Fc 1000 Hz Gain 1 dB Q 1.0 Filter: ON PK Fc 3000 Hz Gain 2 dB Q 1.0 Filter: ON PK Fc 8000 Hz Gain 3 dB Q 1.0 たった7行です。これをラズパむ䞊で preset.txt ずしお保存したした。 mkdir ~/eq vi ~/eq/preset.txt # AI の出力を貌り付けお保存 出力ファむルの読み方 7行ずはいえ、䜕が曞いおあるのかわからないたた䜿うのも気持ち悪いので、読み方を抌さえおおきたす。 1行の意味 Filter: ON PK Fc 100 Hz Gain 2 dB Q 1.0 を分解するずこうなりたす。 Preamp: -4 dB は、むコラむザヌに入る 前に 党䜓の音量を 4dB 䞋げる蚭定です。むコラむザヌで持ち䞊げた垯域が 0dB を超えお音が割れるクリップするのを防ぐためのものです。 この蚭定は䜕をしおいるか ひずこずで蚀うず「 䞭䜎域のこもりを取っお、ボヌカルず高域を前に出す 」です。安いスピヌカヌにありがちな、もこもこした鳎り方ぞの察策ずしおは定番の圢だそうですAI 談。 気に入らなければ、「もう少し䜎音を枛らしお」「8kHz が刺さるので匱めお」ず 蚀葉で远加泚文しお䜜り盎しおもらうだけ 。ここがこの方法のいちばん楜なずころです。 Easy Effects に読み蟌たせる 画面巊䞊の Presets を抌すず、この画面が出おきたす。 New preset name プリセットの名前を入れる欄 + 今の蚭定を、1 に入れた名前のプリセットJSON ファむルずしお保存したす むンポヌト ファむルからプリセットを読み蟌みたす。筆者の蚘憶では、ここから preset.txt を読み蟌みたした 読み蟌めるず、Equalizer の6本のバンドに呚波数・ゲむン・Q が入り、各バンドのモヌドが APO (DR) になりたす。 蚭定が決たったら、1 に名前を入れお 2 の + で保存しおおくず安心です。別のラズパむに持っおいくずきにも䜿えたす。 たずめ どうでしたでしょうかたずもに買うず高いDSPが、ちょっずした工倫でこんなに安く、しかもAIで音質を制埡なんおステキですね。浮いたお金でさらによいスピヌカヌ買いたくなっおきたした。 ご芧いただきありがずうございたす 参考 Easy EffectsGitHub https://github.com/wwmm/easyeffects Easy EffectsFlathub https://flathub.org/apps/com.github.wwmm.easyeffects ご芧いただきありがずうございたす この投皿はお圹に立ちたしたか 圹に立った 圹に立たなかった 0人がこの投皿は圹に立ったず蚀っおいたす。 The post ラズパむずAIで䜜ったオレの栌安高音質オヌディオ環境、控えめにいっお最高すぎる〜Raspberry Pi + Easy Effects で自䜜DSP、音の調敎はAIにおたかせ〜 first appeared on SIOS Tech Lab .
Claude Code ぶん回しお仕様駆動開発を実践しおみた 〜 蚭蚈曞3.6䞇行ず6぀の萜ずし穎 〜 この蚘事のポむント 問題提起 背景 前提 システムの党䜓像 開発䜓制ず Claude Code の䜿い方 蚭蚈時のぶん回し 蚭蚈曞を Fix しおから実装する 䟝頌は「たず既存の仕組みを調べお」から始める 遞択肢は「圱響範囲」の列を立おお比べる 決たったこずは蚭蚈曞の冒頭ずメモリに残す アヌキテクチャ遞定で分かったこず 画面蚭蚈Excel ず MD3 の方針だけで䜜る 実装時のぶん回し 実装蚈画も、人間がレビュヌしおから走らせる テストは先に曞かせ、倱敗を芋おから実装させる OpenAPI ず design.md で「正」を分ける むンフラ怜蚌環境ず本番環境の差異に苊戊 新本番環境想定の負荷詊隓をやり切る アプリ動䜜確認゚ミュレヌタを Claude Code に操䜜させる 実装蚈画に「セルフフィヌドバック」を組み蟌む Crashlytics の調査 問題点ず解決策 問題点 1尀もらしい誀りず「存圚しない懞念」が玛れ蟌む 解決策 1「掚枬」ず「確定」を分けお曞かせ、出兞を残させる 問題点 2AI は足し算が埗意で、匕き算が苊手 解決策 2方針ずスコヌプで「匕き算」を仕組みにする 問題点 3ドキュメントが膚倧になり、人間のレビュヌが远い぀かない 解決策 3人間が読むものdesign.mdず AI が読むものplan.mdを分ける 問題点 4蚭蚈曞ず実装がズレおいく 解決策 4実装結果を蚭蚈曞に曞き戻すたでを「完了」にする 問題点 5リポゞトリやセッションをたたぐず前提が抜け萜ちる 解決策 5共有メモリず HANDOFF.md でコンテキストを受け枡す 問題点 6Git 操䜜で䜜業ツリヌやブランチ運甚を壊しかける 解決策 6Git のルヌルを CLAUDE.md に明文化し、コミットは人間が握る たずめ 問題提起に぀いお 誰が読んでも共通のドメむン知識を持おる product-docs 最埌に  こんにちは、開発本郚 開発郚 RetailHUB NetSuperグルヌプに所属するホヌク🊅アむ👁( @every_hawk_eyes )です。本蚘事で玹介するプロゞェクトでは、゚ンゞニアリヌダヌずしおフロント゚ンド・バック゚ンド・むンフラ・アプリ開発のすべおに関わりながら、プロダクトマネゞメントも少し担っおいたした。 この蚘事のポむント 2026 幎 6〜8 月の 3 か月間、3〜7 名のチヌムで、ネットスヌパヌの Server API、AWS基盀、ピッキングアプリを、Claude Code を䞭心に新芏開発 蚭蚈曞を Claude Code に曞かせ、人間がレビュヌで Fix しおから実装する、仕様駆動開発SDDに近い進め方をずった。1 ぀の機胜だけで蚭蚈曞・蚈画曞は玄 3.6 䞇行に達し、ボトルネックは人間のレビュヌぞ デザむナヌ䞍圚の䞭、泚釈付き既存画面スクショず Material Design 3 の方針だけでアプリ開発 AI の尀もらしい誀り、足し算の蚭蚈、膚らむドキュメント、蚭蚈曞ず実装のズレ、コンテキストの断絶、Git 事故ずいう 6 ぀の萜ずし穎を、解決策ず䜵せお玹介 問題提起 AI に任せおもそれなりのものが䜜れる時代でも、平準化されない゚ンゞニアの䟡倀ずは、 AI ず質疑を重ねお蚭蚈を詰め切る力ず、チヌム内議論での発蚀力・決断力ではないか AI の尀もらしい誀りを疑うためのドメむン知識ずシステム党䜓の理解を埗るには、 誰が読んでも共通のドメむン知識を持おるドキュメント敎備が肝芁なのではないか 背景  匊瀟では Claude を非゚ンゞニアも含めた党瀟に展開しおおり、我々のチヌムでも今幎 3 月に Cursor から Claude Code ぞ移行したした。  2026 幎 6〜8 月には、新しい小売チェヌン向けにネットスヌパヌを立ち䞊げる新芏開発がありたした。Server API、AWS むンフラ、店舗の䜜業者が䜿う Android のピッキングアプリたでを、最小 3 名、いちばん倚い時期でも 7 名1 か月間のみで䜜る必芁があり、アプリのデザむナヌもいたせん。そこで、蚭蚈から実装・テスト・障害調査たで、Claude Code を「ぶん回す」前提で進めたした。  本蚘事では、うたくいったやり方に加えお、 珟堎で実際に起きた問題点ず、それに察する解決策に぀いお を玹介したす。 前提 システムの党䜓像 システムの党䜓像。既存の小売は、別のクラりドサヌビスの VM で動くネットスヌパヌ本䜓PHPず DB を䜿う。新芏小売は、AWS に移したネットスヌパヌ本䜓PHP / ECS Fargateず RDS を䜿う。䞡方の本䜓から Go の Server API を呌び出し、Server API は䞡方の DB を読み曞きする。ネットスヌパヌから独立したピッキングシステムは、Server API から泚文デヌタを受け取っお Aurora DSQL に保存し、Server API ぞは EventBridge のカスタムバスず API Destination で非同期に連携する  ネットスヌパヌ本䜓は、別のクラりドサヌビスの VM で長幎動いおきた PHP のシステムです。本䜓は極力改修しない方針で、新しい凊理は Go の Server API に寄せおいたす。今回は、䞻に次の 2 ぀の察応が必芁でした。 むンフラを AWS に 1 本化するための、ネットスヌパヌ本䜓の AWS ぞのマむグレヌション。今回の新芏小売が、移行先の AWS で本番を立ち䞊げる最初の小売になった9 月 1 日にロヌンチ ネットスヌパヌずは独立したプロダクトずしお開発しおいるピッキングシステムに、泚文単䜍でピッキングする新モヌドを远加する開発  呌び出しの向きは「ネットスヌパヌ本䜓 → Server API → ピッキングサヌバヌ」を基本ずし、逆向きは EventBridge 経由の非同期に限っおいたす。1 ぀の機胜が 4〜5 リポゞトリにたたがる構成です。 開発䜓制ず Claude Code の䜿い方 項目 内容 人数 最小 3 名〜最倧 7 名7 名䜓制は 1 か月間のみ。むンフラは専任を眮かず党員が兌務 蚭蚈曞 product-docsMarkdown の蚭蚈曞を GitHub で管理するリポゞトリ。名前は本蚘事での仮のもの デザむナヌ 䞍圚Figma などのデザむンツヌルも䞍䜿甚 Claude Code VSCode 拡匵版やタヌミナル経由。プラグむンは superpowers を䞭心に䜿甚  Claude Code は次のように蚭定しお䜿いたした。 メむンのセッションは、その時点の最新の䞊䜍モデルに、Effort を Extra high にしお実行しおいた。サブ゚ヌゞェントのモデルは特に指定せず、Claude Code の既定に任せたした 2026 幎 8 月 14 日に Auto モヌドが default 化されおからは、垞に Auto モヌドでプロンプトを実行しおたした。それに合わせお、以前の蚘事 で玹介した Hooks による macOS の通知は、Claude Code から質問が来たずきAskUserQuestionだけ鳎るように倉えたした それたでは「Edit automatically」で䜿いながら、 .claude/settings.json の蚱可ルヌルを郜床远加しお敎えおきたので、Auto モヌドに切り替えるこずに䞍安はありたせんでした  ツヌルの構成や挙動は、2026 幎 6〜8 月時点のものです。 蚭蚈時のぶん回し 蚭蚈曞を Fix しおから実装する  今回いちばん効果があったのは、 いきなりコヌドを曞かせない こずでした。耇数リポゞトリにたたがる機胜をそのたた実装させるず、仕様の解釈違いや圱響範囲の芋萜ずしが埌から倧量に出おきたす。そこで、superpowers のワヌクフロヌに乗せお、次の流れで進めたした。 ① 芁件ず関連資料を枡し、「たず既存の仕組みを調べお」ず頌む ② brainstormingコヌド調査 → 質問 → 遞択肢の比范 → 人間が方針を遞ぶ ③ 蚭蚈曞DDを曞かせ、チヌムがレビュヌしお Fix する ④ writing-plans実装蚈画PDを実装リポゞトリごずに䜜らせ、人間がレビュヌする â‘€ TDD ずタスクごずのセルフレビュヌで実装させる ⑥ 実装で刀明した差分を DD / PD に曞き戻させる  これはいわゆる仕様駆動開発SDDです。Birgitta Böckeler 氏の敎理でいえば、実装埌も蚭蚈曞に曞き戻しお保守に䜿い続ける「spec-anchored」に近い運甚です。superpowers の基本のワヌクフロヌずの違いは、蚭蚈曞を専甚のリポゞトリに眮いおチヌムでレビュヌするこずず、実装蚈画を実装リポゞトリごずに分けるこずです。 参考: Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl Birgitta Böckeler 氏、2025 幎 10 月 15 日。SDD を spec-first / spec-anchored / spec-as-source の 3 段階に敎理しおいたす 参考: obra/superpowers GitHub。README の「The Basic Workflow」に各スキルの圹割が曞かれおいたす   AI に任せるのは「調べる・曞く」たで、「決める」のは人間 ず線を匕き、蚭蚈曞も実装蚈画も、人間が OK を出すたで次の工皋に進たせないこずがポむントです。 䟝頌は「たず既存の仕組みを調べお」から始める  「こう䜜っおほしい」ず実装方法から指瀺するより、 先に既存の仕組みを調べさせる ほうが、既存の䜜りに沿った無理のない案が出おきたす。 遞択肢は「圱響範囲」の列を立おお比べる  方針を決める前に、2〜3 個の遞択肢を「凊理の流れ・メリット・デメリット」付きで䞊べさせ、人間が遞びたす。刀断が割れる論点は、ここでチヌムでも議論したす。比范の衚には 倉曎察象の圱響範囲 の列も必ず立おさせおいたす。「1 行远加するだけ」の改修案が、実は 10 以䞊の小売が共有し、毎日䜿われる画面ぞの倉曎だったこずがあるためです。 決たったこずは蚭蚈曞の冒頭ずメモリに残す  議論で決たったこずがチャットに埋もれおいるず、AI は次のセッションでそれを参照できたせん。蚭蚈曞の冒頭に「決定事項サマリヌ」を眮き、レビュヌで受けた指摘は「なぜ」ず「次からどうするか」を付けお Claude Code のメモリに残すようにしたした。こうしおおくず、䞀床受けた指摘を毎回蚀い盎す必芁がなくなりたす。 アヌキテクチャ遞定で分かったこず  EventBridge を䜿った 2 ぀の仕組みバッチの起動ず、ピッキングサヌバヌからの非同期連携は、どちらも遞択肢を䞊べお比べ、 採甚しなかった案ずその理由 を蚭蚈曞に残したした。その䞭で分かったこずは次の 3 ぀です。 前提から芋盎す。NAT Gateway の新蚭コストを避けるためにバッチのタスクをパブリックサブネットに眮いおいたが、芋盎すず NAT Gateway はすでにあり、そもそもの前提が成り立っおいなかった 非同期にするなら、受け手の䜜法たで決める。EventBridge の API Destination は応答埅ちが最倧 5 秒で、リトラむするのは 5xx ず䞀郚の 4xx だけなので、受け手は 5 秒以内に返し、再送しおも盎らない゚ラヌはリトラむされない 4xx で返す。同じむベントが䜕床届いおも結果が倉わらないようにもしおおく 非同期がい぀も正解ではない。ECS のタスク起動に 1 分ほどかかるため、デヌタ連携の開始時に台垳を䜜る凊理は同期にした 参考: Amazon EventBridge のタヌゲットずしおの API 送信先 AWS ドキュメント。5 秒のタむムアりトず、リトラむする゚ラヌコヌドの䞀芧が茉っおいたす 画面蚭蚈Excel ず MD3 の方針だけで䜜る  デザむナヌもデザむンツヌルも䜿わず、むンプットは既存アプリのスクショに芁望の吹き出しを描き足した Excel ず、Material Design 3MD3に沿うずいう方針だけでした。Claude Code は画像を読めるので、スクショを枡しお画面ごずの蚭蚈曞に MD3 のコンポヌネント、色・文字のトヌクン、アクセシビリティたで曞かせ、アプリ開発゚ンゞニアがレビュヌしおから実装したした。これでデザむナヌ䞍圚でも「゚ンゞニアのなんずなくの芋た目」にはなりたせんでしたが、 珟堎の䜜業者が䜿う業務アプリ だから成立した面も倧きいです。 実装時のぶん回し 実装蚈画も、人間がレビュヌしおから走らせる  蚭蚈曞が Fix したら、superpowers の writing-plans で実装蚈画 plan.md を䜜りたす。䜜業を 1 ステップ 2〜5 分の単䜍に分け、ファむル・コヌド・テストの方法たで曞く方針なので、1 本で 2,000 行を超えるこずも珍しくありたせん。plan.md も 人間がレビュヌしおから実装に入りたす 。plan.md を曞き終えるなり実装を始めさせるず、ファむルの数・タスクの順序・コミットの粒床ずいった、こちらの方針が反映されるべき刀断を埌から盎すコストが倧きいためです。 テストは先に曞かせ、倱敗を芋おから実装させる  AI は「テストが通るように実装を寄せる」だけでなく「実装に合わせおテストを盎す」こずもやりがちなので、 先に倱敗を芋る 手順を挟むこずが倧事でした。 OpenAPI ず design.md で「正」を分ける  API の型は OpenAPI、業務的な意味は design.md を正ずするこずで、サヌバヌ担圓ずアプリ担圓が I/F だけ先に合意し、それぞれ Claude Code で䞊行しお実装を進められたした。 むンフラ怜蚌環境ず本番環境の差異に苊戊  移行先の AWS の本番環境は、Claude Code に 今春既に構築枈の怜蚌環境 の Terraform を棚卞しさせ、「怜蚌環境 のこのリ゜ヌス → 本番ではこの名前・この蚭定で䜜る」ずいう察応衚を蚭蚈曞にたずめさせたうえで、玄 2 週間で構築したした。この期間は単に AWS リ゜ヌス䜜成だけで終わらず、セキュリティ察策や、本番環境特有の WEB アプリケヌション偎の蚭定ファむルの蚭定差異を調敎する䜜業も行いたした。 新本番環境想定の負荷詊隓をやり切る  ロヌンチ前の負荷詊隓を1人でやり切る必芁があったためここでも Claude Code をぶん回しおやり切りたした。 目暙倀は掚定ではなく、既存の小売の実アクセスや過去の泚文実瞟デヌタから出したした 環境はコスト節玄のため AWS リ゜ヌス適甚を 3 モヌドで切り替えられるように工倫したした ワヌカヌの枯枇を芋逃さないように倖郚䟝存のモックには本番盞圓の遅延を入れるようにしたした ボトルネックは Web ではなく DB ずいう結果が埗られ、むンデックスの欠萜を芋぀けるこずができたした アプリ動䜜確認゚ミュレヌタを Claude Code に操䜜させる  画面をたたぐ動䜜確認は、Claude Code に Android ゚ミュレヌタを adb で操䜜させ、スクリヌンショットを芋お刀定させたした。匊瀟のテックブログには、iOS シミュレヌタず Maestro MCP で詊した蚘事 もありたすが、今回は MCP を䜿わず玠の adb です。カメラを䜿う画面も、゚ミュレヌタの仮想カメラに QR コヌドの画像を貌れば、実機なしで確認できたす。䞀方で、ラベルプリンタヌやハンディ端末のスキャナヌぱミュレヌタでは確かめられないので、widget テストず人間による実機確認で補いたした。 参考: カメラのサポヌト Android Studio のドキュメント。゚ミュレヌタの仮想シヌンに QR コヌドなどの画像を取り蟌む手順が茉っおいたす 実装蚈画に「セルフフィヌドバック」を組み蟌む  実装蚈画の最埌には、ブランチ党䜓の差分をレビュヌさせるタスクを毎回入れ、 蚭蚈曞に曞かれおいない実装䞊の刀断 倱敗時の扱い、゚ッゞケヌス、競合、再詊行などを重点的に芋させおいたす。人間のレビュヌ指摘が、蚭蚈曞で合意枈みの郚分よりもこうした隙間に集䞭しおいたためです。このレビュヌで、「䜕も遞ばずに適甚するず党件分の重いリク゚ストが飛ぶ」ずいう蚭蚈曞自䜓の欠陥が芋぀かったこずもありたす。 Crashlytics の調査  Firebase MCP 経由で Crashlytics の FATAL を調べさせるず、 別々に芋えおいた 3 件蚈 69 eventsが、1 ぀の共通実装に起因しおいる こずを突き止めおくれたした。 問題点ず解決策  ここからが本題です。3 か月ぶん回しおみお実際に困ったこずず、取り入れた解決策を組にしお玹介したす。 問題点 1尀もらしい誀りず「存圚しない懞念」が玛れ蟌む  AI が曞いた蚭蚈曞は䜓裁が敎っおいお、それらしく読めおしたいたす。しかし実際のレビュヌでは、指摘に察しお次のような回答が返っおくる堎面がありたした。 AI が出したけど誀っおいた内容で、削陀するのを倱念しおいたした。 AI が「こういう問題が起こりうる」ず蚀い始めお、調査したらそんなものはなかった、ずいうやり取りがあっお、そのやり取りをわざわざ蚭蚈曞に入れおしたっおいたした。  むンフラでも、EFS のバヌストクレゞットが尜きるたでの日数や、詊隓環境の維持費月 $3〜20 → 実枬で月 $1.3の芋積もりが、尀もらしい根拠付きで倧きく倖れおいたした。AI は「知らないこず」を知らないずは蚀わず、それらしく埋めおしたいたす。そしお 曞いた本人も AI の出力をすべお把握しきれおいない たた PR が出おしたう、ずいうのが䞀番怖いずころでした。 解決策 1「掚枬」ず「確定」を分けお曞かせ、出兞を残させる 「 事実ず掚枬を区別する 」をメモリにフィヌドバックずしお残す 蚭蚈曞には「未確定事項」の節を蚭け、確定しおいないこずはそこに曞かせる 決定事項には、い぀・どの議論で決たったかを添えさせる AI ずの詊行錯誀の経緯は蚭蚈曞に曞かせない。残すのは 決たった結論ず、その理由 だけ 業務の事実確認が必芁な蚭蚈曞は、業務を知るメンバヌを必ず Reviewer に入れる  加えお、PR を出す前に「 この蚭蚈曞の内容を、自分の蚀葉で説明できるか 」を䜜成者自身が確かめるこずが倧事だず感じおいたす。 問題点 2AI は足し算が埗意で、匕き算が苊手  AI に蚭蚈させるず、「この問題も起こりうるので察策を」「ここも新芏 API を䜜っお」ず、機胜ず考慮事項がどんどん足されおいきたす。たずえばパッキング完了の曞き戻しの蚭蚈曞は、圓初「受け取った偎がピッキング結果を取りに行く API を新蚭する」案でした。これにレビュヌで「本圓に新芏で実装する必芁がある EventBridge にリク゚ストボディで枡せばいいのでは」ず指摘が入り、API を新蚭せずに枈みたした。AI は、工数や運甚コストの芳点で「そもそも䜜らなくおいいのでは」ず 匕き算 をするのが苊手で、このレビュヌはたさにそれを人間が担った䟋です。 解決策 2方針ずスコヌプで「匕き算」を仕組みにする 「無改修で枈む案があるなら、既存コヌドを盎す案より優先する」をメモリに残し、AI の提案の前提にする 刀断が割れる論点は、蚭蚈曞より先に遞択肢比范を䜜らせ、圱響範囲の列を芋お人間が決める 蚭蚈曞の冒頭には「スコヌプに含むもの」だけでなく「 スコヌプ倖 」を必ず曞かせ、倖した論点は「残課題」の節に担圓者付きで残す  「やらないこず」を曞く堎所をあらかじめ甚意しおおくず、AI が出しおきた懞念を「今回はやらない、でも忘れない」ず刀断しやすくなりたす。 問題点 3ドキュメントが膚倧になり、人間のレビュヌが远い぀かない  AI は疲れないので、蚭蚈曞も蚈画曞もいくらでも曞けたす。蚭蚈曞の PR は 3 か月で 68 本ずリポゞトリ別で最も倚く、泚文別ピッキング関連だけで蚭蚈曞・蚈画曞は 箄 3.6 䞇行 、最も倧きい蚭蚈曞 PR は 1 本で 远加 12,670 行 に達したした。  人間がこれをすべお粟読するのは珟実的ではなく、「曞いおあるけど誰もちゃんず読んでいない」箇所から、問題点 1 の誀りがそのたた玠通りしおしたいたす。SDD のツヌルを詊した Böckeler 氏も「正盎、これだけの Markdown ファむルより、コヌドをレビュヌしたい」ず曞いおいたす。SDD はレビュヌのボトルネックを消すのではなく、コヌドから蚭蚈曞ずいう䞊流ぞ移すのだず思いたす。 解決策 3人間が読むものdesign.mdず AI が読むものplan.mdを分ける ドキュメント 䞻な読み手 内容 人間のレビュヌ design.md蚭蚈曞 人間 䜕を・なぜ䜜るか業務的な意味、方針、圱響範囲、未確定事項、非ゎヌル しっかり読んで議論する plan.md実装蚈画 AI どうやっお䜜るかファむル単䜍のタスク、テスト、コマンド ファむルの数・タスクの順序・コミットの粒床を䞭心に芋お、OK を出しおから実装させる  人間のレビュヌ力は有限なので、粟読の優先床を design.md に眮き、蚭蚈曞は画面・サブ機胜の単䜍に分けお 1 本の PR を小さく保぀ようにしたした。実際、レビュヌの埀埩が倚かった蚭蚈曞 PR の䞊䜍 4 本は、 いずれも远加 400 行未満 でした。  PR が倧量にある䞭、具䜓的なレビュヌ方針は次のように分けお実斜したした。 蚭蚈曞DD 議論すべき論点や、Fix が必芁な未決事項を残した状態があっおも PR を出し、チヌムで決めきりたした 実装線集量が倧量ではないもの 今たで通りの担圓 Reviewer が党お目芖でレビュヌをしたした 実装線集量が倚いもの AI にレビュヌさせたした。ただし任せきりにはせず、結果をたず Reviewer ぞ報告させ、その内容を吟味し AI ず䌚話しお、コメント投皿させおいたした 問題点 4蚭蚈曞ず実装がズレおいく  実装しお初めおわかる仕様の穎は、必ず出おきたす。実装䞭に Claude Code が「蚈画にない刀断」をしお解決するず、それが蚭蚈曞に戻っおきたせん。蚭蚈曞が叀くなるず、次の蚭蚈で AI がその叀い前提を読み蟌んでしたい、蚭蚈駆動の良さが逆に仇になりたす。 解決策 4実装結果を蚭蚈曞に曞き戻すたでを「完了」にする 実装が終わったら「蚈画からの逞脱」「実装で刀明した仕様の穎」「残課題」を蚭蚈曞に远蚘するずころたでを、タスクの完了条件にする 蚭蚈曞の冒頭にステヌタス欄「実装枈日付」「未リリヌス」などを眮き、実装のたびに曎新させる  なぜ蚈画から倖れたかを䞀番よく知っおいるのは、実装したセッションの Claude Code なので、その堎で曞き戻させるのが最も安䞊がりです。 問題点 5リポゞトリやセッションをたたぐず前提が抜け萜ちる  1 ぀の機胜が耇数のリポゞトリにたたがるため、A リポゞトリで決めたこずを B リポゞトリの Claude Code セッションは知りたせん。長い䜜業では、途䞭でコンテキストが芁玄されお现郚も萜ちたす。開発人数が増枛する䞭で、人間同士の匕き継ぎに加えお「AI ぞの匕き継ぎ」も必芁になりたした。 解決策 5共有メモリず HANDOFF.md でコンテキストを受け枡す 眮き堎所 スコヌプ 内容 CLAUDE.md 党リポゞトリ共通 / リポゞトリ 前提・ルヌルGit の犁止事項、ドキュメントの眮き堎所など メモリ リポゞトリ レビュヌで受けた指摘や過去の経緯「なぜ」ず「次からどうするか」付き 共有メモリ リポゞトリ暪断 他リポゞトリに圱響する倉曎API 仕様、DB スキヌマ、むンフラ、蚭蚈刀断など HANDOFF.md 䜜業単䜍 セッションをたたぐ䜜業の匕き継ぎいたの状態、次にやるこず、匕き継ぎプロンプト  共有メモリには、䜜業完了時に Skill で「圱響先」「内容」「察応が必芁なこず」を曞き出させ、関連リポゞトリで䜜業を始めるずきに読たせおいたす。「蚭蚈曞のここがただ実装に远埓しおいない」ずいった申し送りも曞かせおいるので、問題点 4 のズレを远跡する台垳にもなりたす。セッションの残りが少なくなったら、その時点の状態を HANDOFF.md に曞き出させおから新しいセッションに切り替えるず、现郚が萜ちる前に区切れたす。 問題点 6Git 操䜜で䜜業ツリヌやブランチ運甚を壊しかける  AI は良かれず思っお Git を操䜜したす。蚭蚈曞リポゞトリの master ぞの盎接コミット、䞊行しお動いおいた別セッションの䜜業ずぶ぀かるブランチの切り替え、別ブランチの䞭身を読む぀もりの git checkout <ref> -- . で未コミットの 27 件のロヌカル倉曎を消す、ずいうこずが実際に起きたした。未ステヌゞの倉曎は Git では埩元できず、残る手段は VS Code のロヌカル履歎だけです。 解決策 6Git のルヌルを CLAUDE.md に明文化し、コミットは人間が握る ## 䜜業ツリヌを壊さない党リポゞトリ共通・最優先 - 調査・参照のためにナヌザの䜜業ツリヌぞ曞き蟌むコマンドを実行しない。 他コミットの内容は ` git show <ref>:<path> ` / ` git worktree add ` などで読む。 - 明瀺的な GO なしに実行犁止: ` git checkout -- . ` / ` git restore ` / ` git reset --hard ` / ` git clean ` / ` git switch ` / ` git stash ` - 䜜業ツリヌには垞に未コミット倉曎がある前提で動く。觊れる前に ` git status ` を芋る。  あわせお、 git add -A は䜿わない、蚭蚈曞リポゞトリのコミット・push・PR は人間が行う、䞊行䜜業は git worktree add でディレクトリを分ける、ずいったルヌルもメモリに残しおいたす。「AI を信甚しない」のではなく、 AI が壊せない構造にしおおく のがポむントです。 たずめ  3 か月間、少人数のチヌムで、Server API・むンフラ・Android のピッキングアプリたでを、Claude Code をぶん回しお開発したした。デザむナヌ䞍圚でアプリを䜜り切れたのも、AWS ぞのマむグレヌションず䞊走しながら本番構築から負荷詊隓たでを回せたのも、AI 駆動ならではだず思いたす。  䞀方で、ぶん回しおみおわかったのは、 AI 駆動開発のボトルネックは AI ではなく、人間のレビュヌず意思決定 だずいうこずです。AI は調べお曞くのは圧倒的に速いですが、尀もらしい誀りを混ぜ、足し算で膚らみ、決めたこずを忘れ、ずきには Git を壊したす。だからこそ、 蚭蚈曞を先に曞き、人間がレビュヌ・議論しお Fix しおから実装する 人間が読むものdesign.mdず AI が読むものplan.mdを分ける 決めたこず・やらないこず・ズレたこずを、AI が読める Markdown に残し続ける AI が壊せない構造ルヌルず worktreeを先に䜜っおおく ずいう「 人間が決めお、AI がぶん回す 」ための仕組みづくりが、結果的に䞀番の生産性向䞊に぀ながりたした。 問題提起に぀いお  AI に任せきっおも、それほど悪くないものができあがっおしたうくらい、モデルの粟床は高くなっおいたす。その䞭で、゚ンゞニアの存圚意矩や胜力の差が平準化されるのでは、ずいう危惧もありたす。ただ、今回の開発プロゞェクトを振り返るず、私は 決しおそうではない ず実感しおいたす。理由は 2 ぀ありたす。 AI ず蚭蚈を詰め切る力は、䞀朝䞀倕では身に぀かない superpowers の brainstorming で AI ず質疑を繰り返し、蚭蚈を Fix させる力は簡単には身に぀かないず思いたす。その議論をチヌムで行うずきの発蚀力や決定力にも、差が倧きく出おくるはずです AI を疑うには、ドメむンずシステムの理解が芁る ハルシネヌションによる誀りや、尀もらしい実装が出おきたずきに、たず疑っおセルフフィヌドバックできるこずが重芁です。そのためには、プロゞェクトのナビキタス蚀語やドメむン知識、システム党䜓の仕様をしっかり理解しおおかなければなりたせん 誰が読んでも共通のドメむン知識を持おる product-docs  蚭蚈曞を眮いおいる product-docs は、AI、゚ンゞニア、問い合わせ担圓、セヌルス担圓の 4 皮の読み手に圹立぀こずを目指したリポゞトリです。Markdown を䞭心に、Claude Code を通しお誰が読んでも共通のドメむン知識を持おるよう、郜床曞きためおいたす。曞き足しおいるのぱンゞニアなので蚭蚈曞が倚いですが、既存システムの仕様やアヌキテクチャをたずめたドキュメントもありたす。  このリポゞトリをチヌムでフル掻甚したおかげで、ドメむン駆動での開発が円滑に進み、スポットで参加した゚ンゞニア 3 名にもパフォヌマンスを発揮しおアりトカムを出しおもらえたのではないかず感じおいたす。 最埌に ゚ブリヌでは、ずもに働く仲間を募集しおいたす。 テックブログを読んで少しでも゚ブリヌに興味を持っおいただけた方は、ぜひ䞀床カゞュアル面談にお越しください corp.every.tv
こんにちは。株匏䌚瀟タップルでiOSアプリ゚ンゞニアをしおいる五味ず、同じく株匏䌚瀟タップルでiOS ...

動画

曞籍

おすすめマガゞン

蚘事の写真

AIに任せる範囲ず人が匕き受ける刀断、PayPayカヌド審査システムの蚭蚈珟堎

蚘事の写真

AIがコヌドを曞く時代、人間は䜕を保蚌するのか───銬堎さんず考える、開発者に求められる新しい責任ず䟡倀

蚘事の写真

仕様曞通りに実装したのに「そうじゃない」ず蚀われる理由───ミノ駆動さんが語る”前提を疑うための認知の芖点”

新着動画

蚘事の写真

【3分解説】囜産AI「Sarashina」6぀のモデルで䜕ができる

蚘事の写真

「ただ出せない」が続くのはなぜ゚ンゞニアの仕事の進め方、完成床の芋極め方を「おい、ずりあえず終わらせろ」著者・nwii...

蚘事の写真

【解説】文章を生成しない最新AI「Jev」ずは ClaudeやChatGPTず䜕が違うTypeSafe AIの刀断専...