장기 실행 에이전트(Agent) 개발을 위한 핵심 기술: Skills, Shell, Compaction

by DD
3개월 전
조회수 42

장기 실행 에이전트(Long-running Agent) 개발을 위해 Skills, Shell, Compaction 세 가지 핵심 기술을 소개

Skills는 재사용 가능한 버전 관리 지침을 제공하여 에이전트의 작업 신뢰성을 향상시킴

Shell Tool은 에이전트가 종속성을 설치하고 스크립트를 실행하며, 보고서와 같은 결과물을 생성할 수 있는 환경을 제공

Compaction은 컨텍스트 제한을 해결하기 위해 장기 실행 에이전트의 실행을 자동 압축

Glean의 사례를 통해 Skills 기반 라우팅(Routing) 도입 후 정확도가 20% 감소했으나, Negative ExampleEdge Case를 추가하여 성능을 회복

Skills: 에이전트(Agent)의 작업 지침

Skills는 에이전트가 작업을 수행하기 위한 재사용 가능한 지침 묶음으로, SKILL.md 매니페스트(Manifest)를 포함한다.

SKILL.md는 프론트매터(Frontmatter)와 지침을 포함하며, 모델이 실제 작업을 수행할 때 참조하는 버전 관리 플레이북(Playbook) 역할을 수행

Skills가 제공되면 플랫폼은 각 Skill의 이름, 설명 및 경로를 모델에 노출하고, 모델은 해당 메타데이터를 사용하여 Skill 호출 여부를 결정

Glean의 사례에서 Skills 기반 라우팅(Routing) 도입 후 정확도가 감소했으나, Negative ExampleEdge Case를 추가하여 성능을 회복했다.

Shell Tool: 에이전트(Agent)를 위한 실행 환경

Shell Tool은 에이전트가 실제 터미널 환경에서 작업할 수 있도록 지원하며, OpenAI에서 호스팅하는 컨테이너 또는 로컬 런타임(Runtime)을 사용할 수 있다.

Hosted Shell은 Responses API를 통해 상태 저장 작업, 도구 호출, 멀티 턴(Multi-turn) 연속성 및 결과물을 제공

Shell Tool을 통해 에이전트는 종속성을 설치하고, 스크립트를 실행하며, 보고서와 같은 결과물을 생성 가능

/mnt/data를 결과물(Artifact)을 저장하는 표준 위치로 사용하며, 도구는 디스크에 쓰고, 모델은 디스크를 기반으로 추론하며, 개발자는 디스크에서 검색한다.

Compaction: 장기 실행을 위한 컨텍스트 관리

Compaction은 긴 워크플로우(Workflow)로 인해 발생하는 컨텍스트 창(Context Window) 제한 문제를 해결하기 위해 서버 측에서 컨텍스트 창을 관리하고 대화 기록을 자동 압축한다.

Responses API에서 Server-side Compaction을 통해 컨텍스트가 임계값을 초과할 때 자동 압축 실행

Standalone Compact Endpoint를 사용하여 압축 시점을 명시적으로 제어 가능

Skills, Shell, Compaction을 함께 사용하면, 시스템 프롬프트(System Prompt)를 복잡하게 관리하지 않고도 반복 가능한 워크플로우(Repeatable Workflow)를 구축할 수 있다.

장기 실행 에이전트(Agent) 설계를 위한 팁

장기 실행 에이전트(Agent)를 설계할 때, 지속적인 실행을 위한 설계가 중요하다.

컨테이너 재사용(Container Reuse)을 통해 종속성, 캐시된 파일 및 중간 결과물을 유지

previous_response_id를 전달하여 모델이 동일한 스레드에서 작업을 계속하도록 지원

Compaction을 긴 실행을 위한 기본 기능으로 사용

Skills 설명은 라우팅 로직(Routing Logic)처럼 작성하고, 구체적인 입력, 도구 및 예상 결과물을 포함

이러한 설계를 통해 재시작(Restart) 빈도를 줄이고, 다단계 작업의 일관성을 유지할 수 있다.

보안 및 API 호출을 위한 권장 사항

Skills와 네트워크 연결을 함께 사용할 경우, 데이터 유출(Data Exfiltration)의 위험이 있으므로 보안에 유의해야 한다.

Org-level Allowlist를 작게 유지하고, 요청 수준의 Network Policy를 설정하여 네트워크 접근을 제어

인증된 API 호출을 위해 domain_secrets를 사용하여 자격 증명 노출을 방지

Skills는 Hosted Shell 및 Local Shell 모드 모두에서 작동하며, 로컬에서 빠르게 반복하고, 호스팅된 컨테이너에서 실행하여 배포 일관성을 유지

결과적으로, 엄격한 네트워크 접근 제어자격 증명 보호를 통해 안전한 에이전트(Agent)를 구축할 수 있다.

Shell + Skills + Compaction: Tips for long-running agents that do real work