홍드로이드의 야매코딩

안 물려주는 환경변수 본문

AI & Vibe Coding

안 물려주는 환경변수

홍드로이드 2026. 8. 27. 00:05
반응형

AI에게 명령을 시키면 그 명령은 별도 프로세스에서 돕니다. 훅도, 붙여둔 연결 서버도 마찬가지고요. 이때 내 터미널의 설정이 그대로 따라간다고 생각하기 쉬운데, 일부러 끊어놓은 항목이 있습니다. 반대로 일부러 만들어 넘겨주는 값도 하나 있고요. 이걸 모르면 "분명 설정했는데 왜 안 먹지" 또는 더 나쁘게 "내 측정 데이터가 엉뚱한 곳에 섞여 들어가는" 상황이 생깁니다. 무엇이 넘어가고 무엇이 안 넘어가는지, 그리고 왜 그렇게 갈랐는지 정리했습니다.

📌 30초 요약

  • 측정 관련 설정은 자식에게 안 넘어갑니다 — 의도적으로 끊어놨습니다.
  • 대상은 넷 — 명령 실행, 훅, 연결 서버, 코드 인텔리전스 서버.
  • 이유는 데이터가 섞이는 걸 막기 위해서입니다.
  • 필요하면 명령 안에서 직접 지정하면 됩니다.
  • 반대로 추적용 값 하나는 일부러 넘겨줍니다 — 조건이 붙습니다.
  • ⚠️ 노트에만 있고 문서에서 못 찾은 항목 둘도 밝혀뒀습니다.

일부러 끊어놓은 것

공식 문서가 이 부분을 한 문장으로 못 박아 뒀습니다. 측정·수집 관련 환경 설정을 자기가 띄우는 자식 프로세스에 전달하지 않습니다. 대상은 넷입니다 — 명령을 실행하는 도구, 훅, 붙여둔 연결 서버, 코드 인텔리전스 서버. 즉 AI가 대신 돌리는 거의 모든 바깥 프로세스가 여기 해당합니다.

문서가 이유까지 적어뒀는데, 여기가 핵심입니다. 측정 기능이 붙어 있는 프로그램을 AI에게 시켜 돌리면, 그 프로그램이 AI 도구 자신의 수집 주소로 데이터를 보내버리는 일이 생깁니다. 내 애플리케이션의 측정값이 엉뚱한 통에 섞여 들어가는 셈이죠. 인증 정보까지 같이 물려받으니 더 곤란합니다. 그래서 아예 안 넘기는 쪽으로 정리한 겁니다.

🔌 그럼 내 프로그램은 어떻게 측정하나

문서가 해법도 같이 줍니다 — 그 명령 안에서 직접 설정하라는 겁니다. 터미널에 미리 걸어둔 값에 기대지 말고, AI가 실행할 명령줄 자체에 필요한 값을 붙여 넣으라는 뜻이죠. 조금 번거롭지만 어느 프로그램이 어디로 보내는지가 명령마다 눈에 보이는 장점이 있습니다. 반대로 말하면 "터미널에서는 잘 되던 게 AI에게 시키면 안 되는" 상황의 첫 번째 용의자가 바로 이겁니다.

반대로 일부러 넘겨주는 것

전부 끊어놓기만 한 건 아닙니다. 추적 기능을 켜두면 명령을 실행하는 자식 프로세스에 지금 어떤 작업의 흐름 안에 있는지를 나타내는 값 하나가 자동으로 들어갑니다. 표준 규격을 따르는 값이라, 그 값을 읽을 줄 아는 프로그램이면 자기 기록을 같은 흐름 아래에 붙입니다.

결과적으로 "AI가 무엇을 시켰고, 그 스크립트 안에서 또 무슨 일이 있었는지"가 한 줄기로 이어집니다. 중간에 스크립트를 거치면 흐름이 끊기던 게 이어지는 것이라, 여러 단계를 자동으로 굴리는 구조에서는 꽤 값이 나옵니다. 다만 이 기능 자체가 아직 별도 표시를 켜야 도는 단계이고, 모델 요청 쪽으로까지 이 값을 실어 보낼지는 또 다른 설정으로 따로 정합니다.

항목 자식에게 비고
측정·수집 설정 안 넘어감 데이터 섞임 방지
추적 흐름 값 넘어감 추적 켠 경우만
모델 요청에 실어 보내기 별도 설정 기본 조건 있음
세션 식별값 넘어감(노트) 문서 미확인
노력 강도 값 넘어감(노트) 문서 미확인

노트에만 있고 문서에 없는 둘

주간 변경 노트에는 자식 프로세스에 두 가지를 더 넣어준다고 적혀 있습니다. 하나는 지금 세션을 가리키는 식별값으로, 훅에 전달되는 것과 같은 값이라고 합니다. 다른 하나는 지금 어느 정도로 힘을 들여 일하는 중인지를 나타내는 값인데, 훅이 결과로 받는 정보에도 같이 담기고 명령 안에서도 읽을 수 있다고 되어 있습니다.

다만 전용 문서를 뒤져봤지만 이 둘은 찾지 못했습니다. 노트에만 있는 항목이라 이 글에서는 "그렇다더라"까지만 적고 활용법은 다루지 않겠습니다. 쓰실 생각이라면 최신 문서에서 직접 확인하시는 편이 안전합니다. 쓸 수만 있다면 재미있는 활용이 나올 자리이긴 합니다 — 예를 들어 힘을 많이 들이는 작업일 때만 더 꼼꼼한 검사를 돌리는 식으로 훅을 짜볼 수 있겠죠.

어디서 걸리기 쉬운가

가장 흔한 자리는 붙여둔 연결 서버입니다. 서버는 별도 프로세스로 뜨는데, 그 서버가 필요로 하는 값을 터미널에만 걸어두면 서버 쪽에는 안 보일 수 있습니다. 연결 서버를 붙여 쓰는 방식 자체는 코드를 읽는 눈을 달아주는 서버를 다루면서 정리한 적이 있는데, 설정이 안 먹는 것 같으면 "내가 건 자리와 서버가 읽는 자리가 같은가"부터 보시면 됩니다.

두 번째는 내 컴퓨터에서 돌리는 모델을 붙여 쓸 때입니다. 주소나 인증 값을 환경에 걸어두고 쓰는 방식이 흔한데, 그 값이 자식 프로세스까지 따라가는지는 항목마다 다릅니다. 로컬 모델을 세워 쓰는 전체 흐름은 내 PC에서 무료로 돌리는 가이드에 정리해뒀습니다. 그리고 훅이 셸을 거치지 않고 도는 방식을 쓴다면 변수 확장 자체가 일어나지 않으니, 셸 없이 도는 훅 쪽도 같이 보셔야 합니다.

🔁 환경 변수가 설정 파일을 이기는 자리도 있습니다

환경 변수가 안 물려지는 이야기를 했으니 반대로 힘이 센 자리도 하나 적어 둡니다. 프롬프트 제안 기능은 설정 파일 항목과 환경 변수 양쪽으로 켜고 끌 수 있는데, 환경 변수가 설정 파일보다 앞섭니다. 설정에 켜 뒀는데 안 켜진다면 셸 어딘가에 변수가 남아 있는 건 아닌지 보세요. 조직 차원에서 잠글 때도 같은 이유로 한 단계가 더 붙습니다 — 관리형 설정에 항목을 적는 것만으로는 부족하고 관리형 환경 항목에도 같은 변수를 넣어야 구성원이 자기 변수로 되살리지 못합니다.

자주 묻는 질문 (FAQ)

Q. 터미널에서는 되는데 AI에게 시키면 안 됩니다

환경이 그대로 넘어가지 않았을 가능성이 큽니다. 특히 측정·수집 관련 값은 의도적으로 차단돼 있습니다. 확인 방법은 간단합니다 — AI에게 "지금 환경에 이 값이 보이는지 출력해봐"라고 시켜보세요. 비어 있으면 원인이 확정됩니다. 해결은 명령줄 안에서 직접 지정하는 것이고, 매번 쓰는 값이면 훅이나 프로젝트 설정 쪽에 넣어두는 방법도 있습니다.

Q. 왜 굳이 막아놨나요? 불편한데요

안 막았을 때가 더 곤란해서입니다. 측정 기능이 붙은 프로그램을 AI에게 시켜 돌렸는데 그 프로그램이 AI 도구의 수집 주소와 인증 정보를 그대로 물려받으면, 내 애플리케이션 데이터가 엉뚱한 통으로 흘러갑니다. 조용히 섞여 들어가서 나중에야 발견되는 종류의 사고죠. 불편함을 감수하고 명시적으로 만든 쪽을 택한 겁니다.

Q. 추적 값은 켜두는 게 좋나요?

여러 단계를 자동으로 굴린다면 값이 있습니다. AI가 시킨 명령과 그 안에서 벌어진 일이 한 줄기로 이어져 보이니 어디서 느려지는지 찾기가 쉬워집니다. 다만 아직 별도 표시를 켜야 도는 단계이고, 받는 쪽 도구가 그 규격을 읽을 줄 알아야 의미가 있습니다. 한두 개 명령만 시키는 정도라면 굳이 켤 이유는 크지 않습니다.

🧾 정직하게 밝혀둘 것

  • ★세션 식별값과 노력 강도 값은 주간 변경 노트에만 있고, 전용 문서에서 확인하지 못했습니다. 본문과 표에 "문서 미확인"으로 표시했고, 활용법은 다루지 않았습니다. 쓰시려면 최신 문서를 직접 확인해 주세요.
  • 직접 환경을 만들어 재현해보지는 않았습니다. 문서에 적힌 동작을 정리한 것입니다.
  • 추적 관련 기능은 별도 표시를 켜야 도는 단계이고, 기본 동작 조건도 따로 붙습니다.
  • 환경변수 이름과 설정 표기는 읽기 쉽게 풀어 적었습니다. 정확한 철자는 원문 문서를 보셔야 합니다.
  • 넘어가는 항목 목록은 버전에 따라 달라질 수 있습니다. 이 글은 확인 시점 기준입니다.

✨ 정리하면

자식 프로세스는 내 환경을 통째로 물려받지 않습니다. 측정 관련 설정은 데이터가 섞이는 걸 막으려고 일부러 끊어놨고, 반대로 추적용 값 하나는 흐름을 잇기 위해 일부러 넘겨줍니다. "터미널에서는 되는데 시키면 안 되는" 일을 만나면 여기부터 의심해보세요. 연결 서버를 붙이는 방식은 코드를 읽는 눈 달아주기, 로컬 모델을 세우는 흐름은 로컬 LLM 가이드, 훅이 셸을 건너뛰는 방식은 셸 없이 도는 훅, 도구에 드는 값을 통으로 잡는 흐름은 AI 지출 관리 허브에 모아뒀습니다.

※ 출처: Claude Code 모니터링 공식 문서와 주간 변경 노트 2026년 19주차(2026년 8월 27일 열람). 본문의 동작은 문서에 적힌 내용이며, 넘어가는 항목과 조건은 버전에 따라 달라질 수 있습니다. 노트에만 있고 전용 문서에서 확인하지 못한 항목은 본문에 따로 표시했습니다.

반응형

'AI & Vibe Coding' 카테고리의 다른 글

작은 모델에만 남은 손잡이  (0) 2026.08.27
모델만 보는 남은 예산  (0) 2026.08.27
같은 능력, 다른 조건  (0) 2026.08.26
모델만 바꿨는데 길어진 답  (0) 2026.08.26
한국어로 열린 공식 문서  (0) 2026.08.26
Comments