F-모드 — 필터 우선 모드
원칙: 원시 데이터는 절대 컨텍스트에 들어가지 않으며 결과만 들어갑니다. 로직을 데이터 쪽(셸 파이프라인, 짧은 스크립트, 하위 에이전트)으로 옮기고 간결한 요약을 가져오세요. 읽어들이는 로그 덤프의 모든 토큰은 추론에 사용할 수 없는 토큰이며, 길고 노이즈가 많은 컨텍스트는 추론을 더 비싸게 만들 뿐만 아니라 더 나쁘게 만듭니다.
1. 읽기 전에 필터링 및 집계
| 대신 | 이렇게 하세요 |
|---|---|
cat app.log | grep -c ERROR app.log; `grep -E 'ERROR |
| 5MB JSON 읽기 | jq '.items | length', jq -r '.items[] | [.id,.status] | @tsv' | sort | uniq -c |
SELECT * FROM orders | SELECT status, count(*) FROM orders GROUP BY 1 |
git log | git log --oneline -20, git log --format=%s origin/main..HEAD |
| 파일 스크롤 | grep -n 'def handle' file.py 한 다음 오프셋/제한으로 읽기 |
2. 필터링은 절대 실패를 숨기지 않아야 함
잘 보이지만 실제로는 실패를 감춘 요약은 보지 않는 것보다 더 나쁩니다.
- 종료 코드 유지:
set -o pipefail사용하거나cmd > out.txt 2>&1; echo "exit=$?"; tail -20 out.txt사용.tail로 바로 파이핑하면 명령어의 종료 코드가 사라집니다. tail외에도 실패 마커를 grep:grep -cE 'FAIL|ERROR|Traceback|panic' out.txt- 분모와 함께 개수 출력:
passed 41/42, 절대 "OK"만 출력하지 않음.
pytest -q --tb=short > /tmp/t.out 2>&1; echo "exit=$?"
grep -cE 'FAILED|ERROR' /tmp/t.out; tail -15 /tmp/t.out
3. 여러 유사한 검사 → 하나의 스크립트, 하나의 테이블
열 개의 엔드포인트, 스무 개의 파일, 서른 개의 행을 검증해야 한다면: 하나의 스크립트를 작성하여 루프를 돌고 간결한 테이블(name \| status \| detail)과 합계를 출력하세요. 열 번의 도구 호출과 열 개의 전체 출력을 사용하지 마세요.
for u in / /api/health /api/items; do
printf "%-14s %s\n" "$u" "$(curl -s -o /dev/null -w '%{http_code}' "localhost:8000$u")"
done
4. 요약을 형태가 아닌 의미로 확인
유효해 보이는 출력도 여전히 틀릴 수 있습니다. 예상 값이나 정상 합계와 비교하세요: 개수가 입력 크기와 일치하는지, 알려진 행이 존재하는지, 파일 수가 ls \| wc -l과 일치하는지. 요약을 교차 검증할 수 없으면 그렇게 말하세요.
5. 테스트
조용한 모드, 짧은 역추적, 실패 섹션의 꼬리:
pytest -q --tb=shortvitest run --reporter=dot,jest --silentgo test ./... 2>&1 | grep -E '^(FAIL|ok|---)'cargo test -q
6. 브라우저 검사
전체 DOM 스냅샷 대신 간결한 JSON({title, errors: n, buttons: n, overflowX: bool})을 반환하는 스크립트를 평가하세요. DOM 구조 자체가 문제가 될 때만 스냅샷을 찍으세요. 스크린샷은 시각적 검사용이지 텍스트를 읽기 위한 것이 아닙니다.
7. 광범위한 조사 → 하위 에이전트
대규모 검색, 로그 포렌식, 데이터베이스 덤프: file:line 참조와 함께 결론을 반환하는 하위 에이전트에 위임하세요. 그 결과는 여전히 주장일 뿐이므로 — 핵심 포인트를 확인한 후에 조치를 취하세요.
8. 비밀 및 개인 데이터
요약이나 진단에 비밀번호나 실제 개인 식별 정보를 절대 출력하지 마세요. 마스킹(postgres://***)하거나 개수만 세세요(emails found: 12). 잡힌 예외 메시지 내의 연결 문자열과 키도 마스킹하세요.
9. 파일 읽기
- 먼저
grep -n으로 검색한 다음 오프셋/제한으로 관련 범위만 읽으세요. - 편집하려는 소스 코드는 전체를 읽으세요. 부분 읽기는 편집을 망가뜨립니다.
- 편집 직후에 파일을 "확인"하기 위해 다시 읽지 마세요. 편집 도구가 이미 실패 시 오류를 반환합니다.
10. 중단 규칙
동일한 수정이 두 번 실패하면 → 중단하세요. 정확한 오류 줄에서 근본 원인을 찾거나 물어보세요. 세 번째 무맹 재시도는 없습니다.
11. 컨텍스트 위생
- 관련 없는 작업 사이에 컨텍스트를 지우고; 긴 세션은 압축하세요.
- 이 프로젝트에서 사용하지 않는 플러그인, 스킬 및 MCP 서버를 비활성화하세요: 각각 모든 요청에서 프롬프트 토큰을 소모합니다.
- 절감 효과는 주장된 백분율이 아니라 실제 사용량(예:
/cost)으로 판단하세요.