9월 23일 수요일
오늘의 세 시스템은 모델을 더 크게 만드는 대신, 판단을 타입으로 쪼개고 실행을 게이트로 묶으며 검색의 속도·깊이·출력 계약을 호출 경로마다 다르게 설계한다.
긴 답변을 작은 결정으로 분해하면 무엇을 검증할 수 있는가
프로그래머블 AI의 핵심은 대화 품질이 아니라 구조화 상태, 결정 프리미티브, 실패 경로를 코드의 계약으로 다루는 데 있다.

챗 모델의 문자열 출력을 운영 가능한 소프트웨어 구성 요소로 바꾸려면 인터페이스와 평가 기준을 어떻게 다시 설계해야 하는가?
TypeSafe이 제시하는 전환은 거대한 시스템 메시지에 업무 규칙을 몰아넣는 대신, 상태·지시·기준·입력을 JSON으로 명시하고 판단을 가장 작은 의미 단위로 쪼개는 것이다. 이때 모델은 완성된 긴 문장을 반환하는 주체가 아니라 코드가 소비할 Choice·Boolish·Score를 내는 구성 요소가 된다. Choice는 switch에 연결할 선택, Boolish는 조건문과 임계값에 연결할 연속적인 참·거짓 판단, Score는 정렬과 우선순위에 쓸 평가값에 가깝다. 기존 타입과 완전히 같지는 않지만, 어느 결정이 어떤 상태를 읽었고 어떤 분기로 이어졌는지 관찰할 수 있다는 점이 중요하다. 한 상태를 가져온 뒤 여러 질문을 병렬화하거나, 상태 요소에 ID를 붙여 필요한 부분만 전달하면 호출 비용을 관리하면서도 실패 지점을 좁힐 수 있다.
- 01
프롬프트가 아니라 상태 경계를 테스트한다
시스템 메시지에 모든 변수를 쌓으면 전역 상태처럼 결합되어 어떤 규칙이 결과를 만들었는지 분리하기 어렵다. 반대로 파일을 읽었는지, 특정 키를 외부 모델에 넘겨도 되는지, 후보가 임계값을 넘었는지를 별도 결정으로 만들면 각 단계에 테스트 케이스·재시도·사람에게 넘기는 경로를 붙일 수 있다. 실패를 다시 긴 프롬프트 수정으로 덮는 대신 상태와 결정의 경계를 수정하는 설계다.
- 02
결정성보다 의미 변화에 버티는 견고성을 본다
같은 입력에 늘 같은 값을 내는 결정성은 단위 테스트에 편하지만 비용·지능과 교환될 수 있다. 원문이 더 중요한 운영 특성으로 드는 것은 표면 표현이 조금 달라져도 의미가 같으면 판단이 흔들리지 않는 견고성이다. UUID나 무의미한 문자열만 바꾼 변형 입력을 넣어 결과 분포를 비교하고, 단일 성공률이 아니라 실제 워크플로의 정확도·지연·실패·운영 비용을 함께 측정해야 한다.
- 03
빠른 직관은 한계가 명확할 때만 경제적이다
Jev가 겨냥하는 System 1 경로는 빠른 단일 단계 판단이다. 멀티홉 추론이 늘면 성능이 떨어질 수 있으므로 모든 작업을 이 경로에 넣는 것이 아니라 confidence와 uncertainty를 보고 큰 모델·사람·다른 처리 경로로 넘겨야 한다. 사용자 대면 루프에서는 100~1,000밀리초 차이가 경험을 바꾸지만, 백그라운드 배치에서는 지연보다 총비용이 더 중요할 수 있다. 같은 모델 선택을 모든 호출에 적용할 근거가 없다.
- 04
벤치마크 점수는 배포 계약을 대신하지 못한다
공개 문항은 학습 데이터나 유사 데이터 최적화의 영향을 받을 수 있다. 그래서 이 접근은 공개 점수보다 실제 루프에서 신뢰성의 여러 9를 측정하자고 주장한다. 다만 하루 1조 토큰 사용량이나 커뮤니티 규모는 채택 신호일 뿐 정확성 증명이 아니다. 배포 모델을 몰래 바꾸지 않는 버전 정책, 임시 LTS와 빠른 릴리스의 균형, 호출별 관찰 가능성이 함께 있어야 모델이 소프트웨어 종속성으로 취급될 수 있다.
이 설계의 검증 가능한 주장은 ‘더 똑똑한 모델’이 아니라 ‘작은 판단을 코드로 조합하면 실패 위치와 비용 경로가 드러난다’는 데 있다. 따라서 도입 판단은 대형 추론 호출과의 정확도 비교만으로 끝내지 말고, 상태 스키마 변경 내성, 의미 보존 변형에 대한 견고성, 임계값 주변의 오분기, 상위 경로로 넘기는 비율, 버전 고정 비용을 같은 워크플로에서 재야 한다. 구조화 출력 자체를 신뢰성으로 착각하지 않는 것이 마지막 경계다.
에이전트 품질을 프롬프트 밖에서 고정하는 여섯 층
메모리·스크립트·훅·독립 평가·게이트를 실행 경로에 배치하고, 하니스마다 다른 권한과 실패 성향까지 배포 산출물에 포함한다.
공유 가능한 에이전트 스킬을 긴 지침 파일이 아니라 건너뛸 수 없는 실행 시스템으로 만들려면 무엇을 연결해야 하는가?
- 1
1. 작업별 라우터
서로 충돌하는 모든 규칙을 한 파일에 넣지 않는다. 브랜드 디자인과 제품 UI처럼 목표가 다른 작업은 목적별 하위 스킬로 나누고, 브리프를 분류해 필요한 컨텍스트만 로드한다. 긴 if-else 규칙의 토큰 비용과 instruction following 충돌을 함께 줄이는 Mixture of Experts식 구성이다.
- 2
2. 재개 가능한 메모리
비평 결과·사용자 선호·진행 상태를 스킬 폴더에 남기면 다음 세션이 이전 결정을 다시 추측하지 않는다. 대규모 리팩터링도 한 세션에 한 파일씩 처리하며 연결 상태를 넘길 수 있다. 메모리는 대화 기록의 무제한 축적이 아니라 다음 단계에 필요한 판단과 이력을 선택적으로 보존하는 계층이다.
- 3
3. 동적 스크립트와 자동 훅
스크립트는 저장소 상태를 읽어 표준 출력과 종료 상태로 다음 행동을 구조화하고, 훅은 사용자가 명령을 기억하지 않아도 모든 편집에서 위반을 감시한다. 약한 모델이 사후 경고를 무시한다면 파일 쓰기 전 훅으로 상태 전이를 막을 수 있다. 대신 동적 출력이 프롬프트 캐시를 깨는 비용과 훅 오탐을 위한 세밀한 ignore 규칙을 감수해야 한다.
- 4
4. 독립 생성과 독립 검사
같은 모델이 자기 결과를 평가하면 이미 만든 구조에 고정될 수 있다. 한 에이전트는 브라우저에서 위계와 전체 인상을 보고, 다른 에이전트는 대비·글꼴 수·간격처럼 결정적 증거를 수집한 뒤 메인 스레드가 두 결과를 합성한다. 두 평가자는 서로의 결론을 보지 않아야 하며, 린터 위반 수만으로 품질을 단정해서도 안 된다.
- 5
5. 건너뛸 수 없는 게이트
약한 모델은 판단 능력보다 긴 지침을 끝까지 수행하는 규율이 먼저 무너질 수 있다. 중요한 검증을 ‘실행하라’는 문장으로 두지 않고 각 단계의 통과 결과를 개별 상태로 기록해야 한다. 서브 에이전트 권한이 없는 하니스라면 조용히 생략하지 말고 제한된 경로임을 밝히고 권한을 요청하는 분기도 필요하다.
- 6
6. 하니스별 컴파일과 평가
Claude Code, Codex, Cursor, Gemini는 서브 에이전트 권한·질문 도구·백그라운드 완료 통지·훅 설치 방식이 다르다. 하나의 폴더를 그대로 복제하는 대신 도구와 권한, 모델별 반복 오류에 맞춰 산출물을 컴파일해야 한다. 배포 전에는 여러 모델과 도메인에서 반복 실행하고, 규칙 한 줄을 제거한 어블레이션까지 비교해 효과를 검증한다.
프롬프트는 의도를 설명하지만 실행을 보장하지 않는다. 이식 가능한 스킬의 최소 단위는 지침 파일이 아니라 상태 저장, 권한 분기, 자동 감시, 독립 평가, 실패를 막는 게이트, 하니스별 설치를 묶은 작은 제품이다. 가장 강한 모델의 성공 화면보다 가장 약한 모델이 어느 단계를 생략하는지부터 측정해야 배포 계약이 된다.
검색 API는 한 품질 점수가 아니라 호출 경로의 목적 함수다
정확한 문자열과 의미 유사성을 결합하되, 실시간 경로와 심층 조사 경로는 지연·토큰·출력 형식의 예산을 다르게 잡아야 한다.
실시간 검색 경로이름·제품명·기술 용어처럼 정확한 문자열이 중요한 질의는 수십 년간 최적화된 키워드 인덱스의 효율을 활용한다. 의미 관계를 놓치지 않도록 임베딩 검색과 후처리를 조합하되, 빠른 응답 경로의 예산 안에서 후보 집합을 좁힌다.
심층 조사 경로부정 조건과 복합 의미, 사람·기업·문서를 묶는 집합 질의는 임베딩이 문맥을 보완한다. 다만 임베딩은 고유명사와 식별자를 손실할 수 있으므로 키워드와 경쟁시키지 않고 여러 검색 시스템과 재순위화를 결합한다.
실시간 검색 경로음성 에이전트처럼 대화 중 검색하고 다시 응답해야 하는 경로는 약 200밀리초를 목표로 한다. 모든 문서를 더 깊게 읽는 대신 즉시 필요한 후보와 근거를 반환하는 쪽에 최적화한다.
심층 조사 경로복잡한 조건을 만족하는 목록이나 높은 품질의 조사가 목적이면 수 초를 넘어 수 분을 허용할 수 있다. 더 많은 검색 반복과 후처리를 쓰되, ‘깊다’는 이유만으로 실시간 호출과 같은 서비스 수준을 약속하지 않는다.
실시간 검색 경로검색 결과 전체를 downstream 모델에 밀어 넣지 않고 문서별 핵심 토큰을 추출한다. 원문은 10개 문서 대신 각 문서의 약 100개 핵심 토큰을 전달하는 예를 들며, 목표는 후속 모델의 컨텍스트 비용과 지연을 함께 줄이는 것이다.
심층 조사 경로심층 경로는 더 넓은 문서 집합을 읽을 수 있지만 최종 호출에는 질문에 필요한 증거를 선별해야 한다. 토큰 추출은 단순 요약이 아니라 다음 질의와 판단에 필요한 정보를 남기는 인터페이스이므로 누락률을 별도로 평가해야 한다.
실시간 검색 경로낮은 지연 경로에서도 링크 묶음보다 다음 단계가 소비할 필드를 직접 반환하면 재파싱을 줄일 수 있다. 구조화 출력은 데이터베이스 기록이나 후속 작업으로 연결되는 경계를 명확히 한다.
심층 조사 경로사람·논문·학력·연도처럼 복합 필드를 요청하는 조사에서는 결과의 완전성과 근거가 핵심이다. 구조가 맞았다는 사실만으로 값이 맞다고 간주하지 말고, 질의 조건 누락과 후보 범위의 불완전성을 함께 검증해야 한다.
혼합 검색, 토큰 추출, 구조화 출력은 하나의 만능 설정이 아니다. 에이전트마다 속도·깊이·도메인 범위·기간·출력 형식을 목적 함수로 선언하고, 정확한 문자열의 회수율과 의미 질의의 적합도, 추출 과정의 근거 누락, 구조화 필드의 완전성을 별도 지표로 측정해야 한다. 빠른 경로와 깊은 경로를 분리해야 비용 최적화가 품질 저하를 숨기지 않는다.
아직 못 읽은 북마크
북마크를 고르는 중…