OpenClaw: ๊ธฐ์ดˆ ์ง€์‹ ์—†์ด ์‹œ์ž‘ํ•˜๋Š” GPT-5.4 ๋„ค์ดํ‹ฐ๋ธŒ PC ์กฐ์ž‘ Agent ์—ฐ๋™ ์‹ค์ „

โ€ขAI Expert

AI Agent ๋ถ„์•ผ๋ฅผ ๊ณ„์†ํ•ด์„œ ์ฃผ์‹œํ•ด ์˜ค์…จ๋‹ค๋ฉด, 2026๋…„ 3์›”์— ์ถœ์‹œ๋œ GPT-5.4๋Š” ์ ˆ๋Œ€ ๋†“์ณ์„œ๋Š” ์•ˆ ๋  ์ด์ •ํ‘œ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ OpenAI์˜ ์ฒซ ๋ฒˆ์งธ ๋„ค์ดํ‹ฐ๋ธŒ '์ปดํ“จํ„ฐ ์‚ฌ์šฉ(Computer Use)' ์ง€์› ํ”Œ๋ž˜๊ทธ์‹ญ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ด์ œ ๋‹จ์ˆœํžˆ ๋Œ€ํ™”์ฐฝ์—์„œ ๋Œ€ํ™”๋งŒ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ธ๊ฐ„์ฒ˜๋Ÿผ ์Šคํฌ๋ฆฐ์ƒท์„ ํ†ตํ•ด ์ขŒํ‘œ๋ฅผ ์ธ์‹ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €, ํ„ฐ๋ฏธ๋„, ์‹ฌ์ง€์–ด Excel ์ž‘์—…๊นŒ์ง€ ์ง์ ‘ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜์€ ํ˜„์žฌ ๊ฐ€์žฅ ํ•ซํ•œ ์˜คํ”ˆ์†Œ์Šค Agent ํ”„๋ ˆ์ž„์›Œํฌ์ธ OpenClaw์—์„œ GPT-5.4๋ฅผ ์—ฐ๋™ํ•˜์—ฌ ์ž๋™ํ™” ์ธํ…”๋ฆฌ์ „ํŠธ ์—์ด์ „ํŠธ ์—ฌ์ •์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‚œ์ด๋„: ์ž…๋ฌธ | ์†Œ์š” ์‹œ๊ฐ„: 15๋ถ„ | ์„ฑ๊ณผ: GPT-5.4 ์„ค์ • ๋ฐ ์ฒซ ๋ฒˆ์งธ ์—”๋“œ ํˆฌ ์—”๋“œ UI ์ž๋™ํ™” ์ž‘์—… ๊ตฌํ˜„

๋Œ€์ƒ ๋…์ž

  • AI๋ฅผ '๋Œ€ํ™”' ๋‹จ๊ณ„์—์„œ '์‹คํ–‰' ๋‹จ๊ณ„๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž.
  • ์ €๋น„์šฉ, ๊ณ ํšจ์œจ Agent ์šด์˜ ์†”๋ฃจ์…˜์„ ์ฐพ๋Š” ์—”์ง€๋‹ˆ์–ด.

ํ•ต์‹ฌ ์˜์กด์„ฑ ๋ฐ ํ™˜๊ฒฝ

  • Node.js: v20.0.0 ๋˜๋Š” ์ƒ์œ„ ๋ฒ„์ „
  • OpenClaw: v2.4.1+ (GPT-5.4 ๋ผ์šฐํŒ… ์ง€์› ํ™•์ธ)
  • ๋ชจ๋ธ ์ง€์›: GPT-5.4 (๋น„์šฉ์„ 50% ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” Defapi ์—ฐ๋™ ๊ถŒ์žฅ)

์ „์ฒด ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

OpenClaw์˜ ๊ตฌ์กฐ๋Š” ๋งค์šฐ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ์„ค์ • ํŒŒ์ผ๊ณผ ์ž‘์—… ์ •์˜ ์„น์…˜์—์„œ ์ž‘์—…ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

openclaw-project/
โ”œโ”€โ”€ .env                # API ํ‚ค ๋ณด๊ด€
โ”œโ”€โ”€ config.json         # ํ•ต์‹ฌ ๋ชจ๋ธ ๋ฐ Agent ๋™์ž‘ ์„ค์ •
โ”œโ”€โ”€ tasks/              # ์ž๋™ํ™” ์ž‘์—… ์Šคํฌ๋ฆฝํŠธ (.ts/.js)
โ”‚   โ””โ”€โ”€ web-search.ts   # ์˜ค๋Š˜ ๊ตฌํ˜„ํ•  ๊ฒ€์ƒ‰ ์ž‘์—…
โ”œโ”€โ”€ logs/               # Agent ์‹คํ–‰ ๋กœ๊ทธ ๋ฐ ์Šคํฌ๋ฆฐ์ƒท
โ””โ”€โ”€ package.json

๋‹จ๊ณ„๋ณ„ ํŠœํ† ๋ฆฌ์–ผ

1. ์„ค์น˜ ๋ฐ ์ดˆ๊ธฐํ™”

๋จผ์ €, GPT-5.4์˜ ์ตœ์‹  ํ”„๋กœํ† ์ฝœ๊ณผ ํ˜ธํ™˜๋˜๋„๋ก OpenClaw๊ฐ€ ์ตœ์‹  ๋ฒ„์ „์ธ์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# ํด๋ก  ๋˜๋Š” ํ”„๋กœ์ ํŠธ ๋””๋ ‰ํ† ๋ฆฌ ์ง„์ž…
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# ์˜์กด์„ฑ ์„ค์น˜ ๋ฐ ์ตœ์‹  ๋ฒ„์ „ ์—…๋ฐ์ดํŠธ
npm install && npm run openclaw:update

2. ๋‹ค์–‘ํ•œ ์„ค์ • ๋ฐฉ๋ฒ•

OpenClaw๋Š” ์‚ฌ์šฉ์ž์˜ ์„ ํ˜ธ๋„์— ๋”ฐ๋ผ GPT-5.4๋ฅผ ์—ฐ๋™ํ•˜๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • ๊ธฑ(Geek) ์Šคํƒ€์ผ (๋ช…๋ น์ค„ ๋ฐฉ์‹): ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ๋ชจ๋ธ์„ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
    openclaw config set agents.defaults.model.primary "openai/gpt-5.4"
    
  • ์ดˆ๋ณด์ž ์Šคํƒ€์ผ (๋Œ€ํ™”ํ˜• ๊ฐ€์ด๋“œ): openclaw onboard๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์•ˆ๋‚ด์— ๋”ฐ๋ฅด๋ฉด ๋ชจ๋“  ์„ค์ •์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.
    openclaw onboard --auth-choice openai-codex
    
  • ํ”„๋กœ๋•์…˜ ํ‘œ์ค€ (์„ค์ • ํŒŒ์ผ): config.json์„ ์ง์ ‘ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. JSON5๋ฅผ ์ง€์›ํ•˜์—ฌ ์ฃผ์„๋„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

3. API ์—ฐ๋™ ๋ฐ ๋น„์šฉ ์ ˆ๊ฐ ํŒ

์ด์ œ ๋ชจ๋ธ ์—ฐ๋™์„ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ OpenAI API๋Š” ๊ฐ€๊ฒฉ์ด ๋†’์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํŠนํžˆ GPT-5.4์ฒ˜๋Ÿผ ๋ฐฉ๋Œ€ํ•œ ์ปจํ…์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž‘์—…์€ Token ์†Œ๋ชจ๊ฐ€ ๋งค์šฐ ๋น ๋ฆ…๋‹ˆ๋‹ค.

[!TIP]
Defapi ํ”Œ๋žซํผ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค.
Defapi๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ณ ์„ฑ๋Šฅ ๋ชจ๋ธ์„ ์ €๋ ดํ•œ ๋น„์šฉ(๊ณต์‹ ๊ฐ€๊ฒฉ์˜ 50%)์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์„ ๋„์ ์ธ ์ œ3์ž AI ๋ชจ๋ธ ๋ฐฐํฌ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.
๋ฌด์—‡๋ณด๋‹ค GPT-5.4์˜ Prompt Caching(ํ”„๋กฌํ”„ํŠธ ์บ์‹ฑ) ๊ธฐ๋Šฅ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์บ์‹ฑ์„ ํ™œ์„ฑํ™”ํ•˜๋ฉด ์‹œ์Šคํ…œ ์ง€์นจ์ด๋‚˜ ๊ธด ํžˆ์Šคํ† ๋ฆฌ์™€ ๊ฐ™์€ ๋ฐ˜๋ณต๋˜๋Š” ํ”„๋กฌํ”„ํŠธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜์—ฌ ์ฝ๊ธฐ ๋น„์šฉ์„ ํฌ๊ฒŒ ๋‚ฎ์ถ”๊ณ  ์‘๋‹ต ์†๋„๋ฅผ ํš๊ธฐ์ ์œผ๋กœ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

.env ํŒŒ์ผ์—์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ „ํ™˜ํ•˜์„ธ์š”:

# Defapi๋ฅผ ํ†ตํ•œ ๋น„์šฉ ์ ˆ๊ฐ ๋ชจ๋“œ ํ™œ์„ฑํ™”
OPENAI_API_KEY=dk-your_defapi_key_here # Defapi ํ‚ค๋Š” ๋ณดํ†ต dk-๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
OPENAI_BASE_URL=https://api.defapi.org # ์ •ํ™•ํ•œ Defapi ํ”„๋กœ๋•์…˜ ์ฃผ์†Œ๋กœ ์ˆ˜์ •

4. "๋กฑ๋Ÿฐ(Long-run)" ์„ค์ • ์ตœ์ ํ™”

์ˆ˜ ์‹œ๊ฐ„ ํ˜น์€ ์ˆ˜์ผ ๋™์•ˆ ์‹คํ–‰๋˜๋Š” Agent์˜ ๊ฒฝ์šฐ ํ•˜ํŠธ๋น„ํŠธ(Heartbeat) ์œ ์ง€ ๋ฐ ์บ์‹œ ์ „๋žต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. config.json์„ ์—ฝ๋‹ˆ๋‹ค:

{
  "agents": {
    "default": {
      "heartbeat": { "every": "55m" }, // 55๋ถ„๋งˆ๋‹ค ์œ ์ง€ํ•˜์—ฌ ์บ์‹œ ๋งŒ๋ฃŒ ๋ฐฉ์ง€
      "params": { "cacheRetention": "long" }, // ์žฅ๊ธฐ ์บ์‹ฑ ๊ฐ•์ œ ํ™œ์„ฑํ™”
      "features": {
        "native_computer_use": true,
        "dynamic_tool_search": true 
      }
    }
  }
}

5. ์ฒซ ๋ฒˆ์งธ ๋„ค์ดํ‹ฐ๋ธŒ ์ปจํŠธ๋กค ์ž‘์—… ์ž‘์„ฑ

์ด์ œ ์ž๋™ํ™” ์ž‘์—…์„ ์ž‘์„ฑํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Agent๊ฐ€ ์ž๋™์œผ๋กœ GitHub์— ๋กœ๊ทธ์ธํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. GPT-5.4์˜ ๋„ค์ดํ‹ฐ๋ธŒ CUA(Computer Use Agent) ๋Šฅ๋ ฅ ๋•๋ถ„์— ์‹ค์ œ ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

tasks/ai-news.ts์— ๋‹ค์Œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค:

import { createAgent } from 'openclaw';

async function runTask() {
  const agent = await createAgent({
    name: "NewsCollector",
    goal: "Chrome์„ ์—ด๊ณ  2026๋…„ 3์›” ์ตœ์‹  AI ๊ธฐ์ˆ  ๋ŒํŒŒ๊ตฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ƒ์œ„ 3๊ฐœ ๊ฒฐ๊ณผ๋ฅผ ์ •๋ฆฌํ•ด์ค˜"
  });

  // GPT-5.4๊ฐ€ ์ž๋™์œผ๋กœ ํ™˜๊ฒฝ์„ ์ธ์‹ํ•˜๊ณ  ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  await agent.start();
  
  // ํ•ต์‹ฌ: GPT-5.4๋Š” ๋„ค์ดํ‹ฐ๋ธŒ ์Šคํฌ๋ฆฐ์ƒท ๋ถ„์„ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์–ด ๋ณ„๋„์˜ ๋น„์ „ ๋ชจ๋ธ์ด ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.
  console.log("์ž‘์—… ์‹คํ–‰ ์™„๋ฃŒ!");
}

runTask();

6. ์‹คํ–‰ ๋ฐ ๋ฃจํ”„ ์‹œ์ž‘

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด OpenClaw๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ๋„์šฐ๊ณ  GPT-5.4๊ฐ€ ๋งˆ์šฐ์Šค์™€ ํ‚ค๋ณด๋“œ ์ œ์–ด๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

npx ts-node tasks/ai-news.ts

[!WARNING]
์‹คํ–‰ ์ค‘์—๋Š” ๋งˆ์šฐ์Šค๋ฅผ ์ˆ˜๋™์œผ๋กœ ์›€์ง์ด๊ฑฐ๋‚˜ ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์„ ๋ฐฉํ•ดํ•˜์ง€ ๋งˆ์„ธ์š”. Agent์˜ ์ขŒํ‘œ ๊ณ„์‚ฐ์— ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ(FAQ)

Q: model_not_found ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
A: OpenClaw ๋ฒ„์ „์„ ํ™•์ธํ•˜์„ธ์š”. v2.4.1 ์ดํ›„ ๋ฒ„์ „๋ถ€ํ„ฐ openai/gpt-5.4 ID๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋งคํ•‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Defapi๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ณ„์ •์— GPT-5.4 Standard ํ• ๋‹น๋Ÿ‰์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

Q: Agent ์‹คํ–‰ ์†๋„๊ฐ€ ๊ฐ‘์ž๊ธฐ ๋А๋ ค์กŒ์Šต๋‹ˆ๋‹ค.
A: GPT-5.4๊ฐ€ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ์ปจํ…์ŠคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ํžˆ์Šคํ† ๋ฆฌ(History)๊ฐ€ ๋„ˆ๋ฌด ๊ธธ์–ด์ง€๋ฉด ์ถ”๋ก  ์‹œ๊ฐ„์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. config.json์—์„œ max_history_turns: 15๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ •๊ธฐ์ ์œผ๋กœ ๋Œ€ํ™” ์บ์‹œ๋ฅผ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

Q: ํด๋ฆญ ์˜ค์ฐจ๋ฅผ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
A: ๋ชจ๋‹ˆํ„ฐ์˜ ๋ฐฐ์œจ(Scaling)์ด 100%์ธ์ง€ ํ™•์ธํ•˜์„ธ์š”. GPT-5.4์˜ ์ธ์‹ ๋Šฅ๋ ฅ์€ ๋›ฐ์–ด๋‚˜์ง€๋งŒ, ๋น„ํ‘œ์ค€ DPI ํ™˜๊ฒฝ์—์„œ๋Š” ์ขŒํ‘œ ๋ณ€ํ™˜ ์‹œ 10~20ํ”ฝ์…€ ์ •๋„์˜ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Q: Defapi๋Š” GPT-5.4 Pro๋ฅผ ์ง€์›ํ•˜๋‚˜์š”?
A: ํ˜„์žฌ Defapi๋Š” ์ฃผ๋กœ GPT-5.4 Standard๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์ž๋™ํ™” Agent ์ž‘์—…์—์„œ ๊ฐ€์„ฑ๋น„๊ฐ€ ๊ฐ€์žฅ ๋†’์Šต๋‹ˆ๋‹ค. ๋งค์šฐ ๋†’์€ ๋‚œ์ด๋„์˜ ์ถ”๋ก ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ถ”๋ก  ๋ชจ๋“œ ์„ค์ •์„ ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‹ฌํ™” ํ•™์Šต / ํ–ฅํ›„ ๋ฐฉํ–ฅ

  • 1.05M ์ปจํ…์ŠคํŠธ ํ™œ์šฉ: Agent๋ฅผ 24์‹œ๊ฐ„ ๋™์•ˆ ์ง€์†์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉฐ ์ˆ˜์ฒœ ์ค„์˜ ์‹คํ–‰ ๋กœ๊ทธ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ง€์†์„ฑ์„ ๊ด€์ฐฐํ•ด ๋ณด์„ธ์š”.
  • ์‚ฌ์šฉ์ž ์ •์˜ ๋„๊ตฌ ์„ธํŠธ: GPT-5.4์˜ Tool Search ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ Context ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ๊ฑฑ์ • ์—†์ด 100๊ฐœ ์ด์ƒ์˜ ๋กœ์ปฌ API๋ฅผ Agent์— ์ œ๊ณตํ•ด ๋ณด์„ธ์š”.
OpenClaw: ๊ธฐ์ดˆ ์ง€์‹ ์—†์ด ์‹œ์ž‘ํ•˜๋Š” GPT-5.4 ๋„ค์ดํ‹ฐ๋ธŒ PC ์กฐ์ž‘ Agent ์—ฐ๋™ ์‹ค์ „