Tag: agent
All the articles with the tag "agent".
-
Eval 공부 #4 — HITL 에이전트 회귀 테스트, 통과했는데 원인이 틀린 경우
지난 편 (에이전트 도구 선택 · 멀티스텝 eval) 에 이어 HITL 에이전트 회귀 테스트. 이번엔 (질문 · 기대 도구) 테스트셋 대신 단위 테스트 스타일 — 함정 3축 (위험 도구 중단점 진입 / 멀티턴 매 턴 응답 / 안전 도구 오분류) 을 함수로 작성하고 sys.exit(1) 로 회귀 시 종료 코드. 1차 실행 3/3 통과 — 그런데 이게 정답이 아니었음. 이전에 문제였던 "명확한 의도 확인 후 호출" 프롬프트가 남아있어서 LLM 이 자체 방어기제로 통과시킨 것. 삭제 케이스로 도발하니 우리 HITL 은 발동 안 하고 LLM 자체 확인만 남음. 프롬프트 제거 → 도구 자체를 안 부르는 실패로 전환. 결국 프롬프트를 "사용자가 요청한 작업에 맞는 도구를 호출하세요" 로 최소화하니 delete_user 도구에서 정확히 중단 (HITL 작동, 종료 코드 0). Eval 통과 자체가 안전 신호가 아니라 무엇 때문에 통과했는지 원인 검증이 진짜 안전. 여기서 LLM 공부 시리즈 잠시 중단, 백엔드 공부 마무리 후 재개 예정.
-
Eval 공부 #3 — 에이전트 Eval, 단일 스텝의 한계와 멀티스텝 채점
RAG Eval 이후 에이전트 Eval 로 확장. 에이전트는 판정할 축이 6가지 (도구 선택 · 인자 추출 · 멀티스텝 궤적 · 종료 판단 · 안전장치 · 최종 답변 품질) 라 단위 테스트 → 통합 테스트 원리로 축을 분리해서 봐야 원인 특정이 빠름. 오늘은 도구 선택 · 멀티스텝 · 함정 회귀 3개만 진행. MCP 서버 도구 메타 (이름 · 설명 · 스키마) 를 넣고 (질문, 기대 도구, 기대 인자, 레벨) 테스트셋으로 측정 → 도구 선택 정확도 11/13 = 84.6%. 실패 케이스 2건이 재미있었음 — (1) 단일 스텝 eval 이 실제로는 멀티스텝 궤적으로 정답인 케이스를 오탐 → 단일 채점의 한계, (2) 도구 description 이 모호해서 "전기 요금" → consumption 오선택, "돈 얼마 나와?" 는 정답 — description 개선 대신 시스템 프롬프트 땜빵은 과적합 위험. 이어서 멀티스텝 eval 로 전환 (필요 도구 다 불렀나 · 순서 · 앞 결과 활용 · 종료 판단) → 4/4 = 100% 로 단일에서 실패로 처리된 케이스가 통과.
-
Eval 공부 #1 — '느낌 벤치마킹' 을 끝낼 때 · 정확도 기반 + LLM-as-Judge 첫 구현
여태 프로젝트마다 '빠른 거 같다', '정확한 것 같다' 식 느낌 평가만 해왔는데, 이제 진짜로 수치화하는 Eval 공부 시작. Eval 의 4가지 종류(정확도 / 유사도 / LLM-as-Judge / 사람 평가) 정리 + 도구 선택 정확도 10/10 측정 + LLM-as-Judge 로 같은 질문에 대한 두 답변을 8/10 vs 3/10 으로 채점. LLM-as-Judge 의 한계(평가자 변동성, 같은 모델 답변 후한 점수)까지.
-
MCP 공부 #3 — Resources / Prompts 의 정체 + LangGraph 와 통합 (`MultiServerMCPClient` · `ainvoke`)
MCP 의 세 구성요소 중 #1 / #2 에서 다룬 Tools 외에 Resources(LLM 이 읽을 데이터, 백그라운드 컨텍스트, 읽기 전용) 와 Prompts(미리 정의된 템플릿) 까지. Inspector + Claude Desktop 으로 새 서버 확인 → langchain-mcp-adapters 로 MCP 서버를 LangGraph 에 통합. MCP 통신이 비동기라 `ainvoke` 필요한 이유, MultiServerMCPClient 가 서버 그대로 불러오는 비결(=MCP 표준 준수), Resources 를 시스템 프롬프트로 주입했을 때의 도메인 응답 품질 차이까지.