Harness engineering for coding agent users
Source: https://martinfowler.com/articles/harness-engineering.html Type: article By: Birgitta Böckeler (Thoughtworks), published on martinfowler.com Published: 2026-04-02 Valid as of: 2026-04-02 Note: raw/ 파일(
raw/articles/2026-04-02-harness-engineering-coding-agent-users.md)은 세션 재시작 후 작성 예정. Hook 매처 수정 완료(settings.json), 세션 캐시 갱신 필요.
핵심 Takeaway
- harnessability: 모든 코드베이스가 동등하게 하네스화 가능하지 않음 — 강타입 언어·모듈 경계·프레임워크가 암묵적 harnessability를 제공 (출처: §Harnessability)
- Ambient Affordances: 에이전트 환경을 legible·navigable·tractable하게 만드는 구조적 속성. 그린필드는 처음부터 설계, 레거시는 가장 필요한 곳에서 가장 구현 어려움 (출처: §Ambient affordances)
- Harness Templates: 서비스 토폴로지를 guides+sensors 번들로 패키징 → 80% 서비스에 재사용 가능한 하네스 표준화 (출처: §Harness templates)
- Ashby’s Law: 규제자가 시스템만큼의 다양성을 가져야 함. 토폴로지 약속 = variety-reduction 전략 (출처: §Ashby’s Law)
- 인간 개발자는 암묵적 하네스 — 사회적 책임감, 복잡성에 대한 미적 직관, 조직 기억. 하네스 목표는 인간 입력 제거가 아닌 가장 중요한 곳에 집중 (출처: §The role of the human)
상세 요약
Harnessability와 Ambient Affordances
코드베이스마다 하네스 적용 가능성이 다르다. 강타입 언어(타입 체커가 자동 센서), 명확한 모듈 경계(아키텍처 제약 규칙 가능), Spring 같은 프레임워크(에이전트가 걱정할 세부사항 추상화)는 암묵적으로 harnessability를 높인다.
Ambient affordances: 에이전트 환경의 구조적 속성이 하네스 용이성을 결정. 그린필드 팀은 처음부터 설계할 수 있지만, 기술 부채가 쌓인 레거시 팀은 “하네스가 가장 필요한 곳에서 구현이 가장 어렵다”는 역설에 직면.
Harness Templates
기업 서비스의 80%는 몇 가지 공통 토폴로지(데이터 API 서비스, 이벤트 처리 서비스, 데이터 대시보드)로 구성. 이 토폴로지들이 guides+sensors 번들인 harness templates로 진화할 수 있다. 토폴로지 약속 = 에이전트가 생성 가능한 공간을 좁히는 variety-reduction (Ashby’s Law).
Ashby’s Law 적용
Ashby의 필요 다양성 법칙: 규제자는 지배하는 시스템만큼의 다양성을 가져야 한다. LLM 기반 에이전트는 거의 무엇이든 만들 수 있지만, 토폴로지를 약속하면 그 공간을 좁혀 포괄적인 하네스를 달성 가능.
미해결 질문들
- 하네스가 커질수록 guides와 sensors가 일관성을 유지하려면?
- 지시와 피드백 신호가 상충할 때 에이전트를 얼마나 신뢰할 수 있나?
- 센서가 한 번도 발화하지 않으면 품질이 높은 것인가, 탐지가 부족한 것인가?
- 코드 커버리지·뮤테이션 테스트처럼 하네스 커버리지·품질을 평가하는 방법은?
연결되는 위키 페이지
- harnessability — 이 기사의 핵심 신규 개념
- harness-engineering — 상위 개념, Ashby’s Law 추가
- guides-sensors — Feedforward/Feedback 프레임워크 (Böckeler 저)
- keep-quality-left — §Timing 섹션
- birgitta-bockeler — 기사 저자
- martin-fowler — 게재 사이트 (martinfowler.com)