What happens to a prompt before it reaches the model?
Why A is the answer
It is built with context and passes through a proxy that applies filtering
Prompt building and proxy filtering are named parts of the data flow you are expected to explain.
In detail
- Copilot builds the request with context.
- It then passes through a proxy that applies filtering.
- Filtering applies on the way back as well.
Use case
An illustrative scenario, not a real incident.
A developer asks Copilot about a function. Copilot gathers context from the open file, builds the prompt, and sends it through a proxy that applies filtering before the model.
See it in different ways
flowchart LR A["Your prompt"] --> B["Add context"] B --> C["Content filtering"] C --> D["Language model"] D --> E["Content filtering"] E --> F["Response in your editor"]
sequenceDiagram participant D as Developer participant C as Copilot client participant P as Proxy and filters participant M as Model D->>C: Prompt C->>P: Prompt plus context P->>M: Filtered request M-->>P: Response P-->>D: Filtered response
flowchart LR S0["Your prompt"] --> S1["Context added"] --> S2["Proxy and filters"] --> S3["Model"] --> S4["Filtered response"]
Key point: A prompt gains context and passes through filters.
Why the other options are wrong
- B. It goes straight to the model unchanged, apart from being encrypted in transit
- The prompt is changed by the added context.
- C. It is compiled locally into an embedding and only that is sent
- The prompt is not reduced to an embedding before it is sent.
- D. It is posted to a public repository for other models to learn from
- Prompts are not published to public repositories.

