⚡ AI 인텔리전스 레이더
🧪 전문가반 · 코드로 만드는 AI 엔지니어

21회차 · 에이전트를 코드로 — 툴 호출부터 하네스 설계까지

백두산 (Doosan Baek) · 게시 2026-06-13 · 최종 수정 2026-07-10

이 회차에서 배우는 것

🎯 목표LLM이 도구를 써가며 작업을 처리하게
🔁 에이전트 루프관찰 → 사고 → 행동 반복
🛠️ 툴/함수 호출검색·수집 등 외부 도구 연결
🔌 MCP 개념도구를 표준으로 붙이기 (개념 복습)
🧰 하네스 설계컨텍스트·툴·실패 처리·가드레일 — 모델 밖 전부
✅ 완료 기준사람 개입 없이 자료 수집 '초안' 생성

16회차에서 CrewAI 같은 에이전트 프레임워크를 '구경'했죠. 이번엔 직접 만듭니다. 핵심은 'LLM이 도구를 호출하며 여러 단계를 스스로 처리'하는 것. 만들 것: 내 비서의 '자료 자동 수집' 에이전트 — 웹검색 툴로 새 자료를 모아 '추가 초안'을 만듭니다(자동 반영은 금지, 사람이 검토 후 머지).

🔁 에이전트 루프 — 관찰·사고·행동

🛠️ 툴/함수 호출 — LLM에 손발 달기

LLM은 글만 만들 뿐, 검색·계산은 못 합니다. '도구 목록'을 주면 LLM이 '이 도구를 이 인자로 부르자'를 정하고, 코드가 실제로 실행해 결과를 돌려줍니다. 19회차 구조화 출력의 연장이에요(어떤 도구·인자인지를 정해진 틀로 받음).

# 에이전트 골격 (의사코드)
tools = {'web_search': web_search, 'save_draft': save_draft}

state = '새 AI 도구 소식을 모아 초안을 만들어라'
while not done:
    decision = ask_with_tools(state, tools)   # LLM이 다음 행동·도구 선택
    result = tools[decision['tool']](**decision['args'])   # 코드가 실행
    state = update(state, result)             # 관찰 갱신 → 루프

🔌 MCP 한 줄 — 도구를 표준으로

MCP(2·8회차에서 개념)는 도구를 '표준 규격'으로 붙이는 방법입니다. 직접 만들 필요는 없고 — '도구를 표준으로 꽂으면 여러 에이전트가 재사용한다'는 것과, 있다는 사실만 알아두면 됩니다.

🧰 하네스 엔지니어링 — 모델 밖 '나머지 전부'를 설계하는 일

위에서 만든 루프는 사실 더 큰 그림의 뼈대입니다. 모델을 엔진이라고 하면, 하네스(harness)는 차체·핸들·브레이크 — 엔진을 감싸서 '실제로 달리게' 만드는 나머지 전부예요. 같은 엔진이라도 차가 다르면 완전히 다른 물건이 되죠. 이 '모델 주변 공학'을 요즘 하네스 엔지니어링이라고 부릅니다. 멀리 갈 것 없이 — 여러분이 7회차부터 쓴 Claude Code가 바로 잘 만든 하네스입니다. 같은 Claude 모델인데 채팅창과 Claude Code의 '일하는 능력'이 다른 이유가 전부 여기에 있어요.

🔧 만들 것 — 자료 수집 에이전트

  1. 웹검색 툴을 함수로 정의(쿼리 → 결과 리스트)
  2. 에이전트 루프로 새 자료 후보를 모으게 하기
  3. 결과를 '추가 초안 + 검토용 요약'으로 출력 — 자동 반영은 하지 않기
  4. 하네스 다듬기 — 검색이 실패·빈 결과일 때 재시도 1회를 넣고, 툴 설명 한 줄을 고쳐 에이전트의 선택이 어떻게 달라지는지 비교

✅ 완료 기준

📌 21회차 핵심