하네스 엔지니어링
LLM을 스캐폴딩으로 감싸 프로덕션에서 안정적으로 동작하게 만드는 일
awesome-ai-stack · 개념 슬라이드
무엇인가
단일 LLM 호출은 똑똑하지만 그 자체로는 불안정합니다. 같은 프롬프트가 어제는 통과하고 오늘은 빗나갑니다.
flowchart LR
subgraph harness [하네스]
loop[에이전트 루프]
loop --> tools["도구·웹"]
loop --> sandbox[코드 샌드박스]
loop -.-> guard[가드레일]
loop --> obs[("트레이싱·평가")]
end
task[작업] --> loop
loop --> model[(LLM)]
model --> loop
loop --> out[결과]모델은 한 부품일 뿐이고, 하네스는 그 모델을 믿을 수 있게 만드는 나머지 전부입니다.
오케스트레이션 — 사이클을 돌리는 척추
루프는 추론 → 행동 → 관찰을 순서대로 호출하고, 게이트에서 멈출지·재시도할지·통과시킬지 정하며, 매 단계를 트레이싱에 남깁니다.
flowchart LR
task["작업"] --> reason["추론"]
reason --> tool["도구 호출"]
tool --> obs["관찰"]
obs --> gate{"한도 초과?"}
gate -- 아니오 --> reason
gate -- 예 --> stop["중단 · 보고"]
reason -.기록.-> trace[("트레이싱")]langgraph · openai-agents-sdk · crewai · agno