GH-600 Exam Questions & Answers
Developing in Agentic AI Systems • Microsoft
100% money-back guarantee
Sample GH-600 Questions
Practice with real exam-style questions, each with the verified correct answer and explanation.
You need to make changes to repo1 to support the planned changes for the agents.
What should you modify?
Repository custom agent profiles belong in .github/agents/ and use Markdown files with agent configuration and instructions. When the intended changes concern the agents' roles, available tools, or operating guidance, these profiles are the appropriate implementation point.
An agent profile provides a durable definition that can be shared with other repository contributors. Keeping that definition under version control makes changes reviewable and enables the team to associate a particular agent configuration with the code revision used during evaluation. This is useful when diagnosing why an agent's behavior changed after its instructions or capabilities were modified.
Editor settings and MCP connection settings address different concerns. They can affect the environment in which an agent operates, but they do not replace the agent's own profile. Changing a server connection is appropriate for transport or authentication requirements; changing an agent profile is appropriate for agent behavior and capability selection.
The source selects C. Its applicability depends on the omitted planned changes actually concerning custom agent configuration.
Study-guide topics: agent profiles, configuration management, and SDLC traceability. Reference: GitHub---Creating custom agents.
You have multiple GitHub Copilot coding agents that run tasks concurrently.
You are monitoring the agents from the terminal by using the GitHub CLI.
An agent appears stalled.
You need to live stream the session log output.
What should you do?
The gh agent-task view command supports inspecting an individual agent task. Combining --log with --follow selects session log output and continues following that output as the session progresses. The official CLI reference describes these flags as ''Show agent session logs'' and ''Follow agent session logs,'' respectively.
This combination is appropriate when an agent appears stalled because a task-level status alone cannot explain what the agent is currently doing. Following the log allows the operator to observe additional activity, identify the last reported operation, and distinguish ongoing execution from a task awaiting intervention.
The list command is useful for discovering tasks and obtaining an overview of concurrent activity. It does not replace following the detailed output of the relevant session. The --jq parameter filters structured JSON output; it does not provide the continuous log-following behavior requested here. Opening a browser with a web option also fails the terminal streaming requirement.
Viewing logs is an observational action. It does not itself restart, cancel, or unblock the agent.
Study-guide topics: monitoring concurrent agents, execution visibility, and troubleshooting. Reference: GitHub CLI---gh agent-task view.
You have a GitHub repository that uses GitHub Actions to run an autonomous agent job. The job summarizes a pull request and posts the summary as a pull request comment.
Your company stores required configuration values, such as JOB_NAME and RUNNER, as organization-level configuration variables and exposes them in workflows by using the vars context.
You discover that the agent job runs on push events and creates comments that are NOT tied to a pull request.
You need to ensure that the agent job runs only when the workflow run is triggered by a pull request. The solution must keep the job name and runner selection configured by using variables.
What should you do in the workflow?
The job must evaluate the event that triggered the workflow. The expression github.event_name == 'pull_request' directly tests that condition, ensuring the agent job is skipped for push-triggered runs. GitHub's contexts documentation provides this exact job-level filtering pattern. Configuration variables remain accessible through vars, allowing the workflow to use name: ${{ vars.JOB_NAME }} and runs-on: ${{ vars.RUNNER }} without hard-coding either value.
Option A checks a branch reference rather than the triggering event. A push to the main branch could therefore satisfy the condition, which violates the requirement. Option B incorrectly substitutes the environment context for the organization's configuration-variable context. GitHub also distinguishes default environment variables from properties available through expression contexts. Option C explicitly selects push events and therefore preserves the unwanted behavior.
This configuration establishes the correct execution boundary before the autonomous job starts. It connects the agent's activity to the intended pull request event while retaining centrally managed configuration. The relevant curriculum topics are evaluating execution context and configuring agents to run within CI workflows.
You need to configure agent1 to support the planned changes.
What should you do?
The mcp-servers property connects a custom agent to the Model Context Protocol servers required for its planned work. MCP configuration makes defined external tools and services available to the agent in a controlled, declarative manner.
Adding a broad natural-language instruction such as ''Use all available tools'' does not configure a server connection, authenticate a tool, or define which external capabilities are available. It is also poor least-privilege design because it encourages unrestricted tool use without establishing a technical permission boundary.
Setting tools: [] removes all configured tools and would prevent the agent from using required capabilities. Deleting the tools line could cause the agent to inherit or expose a broader default tool set than intended. Repository-wide instructions can guide behavior, but they do not replace the agent-specific configuration needed to associate MCP servers with that agent.
A well-designed configuration identifies only the MCP servers necessary for the role, supplies secrets through approved environment mechanisms, and limits the resulting tools to the agent's defined task.
Study-guide topics: MCP integration, agent tool configuration, and least-privilege environment access.
You are architecting an agentic AI system and need the agent's tool-calling behavior to be constrained so it can only call a specific allow-listed set of MCP tools, never arbitrary ones. What should you configure?
The correct answer is A because tool availability must be constrained at the agent/MCP integration boundary. GitHub custom-agent configuration provides a tools property that explicitly determines which tools the agent is permitted to use, including tools supplied by configured MCP servers. Rather than enabling all tools with ['*'] or omitting the restriction, administrators can specify individual tool names or aliases and thereby implement an explicit allow-list.
This is a fundamental least-privilege control for agentic systems. An MCP server can expose numerous capabilities, but exposure by the server does not mean every capability should automatically be available to every agent. Restricting the agent to the tools required for its assigned role reduces unintended actions and limits the blast radius of erroneous reasoning, prompt injection, or excessive autonomy. GitHub also supports repository MCP configuration through which administrators determine which external MCP integrations are available.
.copilotignore does not implement MCP authorization. Repository rulesets govern GitHub repository operations such as branches and merges, while /usage reports runtime/session information.
Study Guide Reference Topics: Implement Tool Use and Environment Interaction; MCP integration; tool allow-listing; least privilege; execution boundaries.
Get access to all 106 verified questions with detailed answers.
Unlock All GH-600 Questions