github / github/copilot-cli

Support temperature/sampling parameters in plugin SKILL.md metadata

Ouverte
#3,056 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
area:configuration area:models area:plugins
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

### Describe the feature or problem you'd like to solve

Entire teams writing official tech docs but can't change the temperature or top-p

### Proposed solution

Plugin authors building documentation-authoring skills need low-temperature inference to minimize fabrication and hallucination. Currently, there is **no way** for a plugin or skill to specify `temperature`, `top_p`, or other sampling parameters -- not in `plugin.json`, `agency.json`, or SKILL.md frontmatter metadata.

The only workaround is embedding prompt-level instructions like "behave as if temperature is 0.0-0.2," which is unreliable because the model may not honor behavioral temperature constraints the same way it honors API-level parameters.

Allow SKILL.md frontmatter `metadata` to include sampling parameters that Copilot CLI passes through to the inference API:

```yaml
---
name: write-concept
description: Author a concept article with verification
metadata:
temperature: 0.1
top_p: 0.9
max_tokens: 8192
---
```

Or alternatively, support this at the plugin level in `plugin.json`:

```json
{
"name": "author-pro",
"modelParameters": {
"temperature": 0.1,
"top_p": 0.9
}
}
```

Either approach would let plugin authors tune inference behavior for their use case -- low temperature for factual documentation, higher temperature for creative brainstorming, etc.

1. **Prompt-level behavioral constraints** -- "Respond as if temperature is set to 0.1." Works partially but is not equivalent to API-level control. Models still exhibit higher variance than a true low-temperature API call.

2. **MCP server with sampling** -- Build an MCP server that uses the `sampling/createMessage` protocol method with temperature parameters. This is architecturally heavier and adds latency, but could work if sampling parameters are passed through to the inference backend.

3. **Direct API calls via MCP** -- Build an MCP server that calls Azure OpenAI directly with explicit temperature. This works but requires separate API credentials, deployment management, and cost -- defeating the purpose of an integrated plugin system.

### Example prompts or workflows

- This affects any plugin where output accuracy matters more than creativity (documentation, compliance, security review, technical writing).
- The `task` tool already supports a `model` parameter for sub-agents. Extending this pattern to include `temperature` would be consistent.
- MCP sampling events (`sampling.requested` / `sampling.completed`) already exist in the session events schema, suggesting the infrastructure may partially exist.

### Additional context

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par retracer comment les métadonnées frontmatter de SKILL.md, plugin.json et agency.json sont analysées, puis comparez ce chemin avec le paramètre de modèle existant de l’outil de tâches. Examinez le schéma des événements de session pour les événements de sampling MCP mentionnés et déterminez où les paramètres de sampling peuvent atteindre l’inference API. C’est terminé lorsqu’un chemin de métadonnées pris en charge est défini et que temperature, top_p et max_tokens sont transmis de manière cohérente.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github, shell
Domaine
ai, api, cli, tooling
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
48/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.