에이전트형 코딩 도구로 LookML 작성

1. 소개

VS Code 생태계를 기반으로 하는 에이전트 코드 작성 도구가 매우 인기를 끌고 있습니다. Cursor와 Antigravity가 그 예입니다. 이 Codelab에서는 이러한 코드 도구를 사용하여 LookML을 작성하는 방법을 보여줍니다.

실습할 내용

이 Codelab에서는 Looker의 VS Code 확장 프로그램을 사용하여 LookML 모델을 수정하여 새 측정값을 추가하고, 새 측정값을 테스트한 후, 해당 새 측정값을 사용하여 LookML 대시보드를 빌드합니다. 이 모든 작업은 코딩 에이전트에 프롬프트를 입력하여 수행됩니다.

필요한 항목

  • 개발자 권한이 있는 Looker 인스턴스
  • 새 LookML 프로젝트 만들기, Looker에서 Explore 보기 및 상호작용을 비롯한 Looker에 대한 기본적인 이해
  • Looker 인스턴스에서 사용자의 API client_id 및 client_secret
  • VS Code 기반 코딩 에이전트 이 가이드에서는 Antigravity를 사용합니다.
  • GitHub 계정
  • BigQuery가 사용 설정된 Google Cloud 프로젝트

대상: LookML 개발자, 데이터 엔지니어, 설계자

2. Looker 인스턴스 설정

Google Cloud 프로젝트 만들기

  1. Google Cloud 콘솔의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.
  2. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

데이터 소스에 Looker 연결

  1. Looker의 관리 에서 데이터베이스 제목으로 이동하여 연결 을 선택합니다.
  2. 화면 오른쪽 상단에서 연결 추가 를 클릭합니다.
  3. Cymbal Gadgets 데이터 세트의 새 데이터 소스를 만듭니다. 파일 이름을 cymbal_gadgets로 지정합니다. SQL 언어로 Google BigQuery Standard SQL을 선택합니다. 일반 연결 설정의 스크린샷
  4. 다음 페이지에서 Google Cloud 프로젝트 이름, 스토리지 프로젝트 looker-private-demo, 데이터 세트 이름 cymbal_gadgets를 입력합니다. 데이터베이스 설정 스크린샷
  5. 나머지 모든 필드의 기본값을 수락하고 새 데이터 소스 생성 프로세스를 완료합니다.
  6. SQL Runner 에서 다음을 실행하여 데이터 세트를 쿼리할 수 있는지 확인합니다.
    SELECT count(*)
    FROM looker-private-demo.cymbal_gadgets.transactions
    

GitHub에서 프로젝트 가져오기

  1. GitHub의 프로젝트 https://github.com/looker-open-source/cymbal_gadgets를 자체 저장소로 포크합니다. 소유하지 않은 프로젝트에는 배포 키를 추가할 수 없으므로 프로젝트를 Looker에 연결하려면 포크해야 합니다.
  2. 개발 모드 를 사용 설정합니다.
  3. 개발 을 선택한 후 프로젝트 를 선택합니다.
  4. LookML 프로젝트 페이지에서 새 모델 을 클릭합니다.
  5. 링크를 클릭하여 이전 LookML 모델 생성 페이지를 사용합니다. 이전 모델 생성 대화상자 링크의 스크린샷
  6. Looker에서 cymbal_gadgets라는 새 빈 프로젝트를 만듭니다. 새 프로젝트 대화상자 스크린샷
  7. **Git 구성** 을 선택하여 만든 포크된 저장소에 연결합니다. Git 설정의 스크린샷
  8. Git 저장소에 Deploy Key를 추가합니다. 배포 키로 쓰기 액세스를 허용하려면 상자를 클릭해야 합니다. Git 배포 키 설정의 스크린샷
  9. 그런 다음 설정 테스트 및 완료를 선택합니다. 완료된 프로젝트 설정의 스크린샷
  10. '🛍️ Cymbal Gadgets: Transactions & Sales' Explore에서 데이터를 쿼리하여 프로젝트와 데이터 소스가 작동하는지 확인합니다.
  11. LookML 편집기에서 cymbal_gadgets 프로젝트를 열고 오른쪽 상단에서 개발자 사본 만들기 버튼을 누릅니다.
  12. **Git 작업** 에서 **변경사항을 원격으로 푸시** 를 클릭하여 GitHub에서 개발 브랜치를 사용할 수 있도록 합니다. Git 작업 스크린샷
  13. 컴퓨터의 터미널 세션에서 다음을 실행합니다.
    cd $HOME
    git clone git@github.com:YOUR_GITHUB_USER/cymbal_gadgets.git
    cd cymbal_gadgets
    git checkout YOUR_DEV_BRANCH
    
    GitHub 사용자 계정 이름을 YOUR_GITHUB_USER로 대체합니다. 또한 개발 브랜치 이름을 YOUR_DEV_BRANCH로 대체합니다. 개발 브랜치의 이름은 dev-john-doe-jhgr와 같이 지정됩니다. 즉, dev라는 단어 뒤에 이름과 성이 오고, 그 뒤에 짧은 임의 문자열이 옵니다. Looker UI의 LookML 편집기 상단에서 개인 개발 브랜치를 확인할 수 있습니다.

3. 에이전트 IDE 설정

VS Code 확장 프로그램 설치

IDE의 왼쪽 패널에서 확장 프로그램 아이콘을 클릭합니다. 그런 다음 'Looker'를 검색하고 설치 버튼을 클릭하여 Google의 공식 확장 프로그램을 설치합니다.

데이터베이스 서버용 MCP 도구 상자 설치

Antigravity에 Looker API (쿼리 실행, SQL 검사, LookML 모델 검사, 연결 스키마 정보 검사)에 대한 액세스 권한을 제공하려면 실행 중인 로컬 데이터베이스 서버용 MCP 도구 상자가 필요합니다. MCP 도구 상자에는 공식 Looker MCP 구현이 포함되어 있습니다. 이 섹션에서는 이를 설정하고 Looker 인스턴스에 맞게 구성합니다.

  1. 먼저 API client_idclient_secret이 필요합니다. Looker API 키 가이드를 사용하여 사용자의 client_idclient_secret을 생성합니다. Looker 인스턴스의 기본 URL도 필요합니다.
  2. 이제 npx를 사용하여 MCP 도구 상자를 설치합니다. Looker 인스턴스 URL 및 API 사용자 인증 정보를 인라인 환경 변수로 제공하거나 셸 환경에서 설정할 수 있습니다. Mac 및 Linux의 셸 환경에서 다음을 실행합니다.
    LOOKER_BASE_URL="https://your-instance.looker.com" \
    LOOKER_CLIENT_ID="YOUR_CLIENT_ID" \
    LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET" \
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    
    Windows의 경우 PowerShell에서 다음을 실행합니다.
    $env:LOOKER_BASE_URL="https://your-instance.looker.com"
    $env:LOOKER_CLIENT_ID="YOUR_CLIENT_ID"
    $env:LOOKER_CLIENT_SECRET="YOUR_CLIENT_SECRET"
    npx @toolbox-sdk/server --prebuilt=looker,looker-dev
    

VS Code 확장 프로그램 구성

이 단계에서는 Looker 및 Looker MCP 서버에 연결하도록 VS Code 확장 프로그램을 구성합니다.

  1. Antigravity에서 CMD-SHIFT-P (Mac) 또는 CTRL+SHIFT+P (Linux/Windows)를 사용하여 명령어 팔레트를 열고 Preferences: Open Workspace Settings (JSON)을 선택합니다.
  2. 다음 코드를 작업공간 설정에 추가하여 client_idclient_secret을 사용하여 확장 프로그램을 구성합니다. looker.projectId의 경우 cymbal_gadgets를 사용합니다.
    {
       "looker.instanceURL": "https://your-instance.looker.com",
       "looker.clientId": "YOUR_API_KEY_CLIENT_ID",
       "looker.clientSecret": "YOUR_API_KEY_CLIENT_SECRET",
       "looker.projectId": "cymbal_gadgets"
    }
    

편집기 열기

  1. Antigravity를 엽니다.
  2. 파일 > 폴더 열기... 를 클릭합니다.
  3. cymbal_gadgets 폴더로 이동하여 선택합니다.

4. 고객 평생 가치 측정값 만들기

먼저 에이전트를 사용하여 기존 LookML 모델에 새 측정값을 만듭니다. Customer Lifetime Value 측정값은 이 소매 사용 사례에서 유용합니다. 에이전트를 사용하여 이 측정값의 방법론과 LookML을 결정합니다.

에이전트에 프롬프트 입력

Antigravity 작업공간의 cymbal_gadgets 프로젝트에는 오른쪽에 새 대화 인터페이스가 있어야 합니다. 프롬프트 Create a Customer Lifetime Value measure.를 사용하여 최신 Gemini 모델로 계획 모드 에서 대화를 시작합니다.

Antigravity의 프롬프트 스크린샷

구현 계획 확인

에이전트는 먼저 구현 계획을 만듭니다. 구현 계획을 열어 검토한 후 계속 버튼을 클릭합니다.

구현 계획 스크린샷

LookML 검토

변경된 LookML을 검토합니다. 변경사항이 적절하고 유효한지 확인합니다.

변경된 LookML의 스크린샷

수정된 LookML은 VS Code 확장 프로그램에 의해 Looker와 자동으로 동기화됩니다. 개발 모드 에서 테스트할 수 있습니다.

IDE에서 테스트

Antigravity에 query CLV broken down by customer loyalty tier 프롬프트를 입력합니다. Antigravity는 Looker MCP 서버를 사용하여 모델을 찾고, 사용 가능한 필드를 검사하고, Looker를 사용하여 쿼리를 실행합니다. 결과는 다음과 같습니다.

Antigravity의 데이터 스크린샷

Looker에서 테스트

Looker에서 개발 모드를 활성화한 상태로 🛍️ Cymbal Gadgets: Transactions &Sales Explore를 엽니다. 고객 평생 가치 측정값을 선택한 후 고객 등록 연도를 기준으로 피벗합니다. 쿼리를 실행합니다. 다음과 같이 표시됩니다.

탐색 스크린샷

5. 고객 평생 가치 대시보드 만들기

이제 더 복잡한 예를 살펴보겠습니다. 에이전트에 완전히 새로운 LookML 대시보드를 만들도록 요청합니다.

에이전트에서 새 대시보드 요청

Antigravity로 다시 전환합니다. 동일한 대화에서 계획 모드 와 최신 Gemini 모델이 선택되어 있는지 확인합니다. 그런 다음 Create a dashboard showing customer lifetime value based on customer loyalty tier 프롬프트를 입력합니다.

대시보드 생성 스크린샷

구현 계획을 승인하고 코드 변경사항을 수락합니다. 이제 이 새 LookML 파일이 Looker와 자동으로 동기화됩니다.

Looker에서 테스트

개발 모드에서 LookML Dashboards 폴더로 이동합니다. 새로 만든 대시보드를 선택하여 봅니다.

새 대시보드의 스크린샷

6. 정리

  1. Antigravity의 소스 제어 창에서 원하는 경우 LookML 변경사항을 되돌립니다. 수정된 각 LookML 파일 옆에는 파일을 되돌리는 ↶와 같은 기호가 있습니다. 각 파일에 대해 해당 버튼을 누릅니다. 변경사항 되돌리기 스크린샷
  2. Looker에서 관리 를 선택한 후 데이터베이스 , 연결 을 선택합니다. cymbal_gadgets 연결의 톱니바퀴 아이콘을 클릭하고 삭제 를 선택합니다. 연결 삭제 의사를 확인합니다.
  3. Looker에서 개발 모드 를 사용합니다. 개발 을 선택한 후 cymbal_gadgets 프로젝트를 선택합니다. 프로젝트 설정 에서 프로젝트 삭제 를 선택합니다. 프로젝트 이름(cymbal_gadgets)을 입력한 후 Permanently Delete cymbal_gadgets이라는 버튼을 선택하여 프로젝트를 삭제할 것인지 확인합니다.

7. 축하합니다

축하합니다. Codelab을 완료했습니다.

학습한 내용

  • 에이전트를 사용하여 LookML을 수정하는 방법
  • 구현 계획을 확인하는 방법
  • IDE에서 테스트하는 방법
  • Looker UI에서 테스트하는 방법
  • 에이전트를 사용하여 새 대시보드를 만드는 방법

해결 방법

이제 UI에서 다음 프롬프트를 사용해 에이전트 IDE의 다양한 기능을 확인해 보세요.

  • 좋은 설명은 사용자와 AI 모두에게 중요합니다. 에이전트에 설명이 없는 모든 필드에 설명을 추가하도록 프롬프트를 입력합니다.
  • 에이전트에 측정기준 그룹 중 하나에 기간을 더 추가하도록 요청합니다.
  • 에이전트에 '분기별로 피벗된 제품 카테고리별 수익'과 같은 쿼리를 실행하도록 요청합니다.

자세히 알아보기