> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sifi.life/llms.txt
> Use this file to discover all available pages before exploring further.

# Anthropic 패턴

> 이 문서는 **[GenAI 개념](/blog/guides/genai-concepts/overview)** 섹션의 일부입니다.

## 7. Advanced Tool Use -- 도구 사용의 진화

### Tool Search Tool

수천 개의 MCP 도구가 연결된 환경에서, 모델이 적절한 도구를 **검색** 하여 찾는 메타 도구입니다.

| 특징     | 설명                                       |
| ------ | ---------------------------------------- |
| **문제** | 수천 개 도구를 모두 프롬프트에 넣으면 토큰 낭비 + 혼란         |
| **해결** | Tool Search Tool이 사용자 요청을 분석하여 관련 도구만 검색 |
| **방식** | 도구 이름, 설명, 파라미터를 인덱싱하고 시맨틱 검색 수행         |

**Tool Search 흐름 예시:**

1. 사용자: "Databricks에서 테이블 목록을 보여줘"
2. Tool Search Tool: "databricks table list" 검색
3. 결과: `[execute_sql, get_table_details, manage_uc_objects]`
4. Claude: `execute_sql("SHOW TABLES IN catalog.schema")` 호출

### Programmatic Tool Calling

모델이 JSON Schema 기반으로 도구를 호출하고, 결과를 구조화된 형태로 받는 표준 방식입니다.

```json theme={null}
{
  "type": "tool_use",
  "name": "execute_sql",
  "input": {
    "query": "SELECT * FROM sales.orders LIMIT 10",
    "warehouse_id": "abc123"
  }
}
```

### Server Tools (빌트인 도구)

Anthropic이 서버 사이드에서 제공하는 도구로, 사용자 인프라 없이 바로 사용 가능합니다.

| 도구                  | 기능             | 활용               |
| ------------------- | -------------- | ---------------- |
| **web\_search**     | 실시간 웹 검색       | 최신 정보 조회, 팩트 체크  |
| **code\_execution** | 샌드박스 Python 실행 | 데이터 분석, 시각화, 계산  |
| **web\_fetch**      | 웹 페이지 콘텐츠 가져오기 | 문서 읽기, API 응답 확인 |

> **참고**
> **Server Tools의 의미**: RAG나 외부 API 연동 없이도 Claude가 자체적으로 정보를 검색하고, 코드를 실행하고, 웹 콘텐츠를 가져올 수 있습니다. 특히 `code_execution`은 데이터 분석 작업에서 hallucination을 크게 줄여줍니다.

***

## 8. Extended Thinking (Adaptive Thinking)

### 개요

2025년 2월 도입된 Extended Thinking은 Claude가 **응답하기 전에 깊이 생각하는 과정** 을 활성화합니다. 현재는 **Adaptive Thinking** 으로 브랜딩되어, 작업 복잡도에 따라 사고 깊이를 자동 조절합니다.

### 작동 방식

```python theme={null}
# API 호출 시 thinking 파라미터로 제어
response = client.messages.create(
    model="claude-opus-4-6",
    max_tokens=16384,
    thinking={
        "type": "enabled",
        "budget_tokens": 10000   # 사고에 사용할 최대 토큰
    },
    messages=[{
        "role": "user",
        "content": "이 시스템의 보안 취약점을 분석하고 개선안을 제시해줘."
    }]
)

# 응답 구조
# response.content = [
#     {"type": "thinking", "thinking": "먼저 입력을 분석하면... (사고 과정)"},
#     {"type": "text", "text": "분석 결과... (최종 응답)"}
# ]
```

### 핵심 특징

| 특징                            | 설명                                     |
| ----------------------------- | -------------------------------------- |
| **Configurable Budget**       | `budget_tokens`로 사고 깊이 조절 (1K \~ 128K) |
| **Interleaved with Tool Use** | 도구를 사용하면서 동시에 사고를 이어감                  |
| **Adaptive**                  | 간단한 질문에는 짧게, 복잡한 문제에는 깊게 생각            |
| **투명성**                       | `thinking` 블록에서 사고 과정을 확인 가능           |

### 언제 사용하는가?

| 상황                | Extended Thinking | 일반 응답 |
| ----------------- | :---------------: | :---: |
| 복잡한 수학/논리 문제      |         O         |       |
| 장문 코드 분석/디버깅      |         O         |       |
| 다단계 추론이 필요한 작업    |         O         |       |
| 간단한 Q\&A          |                   |   O   |
| 번역, 요약            |                   |   O   |
| 실시간 채팅 (낮은 지연 필요) |                   |   O   |

> **주의**
> **비용 고려**: Extended Thinking의 사고 토큰도 과금 대상입니다. `budget_tokens`를 적절히 설정하여 비용과 품질의 균형을 맞추세요. 일반적으로 코딩 작업에는 4K~~8K, 복잡한 분석에는 10K~~32K를 권장합니다.

***

## 9. 멀티에이전트 패턴 (5가지 상세)

Anthropic은 2024년 12월 블로그에서 5가지 Agent 설계 패턴을 제시했습니다. 핵심 메시지는 **"단순하게 시작하라(Start Simple)"** 입니다.

> **성공**
> **Anthropic의 철학**: "Agent를 만들 때 가장 흔한 실수는 처음부터 복잡한 멀티에이전트 시스템을 설계하는 것입니다. 대부분의 문제는 단일 LLM 호출 + 좋은 프롬프트로 해결됩니다. 복잡한 패턴은 단순한 접근이 한계에 부딪힐 때만 도입하세요."

### 패턴 1: Prompt Chaining (프롬프트 체이닝)

**하나의 작업을 여러 순차 단계로 분해** 하여, 각 단계의 출력이 다음 단계의 입력이 되는 패턴입니다.

| 항목         | 설명                             |
| ---------- | ------------------------------ |
| **적용 시기**  | 작업을 명확한 순서의 하위 작업으로 분해할 수 있을 때 |
| **장점**     | 각 단계의 품질을 독립적으로 검증 가능          |
| **단점**     | 전체 지연 시간 증가 (직렬 실행)            |
| **게이트/체크** | 각 단계 사이에 품질 검증 로직 삽입 가능        |

### 패턴 2: Routing (라우팅)

**입력을 분류하여 전문화된 처리 경로로 분배** 하는 패턴입니다.

| 항목        | 설명                     |
| --------- | ---------------------- |
| **적용 시기** | 입력 유형에 따라 다른 처리가 필요할 때 |
| **장점**    | 각 핸들러를 전문화하여 품질 향상     |
| **단점**    | 라우팅 오류 시 잘못된 핸들러로 전달   |
| **구현**    | LLM 분류기 또는 규칙 기반 분류    |

### 패턴 3: Parallelization (병렬화)

**하나의 작업을 독립적인 하위 작업으로 분해하여 동시 실행** 후 결과를 집계하는 패턴입니다.

**변형 A: Sectioning (분할)** - 같은 입력을 여러 관점에서 동시에 처리
**변형 B: Voting (투표)** - 같은 작업을 여러 Agent가 독립적으로 수행하고 다수결

### 패턴 4: Orchestrator-Workers (오케스트레이터-워커)

**중앙 오케스트레이터가 작업을 동적으로 분해하고 워커에게 할당** 하는 패턴입니다. Parallelization과 달리, 하위 작업이 사전에 정해져 있지 않고 오케스트레이터가 실시간으로 결정합니다.

> **참고**
> **Claude Code의 Subagent가 바로 이 패턴입니다.** Claude Code가 복잡한 작업을 받으면, 메인 Agent(Orchestrator)가 하위 Agent(Worker)를 생성하여 병렬로 작업을 수행합니다.

### 패턴 5: Evaluator-Optimizer (평가자-최적화자)

**하나의 Agent가 결과를 생성하고, 다른 Agent가 평가하여 개선을 반복** 하는 패턴입니다.

### 5가지 패턴 비교 요약

| 패턴                       | 복잡도 | 적용 시점                 | 핵심 특징            |
| ------------------------ | :-: | --------------------- | ---------------- |
| **Prompt Chaining**      |  낮음 | 순차적 작업 분해 가능 시        | 단계별 품질 게이트       |
| **Routing**              |  낮음 | 입력 유형별 전문 처리 필요 시     | 분류 → 전문 핸들러      |
| **Parallelization**      |  중간 | 독립 작업 동시 처리 or 신뢰도 향상 | 동시 실행 → 결과 집계    |
| **Orchestrator-Workers** |  높음 | 동적 작업 분해 필요 시         | 중앙 제어 + 유연한 워커   |
| **Evaluator-Optimizer**  |  높음 | 반복 개선으로 품질 보장 필요 시    | 생성 → 평가 → 피드백 루프 |

> **주의**
> **선택 가이드**: "단순한 것이 최선이다"를 원칙으로 삼으세요.

* **90%의 경우**: 단일 LLM 호출 + 좋은 프롬프트로 충분
* **나머지 9%**: Prompt Chaining 또는 Routing으로 해결
* **1%의 복잡한 경우**: Orchestrator-Workers 또는 Evaluator-Optimizer 도입

***

## 10. Claude Cowork -- 지식 노동자 Agent

2026년 1월 프리뷰로 공개된 Claude Cowork는 Claude Code가 개발자를 위한 Agent라면, **지식 노동자(마케터, 분석가, PM 등)** 를 위한 Agent입니다.

| 특징         | 설명                                         |
| ---------- | ------------------------------------------ |
| **목적**     | 비개발자가 자연어로 복잡한 업무 자동화                      |
| **인터페이스**  | 웹 기반, 대화형                                  |
| **핵심 능력**  | 문서 작성, 데이터 분석, 리서치, 보고서 생성                 |
| **MCP 연동** | Google Workspace, Notion, Slack 등 업무 도구 연결 |
| **상태**     | Preview (2026.01\~)                        |

***

## 11. Databricks 시사점

### Claude on Databricks -- 세 가지 경로

Databricks 환경에서 Claude를 활용하는 방법은 세 가지입니다.

| 경로                        | 방식                             | 장점                          | 고려사항             |
| ------------------------- | ------------------------------ | --------------------------- | ---------------- |
| **Foundation Model APIs** | Databricks가 호스팅하는 Claude 엔드포인트 | Unity Catalog 거버넌스, 네트워크 격리 | 모델 버전 업데이트 지연 가능 |
| **Amazon Bedrock**        | AWS 기반 Claude 접근               | AWS 인프라 활용, 최신 모델 빠른 접근     | 별도 Bedrock 설정 필요 |
| **Anthropic API 직접**      | anthropic Python SDK 사용        | 최신 기능 즉시 사용 가능              | 네트워크 정책 확인 필요    |

### Foundation Model APIs 활용

```python theme={null}
# Databricks 노트북에서 Claude 사용
from databricks.sdk import WorkspaceClient
import anthropic

# Foundation Model APIs를 통한 호출
w = WorkspaceClient()
response = w.serving_endpoints.query(
    name="databricks-claude-sonnet-4",
    messages=[{
        "role": "user",
        "content": "Unity Catalog에서 테이블 권한을 설정하는 SQL을 작성해줘."
    }],
    max_tokens=4096
)
```

### MCP + Genie Code 통합

Genie Code는 MCP Host 역할을 수행합니다. Databricks MCP Server를 연결하면, Genie Code에서 자연어로 Databricks 리소스를 관리할 수 있습니다.

| 시나리오         | MCP + Genie Code 활용               |
| ------------ | --------------------------------- |
| **데이터 탐색**   | "sales 카탈로그에서 주문 관련 테이블을 찾아줘"     |
| **쿼리 실행**    | "지난 달 매출 상위 10개 제품을 조회해줘"         |
| **파이프라인 관리** | "ETL 파이프라인 상태를 확인하고 실패한 것을 재실행해줘" |
| **거버넌스**     | "이 테이블에 데이터 팀 읽기 권한을 부여해줘"        |

### Agent Bricks에서 Claude 활용

Databricks Agent Bricks(Knowledge Assistant, Genie Agent, Supervisor)에서도 Claude를 LLM 백엔드로 사용할 수 있습니다.

```python theme={null}
# Agent Bricks에서 Claude 모델 지정
from databricks.agents import KnowledgeAssistant

ka = KnowledgeAssistant(
    name="hr-assistant",
    model="databricks-claude-sonnet-4",  # Claude 모델 지정
    vector_search_index="hr_docs_index",
    instructions="당신은 HR 관련 질문에 답변하는 어시스턴트입니다."
)
```

> **참고**
> **Databricks에서의 베스트 프랙티스**

* **거버넌스가 중요한 경우**: Foundation Model APIs를 통해 Unity Catalog 거버넌스 적용
* **최신 모델이 필요한 경우**: Bedrock 또는 Anthropic API 직접 사용
* **Agent 개발**: Agent SDK + Databricks MCP Server 조합으로 데이터 플랫폼 연동 Agent 구축
* **비개발자 분석**: Genie Code + MCP로 자연어 데이터 분석

***

## 12. 고객 FAQ

### Q1. Claude Code와 GitHub Copilot의 차이는?

| 항목        | Claude Code        | GitHub Copilot    |
| --------- | ------------------ | ----------------- |
| **패러다임**  | Agent (자율 실행)      | Assistant (코드 제안) |
| **인터페이스** | 터미널                | IDE 내장            |
| **작업 단위** | 전체 기능 구현 \~ PR 생성  | 줄/블록 단위 코드 완성     |
| **도구 사용** | 파일 시스템, Git, MCP 등 | 제한적               |
| **자율성**   | 높음 (스스로 테스트/수정)    | 낮음 (사람이 수락/거부)    |

### Q2. MCP와 OpenAI의 Function Calling은 어떻게 다른가?

| 항목         | MCP                     | Function Calling |
| ---------- | ----------------------- | ---------------- |
| **범위**     | 프로토콜 (표준)               | API 기능 (플랫폼 의존)  |
| **호환성**    | 모든 LLM에서 사용 가능          | OpenAI API 전용    |
| **서버 생태계** | 10,000+ 커뮤니티 서버         | 개발자가 직접 구현       |
| **거버넌스**   | Linux Foundation (AAIF) | OpenAI 단독        |
| **현재 상태**  | OpenAI도 MCP 채택          | MCP와 공존          |

### Q3. Opus 4와 Sonnet 4, 어떤 것을 사용해야 하나?

| 상황                  | 추천 모델                            |
| ------------------- | -------------------------------- |
| 복잡한 코딩, 장기 Agent 작업 | **Opus 4.6**                     |
| 일상적 코딩, 분석, 대화      | **Sonnet 4.6**                   |
| 대규모 API 서비스 (비용 민감) | **Sonnet 4.6**                   |
| 최고 품질 필요 (비용 무관)    | **Opus 4.6 + Extended Thinking** |

### Q4. Computer Use를 프로덕션에서 사용해도 되나?

현재 Beta 상태이므로 프로덕션에서는 다음 조건 하에 제한적으로 사용을 권장합니다:

* **샌드박스 환경**: Docker 컨테이너 또는 VM 내에서 실행
* **제한된 권한**: 최소 권한 원칙 적용
* **민감 정보 차단**: 비밀번호, 개인정보가 표시된 화면에서 사용 금지
* **사람 승인**: 중요한 액션 전 사람의 확인을 받는 워크플로 설계

### Q5. Anthropic과 Databricks의 관계는?

| 항목            | 내용                                                            |
| ------------- | ------------------------------------------------------------- |
| **모델 제공**     | Claude가 Foundation Model APIs, Bedrock을 통해 Databricks에서 사용 가능 |
| **MCP 호환**    | Databricks가 공식 MCP Server를 제공, Genie Code가 MCP Host           |
| **Agent 생태계** | Agent Bricks에서 Claude를 LLM 백엔드로 선택 가능                         |
| **경쟁/협력**     | AI 모델 계층에서는 경쟁(DBRX vs Claude), 플랫폼 계층에서는 협력                  |

***

## 13. 참고 자료

| 자료                               | 링크                                                                                                                       |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| Anthropic 공식 문서                  | [docs.anthropic.com](https://docs.anthropic.com)                                                                         |
| MCP 공식 사이트                       | [modelcontextprotocol.io](https://modelcontextprotocol.io)                                                               |
| Claude Code 문서                   | [docs.anthropic.com/en/docs/claude-code](https://docs.anthropic.com/en/docs/claude-code)                                 |
| Building Effective Agents (블로그)  | [anthropic.com/engineering/building-effective-agents](https://www.anthropic.com/engineering/building-effective-agents)   |
| Agent SDK 문서                     | [docs.anthropic.com/en/docs/agent-sdk](https://docs.anthropic.com/en/docs/agent-sdk)                                     |
| Computer Use 문서                  | [docs.anthropic.com/en/docs/computer-use](https://docs.anthropic.com/en/docs/computer-use)                               |
| Extended Thinking 가이드            | [docs.anthropic.com/en/docs/extended-thinking](https://docs.anthropic.com/en/docs/extended-thinking)                     |
| AAIF (Linux Foundation)          | [ai-alliance-interop.org](https://ai-alliance-interop.org)                                                               |
| Databricks MCP Server            | [github.com/databricks/databricks-mcp](https://github.com/databricks/databricks-mcp)                                     |
| Databricks Foundation Model APIs | [docs.databricks.com/machine-learning/foundation-models](https://docs.databricks.com/machine-learning/foundation-models) |
