Skip to main content
코딩 에이전트에게 “이 에이전트에 Failproof AI Observability를 추가해줘” 라고 말하면, 에이전트가 루프를 읽고, 계측 위치를 파악하고, 코드를 작성하고, 작업을 완료로 선언하기 전에 이벤트를 검증합니다. Python SDK 스킬 (agenteye-python-sdk)은 Agent Skill입니다. 이는 Claude Code나 Codex 같은 코딩 에이전트가 작업이 일치할 때 온디맨드로 로드하는 명령어 폴더입니다. 이 스킬은 에이전트에게 Python SDK 사용법을 가르쳐줍니다. 라이브러리가 아니며 SDK의 작동 방식을 변경하지 않습니다.

계측은 작성하기 쉽지만 조용히 잘못되기도 쉽습니다

SDK는 작습니다: 키워드 전용 인수를 사용하는 이벤트 메서드 13개가 전부입니다. 코딩 에이전트는 Python SDK 레퍼런스를 읽고 1분 안에 그럴듯한 계측 코드를 만들어낼 수 있습니다. 문제는 이 SDK가 잘못 사용해도 오류를 발생시키지 않는다는 점이며, 잘못된 계측은 대시보드를 열었을 때 비어 있다는 걸 발견하기 전까지는 올바른 계측과 완전히 똑같아 보입니다. 실제로 시간을 낭비하게 만드는 실수들은 모두 침묵입니다: 이 중 어떤 것도 오류를 발생시키지 않습니다. 어떤 것도 테스트에서 나타나지 않습니다. 모두 스킬에 포함되어 있으며, 이를 잡아내는 검사와 함께 명세로 기술되어 있습니다.

작동 방식, 순서대로

스킬은 신중한 엔지니어라면 수행할 세 단계를 동일하게 실행합니다:
  1. 계획. 에이전트 루프를 읽고, 오직 개발자만 답할 수 있는 두 가지 질문을 합니다: 하나의 실행이 무엇인지(session_id), 그리고 구별 가능한 행위자가 누구인지(agent_id). 코드를 작성하기 전에 이 사항들을 합의합니다. 나중에 변경하면 히스토리가 분리되고 트렌드가 깨지기 때문입니다.
  2. 작성. 모든 호출 위치에 identity를 전달하는 대신 실행당 한 번만 바인딩하고, 동시성에 안전한 방식을 선택합니다. 이는 중요한 세부 사항으로, 명백해 보이는 지름길은 두 개의 겹치는 실행을 하나의 세션에 조용히 섞어버립니다.
  3. 검증. 에이전트를 실행하고 결과 이벤트 파일을 읽어 agent_start가 존재하는지, 환경이 올바른지, 하나의 실행이 하나의 세션을 생성했는지 확인합니다.
세 번째 단계가 사람들이 건너뛰는 단계입니다. SDK는 이벤트를 로컬 파일에 기록하므로, 완전한 통합은 서버, API 키, 네트워크 없이 노트북에서 검증할 수 있습니다. 바로 이것이 스킬이 이 단계를 고집하는 이유입니다.

다른 스킬들과의 관계

세 가지 스킬, 명확한 역할 분담: 이 순서로 연결됩니다: 이 스킬이 이벤트를 흐르게 하고, evaluator가 점수를 매기고, CLI가 결과를 읽습니다. 에이전트가 세션을 발행하기 전까지는 평가할 것도, 읽을 것도 없습니다. 처음부터 시작한다면 여기서 시작하세요.

사전 요구 사항

  1. Python 3.10+ 및 계측하려는 에이전트 코드베이스.
  2. SDK. 공개 패키지 인덱스가 아닌 프라이빗 wheel로 고객에게 배포됩니다. 온보딩 과정에서 SDK를 획득하고 설치하는 방법을 안내합니다. 스킬은 설치 경로를 알고 있으며, 찾을 수 없는 경우 추측 대신 직접 물어봅니다.
  3. 그 외 없음. 대시보드 로그인, API 키, 네트워크가 필요 없습니다. 스킬은 SDK가 기록하는 이벤트 파일을 기준으로 검증하므로 오프라인에서도 작업을 완료하고 증명할 수 있습니다.

스킬 가져오는 방법

스킬은 공개 FailproofAI/skills 컬렉션에 있습니다:
현재 프로젝트 대신 모든 프로젝트에 설치하려면 -g를 추가하고, 환경이 심볼릭 링크를 지원하지 않으면 --copy를 사용하세요. Codex의 경우 -a codex를 전달하세요.

수동 설치

Agent Skills는 SKILL.md와 참조 파일들을 포함하는 폴더입니다. 설치 도구를 사용하지 않으려면:
  • Claude Code: agenteye-python-sdk/ 폴더를 ~/.claude/skills/(모든 프로젝트) 또는 <your-repo>/.claude/skills/(해당 레포만)에 복사합니다. Claude Code가 자동으로 인식합니다 — /skills 목록을 확인하거나, 일치하는 내용을 질문해보세요.
  • Codex: Codex는 동일한 SKILL.md를 읽습니다. 번들된 agents/openai.yamlallow_implicit_invocation: true로 설정되어 있어 작업이 일치하면 자동 선택됩니다. 그렇지 않으면 $agenteye-python-sdk로 호출하세요.
계측하려는 코드가 있는 레포지토리에서 에이전트를 실행하세요 — 스킬은 무엇을 제안하기 전에 에이전트 루프를 먼저 읽습니다.

세션 예시

주목할 패턴: 제안하기 전에 코드를 먼저 읽었고, 개발자만 답할 수 있는 질문만 했으며, 이미 갖고 있던 id를 재사용하고, 스레드 풀을 확인했기 때문에 동시성에 안전한 방식을 선택했고, 성공을 선언하는 대신 실제 이벤트를 읽어 검증한 뒤 — 조용히 실패할 것을 알고 있는 곳을 표시했습니다.

질문할 수 있는 것들

  • “내 에이전트가 왜 대시보드에 안 보이지?” → 단계적으로 확인합니다: 이벤트가 기록되고 있는지, agent_start가 있는지, 환경이 올바른지, 수집기가 같은 위치를 읽고 있는지.
  • “모든 것이 dev에 기록되고 있어.” → 환경이 설정되지 않았거나, 이후 호출에서 재설정되었습니다.
  • “토큰 추적을 추가해줘.” → LLM 래퍼를 찾아 모델, 중지 이유, 사용량을 기록합니다.
  • “서브 에이전트도 계측해줘.” → 하나의 세션, 구별되는 에이전트 레이블, 부모 아래 중첩됩니다.
  • “계측 테스트를 작성해줘.” → SDK가 임시 디렉터리를 가리키게 하고 기록된 이벤트를 어서트합니다.

주의할 점

검증 단계를 실행하게 하세요. 이 스킬을 가치 있게 만드는 단계는 마지막 단계입니다 — 에이전트를 실행하고 이벤트를 다시 읽는 것. 계측을 작성하고 멈추는 에이전트는 쉬운 절반만 한 것이며, 조용히 실패하는 절반이 나머지입니다. 코드 전에 이름을 합의하세요. session_idagent_id는 모든 화면이 그룹화하는 기준 축입니다. 나중에 이름을 바꾸면 히스토리가 분리됩니다: 이전 실행은 옛 레이블을 유지하고 트렌드가 깨집니다. 스킬이 질문할 것이고, 답변은 잠깐의 생각을 충분히 투자할 가치가 있습니다. 에이전트가 공개 인덱스에서 SDK를 설치하자고 제안한다면, 스킬이 로드되지 않은 것입니다. SDK는 프라이빗으로 배포됩니다. 그 제안은 코딩 에이전트가 스킬을 따르지 않고 추측하고 있다는 확실한 신호입니다 — 거기서 멈추고 스킬이 설치됐는지 확인하세요. 그 외에는 영향 범위가 작습니다: 작업 디렉터리에 코드를 작성하고 지정한 위치에 이벤트 파일을 작성합니다. 배포에서는 아무것도 읽지 않고 변경하지도 않습니다.

다음 단계

  • Python SDK: 이 스킬이 자동화하는 것의 배경이 되는 완전한 이벤트 레퍼런스 — 모든 이벤트 타입과 필드.
  • Sessions: 이벤트가 기록된 후 계측이 생성하는 것.
  • Evaluator Agent Skill: 실행이 기록되기 시작한 후 다음 단계 — 평가.
  • CLI Agent Skill: 텔레메트리 결과 조회.