그 중에서도 load_yaml 과 try_fix_yaml 함수.
pr_agent/algo/utils.py
(PR-Agent의 공통 기능을 제공하는 유틸리티 함수의 집합)내부의
load_yaml
및 try_fix_yaml
함수는 PR-Agent가 LLM으로부터 받은 응답(주로 YAML 형식)을 파싱하고 처리하는 데 중요한 역할을 한다.
현재 load_yaml
함수 내 로깅은 주로 파싱 시도 및 결과에 초점을 맞추고 있다.
예시) ‣ 일부 참고
WARNING | pr_agent.algo.utils:load_yaml:707 - Initial failure to parse AI prediction
ERROR | pr_agent.algo.utils:load_yaml:710 - Failed to parse AI prediction after fallbacks
현재 로그 메시지만으로는 실패한 YAML 입력의 구체적인 내용이나 특징 (예: 입력 길이, 특정 마커 포함 여부 등)을 파악하기 어려워 → 디버깅 과정에서 정확한 원인 규명에 한계가 있을 수 있다.
예를 들어, "Failed to parse AI prediction after fallbacks"라는 오류가 발생했을 때
개발자는 어떤 예측 내용이 문제였는지, 비어 있었는지, 특정 방식으로 형식이 잘못되었는지, 아니면 너무 컸는지 등을 알기 어렵다. 구조화된 로깅이 필요해 보인다.
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