Weave 통합

Weave 통합 (Weave Integration)

Weights & Biases (W&B) Weave는 LLM 기반 애플리케이션을 추적·실험·평가·배포·개선하기 위한 프레임워크예요. CrewAI 애플리케이션 개발의 모든 단계를 종합적으로 지원해요.

출처: 문서

본문

Weave Overview

W&B Weave는 LLM 기반 애플리케이션을 추적·실험·평가·배포·개선하기 위한 프레임워크예요. Weave는 CrewAI 애플리케이션 개발의 모든 단계를 종합적으로 지원해요:

  • Tracing & Monitoring — 프로덕션 시스템을 디버그·분석하기 위해 LLM 호출과 애플리케이션 로직을 자동 추적.
  • Systematic Iteration — 프롬프트, 데이터셋, 모델을 반복·개선.
  • Evaluation — 커스텀 또는 사전 구축된 스코러를 사용해 에이전트 성능을 체계적으로 평가·향상.
  • Guardrails — 콘텐츠 모더레이션과 프롬프트 안전을 위한 사전/사후 안전장치로 에이전트 보호.

Weave는 CrewAI 애플리케이션의 트레이스를 자동으로 캡처해서 에이전트의 성능, 상호작용, 실행 흐름을 모니터링·분석할 수 있게 해 줘요. 더 나은 평가 데이터셋을 만들고 에이전트 워크플로우를 최적화하는 데 도움이 돼요.

Setup Instructions (설정 방법)

  1. 필수 패키지 설치
    pip install crewai weave
    
  2. W&B 계정 설정 — 아직 없다면 Weights & Biases 계정에 가입하세요. 트레이스와 메트릭을 보려면 필요해요.
  3. 애플리케이션에서 Weave 초기화 — 애플리케이션에 다음 코드를 추가하세요:
    import weave
    
    # Initialize Weave with your project name
    weave.init(project_name="crewai_demo")
    
    초기화 후 Weave가 트레이스와 메트릭을 볼 수 있는 URL을 제공해요.
  4. Crews/Flows 만들기
    from crewai import Agent, Task, Crew, LLM, Process
    
    # Create an LLM with a temperature of 0 to ensure deterministic outputs
    llm = LLM(model="gpt-4o", temperature=0)
    
    # Create agents
    researcher = Agent(
        role='Research Analyst',
        goal='Find and analyze the best investment opportunities',
        backstory='Expert in financial analysis and market research',
        llm=llm,
        verbose=True,
        allow_delegation=False,
    )
    
    writer = Agent(
        role='Report Writer',
        goal='Write clear and concise investment reports',
        backstory='Experienced in creating detailed financial reports',
        llm=llm,
        verbose=True,
        allow_delegation=False,
    )
    
    # Create tasks
    research_task = Task(
        description='Deep research on the {topic}',
        expected_output='Comprehensive market data including key players, market size, and growth trends.',
        agent=researcher
    )
    
    writing_task = Task(
        description='Write a detailed report based on the research',
        expected_output='The report should be easy to read and understand. Use bullet points where applicable.',
        agent=writer
    )
    
    # Create a crew
    crew = Crew(
        agents=[researcher, writer],
        tasks=[research_task, writing_task],
        verbose=True,
        process=Process.sequential,
    )
    
    # Run the crew
    result = crew.kickoff(inputs={"topic": "AI in material science"})
    print(result)
    
  5. Weave에서 트레이스 보기 — CrewAI 애플리케이션을 실행한 후 초기화 시 제공된 Weave URL을 방문해 다음을 확인하세요:
    • LLM 호출과 메타데이터
    • 에이전트 상호작용과 태스크 실행 흐름
    • 지연 시간과 토큰 사용량 같은 성능 메트릭
    • 실행 중 발생한 에러나 이슈

Features (기능)

  • Weave는 모든 CrewAI 연산을 자동 캡처해요: 에이전트 상호작용과 태스크 실행, 메타데이터와 토큰 사용량을 포함한 LLM 호출, 툴 사용과 결과.
  • 통합은 모든 CrewAI 실행 메서드를 지원해요: kickoff(), kickoff_for_each(), kickoff_async(), kickoff_for_each_async().
  • 모든 crewAI-tools의 자동 트레이싱.
  • 데코레이터 패칭(@start, @listen, @router, @or_, @and_)을 통한 Flow 기능 지원.
  • @weave.op()로 CrewAI Task에 전달된 커스텀 가드레일 추적.

지원되는 것에 대한 자세한 내용은 Weave CrewAI 문서를 참조하세요.

Resources (리소스)

  • 📘 Weave Documentation
  • 📊 Example Weave x CrewAI dashboard
  • 🐦 X

더 알아보기 (Learn more)