> ## Documentation Index
> Fetch the complete documentation index at: https://wb-21fd5541-update-reference-docs-59.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Weave란 무엇인가요?

> W&B Weave와 이를 사용해 LLM 애플리케이션을 구축, 평가, 개선하는 방법을 알아보세요

W\&B Weave는 신뢰할 수 있는 에이전트 및 LLM 애플리케이션을 구축하기 위한 관측성 및 평가 플랫폼입니다. Weave를 사용하면 AI 애플리케이션이 실제로 무엇을 하고 있는지 파악하고, 성능을 측정하며, 시간이 지남에 따라 체계적으로 개선할 수 있습니다.

LLM 애플리케이션을 구축하는 일은 기존 소프트웨어 개발과 근본적으로 다릅니다. LLM의 출력은 비결정적이어서 디버깅이 더 어렵습니다. 품질은 주관적이며 맥락에 따라 달라집니다. 프롬프트를 조금만 바꿔도 예상치 못한 동작 변화가 발생할 수 있습니다. 기존의 테스트 방식만으로는 한계가 있습니다.

<div id="core-capabilities">
  ## 핵심 기능
</div>

Weave는 다음과 같은 핵심 기능을 제공합니다:

* 에이전트 세션과 멀티턴 대화, 또는 애플리케이션 코드의 개별 함수 Call과 출력에 대한 **가시성**.
* 엄선된 테스트 케이스를 기준으로 성능을 측정하는 **체계적인 평가**.
* 무엇이 변경되었는지 파악할 수 있도록 프롬프트, 모델, 데이터의 **버전 추적**.
* 다양한 프롬프트와 모델을 비교하는 **실험**.
* 사람의 판단과 어노테이션을 수집하기 위한 **피드백 수집**.
* LLM의 안전성과 품질을 위해 프로덕션 환경에서 가드레일과 Scorer를 사용하는 **모니터링**.

<div id="choose-a-workflow">
  ## 워크플로 선택하기
</div>

Weave는 이 기능을 두 가지 서로 다른 워크플로를 통해 제공합니다:

* 자동 에이전트 트레이싱
* 애플리케이션의 임의의 LLM Call 및 함수를 계측하여 입력, 출력, 코드를 트레이스

<div id="trace-an-agent">
  ### 에이전트 트레이싱
</div>

Weave는 세션, LLM Call, 도구 실행을 포함한 에이전트 대화의 전체 라이프사이클 전반에 대한 에이전트 관측성을 제공합니다.

에이전트 트레이싱은 [OpenTelemetry (OTel)](https://opentelemetry.io/docs/concepts/) 및 [GenAI semantic conventions](https://opentelemetry.io/docs/specs/semconv/gen-ai/)를 기반으로 구축됩니다. 에이전트가 이미 OTel로 계측되어 있다면 코드를 다시 계측하지 않고도 기존 span을 Weave로 보낼 수 있습니다. Weave는 모든 OTel span을 받아 속성을 저장하므로 이를 쿼리할 수 있습니다. `invoke_agent` 및 `execute_tool`처럼 GenAI 에이전트 규약을 따르는 span은 **Agents** 뷰에서 대화, 턴, 도구 Call로 렌더링됩니다. 직접 만든 에이전트에서 이러한 span을 내보내는 방법을 알아보려면 [맞춤형 에이전트 퀵스타트](/ko/weave/custom-agents-quickstart)를 확인하세요.

에이전트를 개발 중이라면 기본 제공 인테그레이션을 선택할 수 있는 [에이전트 인테그레이션 퀵스타트](/ko/weave/agent-integration-quickstart)부터 시작하거나, 직접 만든 에이전트를 수동으로 계측하려면 [맞춤형 에이전트 퀵스타트](/ko/weave/custom-agents-quickstart)를 따라 하세요. Weave SDK가 에이전트를 어떻게 모델링하는지 알아보려면 [에이전트를 트레이스하는 방법](/ko/weave/guides/tracking/trace-agents)을 확인하세요.

Claude Code 또는 OpenAI Agent SDK와 같이 지원되는 타사 에이전트 하니스를 사용 중이라면, Weave가 별도의 코드 추가 없이 자동으로 계측합니다. 지원되는 모든 프레임워크는 [Integrations](/ko/weave/guides/integrations)에서 확인하세요.

<div id="instrument-and-trace-functions">
  ### 함수 계측 및 트레이싱
</div>

개별 함수 Call, 애플리케이션 코드 또는 맞춤형 로직을 트레이스하려면 Weave Ops와 Call를 사용하세요. 함수에 한 줄만 추가하면 입력, 출력, 비용, 토큰 수, 지연 시간을 추적할 수 있습니다. 또한 다음도 가능합니다:

* 데이터가 LLM 애플리케이션 전반에서 어떻게 흐르는지 엔드 투 엔드로 추적하세요.
* LLM 피드백을 생성하는 데 사용된 원본 문서를 확인하세요.
* 특정 프롬프트와 답변이 생성되는 방식을 자세히 살펴보세요.

개별 함수를 트레이스하려면 Weave [Op 트레이싱 퀵스타트](/ko/weave/quickstart)를 따르거나 Weave [Ops and Call](/ko/weave/guides/tracking/tracing) 사용법을 알아보세요.

Weave SDK는 다양한 프레임워크와 LLM 공급자에 대해 자동 패치도 지원하며, 이를 통해 코드의 LLM Call에서 트레이스를 자동으로 캡처합니다. 지원되는 모든 공급자와 프레임워크는 [Integrations](/ko/weave/guides/integrations)에서 확인하세요.

<div id="when-to-use-agent-tracing-and-when-to-use-application-instrumentation">
  ### 에이전트 트레이싱과 애플리케이션 계측을 언제 사용해야 하는지
</div>

관찰하려는 대상에 따라 사용할 워크플로를 선택하세요:

* **에이전트를 구축하거나 실행하는 경우에는 에이전트 트레이싱을 사용하세요.** 지원되는 에이전트 하니스나 에이전트 SDK를 사용하거나, 직접 계측할 수 있는 맞춤형 에이전트를 구축한 경우에 적합합니다.

* **애플리케이션 코드를 트레이싱하는 경우에는 애플리케이션 계측을 사용하세요.** RAG 파이프라인, 요약 엔드포인트, 맞춤형 비즈니스 로직처럼 대화보다는 개별 Call을 중심으로 구성된 애플리케이션에 적합합니다.

각 방식은 UI의 서로 다른 위치에 트레이스를 기록합니다. 에이전트 트레이스는 **Agents** 페이지에 표시되고, `weave.op` Call은 **Traces** 페이지에 표시됩니다. 같은 Weave 프로젝트에서 두 방식을 모두 사용할 수 있지만, 각각 별도의 트레이스를 생성합니다.

어디서 시작해야 할지 잘 모르겠고 시스템에 에이전트가 포함되어 있다면 [에이전트 인테그레이션 퀵스타트](/ko/weave/agent-integration-quickstart)로 에이전트 트레이싱부터 시작하세요. 그렇지 않다면 [Op 트레이싱 퀵스타트](/ko/weave/quickstart)로 시작하세요.

<div id="evaluations">
  ## 평가
</div>

평가를 통해 에이전트 또는 LLM 애플리케이션의 성능을 벤치마크하고 모니터링하여 품질과 안정성을 반복적으로 개선할 수 있습니다.

* 어떤 모델 및 프롬프트 버전이 어떤 성능으로 이어졌는지 추적할 수 있습니다.
* 하나 이상의 scoring function을 사용해 응답을 평가하는 메트릭을 정의합니다.
* 여러 메트릭에 걸쳐 두 개 이상의 서로 다른 평가를 비교합니다. 특정 샘플의 성능 차이도 대조할 수 있습니다.

[평가 파이프라인 구축하기](/ko/weave/tutorial-eval)

<div id="version-everything">
  ## 모든 요소를 버전 관리하세요
</div>

Weave는 프롬프트, 데이터셋, 모델 설정의 버전을 추적합니다. 문제가 생기면 정확히 무엇이 바뀌었는지 확인할 수 있습니다. 잘 작동했다면 그대로 재현할 수 있습니다.

[버전 관리에 대해 알아보기](/ko/weave/guides/tracking/objects)

<div id="experiment-with-prompts-and-models">
  ## 프롬프트와 모델 실험하기
</div>

API 키를 준비하고 플레이그라운드에서 프롬프트를 테스트하며 서로 다른 상용 모델의 응답을 비교해 보세요.

[Weave 플레이그라운드에서 실험하기](/ko/weave/guides/tools/playground)

<div id="collect-feedback">
  ### 피드백 수집
</div>

프로덕션 사용 과정에서 사람의 피드백, 어노테이션, 수정 사항을 수집합니다. 이 데이터를 활용해 더 나은 테스트 케이스를 만들고 애플리케이션을 개선하세요.

[피드백 수집](/ko/weave/guides/tracking/feedback)

<div id="monitor-production">
  ### 프로덕션 모니터링
</div>

평가에 사용하는 것과 동일한 Scorer를 프로덕션 트래픽에 적용하세요. 문제가 사용자에게 도달하기 전에 포착할 수 있도록 가드레일을 설정하세요.

[가드레일 및 모니터 설정](/ko/weave/guides/evaluation/monitors)

<div id="get-started-with-weave">
  ## Weave 시작하기
</div>

Weave는 Python 및 TypeScript용 SDK를 제공합니다. 두 SDK 모두 트레이싱, 평가, 데이터셋, 그리고 Weave의 핵심 기능을 지원합니다. 클래스 기반 Models 및 Scorer와 같은 일부 고급 기능은 현재 Weave TypeScript SDK에서 사용할 수 없습니다.

Weave를 시작하려면 다음을 수행하세요:

1. [https://wandb.ai/site](https://wandb.ai/site/?utm_source=course\&utm_medium=course\&utm_campaign=weave)에서 W\&B 계정을 만들고, [https://wandb.ai/authorize](https://wandb.ai/authorize?utm_source=course\&utm_medium=course\&utm_campaign=weave)에서 API 키를 발급받습니다.
2. Weave를 설치합니다:

<CodeGroup>
  ```python Python theme={null}
  pip install weave
  ```

  ```typescript TypeScript theme={null}
  npm install weave
  ```
</CodeGroup>

3. 스크립트에서 Weave를 임포트하고 프로젝트를 초기화합니다. `<your-team>`은 담당 W\&B 팀 이름으로, `<your-project>`는 W\&B 프로젝트 이름으로 바꾸세요.

<CodeGroup>
  ```python Python theme={null}
  import weave
  client = weave.init('<your-team>/<your-project>')
  ```

  ```typescript TypeScript theme={null}
  import * as weave from 'weave';
  const client = await weave.init('<your-team>/<your-project>');
  ```
</CodeGroup>

이제 Weave를 사용할 준비가 되었습니다.
