라벨이 AI도구인 게시물 표시

omo 속의 Gemini — 실패 모드 두 개를 명명한 하네스

이미지
공장 안전수칙을 떠올려 보자. 절차는 모든 기계가 같은데, 유독 한 기계 앞에만 경고판이 빽빽하게 붙어 있다. 그 기계가 위험해서가 아니라, 그 기계에서 반복된 사고 유형이 다르기 때문이다. omo의 Gemini 전용 프롬프트가 정확히 그런 문서다. 요약부터. omo의 Atlas 오케스트레이터 프롬프트 8벌 중 Gemini판이 525줄로 가장 길다(2026-08-28 실측, default 502줄·gpt 460줄). 그런데 늘어난 지면의 정체는 새 절차가 아니라 강조 블록이다. 그 강조가 겨냥하는 실패 모드는 두 개다. 방향이 서로 반대다. omo가 뭔지는 1편에서 , 같은 방법론이 Kimi에겐 어떻게 적용됐는지는 2편에서 다뤘다. 오늘 읽을 것은 넷이다. 가장 긴 프롬프트에서 뭐가 늘었는지 세고, 실패 모드 두 개와 장치를 읽는다. 설명문이 명령문이 되는 지점을 짚고, 이 모델이 omo 안에서 받은 자리로 끝낸다. 이런 경험이 있다면 에이전트가 “확인했습니다”라고 답했는데 실제로는 파일을 읽지 않은 걸 발견한 적이 있을 것이다. “이 버그 좀 봐줘”라고 했더니 조사 대신 코드를 바로 고쳐버린 적도 있을 것이다. 그리고 그런 버릇이 모델마다 다르다는 것도 느꼈을 것이다. omo 작성자는 그 버릇의 차이를 모델별 프롬프트 파일로 만들었다. Gemini용 파일 두 개에는 그 버릇이 실패 모드라는 이름으로 하나씩 명명돼 있다. 가장 긴 프롬프트부터 살펴보자 packages/prompts-core/prompts/atlas/ 디렉토리의 오늘(8/28) 기준 실측이다. default 502줄, gpt 460줄, gemini 525줄. 1편에서 실측한 8/23 수치(497·462·527)와 다른데, 8/25 커밋 하나가 atlas 디렉토리를 건드려 줄 수가 움직였다. 닷새 사이에도 편집되는, 살아있는 파일이라는 뜻이다. 그럼 default보다 긴 23줄엔 뭐가 들었을까. 새 절차가 아니다. 오히려 절차 설명은 짧아졌다. 노트 디렉토리 구조 예시는 7줄 ...

봇이라고 밝히니 통과했다 — 브라우저인 척해서 차단당한 18일

이미지
건물 하나를 떠올려 보자. 택배 기사는 그냥 들여보내는데 방문객처럼 굴면 신분증을 내고 방문 목적을 적어야 한다. 그 건물에서는 제복을 벗는 쪽이 빨리 들어간다. 내 수집기는 18일 동안 정문 앞에 서 있었다. 브라우저인 척하는 User-Agent를 달고 있었기 때문이다. 그 한 줄을 지우자 차단이 풀렸다. 결론부터 적는다. 대응책은 자기가 언제부터 쓸모없어졌는지 말해 주지 않는다. 차단을 피하려고 넣어둔 UA 위장이 그랬고, 실패를 놓치지 않으려고 넣어둔 장치도 그랬다. 신호는 28번 다 울렸고 그걸 18일 동안 읽지 않은 사람은 나다. 누가 읽으면 좋은가 외부 사이트를 긁는 코드를 굴려본 사람. 차단을 피하려고 헤더를 손봐본 적이 있는 사람. 그리고 “실패하면 에러가 나니까 알게 되겠지”라고 생각해 본 사람. 수집기가 조용히 0을 반환하는 걸 본 적이 있다면 절반은 아는 이야기다. 나머지 절반은 조용하지 않았는데도 못 봤다는 쪽이다. 위장을 지우니 403이 200이 됐다 먼저 증상부터 살펴보자. 트렌드 수집기의 소스 두 곳이 죽어 있었다. Threads와 Product Hunt다. 둘 다 r.jina.ai 라는 같은 경로를 지나간다. 마지막으로 정상 수집된 실행은 7월 29일이다. Threads 135건, Product Hunt 16건이 들어왔다. 다음 날부터 둘 다 0이 됐다. 8월 16일까지 28회 연속이다. 원인을 좁히려고 같은 URL에 헤더만 바꿔 던져 봤다. 같은 시각, 같은 주소다. 보낸 User-Agent 응답 Mozilla/5.0 ... Chrome/131.0.0.0 Safari/537.36 403 curl 기본 UA 200 빈 UA 200 trend-scout/0.2 200 403 응답 본문의 첫 줄은 이랬다. <title>Just a moment...</title> — Cloudflare가 자바스크립트 챌린지를 걸 때 내보내는 화면이다. 즉 브...