Task queue for AI agent

  • 2025-08-10 (modified: 2025-08-12)
  • 별칭: AI 에이전트를 위한 테스크 큐

AI 에이전트에게 일을 시키기 위한 테스크 큐

동기

무료로 쓸 수 있는 LLM이 점점 많아지고 있는데 내가 게을러서 활용을 못하는 게 계속 아쉬웠다. 2025년 8월 9일에는 급기야 Qwen Code가 하루 2000회 요청을 토큰 제한 없이 보낼 수 있는 무료 플랜을 공개했다. 하루 종일 1분에 1개 요청을 보내도 560회가 남는 양이다.

이런 기회를 잘 활용하기 위한 시스템이 있으면 좋겠다는 생각을 했다.

  • 언제나 쉽게 일을 시킬 수 있을 것
  • 일의 진행 과정이나 결과를 쉽게 확인할 수 있을 것
  • 내가 일의 우선 순위를 지정할 수 있을 것
  • 내가 시킨 일이 다 떨어지면 나에게 유용한 무언가를 알아서 할 것

설계

깃헙 이슈를 이용하면 좋을 것 같다.

  • 언제나 쉽게 일을 시킬 수 있을 것 → 모바일 앱도 있고 gh CLI도 있으니 언제든 이슈를 등록할 수 있다.
  • 일의 진행 과정이나 결과를 쉽게 확인할 수 있을 것 → 에이전트가 이슈에 코멘트를 다는 형식으로 진행 상황을 중간 공유하도록 하면 되겠다.
  • 내가 일의 우선 순위를 지정할 수 있을 것 → 우선순위에 따라 이슈에 적당한 레이블을 붙여주고 이걸 인식해서 다음 작업을 고르도록 하면 되겠다.
  • 내가 시킨 일이 다 떨어지면 나에게 유용한 무언가를 알아서 할 것 → 영원히 끝나지 않고, 시간을 쓰면 쓸수록 좋아질 가능성이 있는 성격의 일들을 몇 개 등록해놓고, 다른 할 일이 없을 때 적당히 번갈아가며(일단은 단순하게 round-robin 방식) 하도록 만들면 되겠다.

다음 절차를 무한히 반복하는 쉘 스크립트를 만들면 될 것 같다.

  1. 우선순위가 가장 높은 깃헙 이슈를 하나 가져온다. 이슈가 없으면 1분 쉬었다가 다시 쿼리.
  2. 이슈 번호에 맞춰 작업 디렉토리를 만들고 작업 디렉토리로 설정
  3. Qwen Code에게 해당 이슈를 처리하라고 지시. 작업을 시작할 때와 마칠 때 이슈에 코멘트를 남기고 진행 상황이나 성공 여부에 따라 해당 이슈에 레이블을 적당히 붙여달라고 시킨다.
  4. Qwen Code가 종료되면 GOTO 1

구현

Qwen Code를 시켜서 대충 만들었다. 일단 잘 돌아간다. Qwen Code에게 일 시키는 프롬프트는 일단 이렇게 썼다:

Your job is to complete the issue nnn.

  • Using “gh” CLI, read the issue and their comments to understand the context.
  • The current working directory is your workspace and you may use it freely. Note that the directory is not connected to the repository.
  • There could be files created by your co-workers. Read the files carefully.
  • Before you start, leave a comment in the issue that you’re going to start working on it and describe your plan briefly.
  • If you’ve spent more than 5 minutes on the issue, regularly check if there are any new comments from your co-workers. If there are, read them and update your plan accordingly. Write your updated plan as a comment.
  • If you’ve finished the issue, write the summary of your work as a comment in the issue, and attach “ready” label. NEVER close the issue.
  • If the main artifact of the issue is a text, or can be described in text, write it as a comment.
  • All your comments MUST start with ”🤖“

남은 할 일

  • “영원히 끝나지 않고, 시간을 쓰면 쓸수록 좋아질 가능성이 있는 성격의 일들”을 찾아서 낮은 우선순위로 등록해놓기
  • 우선순위가 높은 요청은 비싼 에이전트에게 시키고 나머지는 Qwen Code에게 시키기? 또는 이슈를 생성할 때 에이전트를 지정할 수 있게? 또는 자동으로 라우팅하게?
  • Qwen Code 샌드박싱
  • 봇은 다른 계정(?)으로 글을 쓰도록. 지금은 내 깃헙 계정으로 쓰는 중. 내 계정으로 쓰니까 코멘트 알림이 안온다.

2025 © ak