Vercel AI SDK์ ACP ์ฝ๋ฉ ์์ด์ ํธ ์ด๋ํฐ, ์ ๋๋ก ์ดํดํ๊ธฐ
Vercel์ @ai-sdk/harness-acp๊ฐ ์ฝ๋ฉ ์์ด์ ํธ ๋ฐํ์์ HarnessAgent์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์๋ถํฐ ์ ์ฉ ๋์, ์ค์ ์ ์ฐจ, ๊ถํยท์๋๋ฐ์ค ์๊ตฌ์ฌํญ, ACP version 1์ ํ๊ณ๊น์ง ๊ณต์ ์์ ์ฝ๋์ ํจ๊ป ์ค๋ฌด ๊ด์ ์์ ์ ๋ฆฌํฉ๋๋ค.
๊ฒ์์ผ

2026๋
8์ 13์ผ, Vercel์ @ai-sdk/harness-acp๋ฅผ ์ถ๊ฐํ์ต๋๋ค. Agent Client Protocol ํจํค์ง๋ฅผ ์ ๊ณตํ๋ ํ๋ค์ค๋ผ๋ฉด AI SDK์ HarnessAgent์์ ์ฝ๋ฉ ์์ด์ ํธ ํ๋ค์ค๋ฅผ ์คํํ ์ ์๊ฒ ํด ์ฃผ๋ ๋จ์ผ ํ๋กํ ์ฝ ๊ณ์ธต ์ด๋ํฐ์
๋๋ค. ํต์ฌ ์ด์ ์ ์์ด์ ํธ๊ฐ ๋ ๋๋ํด์ง๋ค๋ ๋ฐ ์์ง ์์ต๋๋ค. ๋ ๋ง์ ๋ฐํ์์ ํ๋์ ํตํฉ ์ง์ ์์ ์ฐ๊ฒฐํ ์ ์๋ค๋ ์ ์
๋๋ค.
Vercel์ด ์ค์ ๋ก ๋ด๋์ ๊ฒ
๋จผ์ ํํ ๋ค์์ด๋ ๊ณ์ธต๋ถํฐ ๊ตฌ๋ถํด ๋ณด๊ฒ ์ต๋๋ค.
๋ชจ๋ธ์ ๋ค์ ์๋ต์ ์์ฑํฉ๋๋ค. ํ๋ค์ค๋ ์ธ์ , ํด, ์น์ธ, ์๋๋ฐ์ค, ์ง์์ฌํญ, ์ปจํ ์คํธ ์์ถ, ์์ ๋ฃจํ๋ฅผ ๊ด๋ฆฌํด ๊ทธ ๋ชจ๋ธ์ ์ค์ ์์ ์๋ก ๋ฐ๊ฟ๋๋ค. ACP๋ Agent Client Protocol์ ์ฝ์๋ก, ํด๋ผ์ด์ธํธ์ ํ๋ค์ค๊ฐ ๊ณตํต๋ ๋ฐฉ์์ผ๋ก ํต์ ํ๊ฒ ํด ์ค๋๋ค.
Vercel์ HarnessAgent๋ ์ด๋ฏธ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฌ๋ฌ ํ๋ค์ค๋ฅผ ํ๋์ API๋ก ๋ค๋ฃฐ ์ ์๊ฒ ํ์ต๋๋ค. ๋น ์ ธ ์๋ ๊ฒ์ ์ฐ๊ฒฐ๋ถ์์ต๋๋ค. ์ด๋ฒ ๋ฆด๋ฆฌ์ค ์ ๊น์ง Vercel์ Claude Code, Codex, Pi, Deep Agents, OpenCode๋ฅผ ๋น๋กฏํ ๋ฐํ์๋ง๋ค ๋ณ๋์ ์ด๋ํฐ๋ฅผ ๋ง๋ค์ด์ผ ํ์ต๋๋ค.
์ ACP ํ๋ค์ค ์ด๋ํฐ๋ ํน์ ๋ฐํ์์ด ์๋๋ผ ํ๋กํ ์ฝ์ ๊ฐ์๋๋ค. ํ๋ค์ค์์ ACP๋ฅผ ๊ตฌํํ๋ NPM ํจํค์ง์ ์คํ ํ์ผ, ์ธ์ฆ ๊ท์น, ์ง์์ฌํญ ๋งคํ, ๊ถํ ๋งคํ์ createACP์ ๋๊ธฐ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ฒ์ฉ ์ด๋ํฐ๊ฐ ๋ธ๋ฆฌ์ง, ACP ํด๋ผ์ด์ธํธ, ํด ๋ฆด๋ ์ด, ์ด๋ฒคํธ, ์น์ธ, ์ธ์
๋ผ์ดํ์ฌ์ดํด์ ์ฒ๋ฆฌํฉ๋๋ค.
๊ตฌ์กฐ์ ํต์ฌ์ ์ด ์ญํ ๋ถ๋ด์ ๋๋ค. ๊ณตํต ๋ธ๋ฆฌ์ง๋ Vercel์ด ๋งก๊ณ , ํ๋ค์ค๋ณ๋ก ๋ฌ๋ผ์ง๋ ์ธ๋ถ ์ฌํญ์ ๋ฐํ์ ํ๋กํ์ด ๋งก์ต๋๋ค.

ํ์ฌ ์ด๋ํฐ๊ฐ ์ง์ํ๋ ๋ฒ์ ์ ACP version 1, ์ค์ง version 1๋ฟ์ ๋๋ค. ํ๋กํ ์ฝ ๊ฒฝ๊ณ์์์ ํธํ์ฑ์ ์ ๊ณตํ๋ค๋ ๋ป์ด์ง, ์ฐ๊ฒฐํ ๋ค ๋ชจ๋ ํ๋ค์ค๊ฐ ๋๊ฐ์ด ๋์ํ๋ค๋ ๋ณด์ฅ์ ์๋๋๋ค.
Vercel์ ์ ํ ๊ธฐ์ค๋ ๋ถ๋ช
ํ ๋ฐํ์ต๋๋ค. Claude Code์ Codex์๋ ๊ฐ๊ฐ @ai-sdk/harness-claude-code ๋๋ @ai-sdk/harness-codex๋ฅผ ์ฌ์ฉํฉ๋๋ค. ํธํ ํจํค์ง๋ ์์ง๋ง ์ง์ ์ด๋ํฐ๊ฐ ์๋ ํ๋ค์ค์๋ @ai-sdk/harness-acp๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ฝ๋ฉ ์์ด์ ํธ ํตํฉ์์ ์ค์ํ ์ด์
์ด๋ฒ์ ๋ฌ๋ผ์ง ํต์ฌ์ ํตํฉ ์์ ๋์ ๋๋ค.
๊ฐ๋ฐ์ ํด ํ์ ์ด์ ๋ค๋ฅธ ACP ๋ฐํ์์ HarnessAgent ๋ค์ ๋ถ์ด๊ธฐ ์ํด ์ธ์
์ฒ๋ฆฌ, ์ด๋ฒคํธ ๋ณํ, ์น์ธ ์ฐ๊ฒฐ, ํธ์คํธ ํด ๋ฆด๋ ์ด, ๋ผ์ดํ์ฌ์ดํด ๋์์ ์ฒ์๋ถํฐ ๋ค์ ๋ง๋ค ํ์๊ฐ ์์ต๋๋ค. ๋ฐํ์ ํ๋กํ๋ง ์์ฑํ๋ฉด ๋๋จธ์ง ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ์ ํ๋ค์ค API๋ฅผ ๊ณ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ํ ๊ณ์ธต๋ ๊ทธ๋๋ก ์งํฌ ์ ์์ต๋๋ค. HarnessAgent.generate()์ HarnessAgent.stream()์ ๋ชจ๋ AI SDK ํธํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํฉ๋๋ค. ์ด๋ฏธ useChat์ ์ฐ๋ ํ์ด๋ผ๋ฉด ๋ค์์ ์ผํ๋ ์์ปค๋ฅผ ๋ฐ๊พธ๋๋ผ๋ ๊ธฐ์กด ์ธํฐํ์ด์ค ํ๋ฆ์ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฒ ๋ฆด๋ฆฌ์ค๊ฐ ํ๋ค์ค๋ฅผ ๋ ๋น ๋ฅด๊ฑฐ๋ ์ ๋ ดํ๊ฑฐ๋ ๊ฐ๋ ฅํ๊ฒ ๋ง๋ค์ด ์ฃผ๋ ๊ฒ์ ์๋๋๋ค. ACP ๊ตฌํ์ ์๋ก ๋๊ฐ๊ฒ ๋ง๋ค์ง๋ ์์ผ๋ฉฐ, ์๋๋ฐ์ค๋ฅผ ๋์ฒดํ์ง๋ ์์ต๋๋ค. ๋ชจ๋ ACP ํ๋ค์ค์๋ ์ฌ์ ํ ์ต์ ํ๋์ ํฌํธ๋ฅผ ๋ ธ์ถํ ๋คํธ์ํฌ ์๋๋ฐ์ค๊ฐ ํ์ํฉ๋๋ค.
Claude Code, Codex ๋๋ ๋ค๋ฅธ ์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ง์ ์ฌ์ฉํ๋ ์ฌ๋์๊ฒ๋ ๋๋ถ๋ถ ์ํฅ์ด ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ๊ทธ๋ฐ ์์ด์ ํธ ์ฃผ๋ณ์ ์ ํ์ ๋ง๋๋ ์ฌ๋์ ์ํ ๊ฒ์ ๋๋ค.
๋๊ฐ ๋น์ฅ ํ์ฉํ ์ ์๋
AI SDK ์ง์์ ์ถ๊ฐํ๋ ค๋ ๊ฐ๋ฐ์ ํด ์ฐฝ์ ์
ํ์ฌ๊ฐ ์ฝ๋ฉ ํ๋ค์ค๋ฅผ ์ ๊ณตํ๊ณ ์ด๋ฏธ ACP ํธํ NPM ํจํค์ง๋ฅผ ๋ฐฐํฌํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด์ createACP ํ๋กํ ํ๋๋ฅผ ์ ์ํด AI SDK ์ฌ์ฉ์์๊ฒ ํด๋น ๋ฐํ์์ผ๋ก ๋ค์ด๊ฐ๋ ๊ณต์ ์ง์ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ค์ง์ ์ธ ์ด์ ์ ๋ฐฐํฌ ๊ฒฝ๋ก๊ฐ ๋์ด์ง๋ค๋ ๊ฒ์ ๋๋ค. ํจํค์ง๋ณ ์ค์น, ์ธ์ฆ, ์ง์์ฌํญ, ๊ถํ์ ํด๋น ํ์ด ๊ด๋ฆฌํ๊ณ , ๊ทธ ์ฃผ๋ณ์ ๊ณตํต ์ฐ๊ฒฐ ์์ ์ Vercel ์ด๋ํฐ๊ฐ ์ฒ๋ฆฌํฉ๋๋ค.
์ฌ๋ฌ ๋ฐํ์์ ์ง์ํ๋ ํ๋ซํผ ์์ง๋์ด
์ค๊ฐ ๊ท๋ชจ์ ์์ง๋์ด๋ง ํ๋ซํผ์ด๋ผ๋ฉด ์ ์ฅ์ ์์ ์๋ ํ ์์ด์ ํธ, ๋ง์ด๊ทธ๋ ์ด์ ์์ ์๋ ๋ค๋ฅธ ์์ด์ ํธ, ์ฌ๋ด ์ ์ฉ ์๋ํ์๋ ๋ด๋ถ ํ๋ค์ค๋ฅผ ์ฐ๊ณ ์ถ์ ์ ์์ต๋๋ค. ํ๋ซํผ ์์ง๋์ด๋ ํ๋์ ์ธ์ ๋ฐ ๊ฒฐ๊ณผ ๊ณ์ฝ์ ์ ์งํ๋ฉด์ ์์ ๋ง๋ค ๋ค๋ฅธ ํ๋ค์ค ํ๋กํ์ ์ ํํ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๊ณ ๋์ ์ฐจ์ด๊ฐ ์ฌ๋ผ์ง๋ ๊ฒ์ ์๋๋๋ค. ์ฐจ์ด๋ฅผ ์ด๋ฆ์ด ๋ถ์ ํ๋กํ ์์ผ๋ก ์ฎ๊ฒจ, ๋ณ๋์ ์ค์ผ์คํธ๋ ์ด์ ์คํ ์ฌ๋ฌ ๊ฐ๋ณด๋ค ์ฝ๊ฒ ๊ฒํ ํ ์ ์๊ฒ ๋ง๋๋ ๋ฐฉ์์ ๋๋ค.
๊ธฐ์กด AI SDK ์ธํฐํ์ด์ค๋ฅผ ์ฐ๋ SaaS ํ
์ ํ ํ์ ์ฑํ ํ๋ฉด์ ๋ค์ ๋ง๋ค์ง ์๊ณ ๋ ๊ธฐ์กด AI SDK ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ACP ๊ธฐ๋ฐ ์ฝ๋ฉ ์์ปค๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๊ตฌ์ฒด์ ์ธ ๋ณ๊ฒฝ์ ์๋ฒ์์ ์ด๋ค์ง๋๋ค. ํ๋ค์ค ํ๋กํ์ ๋ง๋ค๊ณ ์๋๋ฐ์ค๋ฅผ ์ฐ๊ฒฐํด ์ธ์ ์ ์์ํ ๋ค, UI๊ฐ ์ด๋ฏธ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ ํ์ ์คํธ๋ฆฌ๋ฐ ๋๋ ์์ฑ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ฉด ๋ฉ๋๋ค.
์ ํ์ ํตํฉํ๋ ๋จ๊ณ๊ฐ ์๋๋ผ ์์ง ์์ด์ ํธ ์์ฒด๋ฅผ ๊ณ ๋ฅด๋ ์ค์ด๋ผ๋ฉด ์ฝ๋ฉ ์์ด์ ํธ ๋น๊ต๋ถํฐ ํ์ธํ๋ ํธ์ด ์ข์ต๋๋ค. ์ด ์ด๋ํฐ๋ ๊ทธ ์ ํ ๊ฒฐ์ ์ด ๋๋ ๋ค์์ ์๋ฏธ๊ฐ ์์ต๋๋ค.
๊ฒฝ๊ณ๋ฅผ ์ค๊ณํ๋ ๋ณด์ ์์ง๋์ด
๋ณด์ ์์ง๋์ด์๊ฒ๋ ํต์ ์ง์ ์ด ๋ช
ํํด์ง๋๋ค. ์๊ฒฉ ์ฆ๋ช
์ ์ค๊ฐํ๋ฉด ์๋๋ฐ์ค ์์ ACP ํ๋ก์ธ์ค์๋ ์๋ฆฌํ์์๋ง ๋ณด์ด๊ณ , ์ค์ ๊ฐ์ ์ธ๋ถ๋ก ๋๊ฐ๋ ์์ฒญ์ ์ถ๊ฐ๋๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๊ถํ ๋ชจ๋๋ ๋ฐํ์์ด ์ค์ ๋ก ์ง์ํ๋ ๋ชจ๋์ ๋ง์ถฐ ๋งคํํ ์ ์์ผ๋ฉฐ, ์ง์ํ์ง ์๋ ์ ํ์ง๋ null๋ก ์ง์ ํด ์ ๊ทผ ๋ฒ์๊ฐ ์กฐ์ฉํ ๋์ด์ง๋ ๋์ ์คํจํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๊ทธ ๊ฒฐ๊ณผ ์์ ์ด ์๋์ผ๋ก ๋ณด์ฅ๋๋ ๊ฒ์ ์๋๋๋ค. ๋ค๋ง ์์ ๊ท์น์ ์ฝ๋๋ก ๋ง๋ค๊ณ ํ ์คํธํ ์์น๊ฐ ๋ถ๋ช ํด์ง๋๋ค.
๋์ ์ ์ฐจ
๋ฐํ์์ด ์ค์ ๋ก ACP๋ฅผ ๊ตฌํํ๋์ง ํ์ธํฉ๋๋ค
ACP ํธํ ๊ตฌํ์ ์ ๊ณตํ๋ NPM ํจํค์ง์ ์ด๋ฅผ ์คํํ ์ ์๋ ์๋ ค์ง ์คํ ํ์ผ์ด ํ์ํฉ๋๋ค. ํ๋ค์ค๊ฐ ACP๋ฅผ ์ธ๊ธํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ถ์กฑํฉ๋๋ค. ํจํค์ง๋ผ๋ ๊ฒฝ๊ณ๋ฅผ ์ค์ ๋ก ์ ๊ณตํด์ผ ํฉ๋๋ค.
๋ฐํ์ ํ๋กํ์ ์์ฑํฉ๋๋ค
createACP์ ์์ ์ ์ธharnessId, ํจํค์ง ์์ค, ์คํ ํ์ผ, ์๊ฒฉ ์ฆ๋ช ์ด ์๋ ํ๊ฒฝ ๊ฐ, ์๊ฒฉ ์ฆ๋ช ์ค๊ฐ, ์ง์์ฌํญ ๋งคํ, ๋ฐํ์์ด ์ง์ํ๋ ๋ชจ๋ ๊ถํ ๋ชจ๋๋ฅผ ์ง์ ํฉ๋๋ค.๋คํธ์ํฌ ์๋๋ฐ์ค๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค
์ต์ ํ๋์ ํฌํธ๋ฅผ ๋ ธ์ถํด์ผ ํฉ๋๋ค. ๋ฌธ์์ ๋์จ Vercel Sandbox ์์ ๋ Node 24์ ํฌํธ 4000์ ์ฌ์ฉํ๋ฉฐ, ๋ณ๋๋ก ์ง์ ํ์ง ์์ผ๋ฉด ์ด๋ํฐ๊ฐ ์ฒซ ๋ฒ์งธ ๋ ธ์ถ ํฌํธ๋ฅผ ์ ํํฉ๋๋ค.
๋ผ์ดํ์ฌ์ดํด๊ณผ ๊ฑฐ๋ถ ๋์์ ํ ์คํธํฉ๋๋ค
์ธ์ ์ ๋ง๋ค๊ณ ์์ ํ๋๋ฅผ ์คํํ ๋ค
finally์์ ์ธ์ ์ ํ๊ธฐํฉ๋๋ค. ํตํฉ ์ค๋น๊ฐ ๋๋ฌ๋ค๊ณ ํ๋จํ๊ธฐ ์ ์ ๊ฐ ๊ถํ ๋ชจ๋์ ํฌํธ ๋๋ฝ, ์๊ฒฉ ์ฆ๋ช ๋๋ฝ, ๋ณ๊ฒฝ๋ ํธ์คํธ ํด ๋ชฉ๋ก์ ๋ชจ๋ ํ ์คํธํฉ๋๋ค.
๋ฌธ์์ ๋์จ ์ ์ฒด ์์
ํ๋ค์ค์ ACP ์ด๋ํฐ, Vercel Sandbox ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
pnpm add @ai-sdk/harness @ai-sdk/harness-acp @ai-sdk/sandbox-vercelํต์ฌ์ ๋น ๋จ๋ฆฌ์ง ์์ผ๋ฉด์ ๊ฐ์ฅ ๊ฐ๊ฒฐํ ๋ฐ๋ชจ๋ Vercel์ ์ ์ฒด Codex ACP ํ๋กํ์ ๋๋ค. ํจํค์ง ์ค์น, ์ง์ ์๊ฒฉ ์ฆ๋ช , AI Gateway ๊ตฌ์ฑ, ์ง์์ฌํญ, ๊ถํ์ ํ๊ณณ์์ ๋ณด์ฌ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ์ฐ๊ฒฐ ๊ตฌ์กฐ๋ฅผ ๋ณด์ฌ ์ฃผ๋ ์์ ์ด์ง, Codex์ ACP๋ฅผ ์ ํํ๋ผ๋ ๊ถ์ฅ์ ์๋๋๋ค. ์ค์ Codex ํตํฉ์๋ Vercel์ด ์ง์ Codex ์ด๋ํฐ๋ฅผ ์ฐ์ ํฉ๋๋ค.
์๋ ์ฝ๋๋ ํ์ฌ ๋ฌธ์์ ์ค๋ฆฐ ํ๋กํ๊ณผ ํธ์ถ ํ๋ฆ์
๋๋ค. ์ง์ ์ธ์ฆ์ ์ฌ์ฉํ๋ ค๋ฉด CODEX_API_KEY ๋๋ OPENAI_API_KEY๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. AI_GATEWAY_API_KEY๋ VERCEL_OIDC_TOKEN์ ์ ๊ณตํ๋ฉด ๊ธฐ๋ณธ auth: 'auto' ๊ฒฝ๋ก๊ฐ ๋์ AI Gateway๋ฅผ ์ ํํฉ๋๋ค.
import { createACP, type ACPPermissionModeMapping } from '@ai-sdk/harness-acp';
import { createCredentialRequestTransformation } from '@ai-sdk/harness/utils';
import { secureJsonParse } from '@ai-sdk/provider-utils';
export const codexACPHarness = createACP({
harnessId: 'acp-codex',
// Define the runtime's built-in tool names and input schemas to expose
// provider-executed calls as typed HarnessAgent tools.
// builtinTools: { ... },
source: {
type: 'npm-simple',
packageName: '@agentclientprotocol/codex-acp',
packageVersion: '1.1.4',
},
executable: 'codex-acp',
forwardEnv: ['CODEX_CONFIG'],
credentialEnv: ['CODEX_API_KEY', 'OPENAI_API_KEY'],
credentialBrokering: ({ env }) => {
const credential = env.CODEX_API_KEY ?? env.OPENAI_API_KEY;
if (!credential) return [];
const config =
env.CODEX_CONFIG == null
? undefined
: (secureJsonParse(env.CODEX_CONFIG) as {
model_provider?: string;
model_providers?: Record<string, { base_url?: string }>;
});
const baseUrl =
config?.model_providers?.[config.model_provider ?? '']?.base_url ??
'https://api.openai.com/v1';
return [
createCredentialRequestTransformation({
baseUrl,
headers: { Authorization: `Bearer ${credential}` },
}),
];
},
instructionMapping: {
type: 'launch-env-json',
variable: 'CODEX_CONFIG',
path: ['developer_instructions'],
},
permissionModeMapping: {
'allow-reads': null,
'allow-edits': null,
'allow-all': { type: 'session-mode', modeId: 'agent-full-access' },
} as const satisfies ACPPermissionModeMapping,
authentication: {
methodId: 'api-key',
},
providerAuthentication: {
gateway: {
env: {
CODEX_API_KEY: { $source: 'gateway-api-key' },
CODEX_CONFIG: {
model: 'openai/gpt-5.6-sol',
model_provider: 'ai_gateway',
model_providers: {
ai_gateway: {
name: 'AI Gateway',
base_url: {
$source: 'gateway-base-url',
ensureSuffix: '/v1',
},
env_key: 'CODEX_API_KEY',
wire_api: 'responses',
supports_websockets: false,
http_headers: {
'User-Agent': { $source: 'client-app' },
'x-client-app': { $source: 'client-app' },
},
},
},
model_supports_reasoning_summaries: true,
preferred_auth_method: 'apikey',
},
},
},
},
});ํํ ๋์น๋ ์ง์ ์ ๋ฐํ์ ํ๋กํ์ ํจํค์ง ์ด๋ฆ๊ณผ API ํค์ ์กฐํฉ์ผ๋ก๋ง ๋ณด๋ ๊ฒ์ ๋๋ค. ๊ถํ ๋งคํ, ์ง์์ฌํญ ๋งคํ, ์๋๋ฐ์ค ํฌํธ, ์๊ฒฉ ์ฆ๋ช ๊ฒฝ๊ณ, ์ธ์ ์ ๋ฆฌ๊น์ง ๋ชจ๋ ํตํฉ์ ์ผ๋ถ์ ๋๋ค.
๋์ ํ๊ฒ ๋ด์ผ ํ ์
ํ๋ค์ค ํจํค์ง๋ ์คํ ๋จ๊ณ์ ๋๋ค. ๋ฆด๋ฆฌ์ค ์ฌ์ด์ ํธํ์ฑ์ ๊นจ๋ ๋ณ๊ฒฝ์ด ์๊ธธ ์ ์์ผ๋ฏ๋ก, ํ๋ก๋์ ์์ ์๋ฌด ๊ฒํ ์์ด ๋ฒ์ ์ด ์ฌ๋ผ๊ฐ๊ฒ ๋ ๋งํ ์์กด์ฑ์ ์๋๋๋ค.
ํจํค์ง ๋ฒ์ ๊ณ ์ ๋ฐฉ์๋ ๋ช
์์ ์ผ๋ก ์ ํํด์ผ ํฉ๋๋ค. ๋จ์ ์์ค ๋ฐฉ์์์๋ ์์ ์ฒ๋ผ @agentclientprotocol/codex-acp๋ฅผ ์ ํํ 1.1.4๋ก ๊ณ ์ ํ ์ ์์ต๋๋ค. ๋ฒ์ ์ ์๋ตํ๋ฉด ์๋๋ฐ์ค๋ ํจํค์ง์ latest ํ๊ทธ๋ฅผ ์ค์นํ๋ฉฐ, ๊ทธ ๋ฒ์ ์ ํ๋ค์ค ์๋ณ ์ ๋ณด์ ํฌํจ๋์ง ์์ต๋๋ค. ์ฌํ ๊ฐ๋ฅํ ๋น๋๊ฐ ํ์ํ๋ค๋ฉด package.json๊ณผ pnpm-lock.yaml์ ๊ฐ์ถ ์ ๊ธ ์์ค๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. Vercel์ pnpm install --frozen-lockfile๋ก ์ด๋ฅผ ์ค์นํฉ๋๋ค.
ACP version 1์๋ ๋ค์๊ณผ ๊ฐ์ ์ค์ง์ ์ธ ๊ณต๋ฐฑ๋ ์์ต๋๋ค.
- ๋ชจ๋ธ ๋จ๊ณ์ ๊ฒฝ๊ณ๋ ๋จ๊ณ๋ณ ์ฌ์ฉ๋์ ๋ ธ์ถํ์ง ์์ต๋๋ค. ์ด๋ํฐ๊ฐ ๊ฒฝ๊ณ๋ฅผ ์ถ๋ก ํ๋ฉฐ, ๋จ๊ณ๋ณ ์ฌ์ฉ๋์ ์ ์ ์๋ ์ํ๋ก ๋จ์ต๋๋ค.
- ์ด์ ๊ฐ๋ฅํ ์๋ ์ปจํ ์คํธ ์์ถ API๋ ํด ์งํ ์ค ๊ฐ์ API๊ฐ ์์ต๋๋ค.
- ํ๋ค์ค์ ๋ด์ฅ ํด์ ์ด์ ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ํํฐ๋งํ ์ ์์ต๋๋ค. ํธ์คํธ ํด ํํฐ๋ง์ ๊ณ์ ์๋ํ์ง๋ง, ACP ๋ด์ฅ ํด์ ํํฐ๋งํ๋ ค ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
- ํธ์คํธ ํด ๋ชฉ๋ก์ด ๋ฐ๋๋ฉด ACP ๊ตฌํ์ด MCP ํด ๋ชฉ๋ก์ ์๋ก ๋ถ๋ฌ์์ผ ํฉ๋๋ค. ์ค๋๋ ๋ชฉ๋ก์ ์ฐ๋ ๊ตฌํ์ ๋ช ์์ ์ผ๋ก ์คํจํฉ๋๋ค.
์ด ๋ฆด๋ฆฌ์ค๋ฅผ ์ํด ํ์ธํ Vercel ํ์ด์ง์๋ @ai-sdk/harness-acp์ ๋ณ๋ ๊ฐ๊ฒฉ์ด ๋ช
์๋ผ ์์ง ์์ต๋๋ค. ์ด๋ฅผ ๋๊ณ โ๋ฌด๋ฃ ์์ด์ ํธโ๋ผ๊ณ ํด์ํด์๋ ์ ๋ฉ๋๋ค. ์ด ์ํคํ
์ฒ์๋ ์ฌ์ ํ ๋ชจ๋ธ ์ธ์ฆ ๊ฒฝ๋ก์ ํ์ ๋คํธ์ํฌ ์๋๋ฐ์ค๊ฐ ํฌํจ๋๋ฏ๋ก, ๊ธฐ์กด ๋ฐํ์ ๋น์ฉ๊ณผ ํต์ ๋ฐฉ์์ ๊ทธ๋๋ก ์ ์ฉ๋ฉ๋๋ค.
๋ ๊ทผ๋ณธ์ ์ธ ํ๊ณ๋ ์ถฉ์ค๋์ ๋๋ค. ACP๋ ๊ณตํต ์ฐ๊ฒฐ ๋ฐฉ์์ ์ ๊ณตํ์ง๋ง, ์ง์ ์ด๋ํฐ๋ ํ๋ค์ค ๊ณ ์ ๋์์ ๋ ์ธ๋ฐํ๊ฒ ๋ ธ์ถํ ์ ์์ต๋๋ค. ํ์คํ๋ ํตํฉ ์์ ์ ์ค์ฌ ์ค ๋ฟ, ๊ทธ ์๋์ ๋ฐํ์๊น์ง ์์ ์ฃผ์ง๋ ์์ต๋๋ค.
์ง๊ธ ๋ฌด์์ ํด์ผ ํ๋
ํ๋จ ๊ธฐ์ค์ ๊ฐ๋จํฉ๋๋ค.
์ง์ AI SDK ์ด๋ํฐ๊ฐ ์๋ ACP ํธํ ํ๋ค์ค๋ฅผ ์ด์ํ๊ฑฐ๋, ํ๋ซํผ ํ์ด ์ฌ๋ฌ ACP ๋ฐํ์์ ํ๋์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ฝ ๋ค์ ๋ฐฐ์นํด์ผ ํ๋ค๋ฉด ์ด๋ฒ ์ฃผ์ ์์ง์ผ ๋งํฉ๋๋ค. ์์ ํ๋กํ์ ๋ง๋ค๊ณ ํจํค์ง ๋ฒ์ ์ ๊ณ ์ ํ ๋ค, ๋ชจ๋ ๊ถํ๊ณผ ์คํจ ๊ฒฝ๋ก๋ฅผ ํ ์คํธํฉ๋๋ค.
ํ๋ก๋์ ์ ์ฑ ์ ์คํ ๋จ๊ณ ํจํค์ง๋ฅผ ๋ฐ์๋ค์ผ ์ ์๊ฑฐ๋, ์ ํํ ๋จ๊ณ๋ณ ์ฌ์ฉ๋์ด ํ์ํ๊ฑฐ๋, ์๋ ์ปจํ ์คํธ ์์ถ๊ณผ ํด ์งํ ์ค ๊ฐ์ ์ด ํต์ฌ ํต์ ์๋จ์ด๋ผ๋ฉด ๊ธฐ๋ค๋ฆฌ๋ ํธ์ด ๋ซ์ต๋๋ค.
Claude Code ๋๋ Codex๋ฅผ ์ฌ์ฉํ๋ค๋ฉด ์ง์ ์ด๋ํฐ๋ฅผ ์ ์งํฉ๋๋ค. Vercel์ด ๊ถ์ฅํ๋ ๊ฒฝ๋ก๊ฐ ์ด๋ฏธ ๋ง๋ จ๋ผ ์์ผ๋ฉฐ, ํ๋กํ ์ฝ ๊ฒฝ๊ณ๋ฅผ ๊ฑฐ์น๋ฉด์ ์ค์ด๋๋ ๋์๋ ๋ ์ ์ต๋๋ค.
๋ชจ๋ธ์ ์ง์ ํธ์ถํ๊ฑฐ๋, ์ต์ข ์ฌ์ฉ์๋ก์ ์ฝ๋ฉ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ์์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์์์ ํ๋ค์ค๋ฅผ ์คํํ ํ์๊ฐ ์๋ค๋ฉด ์ด๋ฒ ๋ณํ์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
ํ์ ์ ํ ๊ฐ๋ฐ ๋ฐฉ์์ ๋ฐ๊พธ๋ ํด์ ์ฌ์ด ๋ง๋ก ๊ณ์ ์ดํด๋ณด๊ณ ์ถ๋ค๋ฉด ๋ด์ค๋ ํฐ์ ๊ฐ์ ํ์ธ์.
- ๊ฒ์์ผ
- ์นดํ ๊ณ ๋ฆฌ
- Explained
- ์ธ์ด







