Tool을 만들면서 정말 등골이 서늘했었을때가 한 번 있었다.
그 일을 기념(?)하기 위해...
그리고 나같은 바보가 더 이상 등장하지 않았으면 좋겠다는 마음에서 포스팅한다.
Tool Calling중 오류가 났을때, LLM에게 전달되는 메세지에 굳이 정확한 오류를 전달할 필요 없다. 사진은 내가 f"{e!s}"
같은 방법으로 Exception 메세지를 출력하려고 하다 디코드에러를 만나서 LLM에게 전달된 메세지내용이다. 내용이 Word도 아니라서 엄청나게 많은 토큰이 한 순간에 소비되었고, 단 한번의 Tool Calling으로 $44를 날려버리게 되었다...
정확한 오류는 Logger로 따로 로깅하고, LLM에게는 "실패했다", "파일이 없다" 정도로만 오류 메세지를 출력해야한다.
또한 FileTree나, FileViewer같은 Tool을 만들때도 Depth를 설정하게 하거나 페이징을 활용하여 "/"를 리스팅한다던가 엄청나게 큰 바이너리 파일을 읽으려고 한다던가하는 예외상황에도 토큰낭비가 심하지 않도록 방지해야한다.
'프로그래밍 > AI,ML' 카테고리의 다른 글
LLM이 자연스러운 슬랙 메세지를 출력하게 하는 소소한 팁 (0) | 2025.06.21 |
---|---|
Agent를 고도화하면서 겪은 문제점들 (0) | 2025.04.09 |
LangGraph Agent에 장기기억(LTM)추가하기 (0) | 2025.04.03 |
반쪽짜리 Contextual Retrieval로 RAG 강화 해보기 (0) | 2025.03.26 |
사내 AI Agent 구축기 (1) | 2025.03.11 |