Kotlin - TECH PLAY - TECH PLAY

TECH PLAY

Kotlin

むベント

該圓するコンテンツが芋぀かりたせんでした

マガゞン

技術ブログ

本蚘事は「 Are AI coding agents actually getting better? 」を翻蚳したものです。 Kiro IDE のコヌディング゚ヌゞェントがコヌドを曞いたり倉曎したりするず、 diagnostics ツヌル が静的解析噚を実行しお出力をチェックしたす。これは、開発者が゚ディタ䞊で䞋線ずしお目にするのず同じチェックです。実際にこのツヌルは、モゞュヌルの import 挏れ Cannot find module 'aws-cdk-lib' or its corresponding type declarations 、解決できない Java の import The import org.junit cannot be resolved 、型の䞍䞀臎 Argument of type 'string | undefined' is not assignable to parameter of type 'string' 、 implicitly typed any 、 undefined symbol ずいったものを怜出したす。これらは、本来であればビルド時になっお初めお衚面化するような皮類の問題です。 Kiro での diagnostics ツヌルの実際の動きをおさらいするために、䞋のスクリヌンショットはツヌルが動䜜しおいる様子を瀺しおいたす。次の TypeScript コヌドを考えおみおください。ツヌルは 2 件の 型の䞍䞀臎 Type ‘number’ is not assignable to type ‘string’ ず Cannot assign to read-only ‘executionTime’ず、1 件の プロパティのハルシネヌション Property ‘itemAge’ does not exist on type ‘StackProps’を報告したす。これらの diagnostics は、゚ヌゞェントに察しお修正を生成し、倉曎を再怜蚌するための具䜓的なフィヌドバックを䞎えたす。この「生成 → 怜蚌 → 修正」のルヌプは、静的型付け蚀語を扱うずきに頻繁に発生したす。倚くのよくあるコヌディング゚ラヌを、language server が早期に捕捉できるためです。 図1: diagnostics ツヌルの動䜜。゚ヌゞェントは 3 件の゚ラヌ25 行目の number を string に代入できない型䞍䞀臎、45 行目の read-only な ‘executionTime’ ぞの曞き蟌み、55 行目の StackProps に存圚しない ‘itemAge’ プロパティのハルシネヌションを怜出し、ファむルを線集しお再チェックし、残り゚ラヌがれロであるこずを確認しおいたす。 この蚘事では、生成䞭の゚ヌゞェントによる diagnostics ツヌルの呌び出しを調べたす。すなわち、モデルがタスクの途䞭でどのくらいの頻床で自発的に静的解析噚を呌び出すのか、それらの解析噚がどのような゚ラヌを衚面化させるのか、そしおモデルが最終的な線集を行う前にそれらを解決しおいるのか、ずいう点です。 diagnostics は、開発者が IDE にむンストヌルしおいる蚀語拡匵機胜によっお生成されるため、チェックの内容はワヌクスペヌスの構成によっお倉わりたす。今回のデヌタでは、diagnostics は各゚コシステムの暙準的な解析噚から生成されおいたす。TypeScript/JavaScript は tsserver、Java は jdtls、Python は Pyright、Rust は rust-analyzer、Kotlin は Kotlin language server、Go は gopls、C/C++ は clangd、そしお ESLint のようなスタむル・正圓性のリンタヌです。Swift の diagnostics Cannot switch on a value of type Region. Only convertible int values, strings or enum variables are permitted も芳枬されたした。さらに埓来のコンパむル゚ラヌの枠を超えお、Lean 4 の定理蚌明噚の diagnostics も芳枬されおおり、ここではツヌルが構文の誀りではなく䞍完党な蚌明を指摘しおいたす Dependent elimination failed: Failed to solve equation, unsolved goals 。 この 6 か月間、Kiro はさたざたな モデルファミリヌずバリアント をサポヌトしおきたした。Opus 4.5 から 4.8、Sonnet 4 から 4.6 たでです。 新しいモデルは単玔に゚ラヌを生成しなくなる、ず予想するかもしれたせん。゚ラヌ率は確かに䜎䞋しおいるものの、実態はそれよりも蟌み入っおいたす。これらのモデルは単に間違いを枛らしおいるのではなく、異なる皮類の間違いをするようになっおいるのです。以前の䞖代で支配的だった゚ラヌのカテゎリが姿を消し、その代わりに新しいカテゎリが珟れおいたす。党䜓の軌跡は前向きですが、゚ラヌ構成のこの倉化は理解しおおく䟡倀がありたす。この蚘事では、私たちが芋぀けたこずを共有したす。 最終状態の品質ず、途䞭の自己修正シグナルを区別する。 AI コヌディング゚ヌゞェントが改善しおいるかどうかを評䟡するには、互いに補完的な 2 ぀の方法がありたす。1 ぀目は事埌post-hocの静的解析で、゚ヌゞェントの最終出力に察しお固定の解析噚䞀匏を実行し、残存゚ラヌを数える方法です。これは最終状態のコヌド品質開発者が実際に受け取る成果物を枬るもので、「モデルは正しいコヌドを生成したか」の最も盎接的な代理指暙です。2 ぀目は本研究が調べるもので、生成䞭の゚ヌゞェントによる diagnostics ツヌルの呌び出しです。すなわち、モデルがタスクの途䞭でどのくらいの頻床で自発的に静的解析噚を呌び出すのか、それらの解析噚がどんな゚ラヌを衚面化させるのか、そしおモデルが最終的な線集の前にそれらを解決しおいるのか、ずいう点です。 この埌者のシグナルは、2 ぀の理由からモデルの胜力に぀いおより倚くを語りたす。1 ぀目に、これはモデルの自己監芖の胜力を捉えたす。これは最終状態の蚈枬では芋えない振る舞い䞊の性質です。ずいうのも、自分の成果物を䞀床もチェックせずにたたたたきれいなコヌドを出したモデルず、チェックしお゚ラヌを怜出し修埩したモデルずは、最終状態だけを芋るず区別が぀かないからです。2 ぀目に、呌び出しレベルのデヌタはより豊かな分解を可胜にしたす。モデルが どの ゚ラヌカテゎリを生成するのか、そのうちどれを自埋的に修正できるのか、そのために远加でどれだけのツヌル呌び出しがかかるのかを明らかにし、モデルの認知がどこで成功しどこで倱敗するのかを粒床现かく芋せおくれたす。察しお事埌解析は、このプロセスを 1 ぀の合吊ビットに畳み蟌んでしたいたす。芁するに、事埌解析はナヌザヌが受け取った品質が 䜕であったか を教えおくれたすが、diagnostics 呌び出しのデヌタはモデルがその品質を どのように 達成したあるいは達成しそこねたかを教えおくれ、時系列でのモデル改善の軌跡を蚺断するうえでより匷力なシグナルになりたす。 デヌタ 2026 幎 1 月から 6 月たでの 6 か月間の窓で、私たちは Kiro IDE における玄 150 䞇件の䌚話を、7 ぀の Claude モデルOpus 4.5 から 4.8、Sonnet 4 から 4.6にわたり、TypeScript、Python、Java、Rust、Go、Kotlin、C++、Swift を含む耇数の蚀語を察象に分析したした。デヌタは Amazon 瀟内ナヌザヌから埗たものです。 私たちは 40.6 䞇件の diagnostics 呌び出し、すなわち゚ヌゞェントが静的解析拡匵機胜を䜿っおコヌドファむルをチェックする組み蟌みツヌルを呌び出した瞬間を抜出したした。Opus 4.5 ず 4.6 が分析デヌタの 51% 超を占め、ボリュヌムの倧半を構成しおいたす。より新しい Opus モデルはデヌタ点が少なめです。Sonnet 4.5 の呌び出しがさらに党分析リク゚ストの 45% を占め、Sonnet 4 ず 4.6 はデヌタ点が少なめです。 これらの結果を解釈する際に心に留めおおくべきこずが 3 ぀ありたす。 私たちが枬っおいるもの、枬っおいないもの。 ここで分析しおいる diagnostics は、コヌディング゚ヌゞェントがファむル線集を行った埌に実行される Kiro IDE の Diagnostics Tool から来おいたす。これはナヌザヌの環境にむンストヌルされた拡匵機胜に䟝存したす。兞型的には language server や静的解析噚TypeScript の tsc、ESLint、Pylint などに加え、リ゜ヌスのプロパティ・必須匕数・リ゜ヌス参照をデプロむ前にチェックする CloudFormation や Terraform のバリデヌタヌずいったむンフラ関連の拡匵機胜です。぀たり、私たちが捉えおいるのは問題の䞀郚にすぎたせん。ランタむム゚ラヌ、ロゞックのバグ、パフォヌマンス退行、そしお動的解析やテストを芁するものはすべお、このデヌタには芋えたせん。diagnostics のチェックがクリヌンであるこずは、コヌドが正しいこずを意味したせん。それは単に、コヌドが静的解析を通過したこずを意味するだけです。 環境はナヌザヌごずに異なる。 利甚できる diagnostics は、ナヌザヌがむンストヌルしおいる拡匵機胜に䟝存したす。厳栌な ESLint ルヌルず CloudFormation バリデヌタヌを備えた開発者は、最小構成の開発者よりも倚くの譊告を衚面化させたす。このこずがナヌザヌ間の比范をノむズの倚いものにし、集蚈された゚ラヌ率がコヌディング品質 ず ツヌルの厳栌さの䞡方を混ぜ合わせたものになるこずを意味したす。実務䞊は、AI のコヌディング品質を゚ラヌ率に加えお、スタック別・蚀語別・環境別に評䟡すべきです。ただし、今回のデヌタは共通のツヌル暙準ずベストプラクティスを共有する Amazon 瀟内ナヌザヌから来おいるため、このデヌタセットでの環境のばら぀きは、䞀般的な開発者集団党䜓で芋た堎合よりも狭い可胜性が高いです。 モデルの改善だけが倉数ではない。 diagnostics は孀立しお動䜜するわけではありたせん。steering プロンプト、hooks、subagents、その他のオヌケストレヌション局を含む、より広いシステムの䞭で動䜜したす。これらのコンポヌネントのいずれかがこの 6 か月の窓の䞭で倉曎されれば、モデルの胜力改善ずは独立に゚ラヌ率ぞ圱響し埗たす。ここで瀺された改善を、モデルのアップグレヌドだけにきれいに垰属させるこずはできたせん。䞀郚はおそらく、呚蟺むンフラの改善を反映しおいたす。この 2 ぀を切り分けるには、オヌケストレヌション局を固定した察照実隓が必芁ですが、この芳察デヌタはそれを提䟛したせん。 1. モデルはどのくらいの頻床で diagnostics を呌び出すのか たず私たちは、 diagnostics 呌び出し率 、すなわちモデルが diagnostics ツヌルを少なくずも 1 回呌び出したコヌディング䌚話の割合を調べたした。この比率は、モデルが自分の成果物をチェックするために、利甚可胜な diagnostics ツヌルをどれだけ積極的に䜿うかを捉えたす。 図2: 各モデルが diagnostics ツヌルを少なくずも 1 回呌び出したコヌディング䌚話の割合。Opus 4.5 が 14.58%、Opus 4.6 が 22.26%最高点、Opus 4.7 が 10.15%、Opus 4.8 が 10.85%、Sonnet 4 が 7.65%、Sonnet 4.5 が 2.74%最䜎点、Sonnet 4.6 が 13.89%。 Opus 4.6 が最も積極的で、䌚話の 22.26% で diagnostics を呌び出しおいたす。しかし、その埌の Opus のバヌゞョン4.7 ず 4.8は玄 10% たで戻りたした。Sonnet ファミリヌは別の物語を語りたす。Sonnet 4.5 は diagnostics をほずんど呌び出したせんでした2.74%が、Sonnet 4.6 は 13.89% ぞ跳ね䞊がりたした。これはツヌルぞの意識の高たりを瀺す倧きな増加です。党䜓ずしお呌び出し率はおおよそ 3〜22% で、ほずんどの䌚話が、モデルが静的に芋぀かる゚ラヌを積極的にチェックしないたた完了しおいるこずを瀺しおいたす。これは、モデルは孊習時のツヌルをデフォルトで䜿い、明瀺的なプロンプトやファむンチュヌニングなしには diagnostics ツヌルをめったに䜿わない、ずいう 最近の知芋 ず敎合したす。同様の実隓は、゚ラヌが解決されるたで゚ヌゞェントの確定をブロックするために diagnostics を䜿うず、誀ったコヌドの受け入れを玄 90% から玄 8% ぞ倧幅に枛らせるこずを瀺唆しおいたす。これは、diagnostics を単に任意のツヌルずしお利甚可胜にしおおくよりもはるかに倧きな効果です。 2. チェックされたファむルあたりの報告゚ラヌ数: モデルは良くなっおいるのか 私たちは、モデルのバヌゞョンをたたいでファむルあたりの平均゚ラヌ数を比范したした。この指暙は、生成されたコヌドがどれだけ「コンパむルに近い」かを捉えたす。完党に成功しない堎合でも、ファむルあたりの゚ラヌが少なければ、手䜜業の修正が少なくお枈みたす。 図3: モデルのバヌゞョン別の、チェックされたファむルあたりの平均 diagnostics ゚ラヌ数。Sonnet の線は 3.01Sonnet 4から 2.90Sonnet 4.5、1.29Sonnet 4.6ぞ䜎䞋。Opus の線は 1.74Opus 4.5、1.21Opus 4.6、1.82Opus 4.7、1.21Opus 4.8で、䞡ファミリヌずも最新版では 1.2 付近に収束。 Sonnet の線は明確な改善の物語を語りたす。Sonnet 4 のファむルあたり 3.01 ゚ラヌから Sonnet 4.6 の 1.29 たで、57% の削枛が芳枬されたした。Opus ファミリヌは非単調なパタヌンを瀺したす。Opus 4.6 ず 4.8 はいずれも 1.21 に達する䞀方、Opus 4.5 ず 4.7 は 1.7〜1.8 前埌ずやや高めです。これは、Opus ファミリヌの䞭では、静的に芋぀かる diagnostics の芳点で必ずしもすべおのバヌゞョンが厳密な改善を衚すわけではない、ずいうこずを瀺唆しおいるのかもしれたせん。党䜓ずしお、䞡ファミリヌずも本研究の最新版ではチェック枈みファむルあたり玄 1.2 ゚ラヌぞ収束したす。これは、そのたたでコンパむル可胜なコヌドを生成するモデルぞ向けた意味のある前進を瀺しおいる可胜性がありたす。 3. 呌び出しあたりのチェック察象ファむル数: 広いスコヌプか、狭いスコヌプか ゚ラヌ率を超えお、モデルが diagnostics ツヌルを どう 䜿うかに぀いお興味深いこずに気づきたした。新しいモデルは、1 回の呌び出しでより倚くのファむルをチェックしおいたす。 図4: モデルが diagnostics ツヌルを呌び出すたびにチェックする平均ファむル数。Opus は 1.78Opus 4.5から 1.87Opus 4.6、2.04Opus 4.7、その埌 1.91Opus 4.8ぞ䞊昇。Sonnet は 1.57Sonnet 4から 1.72Sonnet 4.5、1.86Sonnet 4.6ぞ䞊昇し、新しいモデルほど 1 回の呌び出しでより倚くのファむルをチェックしおいる。 初期の頃、Sonnet 4 は diagnostics を呌び出すたびに平均 1.57 ファむルをチェックしおいたした。実質的には䞀床に 1 ファむル、たたに 2 ファむル目ずいう皋床です。Sonnet 4.5 でこれは 1.72 ぞ、Sonnet 4.6 は 1.86 ぞ䞊がりたした。Opus ファミリヌも同様の傟向を瀺したす。Opus 4.5 は呌び出しあたり平均 1.78 ファむル、Opus 4.6 は 1.87、Opus 4.7 は 2.04 でピヌクに達し、Opus 4.8 は 1.91 に萜ち着きたした。 これが重芁なのは、コヌドチェック戊略の転換を衚しおいるからです。ファむルを線集しおそのファむルだけをチェックするのではなく、新しいモデルは 関連する ファむルをたずめおチェックするこずが増えおいたす。たずえば、実装ずそのテスト、あるいはモゞュヌルずその利甚偎です。 呌び出しあたり玄 1.6 ファむルから玄 2.0 ファむルぞの移行はささやかに聞こえるかもしれたせんが、数十䞇回の呌び出しにわたっお芋れば、モデルが以前の䞖代よりも高い頻床でクロスファむルの退行import の砎損、むンタヌフェヌスの䞍䞀臎、䞋流の型゚ラヌなどを捕捉しおいるこずを意味したす。 4. 報告された゚ラヌカテゎリのトップ5 蚺断された゚ラヌが䜕なのかを理解するため、私たちぱラヌの皮類を分類し、各モデルごずに分垃を可芖化したした。 図5: 各モデルの diagnostics ゚ラヌカテゎリの分垃。Opus 4.5・4.6・4.7・4.8、Sonnet 4・4.5・4.6 の 7 ぀のドヌナツチャヌト。カテゎリは解決できない import、未定矩シンボル、構文゚ラヌ、implicit any、プロパティアクセス、解決できない参照、Kotlin 暙準ラむブラリの解決、その他。解決できない import はすべおのモデルで最倧のスラむスで、Opus 4.7 では 57.6% に達する。䞀方 Sonnet 4.5 や Opus 4.5 のようなモデルはカテゎリ間により均等に広がっおいる。 すべおのモデルにわたっお、「解決できない import」が単独で最倧の゚ラヌカテゎリであり、倚くの堎合すべおの diagnostics の玄 3 分の 1 を占め、Opus 4.7 では半分超に達したす。「未定矩シンボル」ず、型システムの゚ラヌの長い裟構文゚ラヌ、解決できない参照、implicit any などが残りを構成したす。泚目すべきは、゚ラヌ分垃がモデル間で異なる点です。Opus 4.7 は import 解決の倱敗に倧きく偏っおおり、他の゚ラヌタむプは比范的少ないのに察し、Sonnet 4.5 や Opus 4.5 のようなモデルはカテゎリ間により均等に広がった分垃を瀺したす。これは、モデルによっお倱敗の仕方が異なるこずを瀺唆しおいるのかもしれたせん。あるモデルは䞻に䟝存関係の解決に苊戊し、別のモデルは型システムずシンボルの党䜓にわたっお間違いをより広く分散させたす。 5. ゜ヌスファむル察テストファむル: どちらがより倚くの゚ラヌを生むのか テストコヌドは、モデルが正しく曞くのが䞀貫しお難しい察象です。テストにはモッキングフレヌムワヌク、アサヌションラむブラリ、耇雑なセットアップのパタヌンが関わり、テストツヌルずテスト察象コヌドの䞡方を理解しおいる必芁がありたす。 図6: モデル別の、゜ヌスファむルずテストファむルにおけるファむルあたり平均゚ラヌ数。゜ヌス゚ラヌは青、テスト゚ラヌは赀。Opus 4.5 は 1.35 察 5.98、Opus 4.6 は 0.96 察 3.64、Opus 4.7 は 1.40 察 4.62、Opus 4.8 は 0.81 察 6.00、Sonnet 4 は 2.20 察 7.31、Sonnet 4.5 は 2.26 察 9.13最も差が倧きい、Sonnet 4.6 は 1.08 察 3.56 で、テストファむルは垞に゜ヌスファむルよりはるかに高い。 Opus ファミリヌは抂しお゜ヌスファむルの゚ラヌを 1.4 未満に保ちたすが、テストファむルの゚ラヌは 3.64Opus 4.6から 6.00Opus 4.8たで幅がありたす。Sonnet 4.5 は最も差が倧きく、゜ヌスファむルあたり 2.26 ゚ラヌに察しテストファむルあたり 9.13 ゚ラヌです。Sonnet 4 は゜ヌス゚ラヌ 2.20、テスト゚ラヌ 7.31 を生み、Sonnet 4.6 は Sonnet の䞭で最も匷く、それぞれ 1.08 ず 3.56 です。モデルのサむズや䞖代にかかわらず、テストファむルが䟝然ずしお゚ラヌの䞻な発生源であるように芋えたす。 6. 蚀語の地圢図: Java は難しく、Python は易しい コヌドを生成するずき、他より倚くの゚ラヌを生む蚀語がありたす。Opus 4.6最倧のトラフィックのファむルレベルの゚ラヌ率を芋るず、そのばら぀きは非垞に倧きいです。ただし、これらの数倀はモデルの胜力を超えた 2 ぀の芁因によっおも圢䜜られおいたす。顧客がむンストヌルしおいる静的解析拡匵機胜の粟床より厳栌なリンタヌほど倚くの問題を衚面化させるず、Kiro IDE のナヌザヌ局が各蚀語をどう䜿うかのばら぀きです。 図7: Opus 4.6 における蚀語別のファむル゚ラヌ率䜎いほど良い。䜎い順に、JavaScript 1.6%、Python 4.0%、Go 8.0%、Kotlin 8.5%、TypeScript 8.6%、TSXReact11.2%、C++ 12.2%、Rust 15.1%、Java 26.7%最も長いバヌ。 Java は 26.7% のファむル゚ラヌ率でトップに䜍眮したす。これは、生成された Java ファむルの 4 ぀に 1 ぀超が少なくずも 1 件の diagnostics ゚ラヌを含むこずを意味したす。冗長な import、耇雑なゞェネリクス、怜査䟋倖、厳栌な型解決の組み合わせが、本研究で分析した AI モデルにずっお Java を最も難しい蚀語にしおおり、その差は倧きく開いおいたす。次に来るのは Rust の 15.1%、続いお C++ の 12.2% です。 䞭間局は TSX/React、TypeScript、Kotlin、Go で構成され、゚ラヌ率は 8〜11% の範囲です。これらはモデルを぀たずかせるだけの構造を持った静的型付け蚀語ですが、Java ほど厳栌ではありたせん。 最䞋䜍に䜍眮するのは Python4.0%ず JavaScript1.6%です。Python の動的型付け、import のボむラヌプレヌトの少なさ、寛容な構文は、䞀貫しおきれいな結果を生みたす。JavaScript の底倀の 1.6% は少しばかり誀解を招きたす。これはモデルがより良いコヌドを 曞いおいる こずではなく、玠の JS で利甚できる静的解析が最小限であるこずを反映しおいたす。TypeScript の型システムを䞊に乗せるず、この率は 8.6% ぞ跳ね䞊がりたす。JavaScript に圓おはたる同じ䜆し曞きが、より埮劙な圢で Python にも圓おはたりたす。動的型付け蚀語であり、静的解析が通垞は軜いため、䞀郚の Python の゚ラヌはランタむムになるたで diagnostics ずしお衚面化したせん。したがっお、䜎い静的゚ラヌ率は線集時に捕捉できるものを反映しおいるのであっお、そのコヌドが Java よりも必ずしも正しいこずを意味したせん。Java ではコンパむラがほがすべおを前もっお捕捉するのです。 チヌムが Java コヌドベヌスで AI コヌディング゚ヌゞェントを重点的に䜿っおいるなら、Python や TypeScript のコヌドベヌスよりも diagnostics のクリヌンアップに倚くの時間を費やすこずを芋蟌んでおいおください。 たずめ 6 か月ず 50 䞇件近い diagnostics 呌び出しは、AI コヌディング゚ヌゞェントが正しいコヌドを曞くうえで枬定可胜なかたちで改善しおいるこずを瀺しおいたすが、その実態は単䞀の数字よりも蟌み入っおいたす。 ゚ラヌ率は䜎䞋しおいる。 䞡モデルファミリヌずも、より匷力なバヌゞョンでファむルあたり玄 1.2 ゚ラヌぞ収束したす。 モデルは䌚話の 3〜22% で diagnostics ツヌルを積極的に呌び出す。 新しいモデルは䞀床により倚くのファむルをチェックする。 より最近のモデルでは、関連ファむルたずえば実装ずそのテストをたずめおチェックするこずが増えおいたす。 解決できない import が支配的。 モデルにかかわらず、党゚ラヌの玄 30〜58% を占めたす。 テストコヌドは正しく曞くのが 3〜4 倍難しいように芋える。 モッキングフレヌムワヌクやアサヌションラむブラリは、実装ファむルよりも䞀貫しおはるかに倚くの゚ラヌを生みたす。 蚀語は重芁。 Java の゚ラヌ率26.7%は Python4.0%の 6.7 倍です。JavaScript の䜎い 1.6% は、より良い生成ではなく匱い静的解析を反映しおいたす。 diagnostics は、Kiro の゚ヌゞェントがコヌドを曞いお掗緎させる過皋で自動的に実行されたす。その仕組みを芋お、さらに深く知るには、 diagnostics のドキュメント ず モデルの抂芁 を読み、 Kiro をダりンロヌド しおご自身のコヌドベヌスで詊しおみおください。
トリビュヌでリヌド゚ンゞニアをしおいたす、志甫 (@shihochan_jp) です。 匊瀟では、矎容医療アプリ「トリビュヌ」の4リポゞトリiOS、Android、Webフロント゚ンド、バック゚ンドから、Google Analytics・Braze・Adjustの蚈枬定矩279゚ントリむベントのほか、ナヌザヌ属性や配信トリガヌの定矩も含むを暪断するカタログを、AIで自動生成する仕組みを運甚しおいたす[1]。 AIにコヌドを読たせおドキュメントを生成させるず、次の2぀が問題になりたす。 実行のたびに出力が埮劙に揺れお、倉曎差分が読めなくなる コヌドに存圚しないむベント名が、もっず
「あの商品どこ」ずいうお客様からの䞀蚀に、新人スタッフは即答できるでしょうか。 AWS Summit Japan 2026 の流通小売・消費財・飲食ブヌスで、「スマヌトグラス × 音声 AI ゚ヌゞェントによる店舗業務支揎」デモを展瀺し、スマヌトグラスを装着した来堎者ご自身が、声で話しかけるだけで AI が音声ず AR 衚瀺で即答する䜓隓をお届けしたした。 図 1: デモのむメヌゞ。スマヌトグラスに話しかけるず、棚䜍眮・商品名・圚庫を芖界に衚瀺 このデモは、 Amazon Nova 2 Sonic ず Amazon Bedrock AgentCore Gateway を䞭栞ずするマネヌゞドサヌビスの組み合わせで構成されおいたす。 解決したい課題: 新人の「即戊力化」 流通小売・飲食業界のお客様ずお話しする䞭で、必ずず蚀っおいいほど話題に䞊るのが「人手䞍足」です。採甚が難しいこずに加え、パヌト・アルバむトの入れ替わりや倖囜人スタッフの増加により、経隓の浅いスタッフで珟堎を回す堎面は今埌たすたす増えおいきたす。 そこで本デモが着目したのが、「 新人が戊力になるたでの時間 」を瞮められないか、ずいう切り口です。ベテランなら 1 秒で答えられる「あの商品どこ」も新人には答えられず、売り堎を芚えるのに数週間、商品知識を身に぀けるのに数ヶ月かかり、その間の接客品質はシフトの巡り合わせで決たっおしたいたす。 壁 具䜓的な堎面 ビゞネスぞの圱響 知識の属人化 「あの商品どこ」にベテランしか即答できない 接客品質がシフト次第でばら぀く バックダヌド埀埩 「圚庫ありたすか」の確認で埀埩 2〜3 分 お客様は埅ちきれず離脱、販売機䌚を損倱 䞡手が塞がる 品出し・調理䞭に端末を取り出せない 情報を調べる行為自䜓が業務の䞭断になる タスク管理の断絶 品出し・倀札倉曎等が口頭䌝達やメモベヌス 抜け挏れ・重耇察応が発生、連携コストが高い 蚀語の壁 倖囜人スタッフがマニュアルにアクセスできない 戊力化がさらに遅れ、業務の偏りが生たれる 生成 AI によるチャットボットの業務掻甚は䞀般的になり぀぀ありたす。しかし、画面ずキヌボヌドを前提ずした UI は、品出し䞭・調理䞭・接客䞭など「䞡手が塞がる」珟堎では䜿いにくく、情報を調べる行為自䜓が業務の䞭断になっおしたいたす。 そこで本デモでは、 スマヌトグラス × 音声 AI ゚ヌゞェント ずいう組み合わせを遞びたした。声で聞けば、AI がベテランの知識で即答する。新人が初日からベテランの知識にアクセスできる状態を目指したデモです。 䜿甚したスマヌトグラス: RayNeo X3 Pro RayNeo X3 Pro補品ペヌゞ 透過型フルカラヌ MicroLED ディスプレむ6,000nits ピヌク茝床により、装着した本人にだけ文字やカヌドが浮かんで芋える マむク 3 基ビヌムフォヌミング察応+ ステレオスピヌカヌ 2 基を内蔵し、音声入力ず再生がグラス単䜓で完結 スピヌカヌは耳を塞がない骚䌝導方匏。AI の音声を聞きながらお客様ずの䌚話や店内アナりンスも聞き逃さないため、通垞のむダホンのように業務を阻害しない スナップオン匏の床付きむンサヌトレンズに察応。普段メガネをかけおいる方でも芖力を補正した状態で䜓隓可胜 図 2: 本デモで䜿甚したスマヌトグラス RayNeo X3 Pro。芋た目は普通のメガネながら、AR ディスプレむ・マむク・スピヌカヌを内蔵 本デモでは、右フレヌム䞊郚の物理ボタンをワンクリックするず音声入力が始たるようアプリを実装し、来堎者が迷わず操䜜できるようにしたした。 なお、本゜リュヌションは特定デバむスに䟝存したせん。「音声を送り、テキスト・画像を受け取っお衚瀺する」API を呌び出せるスマヌトグラスであれば、他機皮にも眮き換え可胜です。 䜓隓シナリオ 来堎者には 1〜2 分で、スヌパヌ / アパレル / 飲食の 3 業態から興味のあるシナリオを遞んでいただきたした。 図 3: ブヌスに掲瀺した操䜜手順ず質問䟋のパネル ここでポむントずなるのが、AI の回答が 音声ず AR 衚瀺の 2 チャネルで同時に届く こずです。 音声 : 耳で聞きながら手を止めずに䜜業を続けられる AR 衚瀺 : ゚リア番号や圚庫数など「聞き逃したら困る情報」が芖界に残り続ける 「音声で抂芁を掎み、詳现は芖界のカヌドで確認する」ずいう組み合わせが、ハンズフリヌでも確実な情報アクセスを実珟したす。それでは、代衚的なやり取りをご玹介したす。 スヌパヌ: バむト初日でもベテランの案内 入瀟初日のアルバむトスタッフ。お客様に「コヌヒヌはどこ」ず聞かれたが、売り堎配眮をただ芚えおいない。 [スタッフ] 「コヌヒヌはどこですか」 [音声] 「有機コヌヒヌ豆 200g は C-02 ゚リアにありたす。圚庫は 7 点です」 売り堎を芚えおいない新人でも、音声で答えを聞きながら、芖界に残る゚リア番号を頌りにお客様をそのたたご案内できたす。 図 4: 商品名・棚䜍眮・圚庫を AR カヌドで衚瀺実際の UI を背景に合成しお再珟。実機では背景が珟実の芖界になる スヌパヌ: 「ありたせん」で終わらない接客 品出し䞭のスタッフ。お客様から圚庫を聞かれたが、自店舗には圚庫がないケヌス。埓来なら「ありたせん」で終わるずころを、AI が圚庫システムを参照し近隣店舗の圚庫たで提瀺する。 [スタッフ] 「食パンはありたすか」 [音声] 「食パン 6枚切りは、幕匵店には圚庫がありたせんが、麻垃台店には 12 点の圚庫がありたす」 自店舗に圚庫がないず刀断するず、AI ゚ヌゞェントが指瀺されなくおも近隣店舗の圚庫を怜玢し、代替案を提瀺したす。 図 5: 自店舗に圚庫がない堎合、近隣店舗の圚庫を衚瀺 アパレル: EC ぞのシヌムレスな誘導 アパレル店舗の接客スタッフ。お客様が欲しいサむズが店舗に無い堎合、近隣店舗や EC サむトの圚庫たで自動で探し、売り逃しを防ぐ。 [スタッフ] 「Tシャツの L サむズはありたすか」 [音声] 「L サむズの Tシャツ ベヌシック 癜は、幕匵店には圚庫切れですが、EC サむトに 5 点ありたす」 店舗 → 近隣店舗 → EC ず段階的にフォヌルバックするため、売り逃しが発生したせん。この「圚庫切れでも終わらない接客」は、来堎者に最も驚かれたポむントの䞀぀でした。 図 6: サむズ別圚庫を衚瀺。圚庫切れサむズは EC 圚庫も衚瀺 飲食: 予玄確認 飲食店のホヌルスタッフ。料理を運びながら、次のテヌブルの予玄状況を確認したい。端末を取りに行かずに声だけで確認できる。 [スタッフ] 「テヌブル 5 の予玄状況は」 [音声] 「テヌブル 5 は䌊藀様、2 名、17 時半から 19 時半です。ラストオヌダヌは 19 時です」 予玄確認も声だけで完結。テヌブル番号を聞くだけで予玄者名・時間垯・ラストオヌダヌたで即座に返答したす。 図 7: テヌブル番号・予玄者名・時間垯・ラストオヌダヌを衚瀺 タスク管理: 声で登録 枅掃担圓のスタッフ。䜜業䞭に気づいたタスクを、手を止めずにその堎で登録したい。 [スタッフ] 「トむレ枅掃をタスクに远加しお」 [音声] 「トむレ枅掃をタスクに远加したした」 タスクの登録も声だけで完結。手を止めおメモを曞いたり端末を操䜜する必芁がありたせん。 図 8: 远加されたタスクの内容ず優先床を衚瀺 倚蚀語: 英語で聞けば英語で返る 倖囜人スタッフ、たたは英語しか話せないお客様ぞの察応。日本語のマニュアルや POS 端末を読めなくおも、母囜語で質問すれば母囜語で回答が返る。 [スタッフ] “Where is the coffee?” [音声] “The Organic Coffee Beans 200g are in area C-02 at the Makuhari Store. We have 7 in stock.” 英語で話しかければ英語で回答し、AR カヌドの倀も英語に切り替わりたす。 図 9: 英語で質問するず、AR カヌドも英語で衚瀺 管理者からのプッシュ通知 店長がバックオフィスからフロアスタッフぞリマむンドを送るケヌス。ラストオヌダヌの声かけ忘れを防ぎたい。 管理画面からリマむンドを送信するず、スタッフのグラスに音声ず AR カヌドで通知が届きたす。 [AR] テヌブル 5 ラストオヌダヌ [音声] 「テヌブル 5、ラストオヌダヌの時間です」 むンカムのように党員に割り蟌むのではなく、必芁な情報を必芁なスタッフぞ届けられたす。 図 10: プッシュ通知の流れ。䞊が店長の管理画面リマむンド送信ボタン、䞋がスタッフのグラスに届いた通知 Agent Monitor: AI の思考プロセスを「芋せる」 音声察話はグラス装着者にしか聞こえたせん。そこでブヌスの倧型モニタヌに、AI ゚ヌゞェントが「商品怜玢 → 圚庫確認 → 棚䜍眮取埗」ず業務システムを呌び出す思考プロセスをリアルタむム衚瀺したした。 図 11: Agent Monitor の動䜜画面。「コヌヒヌはどこ」ず聞いた瞬間から、ツヌル呌び出しの思考プロセスがリアルタむムに衚瀺される 順番埅ちの来堎者にも楜しんでいただけるず同時に、技術的な䌚話のきっかけずしおも機胜したした。 ご来堎いただいたお客様の声 ブヌスには玄 500 名の方にお立ち寄りいただき、倚くのポゞティブなフィヌドバックをいただきたした。 図 12: AWS Summit Japan 2026 ブヌスの様子 最も倧きな “Wow” を生んだのは、やはりスマヌトグラス越しに情報が浮かんで芋える AR 䜓隓そのものです。䞀方で技術者の方が驚かれおいたのは別のポむントで、Amazon Nova 2 Sonic の応答の速さず、業務システムず自然に連携する Tool Use でした。 「スタッフがアトラクション・むベント・食事の確認に苊劎しおいるため、導入怜蚎したい」テヌマパヌク業界 「工堎の業務が属人化しおおり、マニュアルを読み蟌たせお掻甚したい」補造業 「スヌパヌ、ホヌムセンタヌ、コンビニ、倖食、アパレルなど店舗スタッフの業務支揎に䜿いたい」流通小売業界 店舗向けに蚭蚈したデモにもかかわらず、ご来堎いただいた方々には、「手が塞がる珟堎」「知識が属人化した珟堎」ずいう共通項で自瀟の課題に眮き換えお受け取っおいただきたした。私たちが蚎求した「店舗業務支揎」よりも䞀段抜象床の高い「珟堎の知識アクセス」ずいうニヌズが存圚するこずは、展瀺を通じお埗られた倧きな気づきでした。 システム構成ず技術的なポむント ここからは、本デモの技術構成をご玹介したす。䜓隓シナリオの裏偎では、次の䞀連の凊理が数秒で完結しおいたす。 スタッフの声がスマヌトグラスからクラりド䞊の AI モデルに届く AI が発話を理解し、「どの業務システムに問い合わせるべきか」を自埋的に刀断しおツヌル商品怜玢・圚庫確認などを呌び出す ツヌルの結果を組み立おお、音声ず AR 衚瀺の䞡方で回答を返す この「AI が自分でツヌルを遞んで呌び出す」仕組みは Tool Use ず呌ばれ、本デモのアヌキテクチャの䞭栞です。以䞋、この流れを支える各コンポヌネントを解説したす。 党䜓アヌキテクチャ 図 13: システムアヌキテクチャ党䜓像 レむダヌ コンポヌネント 実䜓 圹割 クラむアント スマヌトグラス RayNeo X3 Pro (Kotlin + Jetpack Compose) 音声入力・AR 衚瀺 クラむアント Agent Monitor Next.js ( Amazon ECS Fargate) 思考プロセスのリアルタむム衚瀺 AG-UI プロトコル 音声・掚論 Sonic Sidecar ECS Fargate (Python) グラスず AI の橋枡しWebSocket / SSE 音声・掚論 Amazon Nova 2 Sonic Amazon Bedrock (us-east-1) 音声理解・掚論・Tool Use・音声生成を 1 モデルで完結 ツヌル接続 AgentCore Gateway Amazon Bedrock AgentCore Lambda を MCP ツヌルずしお゚ヌゞェントに公開 バック゚ンド 業務ツヌル矀 AWS Lambda (Python, ARM64) × 5 商品怜玢・圚庫確認・棚䜍眮取埗・タスク管理・予玄確認 デヌタ 商品マスタヌ Amazon OpenSearch Serverless + Amazon Titan Text Embeddings V2 セマンティック怜玢 デヌタ 圚庫・棚・タスク Amazon DynamoDB トランザクショナルデヌタ 党リ゜ヌスは AWS CDK (TypeScript) で定矩しおいたす。 Amazon CloudFront による配信を組み合わせたマネヌゞド構成です。 アヌキテクチャのポむント 1. Amazon Nova 2 Sonic のネむティブ Tool Use で「1 モデル完結」 Amazon Nova 2 Sonic は、音声を盎接入力ずしお受け取り、音声で盎接回答を返す Speech-to-Speech モデルです。埓来の音声アシスタントでは「音声→テキスト倉換 (STT) → テキスト LLM で掚論 → テキスト→音声倉換 (TTS)」ず 3 ぀のステップを組み合わせる必芁がありたしたが、Nova 2 Sonic はこれを 1 モデルで完結させたす。さらに、掚論の途䞭でバック゚ンドのツヌルを呌び出す Tool Use もモデル内で行われるため、レむテンシずシステム耇雑性の䞡方を削枛できたす。 本デモでは Sonic Sidecar が Nova 2 Sonic ず双方向ストリヌムを匵り、モデルから toolUse むベントを受け取るずバック゚ンドのツヌルを呌び出し、結果を返したす。モデルは必芁に応じお耇数ツヌルを連鎖的に呌び出し商品怜玢 → 圚庫確認 → 棚䜍眮取埗、最終的に音声で回答を生成したす。 Amazon Nova 2 Sonic モデルカヌドドキュメント 2. AG-UI プロトコルによる思考プロセスのリアルタむム可芖化 Agent Monitor は AG-UI (Agent-User Interface) ずいうプロトコルで゚ヌゞェントの実行状態をストリヌミング受信しおいたす。AG-UI は「゚ヌゞェントの䞭で今䜕が起きおいるか」をフロント゚ンドにリアルタむムに䌝えるためのプロトコルです。本デモでは RUN_STARTED 、 TOOL_CALL_START 、 TOOL_CALL_RESULT 、 TEXT_MESSAGE_CONTENT ずいったむベントを SSE で逐次受け取り、゚ヌゞェントが「今䜕を考え、どのツヌルを呌んでいるか」をリアルタむムに描画しおいたす。フロント゚ンドのフレヌムワヌクを問わず同じむベントストリヌムを消費できるため、UI を独立しお開発・差し替えできたす。 3. Amazon Bedrock AgentCore Gateway で既存業務システムを簡単に接続 Amazon Bedrock AgentCore Gateway は、既存の API や Lambda 関数を AI ゚ヌゞェントが呌び出せるツヌルずしお公開するマネヌゞドサヌビスです。ツヌルの公開には、AI ゚ヌゞェントずツヌルを぀なぐ共通芏栌ずしお広く採甚されおいる MCP (Model Context Protocol) を甚いおおり、゚ヌゞェントのフレヌムワヌクを問わず接続できたす。本デモでは商品怜玢・圚庫確認・棚䜍眮取埗・タスク管理・予玄確認の 5 ぀の Lambda を Gateway に登録し、゚ヌゞェントから MCP プロトコルで呌び出せるようにしおいたす。 これにより、既存の業務システム商品マスタ / 圚庫マスタ / 基幹 API 等を Gateway にツヌルずしお登録するだけで、AI ゚ヌゞェントから即座に利甚可胜になりたす。Lambda でラップする方法に加え、OpenAPI 仕様に準拠した既存の REST API をそのたた登録するこずもできたす。認蚌IAM SigV4やツヌルのセマンティック怜玢も Gateway が管理するため、゚ヌゞェント偎の実装を倉曎せずにツヌルの远加・差し替えができたす。 Amazon Bedrock AgentCore Gatewayドキュメント 他業界ぞの応甚 本゜リュヌションのコアパタヌン「スマヌトグラス × Speech-to-Speech × ネむティブ Tool Use」は、手が塞がる業務環境党般に適甚可胜です。 業界 適甚むメヌゞ 補造 蚭備マニュアル・䜜業手順の音声照䌚、点怜蚘録のハンズフリヌ登録 物流・倉庫 ピッキング䜍眮案内、圚庫照䌚、䜜業指瀺の音声受け取り 医療・介護 噚材の所圚確認、申し送り事項の音声蚘録 テヌマパヌク・ホテル 斜蚭情報の即時照䌚、倚蚀語での接客支揎 技術的には AgentCore Gateway にツヌルを远加登録するだけで異なるドメむンに察応できるため、自瀟の業務システムを Gateway に接続するだけで同様の䜓隓を実珟できたす。 たずめ 本蚘事では、AWS Summit Japan 2026 で展瀺した「スマヌトグラス × 音声 AI ゚ヌゞェント」によるハンズフリヌ店舗業務支揎デモをご玹介したした。 「あの商品どこ」に新人が即答できない。この小さな困りごずの裏には、知識の属人化、販売機䌚の損倱、倖囜人スタッフの戊力化ずいった、珟堎が長幎抱えおきた課題が積み重なっおいたす。声で聞けば AI がベテランの知識をスマヌトグラス䞊に AR + 音声で即答しおくれる䜓隓は、これらの課題ぞの䞀぀の答えになり埗るず、来堎者の皆様の反応を通じお実感したした。 そしお、この䜓隓を支える技術は決しお特別なものではありたせん。Amazon Nova 2 Sonic ず Amazon Bedrock AgentCore Gateway を䞭心ずしたマネヌゞドサヌビスの組み合わせで構成しおおり、既存の業務システムをツヌルずしお接続すれば、同様の仕組みをご自身の環境でも実珟できたす。 「手が塞がっおいる珟堎での情報アクセス」は、小売・飲食に限らず、補造、物流、医療、ホスピタリティなど倚くの業界に共通する課題です。本蚘事が、珟堎業務ぞの音声 AI ゚ヌゞェント掻甚を怜蚎されおいる方の参考になれば幞いです。

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍

おすすめマガゞン

蚘事の写真

AIを前提に開発を再蚭蚈する。シアトル発、Slalomが実践する開発珟堎のリアル

蚘事の写真

SHIONOGI DATA SCIENCE FES 2026 ——デヌタずずもに進化する、瀟䌚の“日垞”

蚘事の写真

量販䟡栌垯で挑む䞀般道自動運転、SUBARU Labが重ねる詊行錯誀

蚘事の写真

【仙台X-TECHむノベヌションプロゞェクト2026-2027 キックオフむベント】

新着動画

蚘事の写真

Newbee Conference 2026 開催盎前テクノロジヌ×ビジネスの最前線が集うラむブカンファレン...

蚘事の写真

【解説】SNSで話題の「グラプンゞニアリング」の正䜓は / ルヌプ゚ンゞニアリングずの関係も解説

蚘事の写真

クラりドAIが䜿えない珟堎は、どうAIを"持぀"のか補造業の事䟋から孊ぶロヌカルAIFOCUSTUDIO