루프

루프는 트리거와 지시문입니다. TaskGoblin이 하는 모든 일이 루프입니다 — 코드 리뷰, 이슈 착수, 야간 정리. 그래서 누가 부탁하는 것을 기억하지 않아도 일이 진행됩니다.

대부분의 코딩용 AI 도구는 프롬프트를 중심으로 돌아갑니다. 원하는 것을 적으면 에이전트가 답하고, 그 대화는 끝납니다. 그 방식은 가치 있는 것이 한 번의 좋은 답인 동안에만 통합니다. 어느 순간 가치는 같은 일이 매번 확실하게, 아무도 부탁하는 것을 기억하지 않아도 일어나는 것으로 옮겨 갑니다.

TaskGoblin은 대신 루프를 중심으로 만들어졌습니다.

루프는 트리거와 지시문입니다

기본 단위는 이게 전부입니다.

  • 트리거는 고블린이 언제 깨어날지를 정합니다. 이벤트(풀 리퀘스트가 열림, 이슈가 고블린에게 배정됨)이거나 일정(평일 07:00 등)입니다.
  • 지시문은 깨어나면 무엇을 할지 평범한 문장으로 적은 것입니다. "이 머지 리퀘스트를 정확성과 보안 관점에서 리뷰해 줘. 린터가 잡을 스타일 지적이 아니라 진짜 문제를 짚어 줘." 또는 "acme/web에서 안전한 의존성 업그레이드를 확인하고, 테스트를 돌리고, 머지 리퀘스트를 열어 줘."

이 둘을 합치는 순간 그것은 더 이상 요청이 아니라 상시 능력이 됩니다. 아무도 키보드 앞에 있을 필요가 없고, 아무도 기억할 필요가 없습니다.

모든 것이 루프입니다

이것은 제품 옆에 붙은 기능이 아니라 제품 그 자체입니다. 내장된 마법이라고 여길 만한 동작들이 전부 평범한 루프입니다.

밖에서 보이는 모습 그 아래의 루프
모든 풀 리퀘스트가 리뷰된다 풀 리퀘스트 열림 이벤트 루프
이슈를 배정하면 머지 리퀘스트가 돌아온다 이슈 배정 이벤트 루프
티켓 없이도 의존성이 최신으로 유지된다 매주 월요일 08:00 일정 루프
문서가 코드에서 멀어지지 않는다 매주 수요일 일정 루프
매일 아침 Slack에 요약이 도착한다 09:00 일정 루프

GitLab이나 GitHub을 연결하면 TaskGoblin이 시작용 한 세트를 설치합니다. 아무것도 설정하지 않았는데 코드 리뷰가 동작하는 이유가 이것입니다. 특별하지 않습니다. 열어서 지시문을 읽고, 자기 말로 고쳐 쓰고, 일시정지하거나 지우면 됩니다.

루프의 한 차례

모든 차례는 같은 방식으로 돕니다. 트리거가 웹훅이든 시계든, 첫 번째든 오백 번째든 같습니다.

  1. 실행. 트리거가 맞습니다. TaskGoblin이 그 작업의 스레드를 열거나 재사용합니다.
  2. 맥락. 고블린은 무언가를 건드리기 전에 이슈, 스레드, 디프, 조직의 관례, 그리고 앞선 고블린들이 남긴 기록을 읽습니다.
  3. 작업. 저장소 체크아웃이 담긴 격리 클라우드 샌드박스 안에서 돕니다. 파일을 읽고 고치고, 명령과 테스트를 실행합니다.
  4. 전달. 머지 리퀘스트를 열거나, 인라인 리뷰 코멘트를 남기거나, 스레드에 답합니다 — 그 작업이 속한 곳으로.
  5. 인계. 배운 것과 아직 열려 있는 것을 적어 두어, 다음 차례가 0이 아니라 거기서 시작하게 합니다.

5단계가 루프와 크론을 가릅니다. 각 차례는 앞선 차례들의 영향을 받으므로, 1년 동안 매주 돈 루프는 같은 루프를 백 번 돌린 것이 아니라 계속 주의를 기울여 온 하나의 루프입니다.

루프가 프롬프트를 이기는 이유

  • 여러분 없이도 돕니다. 들여다볼 때쯤엔 이미 끝나 있습니다. 누군가 필요성을 알아채기를 기다리지 않습니다.
  • 리뷰할 수 있습니다. 모든 차례가 브랜치와 머지 리퀘스트로 끝나고, 동료의 것과 똑같이 리뷰합니다. 저절로 머지되는 것은 없습니다.
  • 쌓입니다. 고블린을 한 번 교정하면 그 교정이 이후 모든 고블린을 위해 기록됩니다.
  • 끄는 스위치가 있습니다. 루프는 여러분의 것인 한 줄입니다. 일시정지하면 동작이 즉시 멈춥니다.

루프는 어디에 있나

조직의 Loops 영역(/{organisation}/loops)에서 관리합니다. 루프마다 자기 페이지가 있어 지시문, 트리거, 활성 토글, 최근 실행 기록을 볼 수 있습니다. 실행됐겠거니 믿는 대신 실제로 무엇을 했는지 확인할 수 있습니다.

고블린이 실행 도중 스스로 루프를 만들 수도 있습니다. 매주 금요일 같은 부탁을 받고 있다는 걸 알아챈 고블린은, 그 부탁 자체를 없애는 루프를 제안할 수 있습니다.

다음에 볼 것

  • 이벤트 루프 — 풀 리퀘스트, 배정된 이슈, 라벨로 실행되는 루프와 이미 가진 것들.
  • 일정 루프 — 주기로 실행되는 루프와 시작점이 되는 템플릿.
  • 일회성 실행 — 루프가 아닌 직접 요청, 그리고 어느 것이 루프가 되고 싶어 하는지 알아보는 법.
  • 실행은 어떻게 도는가 — 한 차례 안에서 벌어지는 일.