<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Developer Experience | The .NET Blog</title><link>https://thedotnetblog.com/ja/tags/developer-experience/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ja</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sun, 21 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ja/tags/developer-experience/index.xml" rel="self" type="application/rss+xml"/><item><title>Visual Studio の中で pull request をレビューできるのは、まさに私が好きな摩擦軽減です</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/</link><pubDate>Sun, 21 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/</guid><description>Visual Studio は今や IDE を離れずに pull request を最初から最後までレビューできます。これは段階的に見えるかもしれませんが、Visual Studio に一日中いるチームにとっては、不要なコンテキスト切り替えをかなり減らします。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。原文は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-pull-request-review-inside-the-ide/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;ブラウザは、コードレビューのワークフローからあまりにも長く、あまりにも多くを奪ってきました。&lt;/p&gt;
&lt;p&gt;だからこそ、Visual Studio が &lt;strong&gt;IDE の中で最初から最後まで pull request をレビューする&lt;/strong&gt; 方向へさらに進んでいるのを見るのは、とても嬉しいです。&lt;/p&gt;
&lt;p&gt;これは大きな見出しを作るタイプの機能ではないかもしれませんが、日々の開発を確実に良くしてくれます。&lt;/p&gt;
&lt;h2 id="主な価値は単純ですコンテキスト切り替えが減ること"&gt;主な価値は単純です。コンテキスト切り替えが減ること&lt;/h2&gt;
&lt;p&gt;レビューのループが IDE とブラウザの両方にまたがっていると、摩擦が積み重なります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;別の場所で PR を開く&lt;/li&gt;
&lt;li&gt;あるツールで変更を確認する&lt;/li&gt;
&lt;li&gt;より深く調べるために solution に戻る&lt;/li&gt;
&lt;li&gt;コメントや承認のためにまた切り替える&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは致命的ではありません。ただ非効率なだけです。&lt;/p&gt;
&lt;p&gt;Visual Studio が、同じ作業環境から PR を開き、確認し、コメントし、承認し、マージできるなら、それは本当の生産性向上です。&lt;/p&gt;
&lt;h2 id="checkout-せずにレビュー-は特にいい機能です"&gt;&amp;ldquo;checkout せずにレビュー&amp;rdquo; は特にいい機能です&lt;/h2&gt;
&lt;p&gt;私が特に気に入っているのは、PR ブランチを checkout せずにレビューできる点です。&lt;/p&gt;
&lt;p&gt;小さく聞こえるかもしれませんが、次のような場面にぴったりです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;素早いレビュー&lt;/li&gt;
&lt;li&gt;割り込みベースのフィードバック依頼&lt;/li&gt;
&lt;li&gt;現在のブランチとローカル状態をそのまま保つこと&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これはまさに、優れたコードレビュー ツールに必要な柔軟性です。&lt;/p&gt;
&lt;h2 id="私見"&gt;私見&lt;/h2&gt;
&lt;p&gt;これは革命的な機能ではありません。&lt;/p&gt;
&lt;p&gt;もっと良いものです。実用的な機能です。&lt;/p&gt;
&lt;p&gt;Visual Studio で一日の大半を過ごすチームにとって、PR レビューのサポートが強化されることは、ワークフローの中断を減らし、確認から行動までをより滑らかにします。&lt;/p&gt;
&lt;p&gt;それは十分に価値のある改善だと思います。&lt;/p&gt;
&lt;p&gt;原文: &lt;a href="https://devblogs.microsoft.com/visualstudio/review-pull-requests-without-leaving-visual-studio/"&gt;Visual Studio を離れずに pull request をレビューする&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Agent Harnesses Matter Because Prompts Are Not Enough</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/agent-harness-claw-why-the-runtime-shell-matters/</link><pubDate>Sat, 20 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/agent-harness-claw-why-the-runtime-shell-matters/</guid><description>Microsoft Agent Framework の新しいクローとハーネスのチュートリアルは、真のエージェントにはモデルの周囲にランタイムシェル（ツール、計画、メモリ、セッション、実用的な実行ループ）が必要であることを改めて示している。</description><content:encoded>&lt;p&gt;エージェント開発における最も陥りやすい間違いのひとつは、プロンプトが製品そのものだと考えてしまうことである。&lt;/p&gt;
&lt;p&gt;そうではない。&lt;/p&gt;
&lt;p&gt;Microsoft Agent Framework チームによる新しい&lt;strong&gt;エージェントハーネスとクロー&lt;/strong&gt;のチュートリアルが価値を持つのは、エージェントを使い物にするかどうかを実際に決定する部分、すなわちモデルの周囲のランタイムシェルに焦点を当てているからだ。&lt;/p&gt;
&lt;p&gt;それには以下が含まれる:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ツール&lt;/li&gt;
&lt;li&gt;計画&lt;/li&gt;
&lt;li&gt;セッション状態&lt;/li&gt;
&lt;li&gt;メモリ&lt;/li&gt;
&lt;li&gt;実行モード&lt;/li&gt;
&lt;li&gt;イテレーションのための使えるコンソールまたはインターフェース&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これこそが、エージェントが単なる巧妙なデモから、実際のソフトウェアのように感じられ始めるポイントである。&lt;/p&gt;
&lt;h2 id="ハーネスパターンは実践的である"&gt;ハーネスパターンは実践的である&lt;/h2&gt;
&lt;p&gt;私が気に入っているのは、このアイデアがいかにアプローチしやすいかという点だ。&lt;/p&gt;
&lt;p&gt;チャットクライアントから始める。&lt;/p&gt;
&lt;p&gt;次に、それを指示とツールを持つハーネスでラップする。&lt;/p&gt;
&lt;p&gt;そして、計画、TODO、セッション、ストリーミングインタラクションをサポートするシェルを通じて実行する。&lt;/p&gt;
&lt;p&gt;これは健全なパターンである。なぜなら関心事を明確に分離しているからだ:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モデルは推論を担当する&lt;/li&gt;
&lt;li&gt;ハーネスはランタイム動作を担当する&lt;/li&gt;
&lt;li&gt;アプリはどのツールと体験が重要かを決定する&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="これは-net-開発者のシステム構築方法に非常によく適合する"&gt;これは .NET 開発者のシステム構築方法に非常によく適合する&lt;/h2&gt;
&lt;p&gt;ハーネスのアイデアは .NET の考え方にも見事にマッピングされる。&lt;/p&gt;
&lt;p&gt;ランタイム動作が明示的で構成可能である場合、私たちは通常より良い結果を出せる。ミドルウェア、パイプライン、オプション、プロバイダー、アダプターはすべてこの世界で自然に感じられる。&lt;/p&gt;
&lt;p&gt;だからこそ、Agent Framework が .NET 開発者に受け入れられる可能性は高いと思う。全員をひとつの魔法の抽象化に押し込めるのではなく、配線可能な構造化されたランタイム部品を提供しているからだ。&lt;/p&gt;
&lt;h2 id="私の見解"&gt;私の見解&lt;/h2&gt;
&lt;p&gt;この記事の最も有用な部分は、エージェントには優れたモデルと巧妙な指示文字列以上のものが必要であるというリマインダーである。&lt;/p&gt;
&lt;p&gt;エージェントには、構造、メモリ、ツールアクセス、計画、そして機能する開発者ループを与えるランタイムシェルが必要である。&lt;/p&gt;
&lt;p&gt;それがハーネスが提供するものである。&lt;/p&gt;
&lt;p&gt;そして正直なところ、だからこそこのパターンに注目する価値がある。&lt;/p&gt;
&lt;p&gt;元記事: &lt;a href="https://devblogs.microsoft.com/agent-framework/meet-your-agent-harness-and-claw/"&gt;Meet your agent harness and claw&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Aspire in VS Code 13.4 Tightens the Developer Loop in All the Right Ways</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/aspire-vscode-13-4-developer-loop/</link><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/aspire-vscode-13-4-developer-loop/</guid><description>Aspire in VS Code 13.4 は単なる機能アップデートではない。デバッグ、リソースの可視性、パネル統合、TypeScript AppHost サポートの改善により、日々の開発ループを真に向上させる。</description><content:encoded>&lt;p&gt;最高のツーリングアップデートとは、リリースノートで見栄えがするものではなく、数日使ってみて実感できるものである。&lt;/p&gt;
&lt;p&gt;それが &lt;strong&gt;Aspire in VS Code 13.4&lt;/strong&gt; に対する私の印象である。&lt;/p&gt;
&lt;p&gt;このアップデートはすべて、インナーループの強化に関するものである: プロジェクトの迅速な作成、複数言語リソースのより自然なデバッグ、エディタ上でのヘルスとコマンドの直接表示、ダッシュボードを唯一の作業場所にせずに近くに保つこと。&lt;/p&gt;
&lt;p&gt;これは非常に良い方向性である。&lt;/p&gt;
&lt;h2 id="最大の成果はコンテキストスイッチの削減"&gt;最大の成果はコンテキストスイッチの削減&lt;/h2&gt;
&lt;p&gt;Aspire を本格的に使う場合、通常は複数の画面を行き来することになる:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AppHost コード&lt;/li&gt;
&lt;li&gt;ターミナル&lt;/li&gt;
&lt;li&gt;ダッシュボード&lt;/li&gt;
&lt;li&gt;ログ&lt;/li&gt;
&lt;li&gt;デバッグセッション&lt;/li&gt;
&lt;li&gt;サービスエンドポイント&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;13.4 がうまくやっているのは、それらの画面間の摩擦を減らすことである。&lt;/p&gt;
&lt;p&gt;新しい VS Code エクスペリエンスは、アプリの状態をユーザーがすでに作業している場所でより多く可視化する:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;エディタ上のリソースヘルス&lt;/li&gt;
&lt;li&gt;リソース宣言の横のコマンド&lt;/li&gt;
&lt;li&gt;より簡単なダッシュボードアクセス&lt;/li&gt;
&lt;li&gt;AppHost コンテキストからのログアクセス&lt;/li&gt;
&lt;li&gt;フルデバッグ開始前でも有用なパネル&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは毎日使うと小さくは感じられない。&lt;/p&gt;
&lt;h2 id="混在スタックのデバッグは人々が考える以上に重要"&gt;混在スタックのデバッグは人々が考える以上に重要&lt;/h2&gt;
&lt;p&gt;このアップデートの最も強力な部分のひとつは、&lt;strong&gt;C#、TypeScript、Python、Go、ブラウザアプリ、Azure Functions&lt;/strong&gt; をひとつの Aspire 駆動フローでデバッグするためのより自然なストーリーである。&lt;/p&gt;
&lt;p&gt;これは、すべてが単一のランタイムに存在するふりをするよりも、現代のアプリの実際の形状をはるかによく反映している。&lt;/p&gt;
&lt;p&gt;特に .NET 開発者にとって、これは価値がある。なぜなら、私たちの多くは現在、API プロジェクト、フロントエンド、ワーカー、AI 関連サービスを異なる言語で混在させたシステムを構築しているからだ。&lt;/p&gt;
&lt;p&gt;Aspire がこれを VS Code 内でより統一感のあるものにしていることは、非常に実用的な改善である。&lt;/p&gt;
&lt;h2 id="typescript-apphost-サポートの-ga-も重要"&gt;TypeScript AppHost サポートの GA も重要&lt;/h2&gt;
&lt;p&gt;このリリースの TypeScript AppHost の側面も無視すべきではない。&lt;/p&gt;
&lt;p&gt;Aspire が C# と TypeScript の両方でより自然になることで、奇妙なセカンドクラスのワークフローなしに同じシステムモデルで作業できる人が増える。これは、プラットフォームコード、フロントエンドコード、サービスオーケストレーションがすべて近接しているチームにとって重要である。&lt;/p&gt;
&lt;h2 id="私の見解"&gt;私の見解&lt;/h2&gt;
&lt;p&gt;VS Code における Aspire 13.4 は、ひとつのキラー機能に関するものではない。日々のループにおける粗いエッジを滑らかにすることである:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;より速く開始する&lt;/li&gt;
&lt;li&gt;コードを書く場所でより多くの状態を確認する&lt;/li&gt;
&lt;li&gt;より自然にデバッグする&lt;/li&gt;
&lt;li&gt;必要なときだけログとダッシュボードにジャンプする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは優れたツールが進化するべき正確な方法である。&lt;/p&gt;
&lt;p&gt;すでに Aspire を使用しているなら、このアップデートはインストールする価値がある。VS Code が Aspire ベースの開発の真剣な拠点かどうかまだ疑問に思っているなら、その答えはますます明確になりつつある。&lt;/p&gt;
&lt;p&gt;元記事: &lt;a href="https://devblogs.microsoft.com/aspire/aspire-vscode-extension-13-4/"&gt;Aspire in VS Code: the 13.4 developer loop&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Visual Studio の新しい Plan agent は、実在する AI ワークフローの問題を解決します</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/</link><pubDate>Thu, 11 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/</guid><description>Visual Studio の新しい Plan agent が重要なのは、実装の前に構造化された計画段階を作るからです。これは大きな機能やリファクタリングにまさに必要なものです。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。原文は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/visual-studio-plan-agent-build-before-code/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;AI コーディングのワークフローで最もイライラするもののひとつは、実装が早すぎることです。&lt;/p&gt;
&lt;p&gt;コード自体は技術的には問題ないこともありますが、頭の中にあった問題の別の版を解いてしまっています。&lt;/p&gt;
&lt;p&gt;リファクタリングをしたかったのに、書き換えが始まった。
範囲を絞った改善をしたかったのに、プロジェクトの半分に触れた。
選択肢を話し合いたかったのに、すぐにファイル変更へ進んだ。&lt;/p&gt;
&lt;p&gt;だからこそ、Visual Studio の新しい &lt;strong&gt;Plan agent&lt;/strong&gt; はとても有用な追加機能です。&lt;/p&gt;
&lt;h2 id="これは見た目の問題ではなく実際のワークフローの問題を解決します"&gt;これは見た目の問題ではなく、実際のワークフローの問題を解決します&lt;/h2&gt;
&lt;p&gt;元の投稿は、とてもよくある状況をこう表現しています。&amp;quot;&lt;strong&gt;コードは間違っていない&amp;hellip; ただ、あなたが望んだものではない。&lt;/strong&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;この一文は本当に的確です。&lt;/p&gt;
&lt;p&gt;なぜなら、AI 支援開発の弱点はモデルがコードを出せるかどうかではないからです。実装が始まる前に、作業の意図した形について合意するための十分な余地がワークフローにあるかどうかが問題なのです。&lt;/p&gt;
&lt;p&gt;それが特に重要なのは次のような場合です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大きな機能&lt;/li&gt;
&lt;li&gt;なじみのないコードベース&lt;/li&gt;
&lt;li&gt;単純ではないリファクタリング&lt;/li&gt;
&lt;li&gt;アーキテクチャに敏感な変更&lt;/li&gt;
&lt;li&gt;編集を始める前にチームレビューが必要な作業&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうした状況では、すぐに実装へ飛び込むのはたいてい間違いです。&lt;/p&gt;
&lt;h2 id="タスクが本物なら計画はオーバーヘッドではありません"&gt;タスクが本物なら、計画はオーバーヘッドではありません&lt;/h2&gt;
&lt;p&gt;チームは、とても早く実装を始めることでどれだけ時間を失っているかを、時々見積もり違いしていると思います。&lt;/p&gt;
&lt;p&gt;もし agent が:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;間違ったファイルを触る&lt;/li&gt;
&lt;li&gt;間違ったアプローチを選ぶ&lt;/li&gt;
&lt;li&gt;重要な制約を見落とす&lt;/li&gt;
&lt;li&gt;必要なエッジケースを無視する&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;なら、&amp;ldquo;速い&amp;rdquo; はずの開始が、全体としては遅いワークフローになります。&lt;/p&gt;
&lt;p&gt;だからこそ、この機能が好きです。&lt;/p&gt;
&lt;p&gt;次のための余地を作ります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;明確化の質問&lt;/li&gt;
&lt;li&gt;計画の作成&lt;/li&gt;
&lt;li&gt;計画の直接編集&lt;/li&gt;
&lt;li&gt;コード変更が始まる前に計画を共有すること&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは官僚主義ではありません。多くの場合、ただの良いエンジニアリングです。&lt;/p&gt;
&lt;h2 id="markdown-の-plan-ファイルは賢い選択です"&gt;Markdown の plan ファイルは賢い選択です&lt;/h2&gt;
&lt;p&gt;特に気に入っている点のひとつは、すべての plan が &lt;code&gt;.copilot/plans/plan-{title}.md&lt;/code&gt; に保存されることです。&lt;/p&gt;
&lt;p&gt;これで計画のステップが具体的になります。&lt;/p&gt;
&lt;p&gt;plan がチャットの transcript の中に閉じ込められません。次のようなものになります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;確認する&lt;/li&gt;
&lt;li&gt;編集する&lt;/li&gt;
&lt;li&gt;頭の中で version 管理する&lt;/li&gt;
&lt;li&gt;チームと話し合う&lt;/li&gt;
&lt;li&gt;より意図的に実装へ渡す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そのおかげで、この機能は単なる一時的な前置きではなく、かなり本格的に感じられます。&lt;/p&gt;
&lt;h2 id="ここで-ai-ワークフローはチームのプロセスを尊重し始めます"&gt;ここで AI ワークフローはチームのプロセスを尊重し始めます&lt;/h2&gt;
&lt;p&gt;これは、これらのツールが成熟してきている強い兆候のひとつだと思います。&lt;/p&gt;
&lt;p&gt;優れた AI 開発ワークフローは、途中の手順を全部なくすものではありません。正しい途中の手順を改善するものです。&lt;/p&gt;
&lt;p&gt;そして計画は、その手順のひとつです。&lt;/p&gt;
&lt;p&gt;plan が強ければ、実装は簡単になります。
plan が弱ければ、実装は雑然とします。&lt;/p&gt;
&lt;p&gt;この機能はそれをそのまま認めています。&lt;/p&gt;
&lt;h2 id="私見"&gt;私見&lt;/h2&gt;
&lt;p&gt;これは単なる AI の気の利いた機能ではありません。&lt;/p&gt;
&lt;p&gt;ワークフローの改善です。&lt;/p&gt;
&lt;p&gt;そして、実際の機能や実際のリファクタリングにおいては、不要な churn、レビューのノイズ、&amp;ldquo;それはそういう意味じゃない&amp;rdquo; という手戻りをかなり減らせる種類の改善です。&lt;/p&gt;
&lt;p&gt;今後、もっと多くの agent 体験がこういうものを必要とするはずだと思います。&lt;/p&gt;
&lt;p&gt;Visual Studio は、それを実用的な形で早く実現しました。&lt;/p&gt;
&lt;p&gt;原文: &lt;a href="https://devblogs.microsoft.com/visualstudio/plan-before-you-build-introducing-the-plan-agent-in-visual-studio/"&gt;ビルドする前に計画する: Visual Studio に Plan agent を導入&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>あなたの dev loop は tribal knowledge でいっぱいだ - そして Aspire は正しい答えを出している</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/</link><pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/</guid><description>Aspire の新しい投稿は強い指摘をしています。多くのチームに足りないのはツールではなく、隠れた運用知識を人間、スクリプト、エージェントが本当に使えるものに変える一貫したアプリケーションモデルなのです。</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。原文は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これは、Aspire の製品価値を理解するうえで最も重要な記事のひとつかもしれません。&lt;/p&gt;
&lt;p&gt;大きな新機能を発表しているからではありません。&lt;/p&gt;
&lt;p&gt;ほぼすべてのエンジニアリングチームが感じたことがあり、しかしすべてのチームがうまく言語化できているわけではない問題に名前を付けているからです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;dev loop は tribal knowledge でいっぱいだ。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;この言葉が刺さるのは、それが事実だからです。&lt;/p&gt;
&lt;h2 id="問題はツール不足ではない"&gt;問題はツール不足ではない&lt;/h2&gt;
&lt;p&gt;元記事の中心的な主張は非常に優れています。チームはしばしば、インフラ、スクリプト、ダッシュボード、コマンドが足りないわけではありません。&lt;/p&gt;
&lt;p&gt;足りないのは、アプリケーションの周りにある隠れた運用知識を、見えるもの、繰り返せるものに変える一貫したモデルです。&lt;/p&gt;
&lt;p&gt;多くのアプリの本当のアーキテクチャは次の場所にあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;shell history&lt;/li&gt;
&lt;li&gt;バラバラのスクリプト&lt;/li&gt;
&lt;li&gt;README の断片&lt;/li&gt;
&lt;li&gt;Slack のスレッド&lt;/li&gt;
&lt;li&gt;手順を知っている唯一の senior engineer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは、人間にとって持続可能な dev loop ではありません。&lt;/p&gt;
&lt;p&gt;そしてエージェントにとっては、なおさらです。&lt;/p&gt;
&lt;h2 id="この投稿全体を要約していると思う引用"&gt;この投稿全体を要約していると思う引用&lt;/h2&gt;
&lt;p&gt;元記事には、全体のポイントをよく表している一文があります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;Applications already exist as systems. Aspire makes those systems explicit, because explicit systems scale better than tribal knowledge.&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これが一行でこの主張のすべてです。&lt;/p&gt;
&lt;p&gt;正直に言って、これは今まで見た中でも最も強い Aspire の一文説明のひとつです。&lt;/p&gt;
&lt;h2 id="なぜ今は1年前よりも重要なのか"&gt;なぜ今は1年前よりも重要なのか&lt;/h2&gt;
&lt;p&gt;今この投稿が特に響くのは、AI 支援開発が曖昧さのコストを変えているからだと思います。&lt;/p&gt;
&lt;p&gt;人間は不完全なシステムを驚くほどよく補完できます。&lt;/p&gt;
&lt;p&gt;私たちは次のことを覚えています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;最初にどの script を実行するか&lt;/li&gt;
&lt;li&gt;ひそかに必要な environment variable は何か&lt;/li&gt;
&lt;li&gt;どの terminal がたいてい有用な logs を出すか&lt;/li&gt;
&lt;li&gt;誰も文書化していない理由で、どの service を2回 restart しなければならないか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;エージェントは、こうした隠れた運用上の folklore に対してははるかに弱いです。&lt;/p&gt;
&lt;p&gt;だから、エージェントを実際の repository で本当に役立つものにしたいなら、システムをより explicit にする必要があります。逆ではありません。&lt;/p&gt;
&lt;p&gt;その意味で、Aspire の framing は重要です。&lt;/p&gt;
&lt;h2 id="aspire-の本当の価値は-orchestration-だけではない"&gt;Aspire の本当の価値は orchestration だけではない&lt;/h2&gt;
&lt;p&gt;よくある誤解は、Aspire を分散アプリの launcher か、ローカル orchestration ヘルパー程度に見ることです。&lt;/p&gt;
&lt;p&gt;それでは小さすぎます。&lt;/p&gt;
&lt;p&gt;より強い価値提案は、Aspire がアプリケーションに次のものを与えることです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;model&lt;/li&gt;
&lt;li&gt;shape&lt;/li&gt;
&lt;li&gt;named resources&lt;/li&gt;
&lt;li&gt;explicit dependencies&lt;/li&gt;
&lt;li&gt;health と operations の surface&lt;/li&gt;
&lt;li&gt;人間と automation の両方が理解できる commands&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これが dev loop を変える力は、時に想像以上です。&lt;/p&gt;
&lt;p&gt;アプリが implicit な慣習の塊ではなく、実際の model を持つ system になった瞬間、次のものが同時に簡単になります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;onboarding&lt;/li&gt;
&lt;li&gt;debugging&lt;/li&gt;
&lt;li&gt;再現可能な setup&lt;/li&gt;
&lt;li&gt;CI の一貫性&lt;/li&gt;
&lt;li&gt;AI 支援ワークフロー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは、たった一つの design choice から得られる大きな leverage です。&lt;/p&gt;
&lt;h2 id="commands-as-first-class-operationsの観点が特に好きです"&gt;「commands as first-class operations」の観点が特に好きです&lt;/h2&gt;
&lt;p&gt;元記事のもうひとつの重要な点は、README の手順から resource-attached commands への移行です。&lt;/p&gt;
&lt;p&gt;これは見た目以上に大きな変化です。&lt;/p&gt;
&lt;p&gt;たとえばこうではなく:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;この script を実行して、次にあれを、最初のものが失敗したら別のこれを&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;アプリの context の中で operation を直接 model 化できます。&lt;/p&gt;
&lt;p&gt;それにより、人間はそれらを見つけやすくなります。&lt;/p&gt;
&lt;p&gt;そして、エージェントは prose から意図を推測しなくて済みます。&lt;/p&gt;
&lt;p&gt;これは、アプリケーションを「知っていれば操作できる」から「design により操作できる」に変える種類のものです。&lt;/p&gt;
&lt;h2 id="team-lead-として何を得るか"&gt;team lead として何を得るか&lt;/h2&gt;
&lt;p&gt;この観点で自分のチームの dev loop を見るなら、私はいくつか率直な質問をします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;どれだけの部分が記憶に依存しているか&lt;/li&gt;
&lt;li&gt;重要な dev action のうち、docs や chat thread にしか存在しないものはどれだけあるか&lt;/li&gt;
&lt;li&gt;新しい contributor はどのくらい invisible な system behavior で詰まるか&lt;/li&gt;
&lt;li&gt;automation tool や coding agent は repository から app topology を理解できるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最後の質問の答えが「まったく無理」なら、この投稿は有益な痛点に触れるはずです。&lt;/p&gt;
&lt;h2 id="私の考え"&gt;私の考え&lt;/h2&gt;
&lt;p&gt;これは Aspire の本当の価値をとても強く表した framing です。&lt;/p&gt;
&lt;p&gt;単なる orchestration ではありません。&lt;/p&gt;
&lt;p&gt;app model を十分に explicit にすることで、system を運用し、理解し、自動化しやすくすることです。&lt;/p&gt;
&lt;p&gt;それは人間にとって重要です。
チームにとって重要です。
そして、modern development の多くが agent-assisted workflows に向かっている今、さらに重要です。&lt;/p&gt;
&lt;p&gt;これは、Aspire が単なる .NET の marketing label を超えて、なぜますます relevant に見えるのかを説明するのにぴったりな種類の記事です。&lt;/p&gt;
&lt;p&gt;原文: &lt;a href="https://devblogs.microsoft.com/aspire/dev-loop-tribal-knowledge/"&gt;あなたの dev loop は tribal knowledge でいっぱいだ&lt;/a&gt;&amp;mdash;
title: &amp;ldquo;あなたの Dev loop は暗黙知だらけで、Aspire には正しい答えがある&amp;rdquo;
date: 2026-06-01
author: &amp;ldquo;Emiliano Montesdeoca&amp;rdquo;
description: &amp;ldquo;Aspire の新しい投稿は非常に重要な点を指摘しています。多くのチームに足りないのはツールではなく、隠れた運用知識を人間・スクリプト・エージェントが本当に使えるものへ変える一貫したアプリケーションモデルです。&amp;rdquo;
tags:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aspire&lt;/li&gt;
&lt;li&gt;Developer Experience&lt;/li&gt;
&lt;li&gt;AI&lt;/li&gt;
&lt;li&gt;Dev Loop&lt;/li&gt;
&lt;li&gt;.NET&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。原文は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/tribal-knowledge-dev-loop-aspire/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これは、&lt;em&gt;なぜ&lt;/em&gt; Aspire が重要なのかを理解するうえで、最も重要な記事のひとつかもしれません。&lt;/p&gt;
&lt;p&gt;巨大な新機能を発表しているからではありません。&lt;/p&gt;
&lt;p&gt;ほとんどすべてのエンジニアリングチームが感じていて、しかし全員がうまく言語化できているわけではない問題に名前を与えているからです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Dev loop は暗黙知だらけです。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;この一文が刺さるのは、まさに事実だからです。&lt;/p&gt;
&lt;h2 id="問題はツール不足ではありません"&gt;問題はツール不足ではありません&lt;/h2&gt;
&lt;p&gt;元記事の中心的な主張は非常に優れています。チームに足りないのはたいてい、インフラでも、スクリプトでも、ダッシュボードでも、コマンドでもありません。&lt;/p&gt;
&lt;p&gt;足りないのは、アプリケーションの周りにある隠れた運用知識を、見える形で再現可能なものへ変える一貫したモデルです。&lt;/p&gt;
&lt;p&gt;多くのアプリの本当のアーキテクチャは次の場所にあります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;shell の履歴&lt;/li&gt;
&lt;li&gt;散らばったスクリプト&lt;/li&gt;
&lt;li&gt;README の断片&lt;/li&gt;
&lt;li&gt;Slack のスレッド&lt;/li&gt;
&lt;li&gt;手順を知っているたった一人のシニアエンジニア&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;それは、人間にとって持続可能な dev loop ではありません。&lt;/p&gt;
&lt;p&gt;そしてもちろん、エージェントにとってもそうではありません。&lt;/p&gt;
&lt;h2 id="この投稿全体を要約していると思う引用-1"&gt;この投稿全体を要約していると思う引用&lt;/h2&gt;
&lt;p&gt;元記事には、全体のポイントをとてもよく表している一文があります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;アプリケーションはすでにシステムとして存在しています。Aspire はそのシステムを明示化します。なぜなら、明示されたシステムは暗黙知よりもよくスケールするからです。&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これが一行で示された全体の主張です。&lt;/p&gt;
&lt;p&gt;正直に言って、これは私が今まで見た Aspire の一文説明の中でも、かなり強い部類です。&lt;/p&gt;
&lt;h2 id="なぜ今この話が昨年より重要なのか"&gt;なぜ今この話が昨年より重要なのか&lt;/h2&gt;
&lt;p&gt;AI 支援開発は、あいまいさのコストを変えます。だからこそ、この投稿は今のタイミングで特に響きます。&lt;/p&gt;
&lt;p&gt;人間は、不完全なシステムを驚くほど上手く補えます。&lt;/p&gt;
&lt;p&gt;私たちは覚えています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;どのスクリプトを最初に実行するか&lt;/li&gt;
&lt;li&gt;こっそり必要な環境変数は何か&lt;/li&gt;
&lt;li&gt;どのターミナルが役に立つログを出すか&lt;/li&gt;
&lt;li&gt;誰も文書化していない理由で、どのサービスを 2 回再起動する必要があるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;エージェントは、こうした隠れた運用上の folklore にかなり弱いです。&lt;/p&gt;
&lt;p&gt;だから、エージェントを実際のリポジトリで本当に役立つものにしたいなら、システムをより明示的にする必要があります。逆ではありません。&lt;/p&gt;
&lt;p&gt;それが、この Aspire の捉え方が重要だと思う理由です。&lt;/p&gt;
&lt;h2 id="aspire-の本当の価値は-orchestration-だけではない-1"&gt;Aspire の本当の価値は orchestration だけではない&lt;/h2&gt;
&lt;p&gt;Aspire を単に分散アプリのランチャーやローカル orchestration ヘルパーとして見るのは、よくある誤解です。&lt;/p&gt;
&lt;p&gt;それでは小さすぎます。&lt;/p&gt;
&lt;p&gt;もっと強い価値は、Aspire がアプリケーションに次のものを与えることです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;モデル&lt;/li&gt;
&lt;li&gt;形&lt;/li&gt;
&lt;li&gt;名前付きリソース&lt;/li&gt;
&lt;li&gt;明示的な依存関係&lt;/li&gt;
&lt;li&gt;health と operations の面&lt;/li&gt;
&lt;li&gt;人間と自動化の両方が理解できるコマンド&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これは、思っている以上に dev loop を変えます。&lt;/p&gt;
&lt;p&gt;なぜなら、アプリが暗黙の慣習の集まりであることをやめ、実際のモデルを持つシステムになった瞬間、いくつものことが一気に楽になるからです。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;onboarding&lt;/li&gt;
&lt;li&gt;debugging&lt;/li&gt;
&lt;li&gt;再現可能なセットアップ&lt;/li&gt;
&lt;li&gt;CI の一貫性&lt;/li&gt;
&lt;li&gt;AI 支援ワークフロー&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ひとつの設計判断から得られるレバレッジとしてはかなり大きいです。&lt;/p&gt;
&lt;h2 id="コマンドを第一級の操作として扱う観点が特に良い"&gt;「コマンドを第一級の操作として扱う」観点が特に良い&lt;/h2&gt;
&lt;p&gt;元記事の別のポイントで、もっと注目されてよいと思うのは、README の手順からリソースに結び付いたコマンドへの移行です。&lt;/p&gt;
&lt;p&gt;これは見た目以上に大きな変化です。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;このスクリプトを実行して、それからあれを、最初のものが失敗したら別のものを&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;と言う代わりに、アプリの文脈の中で操作を直接モデル化できます。&lt;/p&gt;
&lt;p&gt;それによって、人間はそれらを見つけやすくなります。&lt;/p&gt;
&lt;p&gt;そして、エージェントは文章から意図を推測する必要がなくなります。&lt;/p&gt;
&lt;p&gt;これは、アプリを「すでに知っていれば操作できるもの」から「設計上、操作できるもの」へ変える類のことです。&lt;/p&gt;
&lt;h2 id="チームリードとしてこれから何を受け取るか"&gt;チームリードとしてこれから何を受け取るか&lt;/h2&gt;
&lt;p&gt;この視点で自分のチームの dev loop を見るなら、私は次のような率直な質問をします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;セットアップのどれだけが記憶に依存しているか&lt;/li&gt;
&lt;li&gt;重要な開発操作のうち、docs や chat thread にしか存在しないものはどれだけあるか&lt;/li&gt;
&lt;li&gt;新しい貢献者が見えないシステム挙動でどれくらい詰まっているか&lt;/li&gt;
&lt;li&gt;自動化ツールや coding agent は、リポジトリだけからアプリのトポロジーを理解できるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最後の答えが「全然無理」なら、この投稿はきっと有益な痛点に触れます。&lt;/p&gt;
&lt;h2 id="私見"&gt;私見&lt;/h2&gt;
&lt;p&gt;これは Aspire の本当の価値を非常によく表した捉え方です。&lt;/p&gt;
&lt;p&gt;単なる orchestration ではありません。&lt;/p&gt;
&lt;p&gt;アプリのモデルを十分に明示的にして、システムを運用しやすく、理解しやすく、自動化しやすくすることです。&lt;/p&gt;
&lt;p&gt;それは人間にとって重要です。
チームにとって重要です。
そして、現代の開発の多くがエージェント支援ワークフローに向かっている今、さらに重要です。&lt;/p&gt;
&lt;p&gt;Aspire が .NET のマーケティングラベルを超えて、なぜますます重要に見えるのかを説明するのに、まさにこういう記事が役立ちます。&lt;/p&gt;
&lt;p&gt;原文: &lt;a href="https://devblogs.microsoft.com/aspire/dev-loop-tribal-knowledge/"&gt;あなたの Dev loop は暗黙知だらけ&lt;/a&gt;&lt;/p&gt;</content:encoded></item><item><title>Aspire の hermetic なエンドツーエンドテストは、もっと多くのチームが採用すべきパターンだ</title><link>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ja/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</guid><description>Azure Chaos Studio のテスト記事は、とても実践的なパターンを示しています。Aspire ベースの hermetic で一時的なエンドツーエンド環境は、人間にとっても AI 支援開発にとっても信頼性を高めます。</description><content:encoded>&lt;p&gt;&lt;em&gt;この記事は自動翻訳されています。オリジナル版は&lt;a href="https://thedotnetblog.com/ja/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/"&gt;こちら&lt;/a&gt;をご覧ください。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;フレークしやすいエンドツーエンドテストは、ダッシュボードには常に見えない形で高くつきます。&lt;/p&gt;
&lt;p&gt;単に失敗するだけではありません。チームにフィードバックループを信用しなくなるよう、少しずつ学習させてしまいます。&lt;/p&gt;
&lt;p&gt;だからこそ、&lt;strong&gt;Azure Chaos Studio + Aspire&lt;/strong&gt; のこの記事はすぐに目に留まりました。派手な製品発表ではありません。エンドツーエンドテストを、運の悪さと交渉しているような感覚から引き離すにはどうすればいいのかを示す、実直なエンジニアリングの話です。&lt;/p&gt;
&lt;p&gt;率直に言うと、もっと多くのチームがこのパターンを採用すべきだと思います。&lt;/p&gt;
&lt;h2 id="コアの考え方はシンプルですが効果は大きいです"&gt;コアの考え方はシンプルですが、効果は大きいです&lt;/h2&gt;
&lt;p&gt;重要なのは、各テストに固有の &lt;strong&gt;hermetic で一時的な環境&lt;/strong&gt; を与え、実際のサービス、実際の依存関係、そして状態に基づく明示的な起動を使うことです。&lt;/p&gt;
&lt;p&gt;一文で読むと当たり前に見えます。しかし実際のシステムではずっと難しく、とくにクラウド依存、共有環境、分散サービスが絡むと一気に複雑になります。&lt;/p&gt;
&lt;p&gt;元記事は問題をとても明確に表現しています。共有テスト環境には &amp;ldquo;&lt;strong&gt;クロストーク、フレーク、そして『staging を壊したのは誰だ』というグループチャット&lt;/strong&gt;&amp;rdquo; が、運用コストとしてつきまといます。&lt;/p&gt;
&lt;p&gt;この一文が笑えるのは、痛いほど本当だからです。&lt;/p&gt;
&lt;p&gt;あまりにも多くのチームが、その取引を普通のこととして受け入れています。私は、そうすべきではないと思います。&lt;/p&gt;
&lt;h2 id="このパターンがテスト以上に重要な理由"&gt;このパターンがテスト以上に重要な理由&lt;/h2&gt;
&lt;p&gt;ここで一番気に入っているのは、この記事が単に「テストをより信頼できるようにした」と言っていないことです。&lt;/p&gt;
&lt;p&gt;実際には、もっと大きなことを言っています。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;分散システムが再現しづらく、分離しづらく、検証しづらいなら、エンジニアリング全体のループは遅くなる。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;これは CI だけの話ではありません。&lt;/p&gt;
&lt;p&gt;影響するのは、たとえば次のような点です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;開発者がどれだけ安心してリファクタリングできるか&lt;/li&gt;
&lt;li&gt;リグレッションをどれだけ速く診断できるか&lt;/li&gt;
&lt;li&gt;大きなアーキテクチャ変更をどれだけ安全に試せるか&lt;/li&gt;
&lt;li&gt;自動検証にチームがどれだけ信頼を置けるか&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;そして 2026 年には、AI 支援開発がどれだけ役立つかにも影響します。&lt;/p&gt;
&lt;h2 id="記事で最も重要な引用"&gt;記事で最も重要な引用&lt;/h2&gt;
&lt;p&gt;記事の中に、何度でも繰り返したい一文があります。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;Agent は完璧である必要はありません。検証可能である必要があります。&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;これはとても良い捉え方です。&lt;/p&gt;
&lt;p&gt;AI コーディング agent が、非自明な作業を助けるのに十分信頼できるのかは、よく議論されます。私は、より良い問いは &lt;strong&gt;私たちのシステムがその作業を正しく評価できるほどテスト可能かどうか&lt;/strong&gt; だと思います。&lt;/p&gt;
&lt;p&gt;agent が意味のある refactor を提案しても、唯一の安全信号が、共有環境で動く脆くて半ランダムな end-to-end チェックの山だけなら、問題は agent だけではありません。&lt;/p&gt;
&lt;p&gt;問題は検証モデルです。&lt;/p&gt;
&lt;p&gt;この Aspire パターンはそれを大きく改善します。&lt;/p&gt;
&lt;h2 id="この実装を特に良くしている点"&gt;この実装を特に良くしている点&lt;/h2&gt;
&lt;p&gt;元の話には、これを単なる「テストを改善しました」という曖昧な投稿以上のものにしている要素がいくつもあります。&lt;/p&gt;
&lt;h3 id="1-偽の-mock-劇場ではなく本物のサービスグラフ"&gt;1. 偽の mock 劇場ではなく、本物のサービスグラフ&lt;/h3&gt;
&lt;p&gt;テストは、end-to-end 検証を装う断片的な mock の山の上には作られていません。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;本物のバイナリ&lt;/strong&gt; を実行し、可能なところでは emulator をつなぎ、ローカル開発と同じ application model を使っています。&lt;/p&gt;
&lt;p&gt;これは重要です。&lt;/p&gt;
&lt;p&gt;end-to-end テストが mock 対 mock の劇場になった瞬間、実際の構成について信頼できることを何も教えてくれなくなります。&lt;/p&gt;
&lt;h3 id="2-魔法の-sleep-ではなく状態に基づく起動"&gt;2. 魔法の sleep ではなく、状態に基づく起動&lt;/h3&gt;
&lt;p&gt;この点は見た目以上に重要です。&lt;/p&gt;
&lt;p&gt;記事では、テストが &lt;code&gt;WaitForResourceHealthyAsync&lt;/code&gt; を使って本当の health を待ち、恣意的な時間の推測に頼らないことが明示されています。&lt;/p&gt;
&lt;p&gt;これは大きな違いです。&lt;/p&gt;
&lt;p&gt;「30 秒寝て、うまくいくことを祈る」テスト suite は、要するに不確実性を記録しているだけです。実際の readiness を待つ suite は、システムの意図を記録しています。&lt;/p&gt;
&lt;h3 id="3-同じモデルがローカル開発とテストを動かす"&gt;3. 同じモデルがローカル開発とテストを動かす&lt;/h3&gt;
&lt;p&gt;これは Aspire の強いストーリーとよく噛み合っています。&lt;/p&gt;
&lt;p&gt;同じ application model が次を動かします。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ローカル開発&lt;/li&gt;
&lt;li&gt;サービス接続&lt;/li&gt;
&lt;li&gt;emulator 化した依存関係&lt;/li&gt;
&lt;li&gt;health check&lt;/li&gt;
&lt;li&gt;hermetic なテスト orchestration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これにより drift が減ります。drift は、信頼を静かに壊す最大の敵のひとつです。&lt;/p&gt;
&lt;h2 id="こうした-devex-への投資は軽く見られがちです"&gt;こうした devex への投資は軽く見られがちです&lt;/h2&gt;
&lt;p&gt;この投稿を単なる短い反応ではなく、もう少し長くしたかった理由のひとつは、こうした engineering 改善はしばしば軽視されると思っているからです。&lt;/p&gt;
&lt;p&gt;派手ではありません。&lt;/p&gt;
&lt;p&gt;新しい AI 機能のように demo しやすいわけでもありません。&lt;/p&gt;
&lt;p&gt;経営層を一発で沸かせるスライドになるとも限りません。&lt;/p&gt;
&lt;p&gt;でも時間が経つと、もっと価値のあるものを生みます。&lt;strong&gt;品質について自分たちに嘘をつかずに、より速く動けるチーム&lt;/strong&gt; です。&lt;/p&gt;
&lt;p&gt;それはとても大きなことです。&lt;/p&gt;
&lt;p&gt;記事によると、今では約 &lt;strong&gt;90 個の hermetic test&lt;/strong&gt; を実行しており、zone outage、DNS failure、geo-replication failure のようなシナリオも含まれています。これは単なる test hygiene の改善ではありません。分散プラットフォームに対する、はるかに強い信頼モデルです。&lt;/p&gt;
&lt;h2 id="分散-net-システムを運用していたら私なら何を持ち帰るか"&gt;分散 .NET システムを運用していたら、私なら何を持ち帰るか&lt;/h2&gt;
&lt;p&gt;今、分散サービス、Aspire、CI/CD パイプラインに取り組んでいるなら、私はすぐに次を持ち帰ります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;共有環境の flakiness を普通だと思うのをやめる&lt;/li&gt;
&lt;li&gt;可能な限り health ベースの startup gate に移行する&lt;/li&gt;
&lt;li&gt;AppHost を本物の production-grade orchestration code として扱う&lt;/li&gt;
&lt;li&gt;個々のサービスの正しさだけでなく、サービス構成を検証する end-to-end check を作る&lt;/li&gt;
&lt;li&gt;AI 支援開発を採用するなら、オートメーションの幅を広げる前に、まず &lt;strong&gt;checkability&lt;/strong&gt; に投資する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;この最後の点こそ、もっと多くのチームが聞くべきことです。&lt;/p&gt;
&lt;h2 id="私の考え"&gt;私の考え&lt;/h2&gt;
&lt;p&gt;これは今回の中でもかなり強い Aspire 記事です。非常に実用的な問題を解決しています。&lt;/p&gt;
&lt;p&gt;抽象論で感心させようとしていません。実際の分散システムで、end-to-end テストをどうやってより deterministic に、より有用に、より信頼できるものにするかを示しています。&lt;/p&gt;
&lt;p&gt;そして agent 支援開発とのつながりが見えてくると、このパターンはさらに説得力を増します。&lt;/p&gt;
&lt;p&gt;もし、あなたの end-to-end テスト戦略が今も共有環境、隠れたセットアップ知識、そして少しの祈りに依存しているなら、これはぜひ学ぶ価値があります。&lt;/p&gt;
&lt;p&gt;Original post: &lt;a href="https://devblogs.microsoft.com/aspire/hermetic-aspire-tests-chaos-studio/"&gt;How Azure Chaos Studio ships with hermetic Aspire end-to-end tests&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>