CrewAI 트레이싱

CrewAI 트레이싱 (CrewAI Tracing)

CrewAI 는 크루(Crew)와 플로우(Flow)를 실시간으로 모니터링·디버깅할 수 있는 내장 트레이싱을 제공해요. 에이전트 결정, 태스크 실행 타임라인, 도구 사용, LLM 호출을 CrewAI AMP 플랫폼에서 한눈에 볼 수 있습니다. 이 가이드는 크루와 플로우의 트레이싱을 켜는 방법을 차근차근 안내합니다.

출처: 공식문서

본문

CrewAI 내장 트레이싱이란

CrewAI 의 내장 트레이싱은 에이전트 결정, 태스크 실행 타임라인, 도구 사용, LLM 호출에 대한 포괄적인 관측성을 제공하며, 모두 CrewAI AMP 플랫폼에서 확인할 수 있습니다. 트레이싱은 텔레메트리와 독립적으로 관리됩니다.

사전 요구사항

트레이싱을 쓰려면 다음이 필요합니다.

  • CrewAI AMP 계정: app.crewai.com 에서 무료 계정 가입
  • CLI 인증: CrewAI CLI 로 로컬 환경 인증
crewai login

설정 절차

1단계: CrewAI AMP 계정 만들기

app.crewai.com 에 방문해 무료 계정을 만드세요. 트레이스·메트릭을 보고 크루를 관리할 수 있는 CrewAI AMP 플랫폼에 접근할 수 있게 됩니다.

2단계: CrewAI CLI 설치 및 인증

아직 설치하지 않았다면 CLI 도구와 함께 CrewAI 를 설치합니다.

uv add 'crewai[tools]'

그 다음 CLI 를 CrewAI AMP 계정으로 인증합니다.

crewai login

이 명령은 브라우저로 인증 페이지를 열고, 장치 코드(device code) 입력을 요청하며, 로컬 환경을 CrewAI AMP 계정으로 인증하고, 로컬 개발의 트레이싱을 활성화합니다.

3단계: 크루에서 트레이싱 켜기

크루에서 tracing 파라미터를 True 로 설정하면 됩니다.

from crewai import Agent, Crew, Process, Task
from crewai_tools import SerperDevTool

# 에이전트 정의
researcher = Agent(
    role="Senior Research Analyst",
    goal="Uncover cutting-edge developments in AI and data science",
    backstory="""You work at a leading tech think tank.
    Your expertise lies in identifying emerging trends.
    You have a knack for dissecting complex data and presenting actionable insights.""",
    verbose=True,
    tools=[SerperDevTool()],
)

writer = Agent(
    role="Tech Content Strategist",
    goal="Craft compelling content on tech advancements",
    backstory="""You are a renowned Content Strategist, known for your insightful and engaging articles.
    You transform complex concepts into compelling narratives.""",
    verbose=True,
)

# 태스크 생성
research_task = Task(
    description="""Conduct a comprehensive analysis of the latest advancements in AI in 2024.
    Identify key trends, breakthrough technologies, and potential industry impacts.""",
    expected_output="Full analysis report in bullet points",
    agent=researcher,
)

writing_task = Task(
    description="""Using the insights provided, develop an engaging blog
    post that highlights the most significant AI advancements.
    Your post should be informative yet accessible, catering to a tech-savvy audience.""",
    expected_output="Full blog post of at least 4 paragraphs",
    agent=writer,
)

# 크루에서 트레이싱 활성화
crew = Crew(
    agents=[researcher, writer],
    tasks=[research_task, writing_task],
    process=Process.sequential,
    tracing=True,  # 내장 트레이싱 활성화
    verbose=True
)

# 크루 실행
result = crew.kickoff()

4단계: 플로우에서 트레이싱 켜기

비슷하게 CrewAI 플로우에서도 트레이싱을 활성화할 수 있습니다.

from crewai.flow.flow import Flow, listen, start
from pydantic import BaseModel

class ExampleState(BaseModel):
    counter: int = 0
    message: str = ""

class ExampleFlow(Flow[ExampleState]):
    def __init__(self):
        super().__init__(tracing=True)  # 플로우 트레이싱 활성화

    @start()
    def first_method(self):
        print("Starting the flow")
        self.state.counter = 1
        self.state.message = "Flow started"
        return "continue"

    @listen("continue")
    def second_method(self):
        print("Continuing the flow")
        self.state.counter += 1
        self.state.message = "Flow continued"
        return "finish"

    @listen("finish")
    def final_method(self):
        print("Finishing the flow")
        self.state.counter += 1
        self.state.message = "Flow completed"

# 트레이싱을 켜고 플로우 생성·실행
flow = ExampleFlow(tracing=True)
result = flow.kickoff()

5단계: CrewAI AMP 대시보드에서 트레이스 보기

크루나 플로우를 실행한 뒤 CrewAI AMP 대시보드에서 생성된 트레이스를 확인할 수 있습니다. 에이전트 상호작용, 도구 사용, LLM 호출의 상세 단계가 보입니다. 대시보드의 Trace 탭으로 이동하세요.

대안: 환경 변수 설정

전역으로 트레이싱을 켜려면 환경 변수를 설정할 수도 있습니다.

export CREWAI_TRACING_ENABLED=true

또는 .env 파일에 추가:

CREWAI_TRACING_ENABLED=true

이 환경 변수가 설정되면 tracing=True 를 명시하지 않아도 모든 크루와 플로우에 자동으로 트레이싱이 활성화됩니다.

첫 실행 후 트레이스 보기

크루나 플로우를 처음 실행하면 대화형 터미널이 물어볼 수 있습니다.

Would you like to view your execution traces? [y/N]

yes 를 선택하면 보기 링크가 열립니다. 나중에 crewai traces enable 또는 crewai traces disable 명령으로 바꾸거나, 크루/플로우에서 tracing 을 설정해 변경할 수 있습니다.

트레이스 보기

CrewAI AMP 대시보드 접근

  • app.crewai.com 에 방문해 계정 로그인
  • 프로젝트 대시보드로 이동
  • Trace 탭 클릭해 실행 상세 확인

트레이스에서 볼 수 있는 것

  • 에이전트 결정(Agent Decisions): 에이전트가 태스크를 어떻게 추론하고 결정하는지
  • 태스크 실행 타임라인: 태스크 시퀀스와 의존성의 시각적 표현
  • 도구 사용(Tool Usage): 어떤 도구가 호출됐고 결과가 무엇인지
  • LLM 호출(LLM Calls): 프롬프트·응답을 포함한 모든 언어모델 상호작용 추적
  • 성능 메트릭: 실행 시간, 토큰 사용량, 비용
  • 오류 추적: 상세 오류 정보와 스택 트레이스

트레이스 기능

  • 실행 타임라인: 실행의 각 단계를 클릭해 탐색
  • 상세 로그: 디버깅용 종합 로그 접근
  • 성능 분석: 실행 패턴 분석·성능 최적화
  • 내보내기: 추가 분석용 트레이스 다운로드

문제 해결

인증 문제

  • 로그인됐는지 확인: crewai login
  • 인터넷 연결 확인
  • app.crewai.com 에서 계정 확인

트레이스가 나타나지 않을 때

  • 크루/플로우에 tracing=True 가 설정됐는지 확인
  • 환경 변수를 쓴다면 CREWAI_TRACING_ENABLED=true 확인
  • crewai login 으로 인증됐는지 확인
  • 크루/플로우가 실제로 실행되는지 확인

더 알아보기