OpenLIT은 한 줄의 코드로 AI 에이전트, LLM, VectorDB, GPU의 성능을 쉽게 모니터링할 수 있는 오픈소스 도구다.OpenTelemetry 기반의 트레이싱과 메트릭을 제공해 비용, 지연 시간, 상호작용, 작업 순서 같은 중요한 파라미터를 추적할 수 있다. 이를 통해 하이퍼파라미터를 추적하고 성능 문제를 모니터링하며, 시간이 지남에 따라 에이전트를 개선하고 파인튜닝할 방법을 찾을 수 있다.
from crewai import Agent, Task, Crew, Processimport openlitopenlit.init(disable_metrics=True)# 에이전트 정의researcher = Agent( role="Researcher", goal="AI와 AI 에이전트에 대해 철저한 연구와 분석 수행", backstory="기술, 소프트웨어 엔지니어링, AI, 스타트업 전문 연구원. 프리랜서로 활동 중이며 현재 새로운 클라이언트를 위해 연구 중.", allow_delegation=False, llm='command-r')# 태스크 정의task = Task( description="기사 주제로 흥미로운 아이디어 5개를 생성하고, 각 아이디어에 대해 전체 기사의 잠재력을 보여주는 매력적인 단락 작성. 아이디어 목록과 단락, 노트를 반환.", expected_output="5개의 불릿 포인트, 각각 단락과 노트 포함.",)# 매니저 에이전트 정의manager = Agent( role="Project Manager", goal="크루를 효율적으로 관리하고 고품질 태스크 완수 보장", backstory="복잡한 프로젝트를 감독하고 팀을 성공으로 이끄는 경험 많은 프로젝트 매니저. 크루 멤버의 노력을 조율해 각 태스크가 시간 내에 최고 수준으로 완료되도록 한다.", allow_delegation=True, llm='command-r')# 커스텀 매니저로 크루 인스턴스 생성crew = Crew( agents=[researcher], tasks=[task], manager_agent=manager, process=Process.hierarchical,)# 크루 작업 시작result = crew.kickoff()print(result)
에이전트 관측 데이터가 OpenLIT로 수집되고 전송되면, 다음 단계는 이 데이터를 시각화하고 분석해 에이전트의 성능과 동작을 파악하고 개선할 부분을 식별하는 것이다.브라우저에서 127.0.0.1:3000으로 OpenLIT에 접속해 탐색을 시작한다. 기본 자격 증명으로 로그인할 수 있다:
이메일: user@openlit.io
비밀번호: openlituser
OpenLIT 대시보드
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"CrewAI","colors":{"primary":"#EB6658","light":"#F3A78B","dark":"#C94C3C"},"favicon":"favicon.svg","logo":{"light":"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692","dark":"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692"},"appearance":{"default":"dark","strict":false},"navbar":{"primary":{"type":"github","href":"https://github.com/crewAIInc/crewAI"}},"search":{"prompt":"Search CrewAI docs"},"seo":{"indexing":"navigable"},"footer":{"socials":{"website":"https://crewai.com","x":"https://x.com/crewAIInc","github":"https://github.com/crewAIInc/crewAI","linkedin":"https://www.linkedin.com/company/crewai-inc","youtube":"https://youtube.com/@crewAIInc"}},"navigation":{"global":{"anchors":[{"anchor":"Community","href":"https://community.crewai.com","icon":"discourse"},{"anchor":"Changelog","href":"https://github.com/crewAIInc/crewAI/releases","icon":"timeline"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"burtk","hasAudioNarration":false,"actualSubdomain":"burtk","customDomains":["crewai.burt.pe.kr"],"gitSource":{"type":"github","owner":"skyfe79","repo":"crewai-dev-docs","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e68f044dd579e9b57b28","collectionId":"1fdb12df-1617-45b8-8d8f-6adc9443d8ef","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e68f044dd579e9b57b28:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Get Started","count":75},{"language":"default","tag":"Tools","count":32},{"language":"default","tag":"How to Guides","count":20},{"language":"default","tag":"Core Concepts","count":16},{"language":"default","tag":"Examples","count":2},{"language":"default","tag":"Telemetry","count":1}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"how-to/openlit-observability","slug":"/how-to/openlit-observability","pageMetadata":{"title":"OpenLIT로 에이전트 모니터링 시작하기","description":"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.","icon":"magnifying-glass-chart","href":"/how-to/openlit-observability"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,OptimizedImage,Step,Steps,Tab,Tabs}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`openlit-개요`,children:`OpenLIT 개요`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://github.com/openlit/openlit?src=crewai-docs`,children:`OpenLIT`}),`은 `,_jsx(_components.strong,{children:`한 줄의 코드`}),`로 AI 에이전트, LLM, VectorDB, GPU의 성능을 쉽게 모니터링할 수 있는 오픈소스 도구다.`]}),`\n`,_jsx(_components.p,{children:`OpenTelemetry 기반의 트레이싱과 메트릭을 제공해 비용, 지연 시간, 상호작용, 작업 순서 같은 중요한 파라미터를 추적할 수 있다. 이를 통해 하이퍼파라미터를 추적하고 성능 문제를 모니터링하며, 시간이 지남에 따라 에이전트를 개선하고 파인튜닝할 방법을 찾을 수 있다.`}),`\n`,_jsxs(Frame,{caption:`OpenLIT 대시보드`,children:[_jsx(OptimizedImage,{src:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=d4ff711217aec6b938f75b1973e80db7`,alt:`비용과 토큰을 포함한 에이전트 사용량 개요`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/openlit1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=280\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=5b00bc8449f92df798eefd24ff47da19 280w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=560\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=988322ee20335dfe7c512852bffd424a 560w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=840\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=0a8739a89c54c81651f79b90b3c6633b 840w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=fbff526373e275cd08a65454eb13dcf3 1100w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=865528a92d212ff65d155e29302544a4 1650w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=6cff1b9aecfeeef59c5b7279825a1d00 2500w`}),_jsx(OptimizedImage,{src:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=bb8274e1f3715aca0db73cfa54f6c770`,alt:`에이전트의 OpenTelemetry 트레이스와 메트릭 개요`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1728`,height:`1728`,\"data-path\":`images/openlit2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=280\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=7d1e105c0518ae0fb4c1cbcd3ee4f965 280w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=560\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=bbceabb1c79a5cac3dc0ebce1f4fd2c0 560w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=840\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=4e754dc7c33d4c3c5564447288cc81b4 840w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=cd9ef9a8b8012e0b7e9bf0b77337c76c 1100w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=203b06a23842e4c4d8ceddd916d4d912 1650w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=b35f7e81fce906366e1f4aeb5f4bacf8 2500w`}),_jsx(OptimizedImage,{src:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=84c77f96e5f5e0a90c92b1d3fa181892`,alt:`에이전트 트레이스 상세 정보`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/openlit3.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=280\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=6048150aea853770c38787f618a5feda 280w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=560\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=a34ac85036855075ffe227e93a96576f 560w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=840\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=9c33cdadccfc24225fb4ffc64ccba6dd 840w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=12601281438d1046f59075fb15b0c47b 1100w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=2e3b389f901ec551c2ebef561612db84 1650w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit3.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=831da6e6facdc0a3b2f2657790b46774 2500w`})]}),`\n`,_jsx(Heading,{level:`3`,id:`주요-기능`,children:`주요 기능`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`분석 대시보드`}),`: 어시스턴트의 상태와 성능을 상세히 모니터링한다. 메트릭, 비용, 사용자 상호작용을 추적하는 대시보드를 제공한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`OpenTelemetry 기반 관측 가능성 SDK`}),`: 벤더 중립적인 SDK를 활용해 Grafana, DataDog 등 기존 관측 가능성 도구로 트레이스와 메트릭을 전송한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`커스텀 및 파인튜닝 모델 비용 추적`}),`: 특정 모델에 맞춘 비용 추정을 위해 커스텀 가격 파일을 사용해 정확한 예산 계획을 세운다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`예외 모니터링 대시보드`}),`: 일반적인 예외와 오류를 추적하는 모니터링 대시보드를 통해 문제를 빠르게 발견하고 해결한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`규정 준수 및 보안`}),`: 욕설이나 개인정보 유출과 같은 잠재적 위협을 감지한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`프롬프트 주입 탐지`}),`: 코드 주입과 비밀 정보 유출 가능성을 식별한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API 키와 비밀 정보 관리`}),`: LLM API 키와 비밀 정보를 안전하게 중앙에서 관리해 불안전한 관행을 방지한다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`프롬프트 관리`}),`: PromptHub를 사용해 어시스턴트 프롬프트를 관리하고 버전을 유지한다. 이를 통해 모든 어시스턴트에서 일관되고 쉽게 접근할 수 있다.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`모델 플레이그라운드`}),`: CrewAI 어시스턴트를 배포하기 전에 다양한 모델을 테스트하고 비교한다.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`설정-안내`,children:`설정 안내`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`OpenLIT 배포`,children:_jsxs(Steps,{children:[_jsx(Step,{title:`OpenLIT 저장소 Git Clone`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`git`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` clone`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` git@github.com:openlit/openlit.git`})]}),`\n`]})})})}),_jsxs(Step,{title:`Docker Compose 실행`,children:[_jsxs(_components.p,{children:[_jsx(_components.a,{href:`https://github.com/openlit/openlit`,children:`OpenLIT 저장소`}),`의 루트 디렉토리에서 아래 명령어를 실행한다:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` compose`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` up`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`})]}),`\n`]})})})]})]})}),_jsx(Step,{title:`OpenLIT SDK 설치`,children:_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`pip`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` install`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` openlit`})]}),`\n`]})})})}),_jsxs(Step,{title:`애플리케이션에서 OpenLIT 초기화`,children:[_jsx(_components.p,{children:`애플리케이션 코드에 다음 두 줄을 추가한다:`}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`함수 인자로 설정`,id:`%ED%95%A8%EC%88%98-%EC%9D%B8%EC%9E%90%EB%A1%9C-%EC%84%A4%EC%A0%95`,children:[_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openlit`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`openlit.init(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`otlp_endpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://127.0.0.1:4318\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`]})})}),_jsx(_components.p,{children:`CrewAI 에이전트 모니터링 예제:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`41`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`41`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent, Task, Crew, Process`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openlit`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`openlit.init(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`disable_metrics`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 에이전트 정의`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`researcher `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Researcher\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` goal`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"AI와 AI 에이전트에 대해 철저한 연구와 분석 수행\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` backstory`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"기술, 소프트웨어 엔지니어링, AI, 스타트업 전문 연구원. 프리랜서로 활동 중이며 현재 새로운 클라이언트를 위해 연구 중.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` allow_delegation`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`False`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` llm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'command-r'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 태스크 정의`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`task `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Task(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"기사 주제로 흥미로운 아이디어 5개를 생성하고, 각 아이디어에 대해 전체 기사의 잠재력을 보여주는 매력적인 단락 작성. 아이디어 목록과 단락, 노트를 반환.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` expected_output`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"5개의 불릿 포인트, 각각 단락과 노트 포함.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 매니저 에이전트 정의`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`manager `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Project Manager\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` goal`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"크루를 효율적으로 관리하고 고품질 태스크 완수 보장\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` backstory`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"복잡한 프로젝트를 감독하고 팀을 성공으로 이끄는 경험 많은 프로젝트 매니저. 크루 멤버의 노력을 조율해 각 태스크가 시간 내에 최고 수준으로 완료되도록 한다.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` allow_delegation`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` llm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'command-r'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 커스텀 매니저로 크루 인스턴스 생성`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[researcher],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[task],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` manager_agent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`manager,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`Process.hierarchical,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 크루 작업 시작`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crew.kickoff()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(result)`})]}),`\n`]})})})]}),_jsxs(Tab,{title:`환경 변수로 설정`,id:`%ED%99%98%EA%B2%BD-%EB%B3%80%EC%88%98%EB%A1%9C-%EC%84%A4%EC%A0%95`,children:[_jsx(_components.p,{children:`애플리케이션 코드에 다음 두 줄을 추가한다:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openlit`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`openlit.init()`})}),`\n`]})})}),_jsx(_components.p,{children:`OTEL 익스포터 엔드포인트를 설정하려면 다음 명령어를 실행한다:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` OTEL_EXPORTER_OTLP_ENDPOINT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://127.0.0.1:4318\"`})]}),`\n`]})})}),_jsx(_components.p,{children:`CrewAI 비동기 에이전트 모니터링 예제:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`35`,language:`python`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`python`,children:_jsxs(_components.code,{language:`python`,numberOfLines:`35`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` asyncio`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` crewai `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew, Agent, Task`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` openlit`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`openlit.init(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`otlp_endpoint`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"http://127.0.0.1:4318\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 코드 실행이 가능한 에이전트 생성`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`coding_agent `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Agent(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Python Data Analyst\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` goal`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Python을 사용해 데이터를 분석하고 인사이트 제공\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` backstory`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"강력한 Python 스킬을 가진 경험 많은 데이터 분석가.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` allow_code_execution`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`True`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` llm`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"command-r\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 코드 실행이 필요한 태스크 생성`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`data_analysis_task `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Task(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` description`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"주어진 데이터셋을 분석하고 참가자의 평균 나이 계산. 나이: `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`{ages}`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`coding_agent,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` expected_output`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"5개의 불릿 포인트, 각각 단락과 노트 포함.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 크루 생성 및 태스크 추가`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`analysis_crew `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Crew(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` agents`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[coding_agent],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:` tasks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[data_analysis_task]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 비동기 함수로 크루 실행`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` def`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` async_crew_execution`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`():`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` result `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` analysis_crew.kickoff_async(`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`inputs`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ages\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`25`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`30`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`35`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`40`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`45`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]})`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` print`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Crew Result:\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, result)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# 비동기 함수 실행`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`asyncio.run(async_crew_execution())`})}),`\n`]})})})]})]}),_jsxs(_components.p,{children:[`더 고급 설정과 사용 사례는 OpenLIT `,_jsx(_components.a,{href:`https://github.com/openlit/openlit/tree/main/sdk/python`,children:`Python SDK 저장소`}),`를 참조한다.`]})]}),_jsxs(Step,{title:`시각화 및 분석`,children:[_jsx(_components.p,{children:`에이전트 관측 데이터가 OpenLIT로 수집되고 전송되면, 다음 단계는 이 데이터를 시각화하고 분석해 에이전트의 성능과 동작을 파악하고 개선할 부분을 식별하는 것이다.`}),_jsxs(_components.p,{children:[`브라우저에서 `,_jsx(_components.code,{children:`127.0.0.1:3000`}),`으로 OpenLIT에 접속해 탐색을 시작한다. 기본 자격 증명으로 로그인할 수 있다:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`이메일`}),`: `,_jsx(_components.code,{children:`user@openlit.io`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`비밀번호`}),`: `,_jsx(_components.code,{children:`openlituser`})]}),`\n`]}),_jsxs(Frame,{caption:`OpenLIT 대시보드`,children:[_jsx(OptimizedImage,{src:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=d4ff711217aec6b938f75b1973e80db7`,alt:`에이전트 사용량 개요(비용 및 토큰 포함)`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1720`,height:`1720`,\"data-path\":`images/openlit1.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=280\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=5b00bc8449f92df798eefd24ff47da19 280w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=560\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=988322ee20335dfe7c512852bffd424a 560w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=840\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=0a8739a89c54c81651f79b90b3c6633b 840w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=fbff526373e275cd08a65454eb13dcf3 1100w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=865528a92d212ff65d155e29302544a4 1650w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit1.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=6cff1b9aecfeeef59c5b7279825a1d00 2500w`}),_jsx(OptimizedImage,{src:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=bb8274e1f3715aca0db73cfa54f6c770`,alt:`에이전트 OTEL 트레이스 및 메트릭 개요`,\"data-og-width\":`3024`,width:`3024`,\"data-og-height\":`1728`,height:`1728`,\"data-path\":`images/openlit2.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=280\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=7d1e105c0518ae0fb4c1cbcd3ee4f965 280w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=560\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=bbceabb1c79a5cac3dc0ebce1f4fd2c0 560w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=840\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=4e754dc7c33d4c3c5564447288cc81b4 840w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=1100\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=cd9ef9a8b8012e0b7e9bf0b77337c76c 1100w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=1650\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=203b06a23842e4c4d8ceddd916d4d912 1650w, https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/images/openlit2.png?w=2500\u0026fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=b35f7e81fce906366e1f4aeb5f4bacf8 2500w`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"OpenLIT로 에이전트 모니터링 시작하기","description":"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.","icon":"magnifying-glass-chart","href":"/how-to/openlit-observability"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"OpenLIT 개요","slug":"openlit-개요","depth":1,"children":[{"title":"주요 기능","slug":"주요-기능","depth":3,"children":[]}]},{"title":"설정 안내","slug":"설정-안내","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"burtk","siteName":"CrewAI","title":"OpenLIT로 에이전트 모니터링 시작하기 - CrewAI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T06:46:24.607Z","originalFileLocation":"how-to/openlit-observability.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\">\u003cmeta data-mint-head name=\"application-name\" content=\"CrewAI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"OpenLIT로 에이전트 모니터링 시작하기 - CrewAI\">\u003cmeta data-mint-head property=\"og:description\" content=\"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"CrewAI\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://crewai.burt.pe.kr/how-to/openlit-observability\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://burtk.mintlify.app/_mintlify/api/og/v2?division=How+to+Guides\u0026amp;title=OpenLIT%EB%A1%9C+%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81+%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0\u0026amp;description=OpenTelemetry%EB%A5%BC+%EC%82%AC%EC%9A%A9%ED%95%B4+%EB%8B%A8+%ED%95%9C+%EC%A4%84%EC%9D%98+%EC%BD%94%EB%93%9C%EB%A1%9C+%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%EC%9D%84+%EB%B9%A0%EB%A5%B4%EA%B2%8C+%EC%8B%9C%EC%9E%91%ED%95%B4+%EB%B3%B4%EC%84%B8%EC%9A%94.\u0026amp;theme=5c009710c6400deb3b026f8d\u0026amp;signature=c031a75e180a3a276489723e6e57e67c5564819e43b591c9a40344c15ab6ad62\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"OpenLIT로 에이전트 모니터링 시작하기 - CrewAI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://burtk.mintlify.app/_mintlify/api/og/v2?division=How+to+Guides\u0026amp;title=OpenLIT%EB%A1%9C+%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81+%EC%8B%9C%EC%9E%91%ED%95%98%EA%B8%B0\u0026amp;description=OpenTelemetry%EB%A5%BC+%EC%82%AC%EC%9A%A9%ED%95%B4+%EB%8B%A8+%ED%95%9C+%EC%A4%84%EC%9D%98+%EC%BD%94%EB%93%9C%EB%A1%9C+%EC%97%90%EC%9D%B4%EC%A0%84%ED%8A%B8+%EB%AA%A8%EB%8B%88%ED%84%B0%EB%A7%81%EC%9D%84+%EB%B9%A0%EB%A5%B4%EA%B2%8C+%EC%8B%9C%EC%9E%91%ED%95%B4+%EB%B3%B4%EC%84%B8%EC%9A%94.\u0026amp;theme=5c009710c6400deb3b026f8d\u0026amp;signature=c031a75e180a3a276489723e6e57e67c5564819e43b591c9a40344c15ab6ad62\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/burtk/hKdXq3QrSgYI5ALr/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"CrewAI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#EB6658\">\u003clink data-mint-head rel=\"canonical\" href=\"https://crewai.burt.pe.kr/how-to/openlit-observability\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/how-to/openlit-observability.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://crewai.burt.pe.kr/#organization\",\"name\":\"CrewAI\",\"url\":\"https://crewai.burt.pe.kr\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/burtk/rNQc_sgW_NZiUz5g/crew_only_logo.png?fit=max\u0026auto=format\u0026n=rNQc_sgW_NZiUz5g\u0026q=85\u0026s=416de478f9659f33187a270b65cd8692\"}},{\"@type\":\"WebSite\",\"@id\":\"https://crewai.burt.pe.kr#website\",\"name\":\"CrewAI\",\"url\":\"https://crewai.burt.pe.kr\",\"publisher\":{\"@id\":\"https://crewai.burt.pe.kr/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://crewai.burt.pe.kr/how-to/openlit-observability#webpage\",\"url\":\"https://crewai.burt.pe.kr/how-to/openlit-observability\",\"name\":\"OpenLIT로 에이전트 모니터링 시작하기\",\"description\":\"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\",\"dateModified\":\"2026-01-07T06:46:24.607Z\",\"isPartOf\":{\"@id\":\"https://crewai.burt.pe.kr#website\"},\"breadcrumb\":{\"@id\":\"https://crewai.burt.pe.kr/how-to/openlit-observability#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://crewai.burt.pe.kr/how-to/openlit-observability#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"How to Guides\",\"item\":\"https://crewai.burt.pe.kr/how-to/create-custom-tools\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"OpenLIT로 에이전트 모니터링 시작하기\",\"item\":\"https://crewai.burt.pe.kr/how-to/openlit-observability\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://crewai.burt.pe.kr/how-to/openlit-observability#article\",\"headline\":\"OpenLIT로 에이전트 모니터링 시작하기\",\"name\":\"OpenLIT로 에이전트 모니터링 시작하기\",\"description\":\"OpenTelemetry를 사용해 단 한 줄의 코드로 에이전트 모니터링을 빠르게 시작해 보세요.\",\"url\":\"https://crewai.burt.pe.kr/how-to/openlit-observability\",\"mainEntityOfPage\":{\"@id\":\"https://crewai.burt.pe.kr/how-to/openlit-observability#webpage\"},\"dateModified\":\"2026-01-07T06:46:24.607Z\",\"publisher\":{\"@id\":\"https://crewai.burt.pe.kr/#organization\"},\"isPartOf\":{\"@id\":\"https://crewai.burt.pe.kr#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"CrewAI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"CrewAI","nav":{"global":{"anchors":[{"anchor":"Community","href":"https://community.crewai.com","icon":"discourse"},{"anchor":"Changelog","href":"https://github.com/crewAIInc/crewAI/releases","icon":"timeline"}]},"tabs":[{"tab":"Get Started","groups":[{"group":"Get Started","pages":[{"title":"소개","icon":"handshake","href":"/introduction"},{"title":"설치","icon":"wrench","href":"/installation"},{"title":"Quickstart","icon":"rocket","href":"/quickstart"}]},{"group":"Core Concepts","pages":[{"title":"Agents","icon":"robot","href":"/concepts/agents"},{"title":"Tasks","icon":"list-check","href":"/concepts/tasks"},{"title":"Crews","icon":"people-group","href":"/concepts/crews"},{"title":"Flows","icon":"arrow-progress","href":"/concepts/flows"},{"title":"Knowledge","icon":"book","href":"/concepts/knowledge"},{"title":"LLMs","icon":"microchip-ai","href":"/concepts/llms"},{"title":"Processes","icon":"bars-staggered","href":"/concepts/processes"},{"title":"협업","icon":"screen-users","href":"/concepts/collaboration"},{"title":"Training","icon":"dumbbell","href":"/concepts/training"},{"title":"Memory","icon":"database","href":"/concepts/memory"},{"title":"Planning","icon":"brain","href":"/concepts/planning"},{"title":"테스트","icon":"vial","href":"/concepts/testing"},{"title":"CLI","icon":"terminal","href":"/concepts/cli"},{"title":"도구","icon":"screwdriver-wrench","href":"/concepts/tools"},{"title":"LangChain 도구 활용하기","icon":"link","href":"/concepts/langchain-tools"},{"title":"LlamaIndex 도구 활용하기","icon":"toolbox","href":"/concepts/llamaindex-tools"}]},{"group":"How to Guides","pages":[{"title":"커스텀 도구 만들기","icon":"hammer","href":"/how-to/create-custom-tools"},{"title":"순차적 프로세스","icon":"forward","href":"/how-to/sequential-process"},{"title":"계층적 프로세스","icon":"sitemap","href":"/how-to/hierarchical-process"},{"title":"나만의 매니저 에이전트 만들기","icon":"user-shield","href":"/how-to/custom-manager-agent"},{"title":"다양한 LLM 연결하기","icon":"brain-circuit","href":"/how-to/llm-connections"},{"title":"커스텀 에이전트 설정","icon":"user-pen","href":"/how-to/customizing-agents"},{"title":"멀티모달 에이전트 활용하기","icon":"video","href":"/how-to/multimodal-agents"},{"title":"코딩 에이전트","icon":"rectangle-code","href":"/how-to/coding-agents"},{"title":"도구 출력 결과 강제 지정","icon":"wrench-simple","href":"/how-to/force-tool-output-as-result"},{"title":"실행 과정에서의 인간 입력","icon":"user-check","href":"/how-to/human-input-on-execution"},{"title":"비동기 방식으로 크루 시작하기","icon":"rocket-launch","href":"/how-to/kickoff-async"},{"title":"Kickoff Crew for Each","icon":"at","href":"/how-to/kickoff-for-each"},{"title":null,"href":"/how-to/replay-tasks-from-latest-crew-kickoff"},{"title":"조건부 작업","icon":"diagram-subtask","href":"/how-to/conditional-tasks"},{"title":"AgentOps를 활용한 에이전트 모니터링","icon":"paperclip","href":"/how-to/agentops-observability"},{"title":"Langtrace를 활용한 에이전트 모니터링","icon":"chart-line","href":"/how-to/langtrace-observability"},{"title":"MLflow를 활용한 에이전트 모니터링","description":"MLflow를 사용해 에이전트를 빠르게 모니터링하는 방법.","icon":"bars-staggered","href":"/how-to/mlflow-observability"},{"title":"OpenLIT로 에이전트 모니터링 시작하기","icon":"magnifying-glass-chart","href":"/how-to/openlit-observability"},{"title":"Portkey를 활용한 에이전트 모니터링","description":"CrewAI와 함께 Portkey 사용 방법","icon":"key","href":"/how-to/portkey-observability"},{"title":"Langfuse로 에이전트 모니터링하기","icon":"magnifying-glass-chart","href":"/how-to/langfuse-observability"}]},{"group":"Tools","pages":[{"title":"Browserbase Web Loader","icon":"browser","href":"/tools/browserbaseloadtool"},{"title":"Code Docs RAG Search","icon":"code","href":"/tools/codedocssearchtool"},{"title":"Code Interpreter","icon":"code-simple","href":"/tools/codeinterpretertool"},{"title":"Composio Tool","icon":"gear-code","href":"/tools/composiotool"},{"title":"CSV RAG 검색","icon":"file-csv","href":"/tools/csvsearchtool"},{"title":"DALL-E Tool","icon":"image","href":"/tools/dalletool"},{"title":"Directory RAG Search","icon":"address-book","href":"/tools/directorysearchtool"},{"title":"디렉토리 읽기","icon":"folder-tree","href":"/tools/directoryreadtool"},{"title":"DOCX RAG 검색","icon":"file-word","href":"/tools/docxsearchtool"},{"title":"EXA Search Web Loader","icon":"globe-pointer","href":"/tools/exasearchtool"},{"title":"파일 읽기","icon":"folders","href":"/tools/filereadtool"},{"title":"파일 쓰기","icon":"file-pen","href":"/tools/filewritetool"},{"title":"Firecrawl 웹사이트 크롤링","icon":"fire-flame","href":"/tools/firecrawlcrawlwebsitetool"},{"title":"Firecrawl 웹사이트 스크랩","icon":"fire-flame","href":"/tools/firecrawlscrapewebsitetool"},{"title":"Firecrawl Search","icon":"fire-flame","href":"/tools/firecrawlsearchtool"},{"title":"Github Search","icon":"github","href":"/tools/githubsearchtool"},{"title":"Google Serper 검색","icon":"google","href":"/tools/serperdevtool"},{"title":"JSON RAG 검색","icon":"file-code","href":"/tools/jsonsearchtool"},{"title":"MDX RAG 검색","icon":"markdown","href":"/tools/mdxsearchtool"},{"title":"MySQL RAG 검색","icon":"database","href":"/tools/mysqltool"},{"title":"NL2SQL Tool","icon":"language","href":"/tools/nl2sqltool"},{"title":"PDF RAG 검색","icon":"file-pdf","href":"/tools/pdfsearchtool"},{"title":"PG RAG 검색","icon":"database","href":"/tools/pgsearchtool"},{"title":"웹사이트 스크래핑","icon":"magnifying-glass-location","href":"/tools/scrapewebsitetool"},{"title":"Selenium Scraper","icon":"clipboard-user","href":"/tools/seleniumscrapingtool"},{"title":"Spider Scraper","icon":"spider-web","href":"/tools/spidertool"},{"title":"TXT RAG 검색","icon":"file-lines","href":"/tools/txtsearchtool"},{"title":"Vision Tool","icon":"eye","href":"/tools/visiontool"},{"title":"웹사이트 RAG 검색","icon":"globe-stand","href":"/tools/websitesearchtool"},{"title":"XML RAG 검색","icon":"file-xml","href":"/tools/xmlsearchtool"},{"title":"YouTube 채널 RAG 검색","icon":"youtube","href":"/tools/youtubechannelsearchtool"},{"title":"YouTube Video RAG Search","icon":"youtube","href":"/tools/youtubevideosearchtool"}]},{"group":"Telemetry","pages":[{"title":"Telemetry","icon":"signal-stream","href":"/telemetry"}]}]},{"tab":"Examples","pages":[{"title":"Examples","href":"/examples/example"}]}]},"basePath":"","title":"OpenLIT로 에이전트 모니터링 시작하기 - CrewAI","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DXXFP6nH.js","DynamicMarkdown-B54_zNBF.js","zoom-image-lightbox-BG6oD64b.js","lightbox-handle-r17bVUz3.js"]}