research

Easy → Simple Translation — Harness의 진짜 정의

Easy → Simple Translation

Harness의 정의는 complex한 LLM 자유simple한 예측 가능 행동으로 번역하는 layer다. 이게 harness의 존재 이유. 다른 모든 harness 기능 (prediction · ACL · lazy loading · gateway)은 이 mechanism의 적용. 사용자 thesis의 진짜 자리 — LLM이 easy를 선택할 때마다 harness가 complex를 simple로 바꾼다.


1. 철학

사용자가 박은 핵심을 풀어쓰면:

  • LLM은 easy한 선택을 한다 — 자유로운 자연어 input, 자유로운 action 출력. probabilistic. 같은 input에 다른 output 가능.
  • 사용자가 원하는 건 simple — 예측 가능, 검증 가능, 일관된 행동.
  • 둘이 충돌한다 — easy는 complex이고, simple은 narrow다. 같은 layer에서 살 수 없다.
  • Harness가 번역자 — 두 layer 사이에 끼어들어 변환.

핵심 thesis 한 줄:

Harness의 정의는 complex한 LLM 자유simple한 예측 가능 행동으로 번역하는 layer다.

Complex와 Simple의 의미 명확화:

차원Complex (LLM 영역)Simple (Action 영역)
표현 공간무한 — 자연어 모든 표현좁음 — 정해진 grammar
예측성낮음 — probabilistic높음 — deterministic
자유도높음 — 어떤 조합이든 가능낮음 — 정해진 조합만
검증성낮음 — 왜 이 output인지 모름높음 — schema check 가능

이 둘이 서로 다른 layer에서 살아야 한다. LLM은 complex 영역에서 자유롭게, action은 simple 영역에서 엄격하게. Harness가 그 경계.

이게 코딩 harness에서 hidden했던 이유 — 코딩은 암묵적 translation 도구가 가득. type system, test suite, lint, git diff. 일반 agent엔 그 도구가 부재. harness가 명시적으로 design해야.

action-prediction-and-trustoutput 측 strict를 박았다면, 이 노트는 그 strict가 어떻게 만들어지는가의 mechanism. harness의 본질 정의.


2. 추상 작동 구조

전통 view vs Translation view

전통 view (translation 부재):

사용자 input → LLM → action 실행

Translation view (harness가 layer):

사용자 messy input → [Input layer 보강] → 
  LLM (complex 영역) → 
  [Output layer constrain · verify · simplify] → 
  Simple action

핵심 — translation은 bidirectional. 입력 측 (messy → structured), 출력 측 (free → grammar). 둘 다 harness 책임.

Translation의 6 mechanism

Harness가 LLM 출력을 simple로 변환할 때 사용하는 도구:

Mechanism역할적용 layer
Vocabulary constraint사용 가능한 동사/명사 제한output layer
Action grammaraction이 따라야 할 형식 (verb-target-options)output layer
Schema validationaction plan이 schema 만족output layer
Templating자주 쓰이는 action을 template로output layer
Composition rulesaction을 어떻게 조합output layer
Refusal + retrygrammar 외 action 시 reject, 재시도feedback loop

각 mechanism이 complex 표현 공간을 좁힌다. 좁힐수록 simple ↑, 그러나 easy ↓. 이게 trade-off의 자리.

Layered vocabulary — 답의 구조

답은 vocabulary를 layer로 나누는 것. 한 layer에서 좁히면 다른 layer에서 자유 보장:

각 layer 사이가 translation 자리. L4→L3는 LLM이 skill 매칭, L3→L2는 skill 정의에서 sequence, L2→L1은 composed = tier 1 조합. 각 단계마다 vocabulary가 좁아지고 grammar가 엄격해진다. 그러나 위 layer에서 자유 보장.

이게 evolution-mcp-to-skillslayer 위의 layer 패턴이 vocabulary에 적용된 사례. layer를 추가하면서 각 layer의 자유를 보존.

Templating — 일반 agent harness의 결정적 도구

자주 쓰이는 action sequence를 template으로:

  • LLM이 새로 generate하지 않고 fill in
  • 예: "이메일 보내기" = template { 받는이, 제목, 본문 } + send action
  • LLM은 세 변수만 채움 — predictable ↑

코딩 vs 일반 agent의 템플릿 의미 차이:

  • 코딩: test가 LLM 자유를 흡수 → template은 편의 도구
  • 일반 agent: template이 trust의 결정적 도구 → LLM 자유를 제약하는 자리

이게 일반 agent harness에서 frontier-rl-skill-generationTemplate 단계가 코딩보다 훨씬 더 결정적인 이유.


3. 약점

Trap 1 — Vocabulary가 너무 좁으면 easy 깨짐

사용자가 자유롭게 표현 못 하면 unusable. vocabulary 폭이 segment 의존. 학내 비개발자는 너무 넓으면 혼란, 너무 좁으면 표현 못 함. v1.0에서 적정 vocabulary가 design.

Trap 2 — Grammar가 새 use case에 안 맞음

정해진 grammar가 예상치 못한 task에 안 맞음. 사용자가 grammar 외 행동 원하면 막힘 → ecosystem 진화 막힘. 답: grammar 진화 mechanism — refuse 패턴을 측정해서 grammar 확장.

Trap 3 — Translation의 해석 비용

모든 LLM output을 grammar 검증하는 비용. latency ↑. 학내 1000 req/day quota에서 매 호출마다 검증 비용. ⚠️ AI 추정: composed action level에서 검증, tier 1 level에서 추가 검증 — 이중 비용.

Trap 4 — Refusal의 사용자 경험

LLM이 grammar 외 action 시도 → refuse → 사용자 혼란. "왜 안 돼?"의 답을 harness가 설명 가능해야. invisible refusal은 trust 깸. 답: refuse는 visible + explanatory.

Trap 5 — Template의 경직성

자주 쓰이는 ≠ 모든. template이 너무 많으면 maintenance, 너무 적으면 자유 없음. template 카탈로그가 진화 가능해야. 이게 frontier-rl-skill-generationAutoSkill 미래 hook과 연결.

Trap 6 — LLM의 grammar 우회 시도

LLM이 정해진 grammar를 우회하려는 경향 — 한 action으로 여러 일 시도, 정해진 vocabulary에 비슷한 단어 사용. harness가 prompt-level에서 강제 + output-level에서 검증 — 이중 layer.

Trap 7 — Easy ↔ Simple trade-off의 재등장

  • vocabulary 좁히면 simple but not easy
  • vocabulary 넓히면 easy but not simple
  • 이건 action-prediction-and-trustpredictability ↔ easy와 짝
  • 답이 segment specific vocabulary 폭 — 학내는 더 좁게 (⚠️ AI 추정)

Trap 8 — Layered vocabulary의 층 수가 또 trade-off

  • 4 layer (L1~L4): 적절. 그러나 translation 비용 4번
  • 2 layer: 빠름. 그러나 자유와 strict 사이 gap 큼
  • 6 layer: 자유 좋음. 그러나 비용 폭증

⚠️ AI 추정: 4 layer가 학내 segment에 적절. 그러나 측정해서 조정.


4. 대안 흐름

Translation 부재 vs 다른 mechanism

가상 path효과
No translationLLM 자유. 모든 게 complex. predictable X. trust 0
Strict schema onlyJSON schema enforcement. 코딩에선 작동, 일반 agent엔 너무 엄격
Natural language all the wayvocabulary 제한 X. unpredictable
Pure templating정해진 template만. 자유 X. ecosystem 형성 X
Layered vocabulary (이 노트의 답)tier별 grammar. 진화 가능. 비용 있음

⚠️ AI 추정: layered vocabulary가 현재 best. 그러나 layer 수가 또 trade-off.

Production 사례 — translation mechanism 매핑

시스템Translation mechanism
Anthropic Computer Usescreenshot + 좁은 tool 호출 schema
Claude Skills lazy loadingskill이 composed action grammar 정의 (L3)
OpenAI Operatorrestricted action vocabulary + confirmation
Zapier / IFTTTtemplate heavy. "if this then that" — 매우 narrow
RPA tools (UiPath 등)매우 narrow vocabulary, predictable. 그러나 자유 거의 X
MCP tool 호출tier 1 strict (JSON schema), 위 layer 자유

⚠️ AI 추정: Skills lazy loading 패턴이 layered vocabulary의 production 사례. agentskills.io의 SKILL.md = L3 layer. body는 자유 (사용자 자연어), tool 호출은 strict grammar (L1). 학내 marketplace의 복제 대상.


5. 인사이트

5.1 Harness의 정의가 easy → simple translation 자체

"harness란 무엇인가?" — easy to simple translation. LLM의 complex를 simple로 번역하는 layer. 다른 모든 harness 기능 (prediction, ACL, lazy loading, gateway, ACP server)은 이 정의의 적용. 이 노트가 harness의 진짜 정의를 박는 자리.

5.2 Easy와 Simple은 다른 layer에 산다 — 같은 layer에 둘 수 없다

  • LLM = easy (자유, 자연어, complex)
  • Action = simple (예측, 정형, narrow)
  • 둘이 같은 layer에 있으면 — easy를 잃거나 simple을 잃거나
  • Harness가 경계. layer 사이에 끼어들어 번역

이게 protocol-theory-lamport-tanenbaum layer 분리의 가장 깊은 적용. abstraction의 본질.

5.3 Layered vocabulary가 . 그러나 층 수가 design

  • Tier 1 actions / Composed actions / Skills / User intent — 4 layer
  • 너무 많으면 translation 비용, 너무 적으면 자유 없음
  • ⚠️ AI 추정: 학내 segment에 4 layer가 적절. 측정해서 조정

5.4 Templating이 일반 agent harness에서 결정적

코딩에선 test가 LLM 자유를 흡수 → template은 편의 도구. 일반 agent에선 template이 trust의 결정적 도구 → LLM 자유를 제약하는 자리. v1.0의 first 10 templates가 ecosystem grammar 정한다. 이게 standardization-political-economy 권력 시드 thesis와 직접 연결.

5.5 Vocabulary 좁힘 ↔ easy 깨짐 — segment specific 답

action-prediction-and-trust trade-off와 짝. 답: segment specific vocabulary 폭. 학내 비개발자는 더 좁게 — 진입 장벽 낮아짐. trust 깨질 위험도 낮춤. 다른 segment (개발자 다수)는 더 넓게.

5.6 Grammar 외 action의 refusal — trust 도구이자 진화 막는 trap

  • refuse 너무 많으면 사용자가 시스템 우회 시도 → trust 깸
  • refuse 없으면 grammar 의미 없음
  • 답: refuse + 학습 loop — refuse 패턴을 측정해서 grammar 진화
  • 이게 postels-law-and-robustness standardized liberal의 일반 agent 적용

5.7 Harness의 진짜 책임번역의 정확도

  • LLM은 intent를 박는다
  • harness는 intent → action 번역의 정확도 책임
  • 번역 실패 = LLM 한계가 아니라 harness 책임
  • 이게 사용자 thesis의 harness 단에서 해결의 정확한 의미

5.8 이 thesis가 코딩 harness에서 hidden했던 이유

  • 코딩에서 git diff / type system / test가 암묵적 translation 도구
  • LLM이 잘못해도 test가 잡음. git revert로 되돌림
  • 일반 agent엔 그 도구 부재 → harness가 명시적 design
  • 이게 일반 agent harness가 코딩 harness보다 훨씬 design 부담 큰 이유

5.9 Template 카탈로그가 segment specific 자산

  • 학내 비개발자의 자주 쓰는 task가 segment specific
  • v1.0의 첫 template들이 segment의 first grammar
  • 다른 segment 복제 시 — template 카탈로그는 segment specific, layered vocabulary 구조는 공유 layer (segment-application-non-developer-majority 5.7)

5.10 Translation은 bidirectional — input/output 둘 다 harness 책임

  • input 측: 사용자 messy → LLM이 이해 가능한 structured (다음 노트 disorder-tolerance-general-user)
  • output 측: LLM의 free → harness가 검증 가능한 grammar (이 노트)
  • 둘 다 harness 책임. 한쪽만 design하면 반쪽 harness

5.11 Easy ↔ Simple trade-off의 segment specific 답

  • 학내 비개발자: simple 우선 (trust 깨지면 끝)
  • 코딩 사용자: easy 우선 (test가 backup)
  • 일반 productivity 사용자: 균형
  • segment마다 다른 균형점. 이게 trade-off-five-options의 차원 우선순위가 segment dependent인 이유의 깊은 근거

5.12 Worse is Better가 translation 영역에서는 작동

action-prediction-and-trust에서는 Worse is Better가 trap이었다 (trust 비대칭). 그러나 translation 자체Worse is Better 적용 — 단순한 translation mechanism이 ecosystem 형성. 복잡한 schema validation은 trap. 이게 ① 4축 안에서도 5번째 축과의 tension이 있는 이유.

5.13 이 노트가 harness의 진짜 정의를 박는다

"harness란 무엇인가?"의 답:

Harness = Easy를 Simple로 번역하는 layer.

다른 정의들 (안전 layer, abstraction layer, framework, runtime)은 이 정의의 부분. 이게 harness 본질의 한 줄 정의. 학내 marketplace v1.0의 모든 결정이 이 정의에 닿게.


6. ① fundamentals 5번째 축의 깊은 본질

action-prediction-and-trust이 5번째 축을 외부 view에서 박았다 (사용자에게 어떻게 보이는가 = predictable). 이 노트가 내부 mechanism 박는다 (어떻게 만들어지는가 = translation).

5번째 축의 합산:

Predictable agent = Easy → Simple translation이 정확하게 작동하는 agent.

translation 정확도가 prediction 정확도. 둘이 같은 thesis의 두 면.

이걸 ① 4축에 추가하면 — 5축이 일반 agent harness의 fundamentals:

  1. 단순함 (Worse is Better)
  2. layer 분리 (Lamport · Tanenbaum)
  3. de facto 권력 (정치경제학)
  4. 관대함 (Postel's Law)
  5. 예측 가능성 = Easy→Simple translation (이 노트 + action-prediction-and-trust)

7. 다음으로의 연결

남은 일반 agent 노트:

이 셋이 박히면 — 일반 agent harness lens 완성.


참조

  • Anthropic Skills lazy loading — layered vocabulary production 사례
  • Anthropic Computer Use — screenshot + tool grammar
  • agentskills.io SKILL.md — L3 layer 표준
  • RPA tools의 narrow vocabulary 사례
  • DSL (Domain Specific Language) 이론 — translation의 학술적 lens

연결: