utils.py

그 중에서도 load_yaml 과 try_fix_yaml 함수.

pr_agent/algo/utils.py (PR-Agent의 공통 기능을 제공하는 유틸리티 함수의 집합)내부의 load_yamltry_fix_yaml 함수는 PR-Agent가 LLM으로부터 받은 응답(주로 YAML 형식)을 파싱하고 처리하는 데 중요한 역할을 한다.


load_yaml

현재 load_yaml 함수 내 로깅은 주로 파싱 시도 및 결과에 초점을 맞추고 있다.

예시) ‣ 일부 참고

현재 로그 메시지만으로는 실패한 YAML 입력의 구체적인 내용이나 특징 (예: 입력 길이, 특정 마커 포함 여부 등)을 파악하기 어려워 → 디버깅 과정에서 정확한 원인 규명에 한계가 있을 수 있다.

예를 들어, "Failed to parse AI prediction after fallbacks"라는 오류가 발생했을 때

개발자는 어떤 예측 내용이 문제였는지, 비어 있었는지, 특정 방식으로 형식이 잘못되었는지, 아니면 너무 컸는지 등을 알기 어렵다. 구조화된 로깅이 필요해 보인다.

image.png


try_fix_yaml

try_fix_yaml 함수는 형식이 잘못된 YAML 입력을 받아 일반적인 오류 유형 (예: 코드 블록으로 감싸인 경우)을 수정하여 파싱 가능하도록 시도하는 역할을 한다.

try_fix_yaml 함수의 로깅은 주로 수정 시도 후 성공 여부에 대한 정보를 제공한다.

예시) 위의 Git Issues 참고, 2025-02-10 19:03:10.510 | INFO | pr_agent.algo.utils:try_fix_yaml:778 - Successfully parsed AI prediction after extracting yaml snippet