260818

u·2026년 8월 18일

TIL

목록 보기
5/30

미들웨어: 에이전트의 동작을 확장

  • 요청 -> before_agent(한번만) -> agent 루프 -> after_agent(한번만) -> 최종 답변
    ㄴ before랑 after가 앞뒤, 중간을(?) wrap이 감쌈

  • agent 루프
    ㄴbefore_model
    ㄴwrap_model_call
    ㄴafter_model
    ㄴwrap_tool_call
    -> 계속 순환 !!!

**구현할 수 있는 여섯가지 훅

  • before_agent(한번만)
  • before_model
  • wrap_model_call
  • after_model
  • wrap_tool_call
  • after_agent(한번만)

** 여러 미들웨어..

  • 계획: TodoListMiddleware
    ㄴ 방식: Plan-and-Execute

Self-reflection

: 자기 성찰 루프 (생성 -> 비평 -> 수정)

  • 비평을 구조로 받기
    ㄴ 구조화된 출력 (with_structured_output)
  • 루프로 종료 조건을 만족할 때까지
    ㄴ 임계점수
    ㄴ 최대 반복

관측성

: 기록을 남기는 것
- 로그 log
- 지표 metric
- 트레이스 trace

  • Langfuse
    : 실행을 계층으로 기록
    trace, span, generation

  • CallbackHandler : 호출에 콜백을 붙이면 실행이 자동으로 Langfuse로 전송됨

  • 비용산출 가능
    -프롬프트 관리 가능
    ㄴcreate_prompt, get_prompt, compile()

-> 과정을 볼 수 있으니 디버깅에 편함(?)
프롬프트 관리, 비용 산출 등등 가능.


(1) Plan-Execute 패턴

  • 미들웨어를 선언
    • hook 6개 자리 중 특정한 기능을 부가적으로 수행가능

(2) 자가 비평 패턴

  • 반복문을 이용해서
  • 생성 -> (반복) 비평 -> (반복) 수정
  • 종료 조건 :
    • 비평 점수가 특정 값 이상 종료 -> 최종 응답생성
    • 최대 반복횟수

(3) LLM 관측성 (Langfuse)

  • trace : 한번 호출에 대해서 어떤 흐름으로 응답이 나왔는지
  • 질문/응답
  • 비용/토큰수
  • 프롬프트
    ==> 활용 : LLM의 응답을 디버깅, 수정, 개선, 최적화

0개의 댓글