이 장에서 배우는 것 입력창에서
/로 쓰는 명령이 무엇을 하는지, 왜 전송되지 않는지, 그리고 "될 때까지 다시 시도"가 왜 명령이 아니라 기본 동작이 되었는지.
입력창에 / 를 치면 목록이 뜹니다. 지금 거기 있는 것은 하나입니다.
| 명령 | 하는 일 |
|---|---|
/every <주기> <요청> | 지금 적고 있는 요청을 반복 업무로 만듭니다 |
한때
/goal이 함께 있었습니다. "조건이 충족될 때까지 스스로 다시 시도하라"를 거는 명령이었는데, 그 동작이 모든 대화의 기본이 되면서 지웠습니다. 아래 「재시도는 기본입니다」에서 지금 무엇이 대신 도는지 봅니다.
주기로 알아듣는 낱말은 예약 화면의 목록과 같은 표입니다.
영어도 됩니다(hourly, daily, evening, weekly, friday, monthly).
그 밖의 주기는 예약 화면에서 cron 식으로 직접 정하세요.
/every 는 등록만 하고 보내지 않습니다.
"매일 아침 해라"를 지금 한 번 더 할 이유가 없습니다. 보내 버리면 만든 사람만 첫 회를 두 번 받습니다.
만들어지면 어디에 생겼는지 토스트로 알려 줍니다.
반복을 걸 값어치가 있는 요청은 대개 방금 잘 된 그 요청입니다. 그리고 그 요청의 조건은 지금 입력창에 이미 골라져 있습니다.
예약 화면의 빈 폼으로 보내면 이 다섯 개를 처음부터 다시 고르게 되고, 그러면 아무도 안 합니다.
여기가 예전 매뉴얼과 달라진 부분입니다.
모든 대화가 "일이 끝났다고 확인될 때까지 이어서" 돌아갑니다. 켜는 명령도, 켜는 화면도 없습니다.
에이전트가 일을 마치면 판정기가 끝난 턴을 읽고 결말을 가릅니다. 에이전트가 스스로 보고하지 않습니다. 그 판정이 회전 여부를 정합니다.
| 판정 | 그다음 |
|---|---|
| 성공 | 즉시 끝납니다. 한마디로 끝나는 대화는 회전을 타지 않습니다 |
| 실패 | 시스템이 실패 원인(검증 결과가 있으면 그것까지)을 붙여 한 번 더 돌립니다 |
| 확인 필요 (사람의 답·결정·권한이 필요함) | 멈추고 사람을 부릅니다. 시도 횟수는 깎이지 않습니다 |
| 판정 없음 | 새 회전을 열지 않고 끝냅니다. 알림은 갑니다 |
모델이 자기 결과를 판정하고 자기 다음 지시까지 쓰면 판정자와 피실험자가 같아집니다. 실제로 세 가지로 무너집니다.
| 무너지는 방식 | 어떻게 보이나 |
|---|---|
| 자기 확신 | 안 끝났는데 "거의 다 됐으니 마무리하라"고 써서 같은 자리를 맴돔 |
| 의도 드리프트 | 원본 요청이 이력에서 밀려나 몇 회전 뒤에는 다른 일을 하고 있음 |
| 제약 유실 | 요약하는 과정에서 "만료 쿠폰은 이 문구로" 같은 조건이 조용히 빠짐 |
그래서 모델은 판정에도, 다음 지시에도 손대지 않습니다. 끝난 턴은 별도의 판정기가 읽고, 다음 회전의 행동 지시는 판정 원인과 검증 결과로 시스템이 씁니다. 원본 요청과 완료 조건은 매 회전 시스템이 원문 그대로 다시 붙입니다. 아래 두 줄이 여기서 막힙니다.
이건 컨텍스트가 밀려날 때에서 본 "중요한 제약은 다시 적는다"를 제품이 대신 해주는 것입니다.
명령이 없어졌으니 완료 조건은 요청 안에 적습니다.
완료 조건은 기계가 판정할 수 있어야 합니다. "보기 좋을 때까지"는 조건이 아닙니다. 좋은 지시의 네 요소에서 본 완료 조건과 같은 기준이고, 이제 그것을 별도 명령이 아니라 본문에 적습니다.
/evrey 매일 … 처럼 잘못 치면 슬래시 명령으로 인식되지 않고 그대로 모델에게
갑니다. 모델은 그것을 업무 지시로 읽습니다. 목록에서 골라 넣는 것이 안전합니다.
없어진 /goal 도 마찬가지입니다. 손에 익어서 /goal ... 을 쳐도 오류가 나지
않고 그 문장이 그대로 모델에게 갑니다 — 아무 일도 안 일어난 것처럼 보이지
않으므로 더 헷갈립니다. 완료 조건은 위처럼 본문에 적으세요.
예약 화면입니다. 만들어진 뒤로는 화면에서 만든 것과 완전히 같습니다 — 수정·삭제·일시 정지가 전부 됩니다.
아닙니다. 기본 3회, 상한 5회입니다. 그리고 판정이 성공이면 그 자리에서 멈추므로, 짧게 끝나는 대화는 애초에 회전을 타지 않습니다.
화면에는 끄는 자리가 없습니다. 기본으로 켜 둔 이유가 그것입니다 — 예전에는 꺼짐이 기본이라, 켜지 않은 대화(즉 거의 모든 대화)는 모델이 절반쯤 하다 멈춰도 그 자리에서 끝났습니다. 사람이 그걸 알아채는 통로가 알림뿐인데, 알림은 무엇이 끝났는지 말해줄 뿐 다시 시키지는 못합니다.
프로그램에서 부를 때는 API의 repeatMaxAttempts 에 0 을
명시하면 꺼집니다.
1. /every 가 전송되지 않는 이유는?
나중에 할 일이기 때문입니다. 지금 한 번 더 보내면 만든 사람만 첫 회를 두 번
받습니다. /every 는 등록만 하고 토스트로 어디에 생겼는지 알려줍니다.
2. /every 를 예약 화면이 아니라 입력창에서 쓰는 이유는?
AI·모델·에이전트·도구·드라이브 범위가 이미 입력창에 골라져 있기 때문입니다. 빈 폼에서 다시 고르게 하면 아무도 안 합니다.
3. "될 때까지 다시 시도"를 걸려면 무엇을 해야 합니까?
아무것도 안 해도 됩니다. 재시도는 모든 대화의 기본(3회, 상한 5회)입니다. 할 일은 완료 조건을 요청 본문에 적는 것뿐이고, 그 조건은 기계가 판정할 수 있어야 합니다.
4. 명령을 잘못 치면 어떻게 됩니까?
그대로 메시지로 나갑니다. 모델이 그것을 업무 지시로 읽으므로, 목록에서 골라
넣는 편이 안전합니다. 없어진 /goal 도 오류 없이 그냥 메시지가 됩니다.
다음은 에이전트를 만드는 법입니다 → 에이전트란
/every 매일 어제 매출을 정리해서 표로 만들어줘매시 · 매시간 · 매일 · 아침 · 저녁 · 퇴근 · 매주 · 월요일 · 금요일 · 매월 · 매달지금 입력창에 이미 정해져 있는 것: AI · 모델 · 에이전트 · 제외한 도구 · 드라이브 범위→ /every 가 그대로 가져갑니다. 사람이 고르는 것은 주기 하나뿐입니다기본 시도 횟수 3회최대 상한 5회✗ (예전) /goal 테스트가 전부 통과할 때까지✓ (지금) 로그인 화면의 테스트를 고쳐주세요. 완료 조건: 비밀번호 틀림 / 없는 계정 / 잠긴 계정 세 경우의 테스트가 전부 통과할 것.