Ch.2 JavaScript 라이브러리 15선

Anthropic SDK — AI를 내 프로그램에 넣기

article

핵심 내용

Claude AI를 내 코드에서 직접 호출하는 공식 라이브러리, Anthropic SDK를 만나보세요.

한 줄 요약: Claude AI에게 코드에서 직접 질문하고 답변을 받을 수 있는 공식 도구. 실생활 비유: 웹사이트에서 ChatGPT를 쓰는 건 '전화 거는 것'이고, SDK를 쓰는 건 'AI를 내 프로그램 안에 고용하는 것'입니다. 자동으로 번역, 요약, 분석을 시킬 수 있어요.

AI 챗봇, 자동 번역기, 문서 요약 도구… 이 모든 걸 코드 몇 줄로 만들 수 있습니다.

매번 웹사이트에 복사-붙여넣기 하는 대신, 코드가 알아서 AI에게 물어보면 어떨까요?

수동 (웹 채팅): Claude 웹사이트 접속 → 텍스트 복사 → 붙여넣기 → 질문 → 답변 복사. 파일 100개면 100번 반복해야 합니다.

코드 (Anthropic SDK): messages.create() 한 번 호출로 자동 처리. for문으로 파일 100개도 자동 번역. 24시간 무인 작동 가능.

npm 설치 한 줄 + API 키 설정이면 끝. 바로 AI에게 질문할 수 있습니다.

npm install @anthropic-ai/sdk

# API 키 환경변수 설정 (console.anthropic.com에서 발급)
export ANTHROPIC_API_KEY="your-api-key-here"
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();
const response = await client.messages.create({
  model: "claude-sonnet-4-5-20250929",
  max_tokens: 1024,
  messages: [{ role: "user", content: "Python과 JavaScript의 차이를 3줄로 설명해줘" }],
});
console.log(response.content[0].text);

실행 결과: Claude가 생성한 답변이 콘솔에 출력됩니다. model은 사용할 AI 모델, max_tokens는 최대 응답 길이, messages 배열에 대화 내용을 넣습니다. API 키는 console.anthropic.com에서 무료로 발급받을 수 있어요.

AI에게 SDK 코드를 만들어달라고 할 때, 입출력 형식과 역할을 구체적으로 말하면 결과가 달라집니다.

좋은 프롬프트 예시 "Anthropic SDK로 CLI 번역 도구를 만들어줘. 터미널에서 node translate.js '안녕하세요' 실행하면 Claude가 영어로 번역해서 출력. 한→영, 영→한 자동 감지해줘."

프롬프트 변형 • "스트리밍으로 답변이 한 글자씩 나타나게 해줘" • "system 프롬프트로 번역가 역할을 지정해줘" • "대화 기록을 유지해서 이전 문맥을 기억하게 해줘" • "에러 처리도 추가해서 API 키 없을 때 안내 메시지 출력해줘"

import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();
const text = process.argv[2] || "안녕하세요";

const msg = await client.messages.create({
  model: "claude-sonnet-4-5-20250929",
  max_tokens: 1024,
  system: "당신은 전문 번역가입니다. 한국어는 영어로, 영어는 한국어로 번역하세요. 번역 결과만 출력하세요.",
  messages: [{ role: "user", content: text }],
});

console.log(msg.content[0].text);

CLI 번역기를 만들어봅시다. 터미널에서 텍스트를 넣으면 자동 번역됩니다.

// translate.js — CLI 번역 도구
import Anthropic from "@anthropic-ai/sdk";

const client = new Anthropic();
const text = process.argv[2];

if (!text) {
  console.log("사용법: node translate.js '번역할 문장'");
  process.exit(1);
}

async function translate(input) {
  const stream = client.messages.stream({
    model: "claude-sonnet-4-5-20250929",
    max_tokens: 1024,
    system:
      "전문 번역가. 한국어→영어, 영어→한국어 자동 감지. " +
      "번역 결과만 출력. 부가 설명 금지.",
    messages: [{ role: "user", content: input }],
  });

  process.stdout.write("번역: ");
  stream.on("text", (t) => process.stdout.write(t));
  await stream.finalMessage();
  console.log();
}

translate(text);

실행 방법: 1. 파일을 translate.js로 저장 2. package.json에 "type": "module" 추가 3. 터미널에서 node translate.js '오늘 날씨가 좋네요' 실행 Claude가 스트리밍으로 한 글자씩 번역 결과를 출력합니다. 영어를 넣으면 자동으로 한국어로 번역해요.

Claude API에서 system 메시지의 역할은?

key

핵심 용어

자동 번역기

사용자 입력을 Claude가 실시간으로 번역해서 반환

문서 요약 봇

긴 텍스트를 넣으면 핵심 3줄 요약을 자동 생성

코드 리뷰 도구

코드를 넘기면 버그, 개선점, 보안 이슈를 자동 분석

고객 응대 챗봇

FAQ 기반으로 Claude가 자동 답변하는 CS 봇

check_circle

핵심 정리

  • 1Anthropic SDK는 npm install 한 줄로 설치하고, Claude AI를 코드에서 직접 호출한다
  • 2messages.create()로 일반 요청, stream()으로 실시간 스트리밍 응답을 받을 수 있다
  • 3system 프롬프트로 AI의 역할(번역가, 요약봇 등)과 출력 규칙을 지정한다
  • 4프롬프트에 'SDK + 입출력 형식 + 원하는 기능'을 명시하면 AI가 완성 코드를 만들어준다

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작