Files
wehub-resource-sync db620d33df
CodeQL / Analyze (csharp) (push) Waiting to run
CodeQL / Analyze (python) (push) Waiting to run
dotnet-build-and-test / dotnet-test-functions (push) Has been cancelled
dotnet-build-and-test / paths-filter (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Debug, windows-latest, net9.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, ubuntu-latest, net8.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-build (Release, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, ubuntu-latest, net10.0) (push) Has been cancelled
dotnet-build-and-test / dotnet-test (Release, integration, true, windows-latest, net472) (push) Has been cancelled
dotnet-build-and-test / dotnet-foundry-hosted-it (push) Has been cancelled
dotnet-build-and-test / dotnet-build-and-test-check (push) Has been cancelled
dotnet-build-and-test / Integration Test Report (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:39:25 +08:00

3.4 KiB

Harness Agent Samples

Samples demonstrating the Harness AIContextProviders — reusable providers that add planning, task management, and mode tracking to any ChatClientAgent.

Samples

Sample Description
Harness_Step01_Research Using a ChatClientAgent with TodoProvider and AgentModeProvider for research, showcasing planning mode and todo management
Harness_Step02_Research_WithBackgroundAgents Using BackgroundAgentsProvider to delegate stock price lookups to a web-search background agent concurrently
Harness_Step03_DataProcessing Using FileAccessProvider to give an agent access to CSV data files for reading, analysis, and output generation
Harness_Step05_Loop Wrapping a HarnessAgent with the LoopAgent decorator to re-invoke it until a configured LoopEvaluator (completion marker, predicate, AI judge, or approval-aware loop) decides to stop

Build your own claw blog series

Samples accompanying the Build your own agent harness or claw with Microsoft Agent Framework blog series, which builds a personal finance assistant step by step.

Sample Description
Claw_Step01_MeetYourClaw Post 1 — a minimal HarnessAgent with a custom get_stock_price tool, web search, and planning
Claw_Step02_WorkingWithData Post 2 — file access, approvals, and durable memory (file memory plus optional Foundry memory)
Claw_Step03_ScalingCapabilities Post 3 — scaling the claw with skills (plus optional Foundry skills), a confined shell, CodeAct, and background agents

Security Considerations

Several harness providers extend the agent's trust boundary to external systems the developer configures — see the security notes in the individual sample READMEs (and the XML docs on the corresponding types) before enabling them in production:

  • BackgroundAgentsProvider — delegates work to developer-supplied agents (see Harness_Step02_Research_WithBackgroundAgents).
  • AIJudgeLoopEvaluator (used by LoopAgent) — sends conversation content to a second, external judge chat client (see Harness_Step05_Loop).
  • AgentSkillsProvider with external skill sources (e.g. UseMcpSkills) — loads skill content, and potentially scripts, from a remote source (see AgentSkills samples).
  • SummarizationCompactionStrategy — used for in-loop context compaction via HarnessAgentOptions.CompactionStrategy, calls out to an LLM whose output becomes permanent chat history (see Agent_Step18_CompactionPipeline).

In every case, the capability is opt-in and requires explicit configuration by the developer, who is responsible for vetting the external service, agent, skill source, or provider before enabling it.