| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 |
- 개발환경
- ai 뉴스
- LLM
- 카드 없이
- Android
- claude code
- AI 에이전트 개발
- Claude
- 실무
- Gemini
- 바이브코딩
- OpenAI
- Android Studio
- 무료 ai
- 개발자 도구
- ai에이전트
- 홍드로이드
- 안드로이드 스튜디오
- AI 에이전트
- 클로드코드
- 클로드 API
- 무료 LLM
- AI 코딩
- 안드로이드
- 오픈모델
- 무료로 시작하기
- 자동화
- claudecode
- MCP
- 개발 생산성
- Today
- Total
홍드로이드의 야매코딩
AI 도구 루프 자동화 — 실패한 도구가 로그에 안 남습니다 본문

AI에게 도구를 붙여 쓰려면 "불렀나 → 실행 → 결과 돌려주기 → 다시 묻기"를 계속 돌리는 코드를 직접 짜야 합니다. 이걸 대신 돌려주는 기능이 있는데, 문서를 읽어보니 편한 만큼 안 보이게 되는 것이 있더군요 — 도구가 터져도 멈추지 않고, 언어에 따라 그 실패가 기록에 아예 안 남습니다. 쓰기 전에 알아야 할 것들만 정리했습니다.
📌 30초 요약
- ★★실패한 도구가 로그에 안 남습니다 — 한 언어만 예외입니다.
- ★도구가 터져도 안 멈춥니다 — 오류를 결과로 만들어 넘깁니다.
- ★멈추는 조건이 둘뿐입니다 — 상한을 안 걸면 계속 돕니다.
- ⚠️ 사람 승인이 필요하면 쓰지 말라고 문서가 먼저 말합니다.
- 기록을 내가 건드리면 실행기가 손을 뗍니다.
- 언어마다 되는 게 다릅니다 — 시험 단계입니다.
쓰지 말아야 할 때를 먼저 말합니다
문서가 소개 문장 바로 다음에 "이럴 때는 쓰지 말라"를 먼저 적어둔 게 인상적입니다. 사람이 중간에 승인해야 하거나, 맞춤 기록을 남겨야 하거나, 조건에 따라 실행 여부를 갈라야 한다면 직접 루프를 짜라는 것. 자동화가 좋은 게 아니라 끼어들 자리가 필요하면 자동화가 방해가 되기 때문이죠.
멈추는 조건도 단순합니다. 도구를 안 부른 답이 오거나, 걸어둔 반복 상한에 닿거나 둘뿐이에요. 뒤집으면 상한을 안 걸면 도구를 계속 부르는 한 계속 돕니다. 중간 답이 필요 없으면 최종 결과만 바로 받는 방법도 있고, 반대로 한 바퀴씩 받아보며 원할 때 빠져나올 수도 있습니다. 승인 창을 어디까지 띄울지 고르는 권한 설정을 고민해 봤다면, 이 기능은 그 반대편 극단이라고 보면 됩니다.
도구가 터져도 멈추지 않습니다
기본 동작이 이렇습니다. 도구 실행 중 예외가 나면 실행기가 그걸 잡아서 "오류였음" 표시를 붙인 결과로 만들어 AI에게 돌려줍니다. 그럼 AI가 그걸 보고 다른 방법을 시도하거나 사용자에게 알리죠. 프로그램은 안 죽습니다.
장점이자 함정입니다. AI에게 넘어가는 건 예외 메시지 정도이고 전체 추적 정보는 안 갑니다. 그리고 조용히 넘어가니 내 쪽에서는 문제가 있었는지도 모르고 지나갈 수 있어요. 그래서 문서가 "오류를 가로채 다르게 처리하고 싶다면"이라는 절을 따로 두는데 — 그 가로채는 고리를 제공하는 언어가 둘뿐입니다. 나머지는 대안을 안내할 뿐이고요.
실패한 도구가 로그에 안 남습니다
여기가 가장 조심할 대목입니다. 한 언어만 예외 전체를 기록에 남기고, 나머지 언어는 실패한 도구를 아예 안 남깁니다. 문서 표현이 명확해요 — 그 언어 밖에서는 도구가 왜 실패했는지 보려면, 도구 함수 안에서 직접 잡아 기록한 뒤 돌려주거나 다시 던져야 합니다.
| 항목 | 언어별 차이 |
|---|---|
| 실패한 도구 기록 | 한 언어만 자동 — 나머지는 직접 남겨야 |
| 기록 켜는 환경 값 | 세 언어만 읽습니다 — 나머지는 무시 |
| 오류 가로채는 고리 | 두 언어만 제공 |
| 반복 상한 걸기 | 모든 언어 지원 |
정리하면 "편하게 맡기는 기능인데 관측은 언어 복불복"인 셈입니다. 그래서 실무 처방은 하나예요 — 도구 함수마다 실패를 직접 기록하는 코드를 넣어두세요. 실행기를 믿고 안 넣으면, 조용히 실패한 채 AI가 엉뚱한 답을 내놓는 상황을 나중에 재현할 수가 없습니다. 코딩 없이 도구가 알아서 만들어 주는 흐름도 편하지만, 안 보이는 부분이 생긴다는 점에서는 같은 맞바꿈입니다.
기록을 내가 건드리면 손을 뗍니다
한 바퀴 돌 때마다 실행기가 하는 일이 정해져 있습니다. 요청을 보내고, 받은 답을 내 코드에 넘기고, 내 코드가 끝나면 내가 대화 기록을 건드렸는지 확인합니다. 안 건드렸으면 답과 도구 결과를 알아서 이어 붙이고 계속 돌죠.
그런데 내가 기록을 손대면 그 차례의 자동 추가를 통째로 건너뜁니다. 다시 물어보거나, 중간에 다른 말을 끼워 넣거나, 도구 결과를 직접 만들고 싶을 때 쓰는 방식인데 — 그 순간부터 대화가 말이 되게 유지하는 책임이 나에게 넘어옵니다. 답과 결과를 직접 넣어야 하고, 빠져나갈 조건도 내가 챙겨야 합니다. 문서가 이때 반복 상한을 꼭 걸라고 못 박는 이유예요.
🔁 반대로, 묻지도 않았는데 기록이 남는 자리
실패한 도구가 로그에 안 남는 쪽을 봤으니 반대편도 적어 둡니다. 클라우드 세션이 만든 커밋에는 그 작업 과정을 열어 볼 수 있는 세션 주소가 꼬리표로 자동 삽입되고, 끌어올림 요청 본문에도 같은 주소가 한 줄 들어갑니다. 원하지 않으면 끄는 설정이 따로 있지만, 그 설정은 꼬리표 기능보다 나중 판올림에 생겨 「붙기는 하는데 끌 수는 없는」 구간이 있습니다. 로그가 안 남아 답답한 쪽이 있으면, 이렇게 자동으로 남아 곤란한 쪽도 있는 셈입니다.
자주 묻는 질문 (FAQ)
Q. 긴 작업에서 대화가 넘치면요?
두 언어가 자기 쪽에서 요약해 이어가는 기능을 지원했는데 둘 다 폐기 절차에 들어갔습니다. 대신 서버 쪽 정리를 요청에 붙이는 방식으로 옮기라고 안내하고, 그쪽은 모든 언어에서 됩니다.
Q. 흐르듯 받는 방식도 되나요?
지원합니다. 다만 중간 조각을 받아 처리하는 코드가 따로 필요하니, 편하려고 쓰는 기능에 다시 손이 가는 셈입니다. 화면에 실시간으로 보여줄 게 아니면 최종 결과만 받는 쪽이 단순합니다.
Q. 결과를 넘기기 전에 손볼 수 있나요?
가능합니다. 문서에 결과를 바꿔서 넘기는 절이 따로 있어요. 다만 이것도 언어별로 제공 여부가 갈리니 쓰는 언어의 안내를 먼저 확인하세요.
Q. 지금 바로 실무에 써도 되나요?
시험 단계라고 명시돼 있습니다. 편의 기능이라 바뀔 여지가 있으니, 부르는 자리를 한 군데로 감싸 두면 나중에 갈아타기 쉽습니다.
✨ 정리하면
루프를 맡기면 코드가 확 줄지만 실패가 조용해집니다. 그러니 셋만 챙기세요 — 도구 함수마다 실패를 직접 기록하고, 반복 상한을 반드시 걸고, 사람 승인이 필요한 흐름이면 애초에 직접 짜는 것. 문서가 먼저 "이럴 땐 쓰지 말라"고 적어둔 이유가 있습니다. 비용과 권한을 함께 설계하는 흐름은 AI 지출 관리 허브에, 도구 호출 비용을 줄이는 쪽은 코드에서 도구 부르기 편에 정리해 두었습니다.
출처: Claude 공식 문서 「도구 실행기」 (2026-09-01 열람). 시험 단계 기능이며, 지원 범위와 언어별 차이는 변경될 수 있습니다.
'AI & Vibe Coding' 카테고리의 다른 글
| AI 에이전트 도구 조합 — 만능을 고르면 제일 느려집니다 (0) | 2026.09.01 |
|---|---|
| AI 도구 입력 타입 강제 — 스키마만 따로 24시간 남습니다 (0) | 2026.09.01 |
| AI 도구 호출 토큰 줄이기 — 켠다고 무조건 싸지지 않습니다 (0) | 2026.09.01 |
| 프롬프트 주입 막는 법 — 믿을 수 없는 내용은 도구 결과에만 (0) | 2026.09.01 |
| AI 답변에 근거 붙이기 — 인용문은 출력 요금에 안 잡힙니다 (0) | 2026.09.01 |
