[컨텍스트 엔지니어링] 5주차 Day 3 — 실패한 도구 호출을 어떻게 남길까
주차 주제: 도구가 돌려주는 것 | 제조 사례: 같은 실패를 일곱 번
오늘의 목표: 실패를 짧고 쓸모 있게 남겨 같은 실패를 막는다.
소요 시간: 30분
1. 실패가 더 위험합니다
· 성공하면 한 번입니다 ★
· 실패하면 다시 부릅니다 ★
· 그리고 또 실패합니다 ★
그러면
실패 기록이 쌓입니다. ★
그리고 전부 창에 남습니다. ★
2. ★ 같은 실패를 반복하는 이유
1차 품목검색("브라켓A") → 없음 ★
2차 품목검색("브라켓 A") → 없음 ★
3차 품목검색("브라켓") → 없음 ★
...
7차 품목검색("Bracket") → 없음 ★
왜 반복하나
· 오류 메시지가 무엇을 하라는지 안 알려 줍니다 ★
· 앞에서 뭘 해 봤는지 흐려집니다 ★
· 그래서 비슷한 걸 또 해 봅니다 ★
3. 오류에 넣을 넷
□ 무엇이 실패했나 ★
□ 왜 ★
□ 무엇을 하면 되나 ★
□ 다시 해 볼 만한가 ★
넷째가 핵심입니다. ★
"재시도: false" ★
그러면 모델이 포기하고 사람에게 넘깁니다. ★
4. 재시도 여부를 가르는 법
상황 재시도 ★
──────────────────────────────────────
일시적 오류 true ★
(연결·한도)
인자가 틀림 true (고쳐서) ★
권한 없음 false ★
없는 데이터 false ★
기능이 없음 false ★
「없는 데이터」 를 false 로 두는 게 중요합니다. ★
· 없는 걸 일곱 번 찾아도 없습니다 ★
· 그런데 모델은 계속 찾습니다 ★
5. 「없음」 을 실패로 만들지 마세요
헷갈리는 자리입니다. ★
· 도구가 제대로 돌았고 ★
· 결과가 0건인 것
이건 성공입니다. ★
{ ★
"결과": [],
"전체": 0, ★
"안내": "해당 조건의 품목이 없습니다." ★
}
오류로 돌려주면
· 모델이 도구가 고장 난 줄 압니다 ★
· 그래서 다시 부릅니다 ★
· 그리고 또 0건입니다 ★
6. 시도한 것을 남기세요
실패 기록을 다 남기지 말고 ★
시도 목록으로 압축하세요. ★
[시도한 것] ★
품목검색: "브라켓A", "브라켓 A", ★
"브라켓", "Bracket" → 전부 0건 ★
→ 검색어 말고 다른 방법이 필요 ★
세 줄입니다. ★
그리고 이게
· 반복을 막고 ★
· 사람에게 넘길 때 설명이 됩니다 ★
루프 엔지니어링 4주차 Day 3 과 같은 장치입니다.
7. 제조 현장의 실제
어느 업체, 챗봇이 못 찾으면 계속 헤맸습니다.
· 한 대화에서 도구를 14번 불렀습니다 ★
· 그중 11번이 실패 ★
· 오류 메시지가 스택 트레이스였습니다 ★
실패 기록만 8,000 토큰 ★
그리고 결국 지어냈습니다. ★
고친 것
① 오류를 넷으로 (무엇·왜·할것·재시도) ★
② 「없음」 을 성공으로 ★
③ 실패를 시도 목록으로 압축 ★
④ 같은 도구 3번 실패하면 중단 ★
결과
도구 호출 14회 → 3.2회 ★
실패 기록 8,000 → 240 토큰 ★
지어냄 월 22건 → 3건 ★
그리고 ④ 덕분에
"못 찾겠습니다" 라고 말하게 됐습니다. ★
8. ★ ④ 중단이 가장 컸습니다
· 같은 도구 3번 실패 → 중단 ★
· 전체 도구 호출 8번 → 중단 ★
그리고 중단하면
"시도한 것: ... 못 찾았습니다. ★
품번을 알려 주시겠습니까?" ★
사람에게 넘깁니다. ★
이게 없으면
· 끝없이 돌고 ★
· 비싸고
· 결국 지어냅니다 ★
루프 엔지니어링 3주차가 이것을 다룹니다.
9. 실패도 지표입니다
도구 호출 실패율 주 실패 이유 ★
──────────────────────────────────────────
품목검색 ____ ___% ____________ ★
실적조회 ____ ___% ____________
문서검색 ____ ___% ____________ ★
실패율이 높은 도구는
· 설명이 나쁘거나 (인자를 틀리게 줍니다) ★
· 검색이 나쁘거나
· 아예 쓸 수 없는 도구입니다 ★
그리고 주 실패 이유를 보면 고칠 것이 ★
바로 나옵니다.
10. 오늘 해 볼 것 (15분)
① 실패를 세어 보세요
도구 호출 실패율 ★
________ ____ ___%
________ ____ ___% ★
② 오류 모양을 보세요
□ 스택 트레이스가 들어가나 ★
□ 무엇을 하라는지 있나 ★
□ 재시도 여부가 있나 ★
□ 「없음」 이 오류로 오나 ★
③ 중단 규칙을 정하세요
같은 도구 ___번 실패 → 중단 ★
전체 호출 ___번 → 중단 ★
중단하면 무엇을 하나 ____________ ★
11. 내일 할 것
여러 번 부를 때 쌓이는 것.
한 번은 괜찮은데 열 번이면 창이 찹니다.
이 글은 컨텍스트 엔지니어링 과정의 5주차 3일차입니다. 과정 전체 보기
진도와 검색이 되는 판: AXPulse 기술따라가기
댓글
댓글 쓰기