# 에이전트 루프 설계하기

> Clean Markdown view of GeekNews topic #23470. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=23470](https://news.hada.io/topic?id=23470)
- GeekNews Markdown: [https://news.hada.io/topic/23470.md](https://news.hada.io/topic/23470.md)
- Type: news
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-10-06T10:02:01+09:00
- Updated: 2025-10-06T10:02:01+09:00
- Original source: [simonwillison.net](https://simonwillison.net/2025/Sep/30/designing-agentic-loops/)
- Points: 20
- Comments: 0

## Summary

**코딩 에이전트**의 잠재력을 극대화하려면 **에이전트 루프 설계**가 핵심이며, 이는 LLM이 다양한 도구를 활용하며 반복적으로 목표를 달성하도록 하는 구조적 접근법입니다. **YOLO 모드**처럼 모든 명령 실행이 자동 승인되는 방식은 생산성을 크게 높이지만, **프롬프트 인젝션**과 같은 보안 위험이 있으므로 Docker 샌드박스, GitHub Codespaces 등 격리된 환경 활용이 필수적입니다. 셸 명령, 패키지 설치, 자격 증명 제한 등 **도구 선택 원칙**과, 테스트 환경에서 성능 최적화, 디버깅, 종속성 업그레이드 등 반복적 문제 해결에 효과적으로 적용할 수 있는 패턴을 강조하며, 이러한 자동화 접근은 **우수한 테스트 스위트**와 결합될 때 코딩 생산성과 안정성을 비약적으로 향상시킬 수 있습니다.

## Topic Body

- Anthropic의 **Claude Code**와 OpenAI의 **Codex CLI** 같은 코딩 에이전트는 작동하는 코드 생성에서 LLM의 유용성을 근본적으로 향상시키며, 코드를 직접 실행하고 오류를 수정하며 기존 구현을 탐색하고 실험을 통해 효과적인 솔루션을 찾을 수 있음  
- 이러한 도구의 잠재력을 최대한 활용하기 위한 핵심 기술은 **에이전트 루프 설계**이며, 코딩 에이전트를 명확한 목표와 도구 세트로 문제를 축소하면 무차별 대입 방식으로 효과적인 솔루션을 찾을 수 있는 도구로 이해할 수 있음  
- LLM 에이전트의 정의는 **목표를 달성하기 위해 루프 안에서 도구를 실행하는 것**이며, 이를 잘 사용하는 기술은 에이전트가 사용할 도구와 루프를 신중하게 설계하는 것  
- **YOLO 모드**(모든 명령이 기본적으로 승인됨)는 위험하지만 무차별 대입을 통한 가장 생산적인 결과를 얻는 데 핵심이며, 안전하게 실행하기 위해 Docker 샌드박스, GitHub Codespaces 같은 다른 컴퓨터 환경, 또는 위험 감수 중 선택 가능  
- 올바른 도구 선택(셸 명령 및 패키지), 엄격하게 범위가 지정된 자격 증명 발급(테스트 환경, 예산 제한), 명확한 성공 기준과 시행착오가 필요한 문제(디버깅, 성능 최적화, 종속성 업그레이드, 컨테이너 최적화)에 적용하는 것이 **에이전트 루프 설계의 핵심 원칙**  
  
---  
  
### YOLO 모드의 즐거움  
- ## 에이전트의 위험성  
  - 에이전트는 본질적으로 위험함  
    - 잘못된 결정을 내리거나 악의적인 **프롬프트 인젝션 공격**의 희생양이 될 수 있음  
    - 도구 호출로 인한 해로운 결과 발생 가능  
  - 가장 강력한 코딩 에이전트 도구는 "셸에서 이 명령 실행"이므로, 불량 에이전트는 사용자가 직접 명령을 실행하여 할 수 있는 모든 작업 수행 가능  
  - Solomon Hykes의 인용:  
    > **AI 에이전트는 루프 안에서 환경을 파괴하는 LLM**  
- ## 기본 승인 모드의 한계  
  - Claude Code 같은 코딩 에이전트는 실행하는 거의 모든 명령에 대해 승인을 요청하는 것을 기본값으로 설정하여 대응  
  - 이는 다소 지루하지만, 더 중요하게는 무차별 대입을 통한 문제 해결 효과를 **극적으로 감소**시킴  
- ## YOLO 모드  
  - 각 도구는 모든 것이 기본적으로 승인되는 **YOLO 모드**의 자체 버전 제공  
  - 매우 위험하지만 가장 생산적인 결과를 얻는 데도 핵심  
- ## 무인 YOLO 모드의 세 가지 주요 위험  
  - 1\. **나쁜 셸 명령**: 중요한 것을 삭제하거나 훼손  
  - 2\. **유출 공격**: 에이전트가 볼 수 있는 파일이나 데이터(소스 코드 또는 환경 변수에 저장된 비밀) 도용  
  - 3\. **프록시 공격**: 다른 대상에 대한 DDoS 또는 다른 해킹 공격의 출처를 위장하기 위해 머신을 프록시로 사용  
  
### YOLO 모드 실행 옵션  
- ## 옵션 1: 보안 샌드박스  
  - 액세스할 수 있는 파일과 비밀, 만들 수 있는 네트워크 연결을 제한하는 보안 샌드박스에서 에이전트 실행  
  - **컨테이너 탈출** 가능성이 존재하지만, Docker 또는 Apple의 새로운 컨테이너 도구를 사용하는 것은 대부분의 사람들에게 허용 가능한 위험  
  - Anthropic의 **Safe YOLO 모드** 문서:  
    - 인터넷 액세스 없이 컨테이너에서 `--dangerously-skip-permissions` 사용  
    - Docker Dev Containers를 사용한 참조 구현 제공  
    - 인터넷 액세스를 신뢰할 수 있는 호스트 목록으로 제한하는 것은 개인 소스 코드 도용을 방지하는 좋은 방법  
- ## 옵션 2: 다른 사람의 컴퓨터 사용 (선호)  
  - 에이전트가 불량화되더라도 피해가 제한됨  
  - **GitHub Codespaces** 사용 권장:  
    - 브라우저를 통해 액세스할 수 있는 온디맨드 완전 컨테이너 환경 제공  
    - 관대한 무료 티어 제공  
    - 문제 발생 시 어딘가에 있는 Microsoft Azure 머신이 CPU를 소모하며, 최악의 경우 환경에 체크아웃한 코드가 공격자에 의해 유출되거나 나쁜 코드가 연결된 GitHub 저장소로 푸시될 수 있음  
  - 다른 사람의 컴퓨터에서 코드를 실행하는 다른 에이전트형 도구들:  
    - ChatGPT와 Claude의 **Code Interpreter** 모드  
    - OpenAI의 **Codex Cloud**  
- ## 옵션 3: 위험 감수  
  - 잠재적인 악의적 지시 출처에 노출되는 것을 피하려고 노력하고, 피해를 입히기 전에 실수를 잡기를 희망  
  - **대부분의 사람들이 선택하는 옵션**  
  
### 루프에 적합한 도구 선택  
- ## 안전한 YOLO 모드 확보 후  
  - 다음 단계는 코딩 에이전트에서 사용할 수 있도록 해야 할 도구 결정  
- ## 셸 명령 우선  
  - 이 시점에서 **MCP**(Model Context Protocol)를 혼합할 수 있지만, 대신 셸 명령 측면에서 생각하는 것이 일반적으로 더 생산적  
  - 코딩 에이전트는 셸 명령 실행에 **정말 능숙함**  
  - 환경이 필요한 네트워크 액세스를 허용하면 NPM, PyPI 등에서 추가 패키지를 가져올 수도 있음  
  - 무작위 패키지 설치가 주 컴퓨터의 것들을 망가뜨리지 않는 환경에서 에이전트가 실행되도록 하는 것도 중요한 고려사항  
- ## AGENTS.md 파일 활용  
  - MCP에 의존하기보다는 사용해야 할 것으로 생각되는 패키지에 대한 세부정보가 포함된 **AGENTS.md**(또는 동등한) 파일 생성을 선호  
  - 예시: 다양한 웹사이트의 스크린샷을 찍는 프로젝트의 경우 자신의 **shot-scraper** CLI 도구를 설치하고 `AGENTS.md`에 다음을 추가:  
    ```  
    스크린샷을 찍으려면 다음을 실행:  
  
    shot-scraper http://www.example.com/ -w 800 -o example.jpg  
    ```  
  - 이 하나의 예시만으로도 에이전트가 다른 스크린샷을 위해 URL과 파일명을 교체하는 방법을 추측하기에 충분  
- ## 기존 도구 활용  
  - 우수한 LLM은 이미 **당혹스러울 정도로 많은 배열의 기존 도구** 사용 방법을 알고 있음  
  - "playwright python 사용" 또는 "ffmpeg 사용"이라고 말하면 대부분의 모델이 효과적으로 사용  
  - 루프에서 실행되므로 처음에 저지른 실수에서 일반적으로 복구하고 추가 지침 없이 올바른 주문을 알아낼 수 있음  
  
### 엄격하게 범위가 지정된 자격 증명 발급  
- ## 자격 증명의 필요성  
  - 올바른 명령을 노출하는 것 외에도 해당 명령에 노출해야 할 자격 증명 고려 필요  
  - 이상적으로는 자격 증명이 전혀 필요하지 않지만(많은 작업이 로그인이나 API 키 제공 없이 수행 가능), 특정 문제는 인증된 액세스 필요  
- ## 두 가지 핵심 권장사항  
  - 1\. **테스트 또는 스테이징 환경**에 대한 자격 증명 제공  
    - 피해가 잘 제한될 수 있는 환경  
  - 2\. **예산 제한 설정**  
    - 자격 증명이 돈을 쓸 수 있는 경우 엄격한 예산 제한 설정  
- ## 실제 사례: Fly.io 조사  
  - Fly.io에서 실행 중인 scale-to-zero 애플리케이션의 느린 콜드 스타트 시간 조사  
  - Claude Code가 Dockerfile을 직접 편집하고, Fly 계정에 배포하고, 시작하는 데 걸리는 시간을 측정할 수 있도록 함  
  - ### 안전한 설정  
    - Fly에서는 조직을 생성할 수 있으며, 해당 조직에 대한 예산 제한을 설정하고 해당 조직 내에서만 앱을 생성하거나 수정할 수 있는 Fly API 키 발급 가능  
    - 이 조사만을 위한 전용 조직 생성  
    - **$5 예산** 설정  
    - API 키 발급하고 Claude Code를 풀어놓음  
  - 이 특정 경우 결과가 충분히 유용하지는 않았지만, "에이전트 루프 설계"가 개발해야 할 중요한 기술임을 처음 깨달은 프로젝트  
  
### 에이전트 루프 설계 시기  
- ## 적합한 문제 패턴  
  - 모든 문제가 이 작업 패턴에 잘 반응하는 것은 아님  
  - 주목해야 할 것은 **명확한 성공 기준**이 있고 좋은 솔루션을 찾는 데 (잠재적으로 약간 지루한) **시행착오**가 필요할 가능성이 있는 문제  
  
  * "으, 여기서 많은 변형을 시도해야 할 것 같아"라고 생각할 때마다 에이전트 루프를 시도해볼 가치가 있다는 강력한 신호  
- ## 구체적 예시  
  - ### 디버깅  
    - 테스트가 실패하고 근본 원인을 조사해야 함  
    - 이미 테스트를 실행할 수 있는 코딩 에이전트는 추가 설정 없이 이를 수행할 수 있음  
  - ### 성능 최적화  
    - SQL 쿼리가 너무 느림, 인덱스 추가가 도움이 될까?  
    - 에이전트가 쿼리를 벤치마크하고 (격리된 개발 환경에서!) 인덱스를 추가 및 삭제하여 영향 측정   
  - ### 종속성 업그레이드  
    - 여러 종속성 업그레이드에서 뒤처짐  
    - 테스트 스위트가 견고하면 에이전트 루프가 모두 업그레이드하고 주요 변경사항을 반영하는 데 필요한 사소한 업데이트 수행 가능  
    - 관련 릴리스 노트 사본이 제공되거나 에이전트가 직접 찾을 수 있는 위치를 알고 있는지 확인  
  - ### 컨테이너 크기 최적화  
    - Docker 컨테이너가 불편할 정도로 큼  
    - 에이전트가 다른 기본 이미지를 시도하고 Dockerfile을 반복하여 축소를 시도하면서 테스트를 통과하도록 유지  
- ## 공통 주제: 자동화된 테스트  
  - 이 모든 것의 공통 주제는 **자동화된 테스트**  
  - 코딩 에이전트 및 기타 LLM 코딩 도구에서 얻을 수 있는 가치는 깨끗하게 통과하는 우수한 테스트 스위트에 의해 **대폭 증폭됨**  
  - 다행히 LLM은 아직 없는 경우 이를 구성하는 프로세스를 가속화하는 데 탁월  
  
### 여전히 매우 새로운 영역  
- **에이전트 루프 설계**는 매우 새로운 기술  
  - Claude Code는 2025년 2월에 처음 출시됨  
- 명확한 이름을 부여하면 이에 대한 생산적인 대화를 나누는 데 도움이 될 수 있기를 희망  
- 이러한 도구를 가능한 한 효과적으로 사용하는 방법에 대해 알아내야 할 것이 **훨씬 더 많음**

## Comments



_No public comments on this page._
