<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Bruce Wong</title>
    <description>The latest articles on DEV Community by Bruce Wong (@brucewong001).</description>
    <link>https://dev.to/brucewong001</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3978960%2Fd77749d0-8e1a-460b-944d-520c01d5ec40.png</url>
      <title>DEV Community: Bruce Wong</title>
      <link>https://dev.to/brucewong001</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/brucewong001"/>
    <language>en</language>
    <item>
      <title>VS Code Multi-Agent Terminology Map: Local Agent, Subagent, /fleet, and the Agents Window</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Sat, 18 Jul 2026 13:00:00 +0000</pubDate>
      <link>https://dev.to/brucewong001/vs-code-multi-agent-terminology-map-local-agent-subagent-fleet-and-the-agents-window-42nj</link>
      <guid>https://dev.to/brucewong001/vs-code-multi-agent-terminology-map-local-agent-subagent-fleet-and-the-agents-window-42nj</guid>
      <description>&lt;p&gt;VS Code has Agent mode, subagents, and the Agents window. Copilot CLI adds &lt;code&gt;/fleet&lt;/code&gt;. These features can all look like forms of “multi-agent” work, but they operate at different layers.&lt;/p&gt;

&lt;p&gt;One detail is easy to miss: Copilot CLI is an agent runtime, not just a terminal experience. You can also start, monitor, and manage Copilot CLI sessions from the Chat view and the Agents window in VS Code. That makes “VS Code or CLI?” a misleading either-or question.&lt;/p&gt;

&lt;p&gt;This article reflects the product as of July 2026. Check the official documentation for the latest supported agents, models, and concurrency limits.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Start with three layers
&lt;/h2&gt;

&lt;p&gt;These concepts become confusing when we mix three separate dimensions:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;The question it answers&lt;/th&gt;
&lt;th&gt;Examples&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Interaction surface&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Where do I view and control the agent?&lt;/td&gt;
&lt;td&gt;VS Code Chat view, Agents window, CLI terminal&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Agent runtime&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Where and how does the agent run?&lt;/td&gt;
&lt;td&gt;VS Code local agent, Copilot CLI, Copilot Cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Orchestration model&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;How is one goal distributed across multiple agents?&lt;/td&gt;
&lt;td&gt;Subagent delegation, CLI &lt;code&gt;/fleet&lt;/code&gt;, multiple independent sessions&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These dimensions can be combined. For example, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use a local agent in the VS Code Chat view and let it invoke multiple subagents&lt;/li&gt;
&lt;li&gt;Start a background Copilot CLI session from the VS Code Chat view, then use &lt;code&gt;/fleet&lt;/code&gt; within that session&lt;/li&gt;
&lt;li&gt;Run Copilot CLI directly in a terminal, then use &lt;code&gt;/fleet&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Use the Agents window to manage Copilot CLI, Copilot Cloud, or Claude agent sessions across multiple workspaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The useful questions are therefore not simply “VS Code or CLI?” Instead, ask:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Which interface will I use to observe and control the agent?&lt;/li&gt;
&lt;li&gt;Which runtime will I use: a local agent, Copilot CLI, or something else?&lt;/li&gt;
&lt;li&gt;Which orchestration model fits the task: on-demand subagent delegation, explicit Fleet orchestration, or multiple independent top-level sessions?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;A local agent and Copilot CLI can also hand work off to each other. You might first discuss requirements or build a plan with a local agent in VS Code, then hand the full conversation history and context to Copilot CLI so it can continue the implementation in the background.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. What each concept actually means
&lt;/h2&gt;

&lt;h3&gt;
  
  
  2.1 VS Code local agents: interactive work in the editor
&lt;/h3&gt;

&lt;p&gt;After you select Agent in the VS Code Chat view, a local agent can repeatedly work toward a goal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Understand the request
  ↓
Read and search the code
  ↓
Edit files and run commands
  ↓
Check the result and make further corrections
  ↓
Return the final result
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This workflow is commonly called Agent mode. It means that the agent can use tools to carry out a multi-step task autonomously; it does not mean that multiple agents are launched every time.&lt;/p&gt;

&lt;p&gt;Local agents work well when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The requirements are still taking shape and you want to discuss them while implementing&lt;/li&gt;
&lt;li&gt;The task depends on files, selections, diagnostics, or test results from the current editor&lt;/li&gt;
&lt;li&gt;You want to inspect changes and adjust direction at any time&lt;/li&gt;
&lt;li&gt;You need tools provided by VS Code extensions or MCP servers&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2.2 VS Code subagents: delegation on demand
&lt;/h3&gt;

&lt;p&gt;When a local agent decides that a subtask would benefit from isolated work, it can invoke the built-in &lt;code&gt;agent/runSubagent&lt;/code&gt; tool. Here, &lt;code&gt;agent/runSubagent&lt;/code&gt; is a tool identifier, not a command that you type into the Chat input. Make sure the tool is enabled before using this capability.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User
  ↓
VS Code main agent
  ├── Subagent A: analyze security risks ──────┐
  ├── Subagent B: analyze performance issues ─┼── Return individual results
  └── Subagent C: analyze testing gaps ───────┘
  ↓
Main agent synthesizes the findings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each subagent has its own context and receives only the information it needs for its subtask. The main conversation usually receives only the result or summary, keeping extensive search steps and intermediate details out of its context. You can still expand the tool call to inspect the prompt sent to the subagent, the tools it used, and the result it returned.&lt;/p&gt;

&lt;p&gt;Subagents are typically initiated by the main agent. You can suggest or request isolated, parallel delegation in your prompt, but this is not a mandatory invocation syntax. The main agent ultimately decides whether to use subagents and how many to start.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;Use three independent subagents to analyze these areas in parallel:
&lt;span class="p"&gt;1.&lt;/span&gt; Authentication-related security risks
&lt;span class="p"&gt;2.&lt;/span&gt; Error-handling consistency
&lt;span class="p"&gt;3.&lt;/span&gt; Gaps in unit test coverage

Wait for all three analyses to finish, then combine the findings into a prioritized report.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2.3 Copilot CLI &lt;code&gt;/fleet&lt;/code&gt;: explicit parallel orchestration
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;/fleet&lt;/code&gt; is a slash command that you explicitly enter in Copilot CLI. It tells the main agent: analyze whether this task can be divided, then delegate suitable parts to multiple subagents to run in parallel.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;/fleet Refactor each SDK package independently, run its tests, and summarize the changes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Invoking &lt;code&gt;/fleet&lt;/code&gt; is explicit, but you do not have to perform the entire decomposition yourself, and the command does not guarantee that multiple subagents will be created. The main agent still analyzes the prompt and task dependencies, determines which parts can run in parallel, and schedules the subagents that are actually needed.&lt;/p&gt;

&lt;p&gt;Fleet coordinates subtasks and their dependencies through the main agent. In Copilot CLI, &lt;code&gt;/tasks&lt;/code&gt; shows background tasks in the current session, including tasks delegated to subagents by Fleet.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Overall goal
  ↓
Main agent analyzes tasks and dependencies
  ├── Refactor the auth package  ── Subagent A
  ├── Refactor the API package   ── Subagent B
  └── Refactor the utils package ── Subagent C
  ↓
Use /tasks to inspect background tasks, open details, or stop a task
  ↓
Parent session synthesizes the results
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2.4 The Agents window: a multi-session console
&lt;/h3&gt;

&lt;p&gt;The Agents window is an agent-first interface in VS Code. It emphasizes something different from the traditional Chat view:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Chat view is code-first:&lt;/strong&gt; it centers your work on the currently open workspace and code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agents window is agent-first:&lt;/strong&gt; it lets you create, inspect, and manage multiple agent sessions across workspaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The Agents window currently supports Copilot CLI, Copilot Cloud, and Claude agent sessions; it is not a generic interface for every local or third-party agent. It solves the problem of observing multiple top-level sessions at once. It does not define a new subagent orchestration algorithm.&lt;/p&gt;

&lt;p&gt;This also reveals two different kinds of parallelism:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multiple independent sessions:&lt;/strong&gt; you start several top-level tasks, each with its own goal&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subagents within one session:&lt;/strong&gt; the main agent delegates several subtasks in pursuit of a single goal&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both can be described as “multi-agent,” but their management boundaries and result-synthesis models are different.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. A one-table mental model
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concept&lt;/th&gt;
&lt;th&gt;What it actually is&lt;/th&gt;
&lt;th&gt;The problem it mainly solves&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VS Code local agent&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;An interactive agent runtime inside the editor&lt;/td&gt;
&lt;td&gt;Discussing, implementing, and iterating close to the code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VS Code subagent&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Context-isolated task delegation through an internal tool&lt;/td&gt;
&lt;td&gt;Research, analysis, and reviews from multiple perspectives&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Copilot CLI &lt;code&gt;/fleet&lt;/code&gt;&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Explicit orchestration of multiple subagents within the Copilot CLI runtime&lt;/td&gt;
&lt;td&gt;Background parallel work with clear plans and independent boundaries&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;VS Code Agents window&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;A session-management interface spanning workspaces and supported agent types&lt;/td&gt;
&lt;td&gt;Managing multiple top-level sessions at once&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;These features are therefore not simple competitors. A local agent handles interactive work in the editor. A subagent lets the main agent delegate on demand. &lt;code&gt;/fleet&lt;/code&gt; explicitly requests parallel orchestration. The Agents window provides one place to inspect and manage sessions.&lt;/p&gt;

&lt;p&gt;The first step is not to decide which feature is more powerful. It is to identify whether you are choosing an interface, an agent runtime, or an orchestration model.&lt;/p&gt;

&lt;p&gt;The next article will compare VS Code subagents and Copilot CLI &lt;code&gt;/fleet&lt;/code&gt; across default models, custom agents, nesting, concurrency, and isolation, then provide a practical decision tree.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;You can outsource your thinking, but you cannot outsource your understanding.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Official references
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;VS Code agents and interfaces&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/overview" rel="noopener noreferrer"&gt;Build with agents in VS Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/agent-types/local-agents" rel="noopener noreferrer"&gt;Local agents in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/agent-types/copilot-cli" rel="noopener noreferrer"&gt;Copilot CLI sessions in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/agents-window" rel="noopener noreferrer"&gt;Use the Agents window&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;VS Code subagents&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/subagents" rel="noopener noreferrer"&gt;Subagents in Visual Studio Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://code.visualstudio.com/docs/agents/concepts/agents" rel="noopener noreferrer"&gt;Agents concepts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Copilot CLI &lt;code&gt;/fleet&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/copilot/concepts/agents/copilot-cli/fleet" rel="noopener noreferrer"&gt;Running tasks in parallel with the &lt;code&gt;/fleet&lt;/code&gt; command&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>vscode</category>
      <category>aiagents</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>Foundry IQ Explained: How Does It Relate to Azure AI Search and Traditional RAG?</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Mon, 06 Jul 2026 08:25:05 +0000</pubDate>
      <link>https://dev.to/brucewong001/foundry-iq-explained-how-does-it-relate-to-azure-ai-search-and-traditional-rag-31ll</link>
      <guid>https://dev.to/brucewong001/foundry-iq-explained-how-does-it-relate-to-azure-ai-search-and-traditional-rag-31ll</guid>
      <description>&lt;p&gt;When people first encounter Foundry IQ, many assume that it is simply a new name for Azure AI Search—or traditional RAG wrapped in a new user interface.&lt;/p&gt;

&lt;p&gt;But once you start configuring it in a real project, a few questions quickly emerge:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What exactly is the relationship between Foundry IQ and Azure AI Search?&lt;/li&gt;
&lt;li&gt;Why does retrieval need an LLM?&lt;/li&gt;
&lt;li&gt;Is Foundry IQ genuinely different from traditional RAG, or is it simply new product packaging?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rather than listing product features, this article focuses on these common points of confusion. The goal is to help you understand which problems Foundry IQ is designed to solve—and which ones it is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, a Naming Clarification: Are the Two Foundry IQ Entry Points the Same?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;They provide access to the same underlying Foundry IQ knowledge base capabilities, but through different management experiences.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Foundry IQ (Azure AI Search)&lt;/strong&gt; in the Azure portal focuses on lower-level resource management, including Search services, indexes, indexers, knowledge sources, knowledge bases, and agentic retrieval.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge (Foundry IQ)&lt;/strong&gt; within a Microsoft Foundry project focuses on the agent development experience, allowing developers to create, configure, and connect knowledge bases.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In both cases, the knowledge bases and knowledge sources are hosted in the selected Azure AI Search resource. If the Search endpoint—for example, &lt;code&gt;https://my-search-service.search.windows.net&lt;/code&gt;—and the knowledge base name are the same, you are looking at the same underlying knowledge base.&lt;/p&gt;

&lt;p&gt;Some product and pricing pages use the name &lt;strong&gt;Foundry IQ (Azure AI Search)&lt;/strong&gt;. However, this does not mean that every Azure AI Search technical term has been replaced. At the time of writing, official documentation still describes Azure AI Search as the underlying indexing and retrieval infrastructure for Foundry IQ. Terms such as Index, Indexer, Skillset, Vector Search, and Search API also remain part of the Azure AI Search product vocabulary.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Microsoft Foundry
  └─ Knowledge (Foundry IQ)
       └─ Project Connection
            └─ Azure AI Search Resource
            ├─ Knowledge Base / Knowledge Sources
            ├─ Index / Indexer / Vector Search
            └─ Agentic Retrieval
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In one sentence: &lt;strong&gt;Azure AI Search performs the search, while Foundry IQ organizes search into a reusable knowledge service for agents.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;They are not competing products. They are two layers with different responsibilities in the same capability stack.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does a Knowledge Base Need an LLM?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F37nuiehac9cej2eovci0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F37nuiehac9cej2eovci0.png" alt=" " width="799" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Chat Completions model shown in the screenshot is part of the &lt;strong&gt;knowledge base retrieval pipeline&lt;/strong&gt;. It is not the embedding model, and it is not necessarily the agent's primary model.&lt;/p&gt;

&lt;p&gt;According to the official documentation available at the time of writing, the LLMs supported for query planning are primarily Azure OpenAI deployments from the &lt;strong&gt;GPT-4o, GPT-4.1, and GPT-5 families&lt;/strong&gt;. This support may change over time.&lt;/p&gt;

&lt;p&gt;The model has three main responsibilities:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Query planning:&lt;/strong&gt; It uses the user's question and conversation history to break a complex request into more focused subqueries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query and knowledge-source planning:&lt;/strong&gt; It determines which sources to query and generates the subqueries. Azure AI Search then performs keyword, vector, or hybrid retrieval, followed by semantic reranking.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional answer synthesis:&lt;/strong&gt; When Output Mode is set to &lt;code&gt;Answer synthesis&lt;/code&gt;, the model combines the evidence into an answer with citations. With &lt;code&gt;Extracted data&lt;/code&gt;, the retrieved content and its sources are passed to the agent, which generates the final response.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;Retrieval reasoning effort&lt;/code&gt; controls how extensively the LLM participates in retrieval. It also determines the applicable resource limits:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Mode&lt;/th&gt;
&lt;th&gt;Core behavior&lt;/th&gt;
&lt;th&gt;Limits from the official FAQ&lt;/th&gt;
&lt;th&gt;Recommendation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Minimal&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Searches directly without LLM-based query planning&lt;/td&gt;
&lt;td&gt;Up to 10 knowledge sources; no LLM and no answer synthesis&lt;/td&gt;
&lt;td&gt;Lowest cost and latency; supports extracted results only and does not support web knowledge sources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Low&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Performs one round of query planning and source selection; the default mode&lt;/td&gt;
&lt;td&gt;Up to 3 sources and 3 subqueries; 5,000-token answer-synthesis budget&lt;/td&gt;
&lt;td&gt;A good starting point for most scenarios&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Medium&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Can revise the query and retrieve once more if the first results are insufficient&lt;/td&gt;
&lt;td&gt;Up to 5 sources and 5 subqueries; 10,000-token answer-synthesis budget&lt;/td&gt;
&lt;td&gt;Better suited to complex, cross-source tasks where completeness matters&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Higher reasoning effort generally improves retrieval coverage, but it also increases latency and token cost. Always check the latest official limits and FAQ for current values.&lt;/p&gt;

&lt;p&gt;Remote knowledge sources such as the web require &lt;code&gt;Answer synthesis&lt;/code&gt; to return results. As a result, &lt;code&gt;Minimal&lt;/code&gt; mode—which does not support answer synthesis—cannot use web sources.&lt;/p&gt;

&lt;p&gt;It is also important to distinguish between two model roles: &lt;strong&gt;the knowledge base LLM optimizes how evidence is found, while the agent LLM decides how to complete the task.&lt;/strong&gt; They may use the same model deployment, but they do not have to.&lt;/p&gt;

&lt;p&gt;For a Foundry agent that must call other tools and assemble a unified response, Microsoft recommends starting with &lt;code&gt;Extracted data&lt;/code&gt;. This gives the agent the raw evidence and citations, allowing it to reason over them without having both the knowledge base and the agent generate an answer. &lt;code&gt;Answer synthesis&lt;/code&gt; is more appropriate when retrieval results are presented directly to the end user and do not require further processing by an agent.&lt;/p&gt;

&lt;p&gt;Put simply, the LLM here is not primarily responsible for answering the question. Its job is to &lt;strong&gt;ask the question correctly and find the right evidence&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Does a Blob Knowledge Source Also Require Models?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqoiw5a36dcrh5d9u4vrp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fqoiw5a36dcrh5d9u4vrp.png" alt=" " width="800" height="924"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The short answer is this: models configured on the Blob page transform raw documents into more searchable content during &lt;strong&gt;ingestion&lt;/strong&gt;, while the model configured on the Knowledge Base page interprets questions and orchestrates retrieval at &lt;strong&gt;query time&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Both pages include a Chat Completions model, but the models operate at different stages of the RAG pipeline:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;When it runs&lt;/th&gt;
&lt;th&gt;What it does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Blob Chat Model&lt;/td&gt;
&lt;td&gt;During document ingestion, indexing, or refresh&lt;/td&gt;
&lt;td&gt;Performs generative content extraction, particularly by describing visual content such as images and charts as searchable text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blob Embedding Model&lt;/td&gt;
&lt;td&gt;During indexing and vector queries&lt;/td&gt;
&lt;td&gt;Converts document chunks and user queries into vectors for semantic similarity search&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Knowledge Base Chat Model&lt;/td&gt;
&lt;td&gt;During each user retrieval request&lt;/td&gt;
&lt;td&gt;Interprets the question, creates subqueries, selects knowledge sources, and optionally synthesizes the answer&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;When you create a Blob knowledge source, the system automatically generates a data source, indexer, skillset, and search index. The component names matter less than the processing logic behind them: documents are parsed and chunked, enriched with searchable text, and then converted into vectors for retrieval.&lt;/p&gt;

&lt;p&gt;In the screenshot, &lt;code&gt;Content extraction mode = Standard&lt;/code&gt; invokes Azure Content Understanding for more advanced document parsing and chunking. If image descriptions are enabled, the Blob Chat Model converts visual information from images and charts into text. The Embedding Model then converts both content chunks and queries into vectors for subsequent vector retrieval.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Is This Different from Connecting an Agent Directly to Azure AI Search?
&lt;/h2&gt;

&lt;p&gt;In a traditional RAG architecture, an agent typically connects directly to a search index. You configure the query type, &lt;code&gt;top_k&lt;/code&gt;, and filters; Search returns document passages; and the agent's primary model produces the answer. This shorter, more directly controlled pipeline works well for a single index and predictable query patterns.&lt;/p&gt;

&lt;p&gt;A Foundry IQ knowledge base is not limited to Foundry Agent Service. Any application, Microsoft Agent Framework implementation, or custom service that supports the Azure AI Search Knowledge Base API can call it. Foundry Agent Service simply provides native integration and a managed experience.&lt;/p&gt;

&lt;p&gt;Foundry IQ does not replace RAG. Instead, it moves increasingly complex &lt;strong&gt;retrieval orchestration&lt;/strong&gt; out of individual agents:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Direct use of Azure AI Search&lt;/th&gt;
&lt;th&gt;Foundry IQ Knowledge Base&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Typically targets one index&lt;/td&gt;
&lt;td&gt;Can organize multiple index-based or remote knowledge sources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Usually runs one preconfigured search&lt;/td&gt;
&lt;td&gt;Can decompose questions, select sources, run parallel queries, and iterate on retrieval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;The agent processes documents and generates the answer&lt;/td&gt;
&lt;td&gt;The knowledge base reranks and merges results while preserving citations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Retrieval configuration is distributed across agents&lt;/td&gt;
&lt;td&gt;A domain knowledge base can be shared by multiple agents and updated independently&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost and latency are easier to predict&lt;/td&gt;
&lt;td&gt;Complex questions may produce better results, with additional model calls and latency&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The central benefit is &lt;strong&gt;separation of concerns&lt;/strong&gt;: Azure AI Search executes retrieval; the knowledge base owns domain knowledge and retrieval strategy; and the agent handles conversation, tool use, and business actions.&lt;/p&gt;

&lt;p&gt;In Microsoft's published benchmark, agentic retrieval improved response quality by approximately 36% over traditional single-query RAG under the company's test conditions. This figure is best treated as a directional data point, not as a universal result that every workload will reproduce.&lt;/p&gt;

&lt;p&gt;What Foundry IQ changes, therefore, is not merely the user interface. It changes &lt;strong&gt;who owns the retrieval strategy&lt;/strong&gt; within a RAG system.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Should You Choose?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;If you have one mature index, straightforward questions, and strict requirements for control and low latency, continue connecting directly to an Azure AI Search index or tool.&lt;/li&gt;
&lt;li&gt;If you need to answer complex questions across multiple sources, understand conversational context, or share the same domain knowledge among multiple agents, consider Foundry IQ.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The simplest way to think about it is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Foundry IQ is not another search engine. It is an agent-oriented knowledge and context-engineering layer built on Azure AI Search.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;You can outsource your thinking, but you cannot outsource your understanding.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/what-is-foundry-iq" rel="noopener noreferrer"&gt;What is Foundry IQ?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/search/agentic-retrieval-how-to-create-knowledge-base" rel="noopener noreferrer"&gt;Create a knowledge base in Azure AI Search&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/search/agentic-retrieval-overview" rel="noopener noreferrer"&gt;Agentic retrieval in Azure AI Search&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/foundry-iq-connect" rel="noopener noreferrer"&gt;Connect a Foundry IQ knowledge base to Foundry Agent Service&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/search/agentic-retrieval-how-to-set-retrieval-reasoning-effort" rel="noopener noreferrer"&gt;Set the retrieval reasoning effort&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/tools/ai-search" rel="noopener noreferrer"&gt;Connect an Azure AI Search index to Foundry agents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/search/search-limits-quotas-capacity#agentic-retrieval-limits" rel="noopener noreferrer"&gt;Agentic retrieval limits&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Tech Community: &lt;a href="https://techcommunity.microsoft.com/blog/azure-ai-foundry-blog/foundry-iq-boost-response-relevance-by-36-with-agentic-retrieval/4470720" rel="noopener noreferrer"&gt;Foundry IQ: Boost response relevance by 36% with agentic retrieval&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Microsoft Learn: &lt;a href="https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/foundry-iq-faq" rel="noopener noreferrer"&gt;Foundry IQ FAQ&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microsoftfoundry</category>
      <category>foundryiq</category>
      <category>azureaisearch</category>
      <category>rag</category>
    </item>
    <item>
      <title>🚀 How Foundry IQ helps enterprises build reusable knowledge bases for AI agents</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Sun, 21 Jun 2026 12:20:31 +0000</pubDate>
      <link>https://dev.to/brucewong001/how-foundry-iq-helps-enterprises-build-reusable-knowledge-bases-for-ai-agents-d1i</link>
      <guid>https://dev.to/brucewong001/how-foundry-iq-helps-enterprises-build-reusable-knowledge-bases-for-ai-agents-d1i</guid>
      <description>&lt;p&gt;Enterprise knowledge is often scattered across document stores, business systems, SharePoint, OneLake, and the public web. The real challenge isn’t simply putting documents into a vector database—it’s helping agents select the right sources, plan retrieval, and return traceable answers.&lt;/p&gt;

&lt;p&gt;✅ Connect internal and external knowledge sources&lt;br&gt;
✅ Automate content extraction, chunking, and vectorization&lt;br&gt;
✅ Combine static documents with live web information&lt;br&gt;
✅ Use an LLM to plan queries and select sources&lt;br&gt;
✅ Run parallel retrieval, semantic reranking, and result aggregation&lt;br&gt;
✅ Share one knowledge base across multiple agents&lt;br&gt;
✅ Return grounded results with citations &lt;/p&gt;

</description>
      <category>microsoftfoundry</category>
      <category>foundryiq</category>
      <category>azureaisearch</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>Enterprise Context Engineering Through Microsoft IQ: A Four-Layer Analysis</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Sun, 14 Jun 2026 13:34:15 +0000</pubDate>
      <link>https://dev.to/brucewong001/enterprise-context-engineering-through-microsoft-iq-a-four-layer-analysis-2d6d</link>
      <guid>https://dev.to/brucewong001/enterprise-context-engineering-through-microsoft-iq-a-four-layer-analysis-2d6d</guid>
      <description>&lt;p&gt;Recently, while developing Agents with Microsoft Foundry, I noticed a confusing area: Microsoft has a series of "IQ" concepts — Work IQ, Fabric IQ, Foundry IQ, and Web IQ. They all seem to "provide context for Agents," but the context they supplement is actually different.&lt;/p&gt;

&lt;p&gt;This points to a core problem in enterprise Agent engineering: &lt;strong&gt;context engineering&lt;/strong&gt;. If prompt engineering is about "how to ask the model," then context engineering is about "&lt;strong&gt;what context to give the model&lt;/strong&gt;." Microsoft IQ can be seen as Microsoft's enterprise-level implementation in this direction: packaging the scattered context inside and outside the organization into four consumable intelligence layers for Agents.&lt;/p&gt;

&lt;p&gt;Here's the summary: Microsoft IQ consists of four capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Work IQ&lt;/strong&gt;: Understanding how employees work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fabric IQ&lt;/strong&gt;: Understanding business data and business entities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Foundry IQ&lt;/strong&gt;: Understanding enterprise knowledge, policies, and authoritative documents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web IQ&lt;/strong&gt;: Understanding fresh information from the external world.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Problem Does Each Layer Solve?
&lt;/h2&gt;

&lt;p&gt;Enterprise Agent context typically comes from four sources, and each Microsoft IQ layer corresponds to one:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Context Source&lt;/th&gt;
&lt;th&gt;Corresponding IQ&lt;/th&gt;
&lt;th&gt;Core Question&lt;/th&gt;
&lt;th&gt;Typical Representation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Human activities and relationships&lt;/td&gt;
&lt;td&gt;Work IQ&lt;/td&gt;
&lt;td&gt;Who, when, with whom, did what&lt;/td&gt;
&lt;td&gt;Microsoft Graph, collaboration signals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business facts and metrics&lt;/td&gt;
&lt;td&gt;Fabric IQ&lt;/td&gt;
&lt;td&gt;What is the current state of the business&lt;/td&gt;
&lt;td&gt;Semantic model, ontology, Graph&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Enterprise knowledge and rules&lt;/td&gt;
&lt;td&gt;Foundry IQ&lt;/td&gt;
&lt;td&gt;What do authoritative sources in the organization say&lt;/td&gt;
&lt;td&gt;Knowledge base, agentic retrieval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;External real-time information&lt;/td&gt;
&lt;td&gt;Web IQ&lt;/td&gt;
&lt;td&gt;What is happening in the external world&lt;/td&gt;
&lt;td&gt;Web search, fresh content&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Work IQ: Understanding "How People Work"
&lt;/h2&gt;

&lt;p&gt;Work IQ is the workplace intelligence layer on the Microsoft 365 side. It understands work context, relationships, and patterns, enabling Agents to answer questions faster and more accurately than simple connectors.&lt;/p&gt;

&lt;p&gt;From a context engineering perspective, Work IQ's core is &lt;strong&gt;activity signals centered on "people / relationships / time."&lt;/strong&gt; It answers not "what is written in the document," but "&lt;strong&gt;who, when, with whom, did what&lt;/strong&gt;."&lt;/p&gt;

&lt;p&gt;For example: What recent email exchanges have there been with a customer? Which documents should I review before tomorrow's meeting? What has the team discussed around a particular project in Teams?&lt;/p&gt;

&lt;p&gt;Work IQ leverages Microsoft 365 tenant data, including SharePoint, OneDrive, Outlook, Teams, and collaboration signals in Microsoft Graph, while respecting Microsoft 365 permissions and organizational boundaries. It is particularly suitable for employee productivity Agents: meeting preparation, email summarization, project context梳理, etc.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fabric IQ: Understanding "What Is the Current State of the Business"
&lt;/h2&gt;

&lt;p&gt;Fabric IQ is the IQ workload within Microsoft Fabric. Official documentation states: "Fabric IQ provides context on the state of your business." It is not simply about letting Agents query tables, but about elevating data to the business language layer, enabling both humans and Agents to understand data around business concepts, goals, and rules.&lt;/p&gt;

&lt;p&gt;From a context engineering perspective, Fabric IQ solves the problem of "&lt;strong&gt;how business data is correctly understood by Agents&lt;/strong&gt;." Enterprise data originally resides in tables, fields, and schemas, but business cares about: Who is the Customer, what is the relationship between Shipment and Order, how is a certain KPI calculated, and what actions should be triggered when anomalies occur.&lt;/p&gt;

&lt;p&gt;Fabric IQ organizes these business concepts, relationships, rules, and actions through OneLake, Power BI semantic models, ontology, Graph, data agent, and operations agent. It is suitable for analytical and operational Agents: business analysis, supply chain anomaly detection, metric interpretation, and real-time operational response.&lt;/p&gt;

&lt;h2&gt;
  
  
  Foundry IQ: Understanding "Where Enterprise Knowledge Lives"
&lt;/h2&gt;

&lt;p&gt;Foundry IQ leans more toward the managed knowledge layer for Agents. Agents need context from scattered enterprise content, but models have knowledge cutoffs and cannot access enterprise private data on their own. Foundry IQ can create configurable, multi-source knowledge bases, enabling Agents to provide permission-aware responses based on organizational data.&lt;/p&gt;

&lt;p&gt;From a context engineering perspective, this is close to RAG, but not a hand-written simple vector library. Foundry IQ's knowledge base can connect to sources such as Azure Blob Storage, SharePoint, OneLake, and public web data, and use agentic retrieval (query rewriting, multi-round retrieval, source ranking, citation generation, etc.) to return grounded answers with citations.&lt;/p&gt;

&lt;p&gt;It solves the problem of "&lt;strong&gt;how Agents reliably access enterprise knowledge&lt;/strong&gt;:" Where are company policies? How is product documentation explained? What related content is in historical solutions? Can the answer provide citations?&lt;/p&gt;

&lt;p&gt;It is suitable for knowledge Q&amp;amp;A, policy assistants, product documentation assistants, and pre-sales solution assistants.&lt;/p&gt;

&lt;h3&gt;
  
  
  Easy to Confuse: Both Foundry IQ and Fabric IQ Mention OneLake — What's the Difference?
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fabric IQ&lt;/strong&gt; handles data in OneLake that has already been modeled as business semantics (tables, metrics, Graph, semantic models). It enables Agents to understand "business facts."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Foundry IQ&lt;/strong&gt; handles unstructured content in OneLake such as documents, templates, and solutions that serve as enterprise knowledge sources. It enables Agents to understand "enterprise language / rules."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One is the "business data layer," the other is the "enterprise knowledge layer."&lt;/p&gt;

&lt;h2&gt;
  
  
  Web IQ: Understanding "What Is Happening in the External World"
&lt;/h2&gt;

&lt;p&gt;Web IQ is the fourth capability. Official Microsoft IQ documentation states that "Web IQ provides AI systems and agents with fresh, real-world intelligence from across the web."&lt;/p&gt;

&lt;p&gt;From a context engineering perspective, it solves the problem of "&lt;strong&gt;externally changing information&lt;/strong&gt;:" What is the latest industry news? What have competitors released? What is the impact of new policies, regulations, or vulnerabilities?&lt;/p&gt;

&lt;p&gt;If the first three are more about finding context within the organization, Web IQ supplements changes from outside the organization.&lt;/p&gt;

&lt;h3&gt;
  
  
  Easy to Confuse: Foundry IQ Can Also Connect to Public Web Data — Isn't That Redundant with Web IQ?
&lt;/h3&gt;

&lt;p&gt;No, it's not redundant.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web data in Foundry IQ&lt;/strong&gt; is externally curated by the enterprise, such as competitor whitepapers, regulatory pages, and industry reports that have been crawled into the knowledge base. It has already been incorporated into the enterprise knowledge boundary.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web IQ&lt;/strong&gt; is real-time, open, general web intelligence that does not require pre-indexing, supplementing "what is happening in the external world right now."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One is "external materials managed by the enterprise," the other is "the real-time external world."&lt;/p&gt;

&lt;h2&gt;
  
  
  The Differences Among the Four
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;IQ&lt;/th&gt;
&lt;th&gt;Focus&lt;/th&gt;
&lt;th&gt;Typical Question&lt;/th&gt;
&lt;th&gt;Typical Data&lt;/th&gt;
&lt;th&gt;Agent Function&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Work IQ&lt;/td&gt;
&lt;td&gt;How employees work&lt;/td&gt;
&lt;td&gt;Where did I leave off with the client yesterday?&lt;/td&gt;
&lt;td&gt;Emails, meetings, Teams, files, personnel relationships&lt;/td&gt;
&lt;td&gt;Understand work context&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fabric IQ&lt;/td&gt;
&lt;td&gt;Current state of business&lt;/td&gt;
&lt;td&gt;What is this customer's renewal risk?&lt;/td&gt;
&lt;td&gt;OneLake, semantic models, Ontology, Graph, real-time/analytical data&lt;/td&gt;
&lt;td&gt;Understand business concepts and metrics&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Foundry IQ&lt;/td&gt;
&lt;td&gt;Where enterprise knowledge lives&lt;/td&gt;
&lt;td&gt;What does our service agreement say about this type of issue?&lt;/td&gt;
&lt;td&gt;Documents, knowledge bases, SharePoint, Blob, OneLake, enterprise-curated web materials&lt;/td&gt;
&lt;td&gt;Obtain citable authoritative knowledge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Web IQ&lt;/td&gt;
&lt;td&gt;What is happening in the external world&lt;/td&gt;
&lt;td&gt;Has the customer been affected by recent industry negative news?&lt;/td&gt;
&lt;td&gt;Web information, news, public pages, real-time external materials&lt;/td&gt;
&lt;td&gt;Obtain fresh external context&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  A Context Engineering Example
&lt;/h2&gt;

&lt;p&gt;Suppose we are building a customer meeting preparation Agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Help me prepare for tomorrow's meeting with Contoso.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is not a simple prompt, but an &lt;strong&gt;orchestration of multi-layer context&lt;/strong&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;strong&gt;Work IQ&lt;/strong&gt; to pull recent emails, meetings, and Teams discussions related to Contoso, establishing "people" and "timeline" context.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Fabric IQ&lt;/strong&gt; to query Contoso's business status, such as ARR, orders, risks, renewals, and service ticket trends.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Foundry IQ&lt;/strong&gt; to query product documentation, customer solutions, contract policies, and delivery templates.&lt;/li&gt;
&lt;li&gt;If needed, use &lt;strong&gt;Web IQ&lt;/strong&gt; to supplement recent public news, industry trends, or competitive information about Contoso.&lt;/li&gt;
&lt;li&gt;Finally, the Agent compiles a briefing, risk points, and suggested questions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The key is not "which IQ is stronger," but that they supplement different contexts. For example, if you only connect Foundry IQ to query documents without knowing that the customer recently expressed strong dissatisfaction in Teams, the Agent's response is likely to be "correct but contextually detached."&lt;/p&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The real difficulty with Agents is not just whether the model can reason, but whether it has the right context. Microsoft breaks this context into different layers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Work IQ&lt;/strong&gt; enables Agents to understand work like a colleague.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fabric IQ&lt;/strong&gt; enables Agents to understand data like a business expert.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Foundry IQ&lt;/strong&gt; enables Agents to find authoritative materials like a knowledge manager.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web IQ&lt;/strong&gt; enables Agents to monitor external changes like a researcher.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From a context engineering perspective, the core value of Microsoft IQ lies in: &lt;strong&gt;packaging the scattered, heterogeneous, and permission-complex context within the enterprise into standardized capabilities that Agents can directly consume.&lt;/strong&gt; You don't need to write Graph connectors, build semantic layers, maintain vector libraries, or integrate web searches yourself — you simply choose the appropriate IQ layer for the scenario.&lt;/p&gt;

&lt;p&gt;If an enterprise Agent only connects to the model, it easily becomes an assistant that "speaks well but doesn't understand the organization." When it can simultaneously understand work, business, knowledge, and external changes, it comes closer to a truly deployable enterprise Agent.&lt;/p&gt;




&lt;h2&gt;
  
  
  Related Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/microsoft-iq/" rel="noopener noreferrer"&gt;Microsoft IQ documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/microsoft-365/copilot/extensibility/work-iq/" rel="noopener noreferrer"&gt;Work IQ overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/fabric/iq/overview" rel="noopener noreferrer"&gt;What is Fabric IQ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/azure/foundry/agents/concepts/what-is-foundry-iq" rel="noopener noreferrer"&gt;What is Foundry IQ?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/fabric/onelake/onelake-overview" rel="noopener noreferrer"&gt;OneLake overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microsoftfoundry</category>
      <category>contextengineering</category>
      <category>foundryiq</category>
      <category>workiq</category>
    </item>
    <item>
      <title>Microsoft Build 2026: Agent Harness Is About Making Agents Production-Ready</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Thu, 11 Jun 2026 08:28:19 +0000</pubDate>
      <link>https://dev.to/brucewong001/microsoft-build-2026-agent-harness-is-about-making-agents-production-ready-1alb</link>
      <guid>https://dev.to/brucewong001/microsoft-build-2026-agent-harness-is-about-making-agents-production-ready-1alb</guid>
      <description>&lt;p&gt;Microsoft Build 2026 had many AI announcements, but the one I found most meaningful was not another model or another Copilot UI.&lt;/p&gt;

&lt;p&gt;It was Agent Harness in Microsoft Agent Framework.&lt;/p&gt;

&lt;p&gt;My reading is simple: Microsoft is trying to move agent development from "the agent can run" to "the agent can survive production."&lt;/p&gt;

&lt;p&gt;That difference matters.&lt;/p&gt;

&lt;p&gt;Most agent demos look impressive because the happy path is short. A user asks, the model reasons, a tool is called, and the result comes back. But real agent workloads are messier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the task runs for many steps&lt;/li&gt;
&lt;li&gt;context becomes too large&lt;/li&gt;
&lt;li&gt;the agent needs memory&lt;/li&gt;
&lt;li&gt;some tools require approval&lt;/li&gt;
&lt;li&gt;developers need traces&lt;/li&gt;
&lt;li&gt;multiple agents may need to collaborate&lt;/li&gt;
&lt;li&gt;generated code may need to execute safely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are not side features. They are the execution layer of an agent system.&lt;/p&gt;

&lt;p&gt;Agent Harness is interesting because it makes that execution layer part of the framework default.&lt;/p&gt;

&lt;h1&gt;
  
  
  What Changed
&lt;/h1&gt;

&lt;p&gt;At a high level, creating a harness agent looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;create_harness_agent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;MyAgent&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;max_context_window_tokens&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;128_000&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The API change is small. The assumption change is not.&lt;/p&gt;

&lt;p&gt;The old assumption was: create an agent and let it call tools.&lt;/p&gt;

&lt;p&gt;The new assumption is: this agent may run for a long time, use many tools, need human approval, overflow context, delegate work, and require observability.&lt;/p&gt;

&lt;p&gt;Agent Harness includes built-in providers for things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;automatic context compaction&lt;/li&gt;
&lt;li&gt;file-based memory&lt;/li&gt;
&lt;li&gt;todo tracking&lt;/li&gt;
&lt;li&gt;plan vs. execute modes&lt;/li&gt;
&lt;li&gt;dynamic skill discovery&lt;/li&gt;
&lt;li&gt;background agents&lt;/li&gt;
&lt;li&gt;tool approval rules&lt;/li&gt;
&lt;li&gt;OpenTelemetry tracing&lt;/li&gt;
&lt;li&gt;web search and shell execution&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is why I do not see Agent Harness as just a feature list. I see it as a standardization move.&lt;/p&gt;

&lt;p&gt;Every serious agent platform eventually needs these capabilities. The question is whether each team builds them manually, or whether the framework provides strong defaults.&lt;/p&gt;

&lt;h1&gt;
  
  
  CodeAct: The Real Problem Is Not Tool Speed
&lt;/h1&gt;

&lt;p&gt;The first feature worth paying attention to is CodeAct with Hyperlight.&lt;/p&gt;

&lt;p&gt;Traditional tool calling usually works like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM -&amp;gt; choose tool
Tool -&amp;gt; return result
LLM -&amp;gt; choose next tool
Tool -&amp;gt; return result
LLM -&amp;gt; choose next tool
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is fine for simple tasks. But it becomes expensive when the work is procedural.&lt;/p&gt;

&lt;p&gt;Imagine an agent needs to calculate total order value across users:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;list users&lt;/li&gt;
&lt;li&gt;get orders for each user&lt;/li&gt;
&lt;li&gt;get discount for each order&lt;/li&gt;
&lt;li&gt;get tax rate by region&lt;/li&gt;
&lt;li&gt;calculate the final total&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In traditional tool calling, the model may need many turns just to walk through a loop.&lt;/p&gt;

&lt;p&gt;CodeAct changes this by letting the model generate code once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;users&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;call_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;list_users&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;total&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;user&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;users&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;orders&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;call_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get_orders&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;user_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;user&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;orders&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;discount&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;call_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get_discount&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;order_id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;tax&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;call_tool&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;get_tax_rate&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;region&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;total&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;order&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;amount&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;discount&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;tax&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The important improvement is not that the tools execute faster.&lt;/p&gt;

&lt;p&gt;The improvement is that the system reduces model-to-tool round trips.&lt;/p&gt;

&lt;p&gt;Microsoft's example showed more than 50% latency reduction and more than 60% token reduction for a multi-step workflow. The exact number will vary, but the pattern is very useful: when the task is procedural, let the model express the procedure as code and let the runtime execute it.&lt;/p&gt;

&lt;p&gt;This is closer to how developers work. If I need to repeat an operation across many records, I do not want to manually reason through every iteration. I write a small script.&lt;/p&gt;

&lt;p&gt;CodeAct gives agents that same execution pattern.&lt;/p&gt;

&lt;h1&gt;
  
  
  Hyperlight Does Not Remove Tool Governance
&lt;/h1&gt;

&lt;p&gt;CodeAct uses Hyperlight to run generated code in an isolated micro-VM. That is important because model-generated code should not run directly in the host environment.&lt;/p&gt;

&lt;p&gt;But I think the security boundary needs to be stated clearly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CodeAct sandboxing protects the host from unsafe generated code. It does not automatically make your tools safe.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If your tool can send an email, delete a file, update a database, approve a refund, or trigger a deployment, the sandbox is not enough. You still need tool-level permissions, approval policies, and auditability.&lt;/p&gt;

&lt;p&gt;In other words:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sandbox protects code execution.
Approval protects business actions.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Confusing these two would be dangerous in production.&lt;/p&gt;

&lt;h1&gt;
  
  
  Handoff: Multi-Agent Workflow Should Not Always Be a Pipeline
&lt;/h1&gt;

&lt;p&gt;The second feature I found important is Handoff.&lt;/p&gt;

&lt;p&gt;Many multi-agent examples are built as a fixed pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Planner -&amp;gt; Implementer -&amp;gt; Reviewer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That works for some development workflows. But many real service workflows are not linear.&lt;/p&gt;

&lt;p&gt;Think about customer support:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Coordinator
  -&amp;gt; Refund Agent
  -&amp;gt; Shipping Agent
  -&amp;gt; Technical Support Agent
  -&amp;gt; back to Coordinator if needed
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The right next step depends on the conversation.&lt;/p&gt;

&lt;p&gt;This is where Handoff is useful. Developers define the participants and topology, while agents can decide when to transfer control.&lt;/p&gt;

&lt;p&gt;A simplified structure looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;workflow&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="nc"&gt;HandoffBuilder&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;customer_support&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;participants&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="n"&gt;coordinator&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;refund&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;shipping&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;tech&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;set_coordinator&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;coordinator&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;with_interaction_mode&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;autonomous&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;with_termination_condition&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;should_terminate&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;build&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The point is not simply "multiple agents."&lt;/p&gt;

&lt;p&gt;The point is runtime routing.&lt;/p&gt;

&lt;p&gt;A coordinator can route to a specialist. A specialist can finish the task, ask for more information, or hand control back. The workflow can end early when the condition is met.&lt;/p&gt;

&lt;p&gt;That is very different from forcing every request through the same fixed sequence.&lt;/p&gt;

&lt;h1&gt;
  
  
  My Takeaway
&lt;/h1&gt;

&lt;p&gt;For me, the most important message from Agent Harness is this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Production agents need an execution layer, not just a reasoning model.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That execution layer includes context management, memory, approvals, tracing, code execution, and multi-agent routing.&lt;/p&gt;

&lt;p&gt;CodeAct improves single-agent efficiency by reducing unnecessary model turns.&lt;/p&gt;

&lt;p&gt;Handoff improves multi-agent collaboration by allowing dynamic runtime routing.&lt;/p&gt;

&lt;p&gt;Agent Harness brings these ideas into the Microsoft Agent Framework as default infrastructure.&lt;/p&gt;

&lt;p&gt;This is why I think Agent Harness matters. It is not the most visually exciting Build 2026 announcement, but it may be one of the most practical ones for developers building real agent systems.&lt;/p&gt;

&lt;p&gt;The next phase of agent development will not be defined only by smarter models. It will also be defined by better execution infrastructure.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>microsoft</category>
      <category>news</category>
    </item>
    <item>
      <title>GitHub Copilot CLI: Your AI Coding Partner in the Terminal</title>
      <dc:creator>Bruce Wong</dc:creator>
      <pubDate>Thu, 11 Jun 2026 08:22:45 +0000</pubDate>
      <link>https://dev.to/brucewong001/github-copilot-cli-your-ai-coding-partner-in-the-terminal-2jg5</link>
      <guid>https://dev.to/brucewong001/github-copilot-cli-your-ai-coding-partner-in-the-terminal-2jg5</guid>
      <description>&lt;h1&gt;
  
  
  1. What is Copilot CLI?
&lt;/h1&gt;

&lt;p&gt;In February 2026, GitHub officially released Copilot CLI to General Availability (GA). It is not a command-line port of the VS Code plugin, but a standalone, terminal-native AI coding agent.&lt;/p&gt;

&lt;p&gt;GitHub's positioning is clear:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Copilot CLI has grown from a terminal assistant into a full agentic development environment—one that plans, builds, reviews, and remembers across sessions, all without leaving the terminal."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All Copilot subscribers can use it (Free/Pro/Business/Enterprise) at no extra cost.&lt;/p&gt;




&lt;h1&gt;
  
  
  2. How is it different from VS Code Copilot?
&lt;/h1&gt;

&lt;p&gt;This is the most confusing part. Many people think CLI is just "Copilot from VS Code moved to the terminal." It is not.&lt;/p&gt;

&lt;h2&gt;
  
  
  2.1 Positioning differences
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Dimension&lt;/th&gt;
&lt;th&gt;VS Code Copilot&lt;/th&gt;
&lt;th&gt;Copilot CLI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Runtime&lt;/td&gt;
&lt;td&gt;Inside the IDE&lt;/td&gt;
&lt;td&gt;Terminal / command line&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Interaction&lt;/td&gt;
&lt;td&gt;Inline editor completions, side Chat&lt;/td&gt;
&lt;td&gt;Full-screen terminal chat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Core strength&lt;/td&gt;
&lt;td&gt;Real-time coding assistance&lt;/td&gt;
&lt;td&gt;Complex task planning &amp;amp; execution&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Context switching&lt;/td&gt;
&lt;td&gt;Within the IDE&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No need to leave the terminal&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  2.2 Feature comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;VS Code Copilot&lt;/th&gt;
&lt;th&gt;Copilot CLI&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Code completion&lt;/td&gt;
&lt;td&gt;✅ Real-time inline&lt;/td&gt;
&lt;td&gt;❌ Not the main focus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Agent mode&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;✅ Yes, and more powerful&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Multi-step complex tasks&lt;/td&gt;
&lt;td&gt;✅ Supported&lt;/td&gt;
&lt;td&gt;✅ Better suited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Git operations&lt;/td&gt;
&lt;td&gt;⚠️ Limited&lt;/td&gt;
&lt;td&gt;✅ Native integration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GitHub.com operations (PR/Issue)&lt;/td&gt;
&lt;td&gt;⚠️ Requires browser switch&lt;/td&gt;
&lt;td&gt;✅ Direct operations&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Plan Mode (plan first, then execute)&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;✅ Shift+Tab, more complete&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cross-session memory&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;td&gt;✅ Stronger Repository Memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI/CD integration&lt;/td&gt;
&lt;td&gt;❌ Difficult&lt;/td&gt;
&lt;td&gt;✅ -p programmatic calls&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shell command execution&lt;/td&gt;
&lt;td&gt;⚠️ Indirect&lt;/td&gt;
&lt;td&gt;✅ Native support&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  2.3 One-sentence summary
&lt;/h2&gt;

&lt;p&gt;VS Code Copilot is "your co-pilot while coding" — real-time completions, quick explanations, single-file refactoring.&lt;/p&gt;

&lt;p&gt;Copilot CLI is "a full-stack engineer that works independently" — you can say "refactor this entire module," go do something else, and it reports back when done.&lt;/p&gt;




&lt;h1&gt;
  
  
  3. When to use CLI vs VS Code?
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Scenarios for VS Code Copilot&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Daily coding with real-time completions&lt;/li&gt;
&lt;li&gt;Quick refactoring within a single file&lt;/li&gt;
&lt;li&gt;Explaining selected code functionality&lt;/li&gt;
&lt;li&gt;Reviewing and confirming changes directly in the editor&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Scenarios for Copilot CLI&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Complex multi-step tasks: creating complete features, cross-file changes&lt;/li&gt;
&lt;li&gt;DevOps / automation: generating CI/CD configs, Terraform scripts&lt;/li&gt;
&lt;li&gt;GitHub operations: bulk PR management, code reviews, issue creation&lt;/li&gt;
&lt;li&gt;Background tasks: long-running code analysis, security scans&lt;/li&gt;
&lt;li&gt;Pure terminal environments: SSH remote servers, Docker containers, WSL&lt;/li&gt;
&lt;li&gt;Scripted integration: embedding AI capabilities into automation workflows&lt;/li&gt;
&lt;/ul&gt;




&lt;h1&gt;
  
  
  4. Copilot CLI's three killer features
&lt;/h1&gt;

&lt;h2&gt;
  
  
  4.1 Cloud Delegation (&amp;amp;)
&lt;/h2&gt;

&lt;p&gt;The most unique feature. Prefix your prompt with &amp;amp; to push the task to the GitHub Cloud Agent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Runs remotely on GitHub Actions runners&lt;/li&gt;
&lt;li&gt;Automatically creates a copilot/ branch and Draft PR&lt;/li&gt;
&lt;li&gt;Continues even if you shut down your local machine&lt;/li&gt;
&lt;li&gt;Perfect for long-running tasks (code analysis, large-scale refactoring)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In contrast, Autopilot Mode (--autopilot) runs locally, is visible in real time, but stops if your local machine shuts down.&lt;/p&gt;

&lt;h2&gt;
  
  
  4.2 Programmatic Mode (-p)
&lt;/h2&gt;

&lt;p&gt;Ideal for integration into scripts and automation workflows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Single-shot call, great for script integration&lt;/span&gt;
copilot &lt;span class="nt"&gt;-p&lt;/span&gt; &lt;span class="s2"&gt;"Show me this week's commits and summarize them"&lt;/span&gt; &lt;span class="nt"&gt;--allow-tool&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s1"&gt;'shell(git)'&lt;/span&gt;

&lt;span class="c"&gt;# Pipe input&lt;/span&gt;
./script-outputting-options.sh | copilot 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Value: Can be integrated into CI/CD, cron jobs, and shell scripts.&lt;/p&gt;

&lt;h2&gt;
  
  
  4.3 Plan Mode — plan first, then execute
&lt;/h2&gt;

&lt;p&gt;Press Shift+Tab to enter Plan Mode. Copilot will:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Analyze your request&lt;/li&gt;
&lt;li&gt;Ask clarifying questions&lt;/li&gt;
&lt;li&gt;Build a structured implementation plan&lt;/li&gt;
&lt;li&gt;Wait for your confirmation before coding&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Value: Avoids the "AI blindly changes code" problem by communicating requirements first.&lt;/p&gt;




&lt;h1&gt;
  
  
  5. Installation and quick start
&lt;/h1&gt;

&lt;h2&gt;
  
  
  5.1 Installation
&lt;/h2&gt;

&lt;p&gt;这是提取出来的 Markdown 表格内容：&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Platform&lt;/th&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;macOS&lt;/td&gt;
&lt;td&gt;brew install copilot-cli&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;brew install copilot-cli or curl -fsSL &lt;a href="https://gh.io/copilot-install" rel="noopener noreferrer"&gt;https://gh.io/copilot-install&lt;/a&gt; | bash&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;winget install GitHub.Copilot&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;npm&lt;/td&gt;
&lt;td&gt;npm install -g @github/copilot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;需要我帮你保存成 .md 文件吗？如果要的话，文件名和路径有偏好吗？&lt;br&gt;
Article content&lt;/p&gt;

&lt;h2&gt;
  
  
  5.2 Authentication
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;copilot
/login 
## 5.3 Quick start
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Enter your project directory&lt;/span&gt;
&lt;span class="nb"&gt;cd &lt;/span&gt;my-project

&lt;span class="c"&gt;# 2. Start interactive mode&lt;/span&gt;
copilot

&lt;span class="c"&gt;# 3. Initialize custom instructions (helps Copilot understand your stack)&lt;/span&gt;
/init
&lt;span class="c"&gt;# Generates .github/copilot-instructions.md with project context&lt;/span&gt;

&lt;span class="c"&gt;# 4. Start building&lt;/span&gt;
&lt;span class="s2"&gt;"Create a React component for user authentication"&lt;/span&gt;

&lt;span class="c"&gt;# 5. Run in the background (non-blocking terminal)&lt;/span&gt;
&amp;amp; &lt;span class="s2"&gt;"Analyze all security vulnerabilities in this codebase"&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h1&gt;
  
  
  Reference resources
&lt;/h1&gt;

&lt;p&gt;Official docs:&lt;a href="https://docs.github.com/copilot/how-tos/copilot-cli/cli-getting-started" rel="noopener noreferrer"&gt;https://docs.github.com/copilot/how-tos/copilot-cli/cli-getting-started&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Best practices:&lt;a href="https://docs.github.com/copilot/how-tos/copilot-cli/cli-best-practices" rel="noopener noreferrer"&gt;https://docs.github.com/copilot/how-tos/copilot-cli/cli-best-practices&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Command reference:&lt;a href="https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference" rel="noopener noreferrer"&gt;https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Slash command cheat sheet:&lt;a href="https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/" rel="noopener noreferrer"&gt;https://github.blog/ai-and-ml/github-copilot/a-cheat-sheet-to-slash-commands-in-github-copilot-cli/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Product page:&lt;a href="https://github.com/features/copilot/cli" rel="noopener noreferrer"&gt;https://github.com/features/copilot/cli&lt;/a&gt;&lt;/p&gt;

</description>
      <category>githubcopilot</category>
      <category>copilotcli</category>
      <category>aicoding</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
