"답을 못 넣을 걸 이미 알면, 물어보지도 마."
시작하기 전에 끝까지 볼 것
한 번 치는 건 짧은 흐름이야. 붙잡고, 물어보고, 넣고. 그중 넣는 단계엔 접근성 권한이 필요하지. 그러니 규율 있게 하려면 그 권한을 맨 앞에서 확인해야 해. 붙잡기가 추론으로 이어지기도 전에. 못 넣으면 모델이 뭐라 하든 이번 치기는 통째로 망한 거니까. 뒤쪽 단계가 요구하는 걸 비싼 단계 앞에서 미리 보는 것, 그게 조심스러운 흐름이랑 값비싼 일 다 해놓고 결승선에서 자빠지는 흐름을 갈라.
못 쓸 호출은 아예 안 해
구체적으로는 이래. 접근성이 안 열려 있으면 Flint 는 모델을 안 불러. 바로 멈추고, 권한이 필요하다고 말하고, 시스템 설정의 접근성 화면을 열어줘. 결과를 받아놓고 나서야 놓을 데가 없다는 걸 깨닫는 짓은 안 하는 거지. 추론엔 시간이 들고 흔히 돈이나 횟수 제한도 걸리는데, 못 쓸 걸 알면서 쓰는 건 그냥 낭비잖아. 게다가 사용자는 결국 어디에도 못 갈 결과를 기다리며 빙글빙글 도는 표시만 쳐다보게 되고.
침
|
+-- 접근성 열려 있나?
| 아니오 -> 멈춘다. 설명하고 설정 화면을 연다. 모델은 안 부른다.
| 예 -> 계속
|
+-- 붙잡기 -> 물어보기 -> 확인 -> 넣기
권한 관문은 추론 앞에 있지 뒤에 있지 않다.
버려진 호출의 값
이건 이미 뒤쪽 절반을 본 생각의 앞쪽 절반이야. 뒤쪽(Track 6)에선, 호출이 이미 끝났는데 자리가 낡아버렸을 때 Flint 가 결과를 버리는 대신 클립보드로 건져냈지. 앞쪽에선, 애초에 못 쓸 걸 아는 호출을 안 하고. 둘 다 같은 규칙에서 나와. 추론 호출은 값이 매겨진 자원이니까 헛되이 쓰지도 말고, 이미 쓴 걸 버리지도 말자는 것. 들어갈 땐 비싼 단계를 지키고, 나올 땐 그 결과를 건지고.