Designing agentic loops (Simon Willison, 2025-09-30)
핵심 — 에이전트 = “목표 달성을 위해 도구를 반복 실행하는 존재.” 문제를 명확한 목표 + 반복 가능한 도구로 환원하면 코딩 에이전트가 brute-force로 해법을 찾는다. 비결은 도구와 반복 과정의 설계다. (이 글은 “loop engineering” 담론의 토대 중 하나로 꼽힌다.)
YOLO 모드의 즐거움(과 위험)
- 에이전트는 본질적으로 위험을 안는다(오판·프롬프트 인젝션). 기본 동작은 매 명령마다 승인 요청 → 안전하지만 brute-force 효율을 떨어뜨린다.
- YOLO 모드 = 전부 자동승인. 매우 생산적이지만 3대 위험이 있다: ① 잘못된 셸 명령이 파일 삭제 ② 소스/시크릿 유출 공격 ③ 내 컴퓨터를 프록시로 한 공격(DDoS 등).
- 안전책: ① 샌드박스(Docker / Apple container) ② 남의 컴퓨터(GitHub Codespaces — 저자 선호) ③ 위험 감수(대부분의 선택). 예로 든 안전 YOLO 패턴은 권한 스킵 옵션을 인터넷 없는 컨테이너에서 돌리고 신뢰 호스트만 허용해 유출을 막는 방식이다.
루프에 맞는 도구·자격증명
- MCP보다 셸 명령을 선호한다(“에이전트는 셸을 잘 쓴다”). 필요한 패키지는 NPM/PyPI에서 받게 한다.
AGENTS.md에 도구 사용법을 한 줄 적어두면(예:shot-scraper URL -w 800 -o x.jpg) 에이전트가 응용한다. “use playwright python”·“use ffmpeg” 정도만 줘도 대부분 알아서 한다. - 스코프 제한 자격증명: ① test/staging 환경(피해 격리) ② 돈 쓰는 키에는 예산 한도. 예: Fly.io 전용 org에 $5 예산 + 제한 API 키를 두고, 코딩 에이전트에 Dockerfile 배포·측정을 위임한다.
언제 루프를 설계하나
- 명확한 성공기준 + 지루한 시행착오가 필요한 문제. “아, 변형을 많이 시도해야겠네” 싶으면 루프 신호다.
- 예: 디버깅(실패 테스트 원인 추적)·성능 최적화(인덱스 추가/측정)·의존성 업그레이드·컨테이너 크기 축소. 공통 분모는 자동화 테스트(LLM이 테스트 스위트 구축도 가속한다).
정밀 인용 도메인에 적용한다면
- 크롤링·정형 데이터 수집·문서 자동화처럼 “변형을 많이 시도”해야 하는 작업은 루프 후보다. 다만 결과를 외부 데이터·고객 정보에 접근시킬 때는 위와 같은 샌드박스·스코프 자격증명·예산 한도 원칙을 그대로 차용한다.
- 회계/공시 같은 정밀 인용 도메인에 적용하더라도 이는 데이터 자동화일 뿐 회계판단이나 투자 권유가 아니다. 자동화 결과는 사람이 검증하는 전제 위에서만 의미가 있다.
출처: Simon Willison, “Designing agentic loops” (웹로그 에세이, 2025-09-30).