AI.zip
  • AI 모델
  • 방법론
  • AI 서비스
  • 가격 비교
  • 블로그

AI.zip

AI 모델, 서비스, 방법론을 큐레이션하는 에디토리얼 플랫폼

탐색

  • AI 모델
  • AI 서비스
  • 방법론
  • 블로그

커뮤니티

  • 소개
  • 디스코드 참여
  • 문의

법적고지

  • 이용약관
  • 개인정보처리방침

© 2026 ai.zip. All rights reserved.

Discord 커뮤니티
모델Anthropic: Claude Sonnet 4.6

Claude Sonnet 4.6

AnthropicLLM자연어 처리컴퓨터 비전오디오 처리1.0M 토큰
2026년 2월 18일Proprietary

한줄 소개

Claude Sonnet 4.6은 Anthropic이 2026년 2월 17일에 출시한 최신 Sonnet급 AI 모델이다. Claude Code(AI 코딩 에이전트)의 기본 엔진이자, claude.ai 무료 및 Pro 사용자 모두의 기본 모델이며, GitHub Copilot의 AI 코딩 에이전트 엔진으로도 채택되었다. "Opus급 성능을 Sonnet 가격으로"라는 콘셉트 그대로, 이전까지 Opus 모델에서만 가능했던 수준의 코딩, 에이전트, 장문 맥락 처리를 Sonnet 가격대에서 제공하는 것이 핵심이다.

주요 특징

Sonnet 4.6의 가장 두드러진 변화는 다섯 가지로 요약된다.

첫째, 코딩 성능의 대폭 향상이다. SWE-bench Verified 79.6%는 실제 GitHub 저장소의 복잡한 버그를 자동으로 수정하는 능력을 측정한 것으로, 5개 중 4개를 스스로 고칠 수 있는 수준이다 (출처: Anthropic 공식 블로그). 개발자 커뮤니티에서는 "Sonnet 4.5에서 끊기던 멀티스텝 리팩토링이 4.6에서는 끝까지 따라온다"는 평가가 지배적이다. Reddit과 GitHub Copilot 서브레딧에서는 "vibe coding과 반복적 기능 개발에서는 Sonnet 4.6이 압도적"이라는 의견이 주류를 이룬다.

둘째, 컴퓨터 사용(Computer Use) 능력이다. OSWorld 72.5%는 브라우저 탐색, 파일 관리, 터미널 작업 등을 사람 개입 없이 수행할 수 있는 능력을 뜻한다 (출처: Anthropic 공식 블로그). Sonnet 4.5 대비 컴퓨터 사용 능력이 대폭 개선되었다.

셋째, 1M 토큰 컨텍스트 윈도우다. 약 75만 단어, 코드베이스 5-10개 분량을 한 번에 처리할 수 있어 이전에는 Opus에서만 가능했던 대규모 코드베이스 분석이 Sonnet급에서도 가능해졌다. 200K 이상 요청은 별도 베타 헤더 없이 자동으로 작동한다.

넷째, Extended Thinking 지원이다. 복잡한 추론이 필요한 작업에서 모델이 스스로 사고 과정을 확장해 더 정확한 답변을 생성한다. MATH Lvl 5에서 전작 62%에서 89%로 27%p 점프한 것이 이를 반영한다 (출처: Anthropic 공식 블로그).

다섯째, 가격 대비 성능이다. Opus 4.6의 97-99% 성능을 약 1/5 비용에 제공한다. 얼리 테스터의 70%가 Sonnet 4.5보다 Sonnet 4.6을 선호했고, 59%는 이전 최상위 모델인 Opus 4.5보다도 Sonnet 4.6을 선호했다 (출처: Anthropic 공식 블로그).

Claude Sonnet 4.6 핵심 역량

할 수 있는 것

실사용자들이 실제로 해본 작업과 결과를 중심으로 정리하면 다음과 같다.

코딩/개발: Claude Code에서 기본 엔진으로 작동하며, 기존 복잡한 코드베이스를 읽고 리팩토링하는 데 GPT-5.2보다 낫다는 평가가 많다. "게으르지 않다(less lazy)"는 표현이 반복적으로 등장하는데, 멀티스텝 작업에서 중간에 포기하거나 완료를 속이지 않고 끝까지 수행한다는 뜻이다. 다만 정말 새로운 아키텍처를 처음부터 설계하는 수준의 작업은 Opus 4.6이 여전히 우위라는 의견도 있다.

에이전트/자동화: 웹 QA, 워크플로우 자동화, 파일 관리 등 컴퓨터를 직접 조작하는 에이전트 작업에서 강점을 보인다. GDPval-AA 1633 Elo로 오피스 생산성 작업에서 전 모델 중 1위를 기록했다 (출처: artificialanalysis.ai). 브라우저 기반 테스팅, 폼 작성, 데이터 입력 같은 반복 업무를 자동화하는 사례가 커뮤니티에서 자주 보고된다.

문서 작성: 이전 Sonnet 대비 글쓰기 품질이 개선되었다. GPT-5.2의 경우 OpenAI가 코딩과 수학에 집중하느라 글쓰기 품질이 퇴보했다는 평가가 있는 반면(Sam Altman이 직접 인정), Sonnet 4.6은 자연스러운 산문체를 유지한다. 한국어에서도 문어체 표현의 자연스러움이 양호하다는 한국 사용자 후기가 있다.

한계: 비디오와 오디오를 네이티브로 처리하지 못한다. 이 영역에서는 Gemini 3 Pro가 유일한 선택지다. 또한 max effort 모드에서 토큰 사용량이 상당히 많아(벤치마크 평가 시 200M 출력 토큰), 비용 관리에 주의가 필요하다.

성능

벤치마크 요약

벤치마크점수카테고리출처
SWE-bench Verified79.6%AgenticAnthropic 공식
OSWorld72.5%AgenticAnthropic 공식
GPQA Diamond74.1%LLMAnthropic 공식
MMLU-PRO79.2%LLMAnthropic 공식
MATH Lvl 589%LLMAnthropic 공식
IFEval89.5%LLMAnthropic 공식
HumanEval92.1%LLMAnthropic 공식
MMMU83.6%CapabilityAnthropic 공식
HLE51%Reasoningartificialanalysis.ai
AIME 202594%Mathnxcode.io
TerminalBench53%Agenticartificialanalysis.ai
Arena Elo1438Capabilitylmsys.org

경쟁 모델 비교

Artificial Analysis Intelligence Index에서 Sonnet 4.6은 51점으로, GPT-5.2(51)와 동점이고 Opus 4.6(53)에 2점 차로 바짝 붙었다 (출처: artificialanalysis.ai). Anthropic이 Intelligence Index 상위 2개를 동시에 점유한 것은 이번이 처음이다.

코딩과 에이전트에서는 Sonnet 4.6이 선두다. 수학에서는 GPT-5.2가 근소하게 앞선다(MATH ~92% vs 89%). 멀티모달(비디오/오디오)에서는 Gemini 3 Pro가 유일한 선택지다. 가격은 Sonnet 4.6이 GPT-5.2 대비 25-46% 저렴하다.

실사용에서의 체감 차이로는, 코딩 품질 자체는 Sonnet 4.6과 GPT-5.2가 비슷하지만 Sonnet 4.6이 "끝까지 따라오는" 경향이 있어 멀티스텝 작업에서 더 신뢰할 수 있다는 평가가 반복된다. 글쓰기에서는 Sonnet 4.6이 GPT-5.2보다 자연스럽다는 의견이 우세하다. 단점으로는 max effort 모드에서 토큰 사용량이 Sonnet 4.5 대비 약 3배(74M vs 25M)로, extended thinking을 과도하게 사용하면 비용이 급증할 수 있다 (출처: artificialanalysis.ai).

벤치마크 경쟁 모델 비교

사용 방법

일반 사용자(웹/앱): claude.ai에서 무료로 사용 가능하다. 무료 티어에서도 Sonnet 4.6이 기본 모델이다. Claude Pro($20/월) 구독 시 사용량 제한이 완화되고, Opus 4.6 등 상위 모델도 사용할 수 있다. iOS, Android 앱에서도 동일하게 접근 가능하다.

개발자(API): Anthropic Messages API를 통해 접근한다. 모델 ID는 claude-sonnet-4-6-20260217이다. Extended Thinking, Tool Use(Function Calling), Computer Use, Vision 등 모든 Claude API 기능을 지원한다. Amazon Bedrock, Google Vertex AI, OpenRouter 등 주요 클라우드 플랫폼에서도 사용 가능하다.

Claude Code: 터미널 기반 AI 코딩 에이전트로, Sonnet 4.6이 기본 엔진이다. npm install -g @anthropic-ai/claude-code 후 바로 사용할 수 있다.

가격

API 가격은 Sonnet 4.5와 동일하게 유지된다: 입력 3/출력3 / 출력 3/출력15 per 1M 토큰. 프롬프트 캐싱을 사용하면 캐시 읽기가 0.30/MTok으로900.30/MTok으로 90% 절감된다. Batch API를 사용하면 0.30/MTok으로901.50/$7.50으로 50% 절감된다.

웹 구독 플랜은 Free(무료, Sonnet 4.6 기본 포함), Pro(20/월),Team(20/월), Team(20/월),Team(30/사용자/월)으로 구성된다.

경쟁 모델과 비교하면, GPT-5.2(입력 5,출력5, 출력 5,출력20)보다 25-46% 저렴하면서 코딩/에이전트에서는 동등 이상의 성능을 낸다. Opus 4.6(입력 15,출력15, 출력 15,출력75) 대비 5분의 1 비용으로 97-99% 성능을 제공하므로, 대부분의 사용 사례에서 Opus 대신 Sonnet 4.6을 쓰는 것이 합리적이다.

커뮤니티에서는 "2026년 2월 기준 가장 가성비 좋은 프론티어 모델"이라는 평가가 지배적이다. 다만 extended thinking을 max effort로 사용하면 토큰 소모가 급격히 늘어나므로(일반 대비 약 3배), 비용 관리를 위해 thinking budget을 적절히 조절할 필요가 있다.

한국어 토큰 효율 데이터는 공식적으로 미공개다. Anthropic 문서에 따르면 한국어를 포함한 주요 동아시아 언어에서 영어 대비 80% 이상의 성능을 유지한다고 한다 (출처: Anthropic Multilingual Support 문서). 한국어 사용자 후기에서는 문어체, 표준어 중심의 이해도가 높다는 평가가 있다.

Claude Sonnet 4.6 가격 구조

기술 사양

항목사양
개발사Anthropic
출시일2026년 2월 17일
모델 IDclaude-sonnet-4-6-20260217
컨텍스트 윈도우1,000,000 토큰 (베타, 기본 200K)
최대 출력64,000 토큰
처리 속도40-60 토큰/초 (Anthropic API 기준)
라이선스Proprietary (상업용 API 제공)
지원 기능Extended Thinking, Tool Use, Computer Use, Vision, 1M Context
플랫폼claude.ai, Anthropic API, Amazon Bedrock, Google Vertex AI, OpenRouter
학습 데이터 기준일공식 미공개

파라미터 수는 공식적으로 공개되지 않았다. 아키텍처 역시 Transformer 기반이라는 점 외에 구체적인 내용은 미공개다.

Claude Sonnet 4.6 기술 사양

참고 자료

Introducing Sonnet 4.6
anthropic.com

Introducing Sonnet 4.6

Claude Sonnet 4.6 is a full upgrade of the model’s skills across coding, computer use, long-reasoning, agent planning, knowledge work, and design.

What's new in Claude 4.6
Claude API Docs

What's new in Claude 4.6

Overview of new features and capabilities in Claude Opus 4.6 and Sonnet 4.6.

Pricing
Claude API Docs

Pricing

Learn about Anthropic's pricing structure for models and features

Claude Sonnet 4.6 (Non-reasoning) - Intelligence, Performance & Price Analysis
artificialanalysis.ai

Claude Sonnet 4.6 (Non-reasoning) - Intelligence, Performance & Price Analysis

Analysis of Anthropic's Claude Sonnet 4.6 (Non-reasoning, High Effort) and comparison to other AI models across key metrics including quality, price, performance (tokens per second & time to first token), context window & more.

Sonnet 4.6 - Everything you need to know
artificialanalysis.ai

Sonnet 4.6 - Everything you need to know

Independent analysis and benchmarks of Sonnet 4.6

Claude Sonnet 4.6: 79.6% SWE-bench at $3/MTok — Complete Guide (2026) | NxCode
nxcode.io

Claude Sonnet 4.6: 79.6% SWE-bench at $3/MTok — Complete Guide (2026) | NxCode

Claude Sonnet 4.6 delivers near-Opus performance at 5x lower cost. See full benchmarks, pricing breakdown, and how it compares to Opus 4.6 and GPT-5.3.

Anthropic releases Claude Sonnet 4.6, continuing breakneck pace of AI model releases
CNBC

Anthropic releases Claude Sonnet 4.6, continuing breakneck pace of AI model releases

Claude Sonnet 4.6 is more consistent with coding and is better at following coding instructions, Anthropic said.

Multilingual support
Claude API Docs

Multilingual support

Claude excels at tasks across multiple languages, maintaining strong cross-lingual performance relative to English.

스펙

컨텍스트 윈도우

1.0M 토큰

라이선스

Proprietary

출시일

2026년 2월 18일

학습 마감일

2025년 5월 1일

가성비 지수

0.5

API 가격 (혼합)

입력 $3.00/1M

조회수

0

API 가격 (USD 기준)

입력 (Prompt)

$3.00 / 1M 토큰

출력 (Completion)

$15.00 / 1M 토큰

용도별 성능

태스크 관련 벤치마크 평균 점수

지시따르기최강

89.5

복잡한 지시사항 이해 및 수행

멀티모달

83.6

이미지, 비디오 등 멀티모달 이해

일반지식

79.2

다양한 분야 지식 및 이해

Provider

Anthropic

Anthropic의 다른 모델

Anthropic: Claude 3.5 HaikuAnthropic: Claude Opus 4Anthropic: Claude Sonnet 4Anthropic: Claude 3 HaikuAnthropic: Claude Opus 4.5

분류

자연어 처리컴퓨터 비전오디오 처리TransformerLLM

성능 평가

꼭지점 클릭 → 벤치마크 행 이동

벤치마크카테고리이 모델전체 평균전체 최고

유사 모델 비교

모델ProviderLLM 점수GPQA·MMLU·MATH·IFEval·HumanEvalAgentic 점수SWE·τ-bench·OSWorld·GAIA
Claude Sonnet 4.6Anthropic82.476.6
o1-proOpenAI86.4-
o3OpenAI88.847.7
Grok 4.1 FastxAI74.4-
Command ACohere69.1-

관련 블로그 글

튜토리얼2026년 3월 28일

LangGraph로 AI 에이전트 워크플로우 구축하기

## LangGraph란? LangGraph는 LangChain 팀이 만든 상태 기반(stateful) AI 에이전트 프레임워크입니다. 복잡한 멀티스텝 워크플로우를 그래프 구조로 표현합니다. LangChain이 체인(순차)이라면, LangGraph는 그래프(순환, 조건 분기 가능)입니다. --- ## 핵심 개념 ```mermaid flowchart TD A[State 정의] --> B[Node 정의<br/>각 처리 단계] B --> C[Edge 연결<br/>조건부 or 직접] C --> D[Graph 컴파일] D --> E[실행] subgraph "State" S1[messages] S2[next_step] S3[results] end ``` **State:** 그래프 전체에서 공유되는 데이터 **Node:** 상태를 받아 처리 후 업데이트하는 함수 **Edge:** 노드 간 연결 (조건부 가능) --- ## 기본 에이전트 구현 ```python from langgraph.graph import StateGraph, END from langchain_anthropic import ChatAnthropic from langchain_core.messages import HumanMessage, AIMessage from typing import TypedDict, Annotated import operator # 1. 상태 정의 class AgentState(TypedDict): messages: Annotated[list, operator.add] # 메시지 누적 next: str # 다음 노드 # 2. LLM 설정 llm = ChatAnthropic(model="claude-sonnet-4-6-20251001") # 3. 도구 정의 from langchain_core.tools import tool @tool def search_web(query: str) -> str: # 웹에서 정보를 검색합니다 # 실제 검색 API 호출 return f"검색 결과: {query}에 대한 정보..." @tool def calculate(expression: str) -> str: # 수식을 계산합니다 try: result = eval(expression) return f"계산 결과: {result}" except Exception as e: return f"오류: {e}" tools = [search_web, calculate] llm_with_tools = llm.bind_tools(tools) # 4. 노드 함수 def agent_node(state: AgentState): response = llm_with_tools.invoke(state["messages"]) return {"messages": [response]} def tool_node(state: AgentState): last_message = state["messages"][-1] results = [] for tool_call in last_message.tool_calls: tool = {t.name: t for t in tools}[tool_call["name"]] result = tool.invoke(tool_call["args"]) results.append(ToolMessage( content=str(result), tool_call_id=tool_call["id"] )) return {"messages": results} # 5. 조건부 엣지 def should_continue(state: AgentState): last_message = state["messages"][-1] if hasattr(last_message, "tool_calls") and last_message.tool_calls: return "tools" return END # 6. 그래프 구성 graph = StateGraph(AgentState) graph.add_node("agent", agent_node) graph.add_node("tools", tool_node) graph.set_entry_point("agent") graph.add_conditional_edges("agent", should_continue) graph.add_edge("tools", "agent") # 도구 실행 후 다시 agent로 app = graph.compile() # 실행 result = app.invoke({ "messages": [HumanMessage(content="서울 날씨를 검색하고 화씨로 변환해줘")] }) print(result["messages"][-1].content) ``` --- ## Human -in-the-Loop 패턴 위험한 작업 전에 인간 승인을 받는 패턴: ```python from langgraph.checkpoint.memory import MemorySaver from langgraph.graph import interrupt_before # 체크포인트 저장소 memory = MemorySaver() def dangerous_action_node(state: AgentState): # DB 삭제, 이메일 전송 등 위험한 작업 return {"messages": [AIMessage(content="작업 실행 완료")]} graph = StateGraph(AgentState) graph.add_node("agent", agent_node) graph.add_node("dangerous_action", dangerous_action_node) graph.set_entry_point("agent") # 컴파일 시 interrupt 설정 app = graph.compile( checkpointer=memory, interrupt_before=["dangerous_action"] # 이 노드 전에 중단 ) # 첫 실행 (중단됨) config = {"configurable": {"thread_id": "1"}} result = app.invoke( {"messages": [HumanMessage(content="모든 임시 파일을 삭제해줘")]}, config ) # → "dangerous_action" 노드 전에 일시정지 print("현재 상태:", app.get_state(config).next) # → ('dangerous_action',) # 사용자 승인 후 재개 user_input = input("계속 진행하시겠습니까? (y/n): ") if user_input == "y": result = app.invoke(None, config) # None으로 재개 ``` --- ## 멀티에이전트 패턴 ```python # 오케스트레이터 + 전문가 에이전트 class MultiAgentState(TypedDict): task: str research_result: str code_result: str final_answer: str def orchestrator(state: MultiAgentState): # 작업을 분석해서 어떤 에이전트가 필요한지 결정 response = llm.invoke(f'''다음 작업을 분석해서 필요한 에이전트를 결정해줘. 작업: {state["task"]} 응답: "research" 또는 "code" 또는 "both"''') return {"next": response.content.strip()} def research_agent(state: MultiAgentState): result = research_llm.invoke(f"다음을 조사해줘: {state['task']}") return {"research_result": result.content} def code_agent(state: MultiAgentState): context = state.get("research_result", "") result = code_llm.invoke(f"컨텍스트: {context} 작업: {state['task']}") return {"code_result": result.content} def should_research_or_code(state): return state["next"] # "research", "code", or "both" ``` --- ## 실전 사용 사례 | 패턴 | 설명 | 예시 | |------|------|------| | ReAct | 추론 → 행동 반복 | 웹 검색 에이전트 | | Plan & Execute | 계획 수립 후 실행 | 복잡한 리서치 | | Reflexion | 자기 반성으로 개선 | 코드 디버깅 | | Multi-Agent | 전문가 팀 협업 | 보고서 작성 | | Human-in-Loop | 인간 승인 포함 | 자동화 + 안전 | LangGraph Studio를 사용하면 그래프 실행을 시각적으로 디버깅할 수 있습니다. 복잡한 에이전트 로직을 구현할 때 필수 도구입니다.

이전글

Anthropic: Claude Sonnet 4.5

다음글

Cohere: Command A

댓글

0개

댓글을 작성하려면

로그인

해주세요

사용하는 서비스

Claude Cowork

Claude Code

Code Generation (코드 생성)

Windsurf

Code Generation (코드 생성)

관련 기사

LangGraph로 AI 에이전트 워크플로우 구축하기

TUTORIAL

프롬프트 엔지니어링 완전 가이드: 2025년 최신 기법

GUIDE

MCP (Model Context Protocol) 완전 가이드: AI 에이전트의 표준 연결 방식

GUIDE

유사 모델

수학/추론

77.0

수학, 과학, 논리적 추론

코딩

74.9

코드 생성, 버그 수정, 소프트웨어 엔지니어링

단위
AIME 202694.089.195.8%
Arena Elo1438.01369.21493.0elo
GPQALLM74.164.094.3%
HLE51.030.151.0%
HumanEvalLLM92.186.097.6%
Humanity's Last Exam51.040.653.0%
IFEvalLLM89.585.395.9%
MATH Lvl 5LLM89.075.599.2%
MMLU89.384.298.0%
MMLU-PROLLM79.273.890.5%
MMMU83.671.185.0%
OSWorldAgentic72.551.572.7%
SWE-bench VerifiedAgentic79.663.680.9%
TerminalBench53.041.359.3%
Mistral Large 3 2512Mistral AI72.8-
가이드2026년 3월 28일

프롬프트 엔지니어링 완전 가이드: 2025년 최신 기법

## 프롬프트 엔지니어링이란? LLM에게 원하는 출력을 얻도록 입력을 설계하는 기술입니다. 같은 질문도 어떻게 표현하느냐에 따라 답변 품질이 10배 이상 차이납니다. --- ## 핵심 기법 1: Zero-Shot vs Few-Shot **Zero-Shot:** 예시 없이 지시만 ``` 감정 분석해줘: "이 제품 정말 별로였어요" ``` **Few-Shot:** 예시 제공 ``` 감정을 POSITIVE/NEGATIVE/NEUTRAL로 분류해줘. 예시: "정말 훌륭한 서비스" → POSITIVE "그냥 보통" → NEUTRAL "완전 실망" → NEGATIVE 분류할 텍스트: "이 제품 정말 별로였어요" ``` Few-Shot이 Zero-Shot보다 평균 15-25% 정확도 높음. --- ## 핵심 기법 2: Chain-of-Thought (CoT) 단계적 사고를 유도합니다: ``` 문제: A 공장이 하루 100개, B 공장이 하루 80개를 만든다. 두 공장을 합쳐 540개를 만들려면 며칠이 필요한가? 단계별로 생각해봐: 1. 두 공장의 하루 총 생산량은? 2. 540개를 만들려면 며칠인가? ``` **Self-Consistency:** CoT를 여러 번 실행해 다수결 ```python from anthropic import Anthropic client = Anthropic() answers = [] for _ in range(5): response = client.messages.create( model="claude-sonnet-4-6-20251001", max_tokens=500, messages=[{ "role": "user", "content": f"단계별로 생각해서 답하세요: {question}" }] ) answers.append(extract_final_answer(response.content[0].text)) # 가장 많이 나온 답 선택 from collections import Counter final = Counter(answers).most_common(1)[0][0] ``` --- ## 핵심 기법 3: Role Prompting ``` 당신은 10년 경력의 시니어 백엔드 엔지니어입니다. PostgreSQL 성능 최적화를 전문으로 하며, 항상 실행 계획(EXPLAIN ANALYZE) 기반으로 조언합니다. 다음 쿼리의 성능을 분석해주세요: SELECT * FROM orders WHERE created_at > '2024-01-01'; ``` **페르소나 프레임워크:** - 전문성 수준 명시 (10년 경력, PhD 수준) - 스타일 정의 (간결함, 수식 사용, 초보자 친화적) - 제약 조건 부여 (500자 이내, 코드 포함) --- ## 핵심 기법 4: 출력 형식 제어 **JSON 출력 강제:** ```python import json from anthropic import Anthropic client = Anthropic() response = client.messages.create( model="claude-sonnet-4-6-20251001", max_tokens=1000, messages=[{ "role": "user", "content": '''다음 제품 리뷰를 분석해서 반드시 JSON으로만 응답해주세요: 리뷰: "배터리 수명이 짧고 화면이 작지만 카메라는 훌륭해요" 응답 형식: { "sentiment": "POSITIVE|NEGATIVE|MIXED", "pros": ["장점1", "장점2"], "cons": ["단점1", "단점2"], "score": 0-10 }''' }] ) result = json.loads(response.content[0].text) ``` **Claude의 tool_use가 더 안정적:** ```python response = client.messages.create( model="claude-sonnet-4-6-20251001", max_tokens=1000, tools=[{ "name": "analyze_review", "description": "리뷰 감정 분석", "input_schema": { "type": "object", "properties": { "sentiment": {"type": "string", "enum": ["POSITIVE", "NEGATIVE", "MIXED"]}, "pros": {"type": "array", "items": {"type": "string"}}, "cons": {"type": "array", "items": {"type": "string"}}, "score": {"type": "number", "minimum": 0, "maximum": 10} }, "required": ["sentiment", "pros", "cons", "score"] } }], tool_choice={"type": "tool", "name": "analyze_review"}, messages=[{"role": "user", "content": "배터리 수명이 짧고 화면이 작지만 카메라는 훌륭해요"}] ) ``` --- ## 프롬프트 패턴 카탈로그 ```mermaid mindmap root((프롬프트 패턴)) 분석 SWOT 분석 근본 원인 분석 비교 분석 생성 템플릿 채우기 변형 생성 역할극 검증 악마의 변호인 체크리스트 검토 반론 생성 요약 핵심 3가지 TL;DR 계층적 요약 ``` --- ## 업무별 프롬프트 템플릿 **코드 리뷰:** ``` 다음 코드를 시니어 엔지니어 관점에서 리뷰해줘. 중점 사항: 보안, 성능, 가독성, 테스트 가능성 각 이슈는 [심각도: HIGH/MED/LOW] 형식으로 표시해줘. (여기에 리뷰할 코드 붙여넣기) ``` **회의록 요약:** ``` 다음 회의록을 요약해줘. 출력 형식: - 결정 사항 (bullet) - 액션 아이템 (담당자, 기한) - 다음 회의 안건 회의록: {회의록} ``` **이메일 작성:** ``` 다음 상황에 맞는 비즈니스 이메일을 작성해줘. - 수신: {수신자 직함/관계} - 목적: {핵심 목적} - 톤: 공손하지만 단호함 - 길이: 3-4단락 배경: {상황 설명} ``` --- ## 프롬프트 최적화 팁 1. **구체적 수치** 사용: "짧게" → "50자 이내로" 2. **네거티브 지시** 추가: "중복 없이", "전문용어 사용 금지" 3. **예시 우선**: 설명보다 예시가 더 효과적 4. **단계 분리**: 한 프롬프트에 여러 작업보다 단계적으로 5. **System/User 분리**: 페르소나는 system, 작업은 user에 프롬프트 품질 평가는 LangSmith나 PromptFlow로 A/B 테스트하는 것을 권장합니다.

가이드2026년 4월 3일

MCP (Model Context Protocol) 완전 가이드: AI 에이전트의 표준 연결 방식

## MCP란 무엇인가? MCP(Model Context Protocol)는 Anthropic이 2024년 11월 오픈소스로 공개한 AI-도구 연결 표준입니다. LLM이 외부 도구, 데이터소스, 서비스에 표준화된 방식으로 접근하게 해줍니다. USB-C가 다양한 기기를 표준 포트로 연결하듯, MCP는 AI 모델과 도구를 표준 프로토콜로 연결합니다. ```mermaid flowchart LR subgraph Client["MCP Client (Claude Desktop, IDE)"] LLM[Claude LLM] end subgraph Servers["MCP Servers"] FS[파일시스템 서버] DB[데이터베이스 서버] API[외부 API 서버] Custom[커스텀 서버] end LLM <-->|MCP Protocol| FS LLM <-->|MCP Protocol| DB LLM <-->|MCP Protocol| API LLM <-->|MCP Protocol| Custom ``` --- ## 핵심 개념 **MCP의 3가지 기능:** 1. **Tools** — LLM이 호출할 수 있는 함수 (웹 검색, DB 쿼리, API 호출) 2. **Resources** — LLM이 읽을 수 있는 데이터 (파일, URL, DB 레코드) 3. **Prompts** — 재사용 가능한 프롬프트 템플릿 --- ## Claude Desktop에 MCP 연결하기 ```json // ~/Library/Application Support/Claude/claude_desktop_config.json { "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Documents"] }, "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres"], "env": { "POSTGRES_URL": "postgresql://localhost/mydb" } }, "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_xxx" } } } } ``` 연결 후 Claude에게: "내 Documents 폴더의 파일 목록을 보여줘" → 자동으로 파일시스템 MCP 호출 --- ## 커스텀 MCP 서버 만들기 (Python) ```python from mcp.server import Server from mcp.server.stdio import stdio_server from mcp import types import httpx import json app = Server("my-custom-server") @app.list_tools() async def list_tools() -> list[types.Tool]: return [ types.Tool( name="search_products", description="상품 데이터베이스에서 검색합니다", inputSchema={ "type": "object", "properties": { "query": {"type": "string", "description": "검색어"}, "category": {"type": "string", "description": "카테고리 필터"}, "max_results": {"type": "integer", "default": 10} }, "required": ["query"] } ), types.Tool( name="get_order_status", description="주문 상태를 조회합니다", inputSchema={ "type": "object", "properties": { "order_id": {"type": "string"} }, "required": ["order_id"] } ) ] @app.call_tool() async def call_tool(name: str, arguments: dict) -> list[types.TextContent]: if name == "search_products": # 실제 DB 또는 API 호출 async with httpx.AsyncClient() as client: response = await client.get( "https://api.myshop.com/products", params={"q": arguments["query"], "limit": arguments.get("max_results", 10)} ) products = response.json() return [types.TextContent( type="text", text=json.dumps(products, ensure_ascii=False, indent=2) )] elif name == "get_order_status": # 주문 조회 로직 order = await fetch_order(arguments["order_id"]) return [types.TextContent(type="text", text=json.dumps(order, ensure_ascii=False))] raise ValueError(f"Unknown tool: {name}") async def main(): async with stdio_server() as (read_stream, write_stream): await app.run(read_stream, write_stream, app.create_initialization_options()) if __name__ == "__main__": import asyncio asyncio.run(main()) ``` --- ## MCP 서버 등록 ```json // Claude Desktop config에 추가 { "mcpServers": { "my-shop": { "command": "python", "args": ["/path/to/my_mcp_server.py"] } } } ``` --- ## TypeScript로 MCP 서버 만들기 ```typescript import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js"; const server = new Server( { name: "weather-server", version: "1.0.0" }, { capabilities: { tools: {} } } ); server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [{ name: "get_weather", description: "현재 날씨를 가져옵니다", inputSchema: { type: "object", properties: { city: { type: "string", description: "도시명" } }, required: ["city"] } }] })); server.setRequestHandler(CallToolRequestSchema, async (request) => { if (request.params.name === "get_weather") { const { city } = request.params.arguments as { city: string }; const weather = await fetchWeather(city); return { content: [{ type: "text", text: JSON.stringify(weather) }] }; } throw new Error(`Unknown tool: ${request.params.name}`); }); const transport = new StdioServerTransport(); await server.connect(transport); ``` --- ## MCP 활용 사례 ```mermaid mindmap root((MCP 활용)) 개발 도구 GitHub 연동 Jira 티켓 조회 CI/CD 모니터링 데이터 분석 PostgreSQL 쿼리 BigQuery 분석 Notion 문서 검색 비즈니스 Slack 메시지 전송 CRM 고객 조회 ERP 재고 확인 AI 파이프라인 벡터 DB 검색 임베딩 생성 외부 API 호출 ``` --- ## 현재 사용 가능한 공식 MCP 서버 - `@modelcontextprotocol/server-filesystem` — 파일시스템 읽기/쓰기 - `@modelcontextprotocol/server-github` — GitHub API - `@modelcontextprotocol/server-postgres` — PostgreSQL 쿼리 - `@modelcontextprotocol/server-google-drive` — Google Drive - `@modelcontextprotocol/server-slack` — Slack 메시지 - `@modelcontextprotocol/server-brave-search` — Brave 웹 검색 - `@modelcontextprotocol/server-puppeteer` — 브라우저 자동화 MCP는 AI 에이전트 생태계의 USB 포트가 되고 있습니다. 지금 공식 MCP 서버 목록(github.com/modelcontextprotocol/servers)을 확인하고 Claude Desktop에 연결해보세요.

비교2026년 3월 28일

AI 에이전트 프레임워크 비교: LangChain vs LlamaIndex vs AutoGen vs CrewAI

## AI 에이전트 프레임워크가 필요한 이유 단일 LLM 호출로 해결되지 않는 복잡한 태스크 — 여러 도구를 순차적으로 사용하거나, 여러 AI가 협업하거나, 오류가 나면 재시도해야 하는 워크플로우 — 를 구현하려면 에이전트 프레임워크가 필요합니다. 2025년 기준 주요 프레임워크를 실용적 관점에서 비교합니다. --- ## 한눈에 보는 비교표 | 항목 | LangChain | LlamaIndex | AutoGen | CrewAI | |------|-----------|------------|---------|--------| | 주요 용도 | 범용 에이전트 | RAG/검색 특화 | 멀티에이전트 | 역할 기반 팀 | | 러닝커브 | 높음 | 중간 | 중간 | 낮음 | | 추상화 수준 | 낮음 (유연) | 중간 | 중간 | 높음 (간편) | | 커뮤니티 | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★★☆☆ | | 프로덕션 사례 | 가장 많음 | 많음 | 증가 중 | 적음 | | 한국어 자료 | 많음 | 중간 | 적음 | 적음 | | GitHub 스타 (2025) | ~95K | ~35K | ~35K | ~25K | --- ## LangChain — 가장 넓은 생태계 LangChain은 AI 에이전트 프레임워크의 사실상 표준입니다. 방대한 통합(200개 이상)과 커뮤니티 덕분에 막히는 문제가 거의 없습니다. **핵심 개념:** ```python from langchain.agents import create_tool_calling_agent, AgentExecutor from langchain_core.tools import tool @tool def search_web(query: str) -> str: '''웹에서 정보를 검색합니다''' return brave_search(query) @tool def run_python(code: str) -> str: '''Python 코드를 실행합니다''' return exec_safely(code) agent = create_tool_calling_agent(llm, [search_web, run_python], prompt) executor = AgentExecutor(agent=agent, tools=[search_web, run_python]) result = executor.invoke({"input": "오늘 삼성전자 주가 분석해줘"}) ``` **강점:** - 가장 풍부한 통합 (Pinecone, Weaviate, 모든 LLM, 수백 개 툴) - LangSmith로 에이전트 실행 추적·디버깅 - LCEL(LangChain Expression Language)로 선언적 파이프라인 구성 - 방대한 한국어 튜토리얼, 블로그 포스트 **약점:** - 추상화 레이어가 많아 디버깅이 어려울 수 있음 - 버전업 시 API 변경이 잦음 (v0.1 → v0.2 → v0.3 마이그레이션 피로) - 간단한 태스크에도 코드가 길어지는 경향 **추천:** RAG, 도구 사용 에이전트, 다양한 외부 서비스 연동이 필요한 경우 --- ## LlamaIndex — RAG와 검색에 최적화 LlamaIndex(구 GPT Index)는 문서 인덱싱과 검색에 특화된 프레임워크입니다. LangChain이 범용이라면, LlamaIndex는 "데이터 위에 AI 올리기"에 집중합니다. ```python from llama_index.core import VectorStoreIndex, SimpleDirectoryReader # 문서 로드 → 인덱싱 → 쿼리 3줄로 완성 documents = SimpleDirectoryReader("./docs").load_data() index = VectorStoreIndex.from_documents(documents) query_engine = index.as_query_engine() response = query_engine.query("계약서의 핵심 조건은?") ``` **강점:** - RAG 파이프라인 구축이 LangChain보다 훨씬 간결 - 다양한 인덱스 타입 (Vector, Summary, Knowledge Graph) - LlamaParse: PDF, 표, 이미지가 포함된 복잡한 문서 파싱 특화 - 쿼리 라우팅, 서브쿼리 분해 등 고급 RAG 기법 내장 **약점:** - RAG 외 범용 에이전트 구현은 LangChain보다 불편 - 외부 서비스 통합 수가 LangChain보다 적음 **추천:** 문서 기반 QA, 내부 지식베이스 검색, 복잡한 PDF 파싱이 핵심인 서비스 --- ## AutoGen — 멀티에이전트 협업 Microsoft가 만든 AutoGen은 여러 AI 에이전트가 대화하며 문제를 해결하는 패러다임입니다. ```python import autogen assistant = autogen.AssistantAgent( name="코딩_어시스턴트", llm_config={"model": "gpt-4o"} ) user_proxy = autogen.UserProxyAgent( name="사용자", code_execution_config={"work_dir": "coding"} ) # 두 에이전트가 대화하며 코드 작성 → 실행 → 수정을 자율적으로 반복 user_proxy.initiate_chat( assistant, message="피보나치 수열을 출력하는 Python 코드 작성하고 실행해줘" ) ``` **강점:** - 코드 작성 → 자동 실행 → 오류 수정 루프를 자율적으로 반복 - 다양한 에이전트 역할 조합 (코더, 리뷰어, 플래너 등) - GroupChat으로 여러 에이전트가 동시에 참여 **약점:** - 에이전트 루프가 무한 반복될 수 있음 (비용 주의) - 결과가 매번 달라지는 비결정적 동작 - 복잡한 멀티에이전트 흐름 디버깅 어려움 **추천:** 코딩 태스크 자동화, 연구 에이전트, 자율적 문제 해결이 필요한 실험적 프로젝트 --- ## CrewAI — 역할 기반 팀 시뮬레이션 CrewAI는 "AI 팀"을 만드는 가장 직관적인 프레임워크입니다. 연구원, 작가, 편집자처럼 역할을 정의하면 자동으로 협업합니다. ```python from crewai import Agent, Task, Crew researcher = Agent(role="AI 리서처", goal="최신 AI 동향 조사", llm=claude) writer = Agent(role="콘텐츠 작성자", goal="리서치 기반 블로그 포스트 작성", llm=claude) research_task = Task(description="GPT-5 출시 영향 분석", agent=researcher) write_task = Task(description="분석 결과로 블로그 포스트 작성", agent=writer) crew = Crew(agents=[researcher, writer], tasks=[research_task, write_task]) result = crew.kickoff() ``` **강점:** - 코드가 직관적이고 간결 - 비개발자도 이해 가능한 역할 기반 설계 - 태스크 간 의존성 관리 내장 **약점:** - 복잡한 커스터마이징 시 한계 - 프로덕션 사례가 아직 적음 - 에러 핸들링이 부족한 편 **추천:** 콘텐츠 생성 파이프라인, 리서치 자동화, AI 에이전트 입문 --- ## 2 025년 선택 가이드 **RAG/문서 검색이 핵심** → LlamaIndex **범용 에이전트, 다양한 통합 필요** → LangChain **코딩 자동화, 자율 에이전트 실험** → AutoGen **콘텐츠 생성, 빠른 프로토타입** → CrewAI **처음 시작한다면** → LangChain (커뮤니티·자료 압도적) --- ## 결론 2025년 AI 에이전트 생태계는 여전히 빠르게 변하고 있습니다. 특정 프레임워크에 너무 깊이 의존하기보다, **핵심 개념(Tool Calling, RAG, 멀티에이전트)을 이해하고 필요에 따라 도구를 선택**하는 유연한 접근이 중요합니다. 어떤 프레임워크도 내부적으로는 결국 LLM API 호출과 프롬프트 구성의 조합입니다.

OpenAI: o1-pro

OpenAI

OpenAI: o3

OpenAI

xAI: Grok 4.1 Fast

xAI

Cohere: Command A

Cohere

Mistral: Mistral Large 3 2512

Mistral AI