File size: 5,911 Bytes
0dbc9de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
---
title: ๋ชจ๋ธ
description: LLM ๊ณต๊ธ‰์ž ๋ฐ ๋ชจ๋ธ ๊ตฌ์„ฑ.
---

opencode๋Š” [AI SDK](https://ai-sdk.dev/) ๋ฐ [Models.dev](https://models.dev)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ **75+ LLM ์ œ๊ณต ์—…์ฒด**๋ฅผ ์ง€์›ํ•˜๋ฉฐ ๋กœ์ปฌ ๋ชจ๋ธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

---

## ๊ณต๊ธ‰์ž

๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ๊ณต๊ธ‰์ž๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฏธ๋ฆฌ ๋กœ๋“œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. `/connect` ๋ช…๋ น์„ ํ†ตํ•ด ๊ณต๊ธ‰์ž๋ฅผ์œ„ํ•œ ์ž๊ฒฉ ์ฆ๋ช…์„ ์ถ”๊ฐ€ํ•˜๋ฉด opencode๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ [providers](/docs/providers).

---

## ๋ชจ๋ธ ์„ ํƒ

๊ณต๊ธ‰์ž๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ์ž…๋ ฅํ•˜์—ฌ ์›ํ•˜๋Š” ๋ชจ๋ธ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

```bash frame="none"
/models
```

---

## ์ถ”์ฒœ ๋ชจ๋ธ

์ˆ˜๋งŽ์€ ๋ชจ๋ธ์ด ์žˆ์œผ๋ฉฐ, ๋งค์ฃผ ์ƒˆ๋กœ์šด ๋ชจ๋ธ์ด ์ถœ์‹œ๋ฉ๋‹ˆ๋‹ค.

:::tip
์šฐ๋ฆฌ๊ฐ€ ์ถ”์ฒœํ•˜๋Š” ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ๋ คํ•˜์‹ญ์‹œ์˜ค.
:::

ํ•˜์ง€๋งŒ ์ฝ”๋“œ ์ž‘์„ฑ๊ณผ ๋„๊ตฌ ํ˜ธ์ถœ ๋ชจ๋‘์—์„œ ๋›ฐ์–ด๋‚œ ์„ฑ๋Šฅ์„ ๋ณด์ด๋Š” ๋ชจ๋ธ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน๋ณ„ํ•œ ์ˆœ์„œ๋Š” ์—†์Šต๋‹ˆ๋‹ค. (์ด ๋ชฉ๋ก์€ ์ „์ฒด ๋ชฉ๋ก์ด ์•„๋‹ˆ๋ฉฐ ์ตœ์‹  ์ƒํƒœ๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค):

- GPT 5.2
- GPT 5.1 Codex
- Claude Opus 4.5
- Claude Sonnet 4.5
- M2.1
- Gemini 3 Pro

---

## ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •

๊ธฐ๋ณธ ๋ชจ๋ธ๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด `model` ํ‚ค๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
opencode ์„ค์ •.

```json title="opencode.json" {3}
{
  "$schema": "https://opencode.ai/config.json",
  "model": "lmstudio/google/gemma-3n-e4b"
}
```

์ „์ฒด ID๋Š” `provider_id/model_id`์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, [OpenCode Zen](/docs/zen)์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, GPT 5.1 Codex์— `opencode/gpt-5.1-codex`๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

[custom Provider](/docs/providers#custom)๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด `provider_id`๋Š” ๊ตฌ์„ฑ์˜ `provider` ๋ถ€๋ถ„์—์„œ ํ‚ค์ด๋ฉฐ `model_id`๋Š” `provider.models`์—์„œ ํ‚ค์ž…๋‹ˆ๋‹ค.

---

## ๋ชจ๋ธ ๊ตฌ์„ฑ

config๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์˜ ์˜ต์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

```jsonc title="opencode.jsonc" {7-12,19-24}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "options": {
            "reasoningEffort": "high",
            "textVerbosity": "low",
            "reasoningSummary": "auto",
            "include": ["reasoning.encrypted_content"],
          },
        },
      },
    },
    "anthropic": {
      "models": {
        "claude-sonnet-4-5-20250929": {
          "options": {
            "thinking": {
              "type": "enabled",
              "budgetTokens": 16000,
            },
          },
        },
      },
    },
  },
}
```

์—ฌ๊ธฐ์„œ๋Š” ๋‘ ๊ฐœ์˜ ๋‚ด์žฅ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ „์—ญ ์„ค์ •์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค: `gpt-5`๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šค ํ•  ๋•Œ `openai` ๊ณต๊ธ‰์ž ๋ฐ `claude-sonnet-4-20250514`๋Š” `anthropic` ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด ์•ก์„ธ์Šค ํ•  ๋•Œ.
๋‚ด์žฅ ๊ณต๊ธ‰์ž ๋ฐ ๋ชจ๋ธ ์ด๋ฆ„์€ [Models.dev](https://models.dev)์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ค‘์ธ ์—์ด์ „ํŠธ์— ์ด๋Ÿฌํ•œ ์˜ต์…˜์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—์ด์ „ํŠธ ๊ตฌ์„ฑ์€ ์—ฌ๊ธฐ์— ๋ชจ๋“  ๊ธ€๋กœ๋ฒŒ ์˜ต์…˜์„ overrides. [๋” ์•Œ์•„๋ณด๊ธฐ](/docs/agents/#additional).

๋‚ด์žฅ ๋œ ๊ฒƒ์„ ํ™•์žฅํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ๋ณ€ํ˜•์„ ์ •์˜ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Variants๋Š” ์ค‘๋ณต ํ•ญ๋ชฉ ์ƒ์„ฑ ์—†์ด ๋™์ผํ•œ ๋ชจ๋ธ์„ ์œ„ํ•œ ๋‹ค๋ฅธ ์„ค์ •์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

```jsonc title="opencode.jsonc" {6-21}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "opencode": {
      "models": {
        "gpt-5": {
          "variants": {
            "high": {
              "reasoningEffort": "high",
              "textVerbosity": "low",
              "reasoningSummary": "auto",
            },
            "low": {
              "reasoningEffort": "low",
              "textVerbosity": "low",
              "reasoningSummary": "auto",
            },
          },
        },
      },
    },
  },
}
```

---

## ๋ณ€ํ˜•

๋งŽ์€ ๋ชจ๋ธ์ด ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ์˜ ๋ณ€ํ˜•(variant)์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. opencode๋Š” ์ธ๊ธฐ์žˆ๋Š” ๊ณต๊ธ‰์ž๋ฅผ์œ„ํ•œ ๊ธฐ๋ณธ ๋ณ€ํ˜•์œผ๋กœ ๋ฐฐ์†ก๋ฉ๋‹ˆ๋‹ค.

## ๋‚ด์žฅ ๋ณ€ํ˜•

opencode๋Š” ๋งŽ์€ ๊ณต๊ธ‰์ž๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ๋ณ€์ข…์œผ๋กœ ๋ฐœ์†กํ•ฉ๋‹ˆ๋‹ค:

**Anthropic**:

- `high` - ๋†’์€ ์ƒ๊ฐ(Thinking) ์˜ˆ์‚ฐ (๊ธฐ๋ณธ)
- `max` - ์ตœ๋Œ€ ์ƒ๊ฐ ์˜ˆ์‚ฐ

** OpenAI **:

๋ชจ๋ธ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

- `none` - ์ถ”๋ก (Reasoning) ์—†์Œ
- `minimal` - ์ตœ์†Œ ์ถ”๋ก  ๋…ธ๋ ฅ
- `low` - ๋‚ฎ์€ ์ด์œ  ๋…ธ๋ ฅ
- `medium` - ์ค‘๊ฐ„ ์ด์œ  ๋…ธ๋ ฅ
- `high` - ๋†’์€ ์ด์œ  ๋…ธ๋ ฅ
- `xhigh` - ์ถ”๊ฐ€ ๋†’์€ ์ด์œ  ๋…ธ๋ ฅ

** ๊ตฌ๊ธ€ **:

- `low` - ๋” ๋‚ฎ์€ ๋…ธ๋ ฅ/ํ† ํฐ ์˜ˆ์‚ฐ
- `high` - ๋” ๋†’์€ ๋…ธ๋ ฅ / ํ† ํฐ ์˜ˆ์‚ฐ

:::tip
์ด ๋ชฉ๋ก์€ ํฌ๊ด„์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋งŽ์€ ๊ณต๊ธ‰์ž๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
:::

### ์‚ฌ์šฉ์ž ์ •์˜ ๋ณ€ํ˜•

๊ธฐ์กด์˜ ๋ณ€ํ˜•์„ ๊ณผ๋„ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ์ž์‹ ์—๊ฒŒ ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

```jsonc title="opencode.jsonc" {7-18}
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "openai": {
      "models": {
        "gpt-5": {
          "variants": {
            "thinking": {
              "reasoningEffort": "high",
              "textVerbosity": "low",
            },
            "fast": {
              "disabled": true,
            },
          },
        },
      },
    },
  },
}
```

## ๋ณ€ํ˜• ์ˆœํ™˜

keybind `variant_cycle`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€ํ˜• ์‚ฌ์ด ์‹ ์†ํ•˜๊ฒŒ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. [๋” ์•Œ์•„๋ณด๊ธฐ](/docs/keybinds).

---

## ๋ชจ๋ธ ๋กœ๋”ฉ ์ˆœ์„œ

opencode๊ฐ€ ์‹œ์ž‘๋  ๋•Œ, ๋‹ค์Œ์˜ ์šฐ์„ ์ˆœ์œ„ ์ˆœ์„œ์— ์žˆ๋Š” ๋ชจํ˜•์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค:

1. `--model` ๋˜๋Š” `-m` ๋ช…๋ น ์„  ๊นƒ๋ฐœ. ํ˜•์‹์€ ๊ตฌ์„ฑ ํŒŒ์ผ๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. `provider_id/model_id`.

2. opencode config์˜ ๋ชจ๋ธ ๋ชฉ๋ก.

   ```json title="opencode.json"
   {
     "$schema": "https://opencode.ai/config.json",
     "model": "anthropic/claude-sonnet-4-20250514"
   }
   ```

์—ฌ๊ธฐ์— ํ˜•์‹์€ `provider/model`์ž…๋‹ˆ๋‹ค.

3. ๋งˆ์ง€๋ง‰ ์‚ฌ์šฉ๋œ ๋ชจํ˜•.

4. ๋‚ด๋ถ€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ชจ๋ธ.