
Docker의 오픈소스 도구 docker-agent는 AI 에이전트의 모델·지침·도구를 YAML 파일 하나에 정의하고 실행하도록 한다. Python 코드를 직접 작성하지 않고도 문서 검색형 에이전트를 만들고, 모델과 설정을 바꿔 시험하거나 팀과 공유할 수 있다.
작성된 예제는 Polars 사용자 가이드의 72개 마크다운 파일을 검색해 질문에 답하는 에이전트다. 설정 파일은 embeddings.yaml로 만들며, docker agent 명령은 Docker Desktop 4.63 이상에 포함돼 있다. Homebrew로도 설치할 수 있다. 관련 설정과 평가 파일은 GitHub 저장소에서 확인할 수 있다.
에이전트의 agents 항목에는 모델과 지침을 지정하고, rag 도구로 검색할 문서 폴더와 검색 전략을 연결한다. docker-agent는 벡터를 로컬 SQLite 파일에 저장하고, 처음 실행할 때 문서를 색인하며 파일이 바뀌면 다시 색인한다. RAG 외에도 셸 명령 실행, 파일 읽기·쓰기·검색, 웹페이지 가져오기, MCP를 통한 외부 서비스 호출, 세션 간 정보 기억 등 30가지 기본 도구 구성을 제공한다.
모델은 실행할 때 --model로 바꿔 한 번만 시험할 수 있고, 질문 대상에 맞춘 별도 지침 파일은 --prompt-file로 선택할 수 있다. 같은 YAML 파일에 flavor를 추가하면 기존 설정을 유지하면서 검색 전략이나 모델처럼 바뀌는 항목만 덧붙일 수 있다. 예시에서는 임베딩 검색에 키워드 검색을 추가한 hybrid 설정이 문서에서 정확한 이름을 찾지 못한 SQLContext 질문에 답하도록 했다. 검색 결과를 결합하는 방식으로는 RRF를 사용했다.
한 파일에 여러 에이전트를 정의할 수도 있다. 예시의 root 에이전트는 질문에 답하고, reviewer는 더 강한 모델을 사용해 Polars 코드를 검토한다. 두 에이전트는 문서 검색 도구를 공유하며, --agent 옵션으로 실행할 에이전트를 고른다.
evals/ 폴더에 JSON 테스트를 두면 답변에 scan_parquet와 streaming이 포함되는지, 문서 검색 도구를 호출했는지 등을 확인할 수 있다. 각 평가 실행은 테스트 통과 여부와 비용, 소요 시간을 보고한다. 예시에서 기본 모델 gpt-5-mini는 18개 검사 중 18개를 통과했고, 저렴한 gpt-5-nano는 13개를 통과했다. 비용은 각각 0.015달러와 0.007달러였다. 이 비교는 --repeat 3으로 각 테스트를 세 번 실행한 결과이며, 글은 답변이 실행마다 달라질 수 있다고 설명한다. 각 평가는 별도 컨테이너에서 실행된다.
공유할 때는 YAML 파일을 Docker Hub 같은 레지스트리에 올려 팀원이 이름으로 실행하게 할 수 있다. 다만 공유되는 것은 YAML 파일뿐이다. 설정이 참조하는 문서 폴더나 지침 파일은 에이전트를 실행하는 폴더에 따로 있어야 한다.
이 방식은 설정을 한곳에서 읽고 바꾸기 쉽게 하려는 경우에 적합하다. 에이전트의 각 단계와 사용자 정의 분기·재시도를 세밀하게 제어해야 한다면, 글은 코드 중심 프레임워크인 LangGraph가 더 나은 선택이라고 설명한다. 자세한 검색 설정은 docker-agent RAG 문서에서 볼 수 있다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요