- active_agent
- 6일차Swarm 그래프의 State에 들어 있는 "지금 대화 중인 에이전트"의 이름. handoff가 일어나면 바뀌고, 체크포인터가 있으면 다음 질문이 이 에이전트에서 시작합니다.
- add_messages
- 3일차대화 기록용 reducer. 새 메시지를 기존 목록 뒤에 붙이고, 같은
id의 메시지는 교체합니다. - args_schema
- 4일차
@tool에 Pydantic 모델을 넘겨 입력 스키마를 직접 지정하는 인자. 길이 제한 같은 검증 규칙과 인자별 설명을 넣을 수 있습니다. - Bedrock
- 1일차여러 회사의 모델을 API로 빌려 쓰는 AWS 서비스.
ChatBedrockConverse가 이 서비스의 Converse API를 부르는 LangChain 클래스입니다. - before_model / after_model
- 5일차모델 호출 직전과 직후에 불리는 훅. State를 받아
None(변경 없음) 또는 State 변경분 dict 를 돌려줍니다. 여러 미들웨어가 있으면 before 는 리스트 순서, after 는 역순으로 실행됩니다. - bind_tools
- 3일차도구 설명서를 매 요청에 함께 보내는 모델 객체를 만드는 메서드. 모델은 실행하지 않고
tool_calls만 돌려줍니다. - BM25
- 2일차질문의 단어가 문서에 얼마나, 얼마나 드물게 나오는지로 순위를 매기는 키워드 검색 방식. 고유 기호나 코드처럼 글자가 정확히 일치해야 하는 검색에 강합니다.
- chunk_overlap
- 2일차이웃한 청크끼리 겹치게 두는 길이. 경계에 걸린 문장이 양쪽에서 잘리는 것을 줄입니다.
- Command(resume=...)
- 5일차멈춘 그래프를 재개할 때 새 입력 대신 넣는 값.
resume에 준 값이interrupt()의 반환값이 되고, 멈췄던 노드는 첫 줄부터 다시 실행됩니다. - compile
- 3일차조립한 설계도를
invoke,stream으로 실행할 수 있는 그래프 객체로 바꾸는 단계. - create_agent
- 5일차
langchain.agents의 함수. 모델과 도구를 주면 ReAct 루프를 가진 그래프를 만들어 주고,middleware,system_prompt,checkpointer인자로 부가 기능을 붙입니다. 5일차부터 Agent를 만드는 기본 방법입니다. - create_agent 의 name
- 6일차에이전트 그래프에 붙이는 이름. 더 큰 그래프에 들어갈 때 노드 이름이 되고 handoff 도구의 이름에 쓰입니다. 멀티 에이전트에서는 필수입니다.
- create_react_agent
- 4일차모델과 도구 리스트를 받아 agent ⇄ tools 루프 그래프를 만들어 주는 LangGraph 함수. 손으로 조립하던 ReAct 구조의 완성품입니다.
- Document
- 2일차LangChain에서 글 한 덩어리를 담는 객체. 본문인
page_content와 부가 정보인metadata로 이루어집니다. - DoD
- 4일차Definition of Done. 작업이 끝났다고 판단하는 완료 기준. 오늘은 정상 처리, 실패 처리, 복구, 로그 점검 네 항목이었습니다.7일차Definition of Done. 작업이 끝났다고 말하기 위한 완료 기준. 7일차는 기능, 안전, 관측, 설명 네 항목으로 봅니다.
- fail-open / fail-closed
- 5일차검사 자체가 실패했을 때의 정책. 통과시키면 fail-open(가용성 우선), 차단하면 fail-closed(안전 우선)입니다. 이 날의 LLM 판별은 fail-open 으로 구현되어 있습니다.
- FastMCP
- 4일차MCP 서버를 짧게 만들게 해 주는 파이썬 라이브러리. 함수에
@mcp.tool()을 붙이면 도구로 등록됩니다. - handle_tool_errors
- 4일차
ToolNode가 도구의 예외를 어떻게 다룰지 정하는 설정.True면 예외를 에러 내용이 담긴ToolMessage로 바꿔 그래프가 중단되지 않게 합니다. - handoff
- 6일차한 에이전트가 다른 에이전트에게 실행 주도권과 대화 기록을 넘기는 동작. LangGraph에서는 도구 호출로 표현됩니다.
- handoff 도구
- 6일차
transfer_to_에이전트이름꼴의 도구. 모델이 채울 인자가 없고, 호출되면 그래프의 다음 노드를 그 에이전트로 지정합니다. - HITL
- 5일차Human-in-the-Loop. 자동화된 흐름 중간에 사람의 승인, 수정, 거절 같은 판단을 끼워 넣는 설계. 되돌리기 어려운 도구 앞에 둡니다.
- HumanInTheLoopMiddleware
- 5일차지정한 도구를 모델이 부르려 할 때
interrupt로 멈추는 내장 미들웨어.interrupt_on으로 대상 도구를 정하고,{"decisions": [...]}형식의 값으로 재개합니다. - InMemoryStore
- 7일차메모리 안의 dict로 구현된 Store. 프로세스가 끝나면 내용이 사라지므로 실습과 시험용입니다.
- interrupt
- 5일차노드 안에서 그래프 실행을 멈추고 바깥에 값을 내보내는 LangGraph 함수. 재개되면 사람이 보낸 값을 반환합니다. 체크포인터가 있어야 이어 갈 수 있습니다.
- JSONL
- 7일차한 줄에 JSON 객체 하나씩 적는 파일 형식. 끝에 덧붙이기 쉬워 로그와 추적 기록에 씁니다.
- LangChain
- 1일차LLM 응용 프로그램의 부품(프롬프트, 모델, 파서, 도구 등)을 표준 규격으로 제공하는 라이브러리.
- LangGraph
- 3일차LLM 프로그램의 흐름을 노드와 엣지의 그래프로 적는 라이브러리. 분기와 반복, 공유 상태를 구조로 표현합니다. 노드 안에서는 LangChain 부품을 그대로 씁니다.
- langgraph.json
- 3일차LangGraph 개발 서버(
langgraph dev)가 읽는 설정 파일. 어느 파일의 어느 변수를 그래프로 등록할지, 환경 변수 파일이 어디인지를 적습니다. - LCEL
- 1일차LangChain Expression Language. Runnable을
|로 이어 체인을 만드는 표기법. - lifespan
- 6일차FastAPI 앱이 시작할 때와 종료할 때 한 번씩 실행되는 구간. 그래프처럼 만드는 데 비용이 드는 자원을 한 번만 준비하는 자리입니다.
- LLM
- 1일차Large Language Model. 글을 입력받아 다음에 올 글을 이어 쓰는 모델. 이 강의에서는 Bedrock의 Claude 모델(주로 Sonnet 4.5)을 씁니다.
- LLM 심사
- 7일차LLM-as-judge. 모델의 답변을 다른 모델 호출이 채점하게 하는 평가 방법. 채점 기준과 정답을 함께 주고 점수와 근거를 구조화 출력으로 받습니다.
- MCP
- 4일차Model Context Protocol. LLM 응용 프로그램과 외부 도구·데이터를 잇는 개방형 표준 프로토콜. 도구 목록 조회와 도구 호출의 메시지 형식과 절차를 정합니다.
- MCP 서버
- 4일차도구를 가지고 있다가 목록 요청과 호출 요청에 답하는 프로그램. 오늘의
mcp_server.py,apt_trade_mcp.py가 서버입니다. - MCP 클라이언트
- 4일차서버에 연결해 도구 목록을 받고 호출을 요청하는 쪽. Agent 프로그램이나 Claude Code 같은 앱 안에 들어 있습니다.
- MMR
- 2일차Maximal Marginal Relevance. 질문과 가까우면서 이미 고른 결과와는 덜 비슷한 청크를 골라 결과의 중복을 줄이는 검색 방식.
- MultiServerMCPClient
- 4일차
langchain-mcp-adapters의 클라이언트. 여러 MCP 서버의 도구를 받아 LangChain 도구 객체 리스트로 변환해 줍니다. - namespace
- 7일차Store 안의 구획을 가리키는 문자열 튜플.
("users", "haneul_kim")처럼 계층 경로로 씁니다. 각 조각에는 마침표를 쓸 수 없습니다. - Network (Swarm)
- 6일차관리자 없이 각 에이전트가 handoff 도구를 직접 들고 서로 넘기는 구조.
langgraph_swarm.create_swarm으로 만듭니다. - output_mode
- 6일차서브 에이전트의 결과를 Supervisor의 대화에 얼마나 넣을지 정하는
create_supervisor의 설정. 기본값last_message는 마지막 답만,full_history는 안쪽 대화 전부를 넣습니다. - OutputParser
- 1일차모델의 응답(AIMessage)을 프로그램이 쓰기 좋은 형태(str, dict)로 바꾸는 부품.
- PII 마스킹
- 5일차사번, 전화번호, 이메일처럼 개인을 식별할 수 있는 정보(PII)를
[MASKED_...]같은 표시로 가리는 것. 이 날은 정규식으로 구현했습니다. - Plan-and-Execute
- 7일차요청을 먼저 단계 목록으로 분해한 뒤 한 단계씩 실행하고, 단계마다 남은 계획을 점검하는 에이전트 구조. 남은 계획을 State에 명시적으로 들고 다닙니다.
- RAG
- 2일차Retrieval-Augmented Generation. 질문과 관련된 문서 조각을 검색해 프롬프트에 덧붙인 뒤 모델에게 답하게 하는 방식. 모델을 다시 학습시키지 않고 새 지식을 쓰게 합니다.
- ReAct
- 3일차Reasoning + Acting. 모델이 판단하고, 도구를 실행하고, 결과를 관찰한 뒤 다시 판단하는 반복. 에이전트의 기본 동작 방식입니다.
- recursion_limit
- 3일차한 번의 실행에서 그래프가 밟을 수 있는 단계 수의 한도. 넘으면
GraphRecursionError가 납니다.config={"recursion_limit": N}으로 정합니다.6일차그래프가 한 번의 실행에서 밟을 수 있는 단계 수의 상한. 에이전트끼리 끝없이 넘기는 고리를 끊는 안전장치이며, 넘으면GraphRecursionError가 납니다.7일차그래프 한 번의 실행에서 허용하는 단계 수의 상한. 넘으면GraphRecursionError로 중단됩니다. 루프가 있는 그래프의 안전장치입니다. - reducer
- 3일차노드가 돌려준 값을 State의 기존 값과 합치는 규칙을 정하는 함수.
Annotated[타입, reducer]로 칸마다 지정하며, 지정하지 않으면 덮어쓰기입니다. - Retriever
- 2일차질문 문자열을 받아 Document 리스트를 돌려주는 Runnable. 벡터 DB의
as_retriever()로 만들고 체인에|로 잇습니다. - run_id
- 7일차모델 호출 한 번, 도구 실행 한 번마다 붙는 고유 ID. 시작 이벤트와 종료 이벤트의 짝을 맞추는 데 씁니다.
- Runnable
- 1일차입력 하나를 받아 출력 하나를 내는 LangChain의 공통 규격. invoke, stream, batch로 실행합니다.
- START / END
- 3일차그래프의 시작점과 끝점을 뜻하는 특별한 이름. 실제 함수가 아니며 구조도에는
__start__,__end__로 그려집니다. - State
- 3일차그래프가 실행되는 동안 모든 노드가 함께 읽고 쓰는 데이터.
TypedDict로 칸의 이름과 타입을 선언하며, 실행 시점에는 평범한 dict입니다. - StateGraph
- 3일차State 스키마를 받아 그래프를 조립하는 설계도 클래스. 노드와 엣지를 등록한 뒤
compile()해야 실행할 수 있습니다. - stdio 전송
- 4일차클라이언트가 서버를 자식 프로세스로 실행하고 표준 입력·표준 출력으로 MCP 메시지를 주고받는 연결 방식. 서버의 실행 명령이 곧 접속 방법입니다.6일차MCP 클라이언트가 서버를 자식 프로세스로 띄우고 표준 입출력으로 메시지를 주고받는 연결 방식.
- Store
- 7일차LangGraph에서 장기 기억을 담는 key-value 저장소.
put으로 넣고get으로 한 건을,search로 여러 건을 꺼냅니다. compile의store=인자로 그래프에 연결합니다. - stream_mode
- 3일차
graph.stream이 단계마다 무엇을 내줄지 정하는 옵션."values"는 그 시점의 State 전체,"updates"는 {노드 이름: 그 노드가 돌려준 값}입니다. - subgraphs=True
- 6일차
stream의 옵션. 바깥 그래프의 노드뿐 아니라 그 안에 들어 있는 그래프(서브 에이전트, 팀)의 이벤트까지 경로와 함께 받습니다. - SummarizationMiddleware
- 5일차대화가 정해진 분량을 넘으면 오래된 메시지를 요약문으로 바꿔 끼우는 내장 미들웨어.
trigger로 언제 요약할지,keep으로 원문을 얼마나 남길지 정합니다. - Supervisor
- 6일차직접 일하지 않고 질문을 담당 에이전트에게 배분하고, 돌아온 결과를 종합해 답하는 관리자 에이전트.
langgraph_supervisor.create_supervisor로 만듭니다. - system 메시지
- 1일차개발자가 모델에게 주는 역할·규칙 지침. 대화 맨 앞에 놓입니다.
- temperature
- 1일차다음 토큰을 고를 때의 무작위성. 0에 가까울수록 같은 입력에 같은 답이 나옵니다.
- thread_id
- 5일차체크포인트들이 어느 대화에 속하는지 구분하는 열쇠.
{"configurable": {"thread_id": "..."}}형태로 호출 때마다 넘기며, 값은 우리가 정합니다. - ToolCallLimitMiddleware
- 5일차도구 호출 횟수에 상한을 두는 내장 미들웨어.
thread_limit은 thread 에 누적된 횟수 기준이며 그 카운트는 체크포인트에 저장됩니다. - ToolMessage
- 1일차도구 실행 결과를 모델에게 돌려줄 때 쓰는 메시지.
tool_call_id로 어느 요청의 결과인지 표시합니다. - ToolNode
- 3일차LangGraph가 제공하는 도구 실행 노드. 모델이 요청한 도구들을 실행하고 결과를 요청마다 ToolMessage로 포장해 돌려줍니다.4일차LangGraph가 제공하는 도구 실행 노드. 직전
AIMessage의tool_calls를 실행하고 결과를ToolMessage로 만들어 State에 추가합니다. - top-k
- 2일차가까운 순으로 상위 k개를 가져오는 검색 방식, 또는 그 k. 크면 빠뜨릴 위험이 줄고 무관한 글이 섞일 위험이 늡니다.
- with_structured_output
- 3일차모델의 답을 지정한 스키마(Pydantic 클래스)의 객체로 받게 하는 메서드.
Literal과 함께 써서 분기에 쓸 값의 범위를 묶습니다. - wrap_model_call
- 5일차모델 호출 자체를 감싸는 훅. 실제 호출을 수행하는
handler를 받으며, 이를 부르지 않고 다른 응답을 돌려주면 모델 호출이 생략됩니다. 비동기 실행용은awrap_model_call입니다. - wrap_tool_call
- 5일차도구 실행 하나하나를 감싸는 훅. 실행 전후에 끼어들거나 실행을 대신할 수 있습니다.
- 가드레일
- 5일차모델의 입력이나 출력을 모델 바깥의 코드로 검사해, 허용하지 않는 내용을 막거나 고치는 장치. 입구에 두면 입력 가드레일, 출구에 두면 출력 가드레일입니다.
- 감사 로그
- 5일차차단 같은 보안 관련 사건을 운영자용으로 남기는 기록. 이 날은
guard_audit.log에 시각, 종류, 사유를 남기고 사용자에게는 사유를 보여 주지 않습니다. - 거리
- 2일차두 벡터가 떨어진 정도. 작을수록 가깝습니다. Chroma의
similarity_search_with_score가 돌려주는 점수가 이것입니다. - 계층 구조 (Hierarchical)
- 6일차에이전트를 팀으로 묶어 팀마다 Supervisor를 두고, 그 위에 상위 Supervisor를 두는 구조. 컴파일한 팀 그래프에 이름을 붙여 서브 에이전트 자리에 넣습니다.
- 공통 checkpoint
- 6일차강의에서 검증해 배포한 실습 출발점 묶음(벡터 DB, MCP 서버, 데이터 생성기 등). 5일차의 체크포인터와는 다른 뜻입니다.
- 관측 가능성
- 7일차시스템 안에서 일어난 일을 바깥에 남은 기록만으로 재구성할 수 있는 성질. 이 날의 DoD 네 항목 중 "관측"입니다.
- 구조화 출력
- 1일차모델의 답을 자유로운 문장이 아니라 정해진 칸이 있는 데이터로 받는 것.
- 노드
- 3일차그래프에서 일을 하는 단위. State를 받아 바꿀 칸만 dict로 돌려주는 파이썬 함수입니다.
add_node("이름", 함수)로 등록합니다. - 단기 기억
- 7일차한 대화(thread) 안에서 이어지는 기억. 체크포인터가
thread_id별로 State를 저장해 구현합니다. - 도구 (Tool)
- 4일차모델이 "실행해 달라"고 요청할 수 있도록 이름, 설명, 입력 스키마를 붙여 등록한 함수. 실행은 모델이 아니라 프로그램이 합니다.
- 도구 설명 (description)
- 4일차모델이 도구를 언제 쓰고 언제 쓰지 않을지 판단하는 근거가 되는 글. 기본값은 함수의 docstring입니다.
- 도구 호출
- 1일차모델이 답 대신 "어떤 함수를 어떤 인자로 실행해 달라"는 요청을 돌려주는 기능. 실행은 프로그램이 합니다.
- 라우팅
- 6일차들어온 질문을 어느 에이전트에게 보낼지 정하는 결정. 본질은 정해진 후보 가운데 하나를 고르는 분류입니다.
- 라우팅 함수
- 3일차State를 읽고 다음 노드의 이름(또는 라벨)을 돌려주는 함수. 노드가 아니므로 State를 바꾸지 못합니다.
- 루브릭
- 7일차점수마다 어떤 답이 해당하는지를 글로 적어 둔 채점 기준표.
- 마스킹
- 4일차비밀값을 로그나 화면에 남길 때 일부만 보이고 나머지를 가리는 것. 오늘은 키의 앞 여섯 글자만 기록했습니다.
- 멀티 에이전트
- 6일차한 가지 일만 맡은 에이전트 여럿이 일을 넘겨 가며 하나의 요청을 처리하는 구조. 모델 하나가 한 번에 고를 도구의 수를 줄이는 것이 목적입니다.
- 멀티턴
- 1일차여러 차례 주고받는 대화. 지난 메시지를 매번 다시 보내는 방식으로 구현합니다.
- 메타데이터
- 2일차청크에 붙이는 꼬리표(출처, 부서, 개정일 등). 출처 표시와 필터 검색에 쓰이며, 모델에게 보이려면 프롬프트에 글자로 적어 넣어야 합니다.
- 미들웨어
- 5일차에이전트 루프의 정해진 지점에서 불리는 훅 메서드를 가진 객체.
AgentMiddleware를 상속해 만들고create_agent(middleware=[...])에 꽂습니다. - 배분 기준
- 6일차Supervisor의 프롬프트에 적는 "어떤 질문은 누구에게"의 목록. 담당을 질문에 나올 명사로 구체적으로 적습니다.
- 벡터 DB
- 2일차벡터와 원문, 메타데이터를 저장하고 주어진 벡터와 가까운 것을 빠르게 찾아 주는 저장소. 실습에서는 로컬 폴더에 저장하는 Chroma를 씁니다.
- 병렬 도구 호출
- 4일차모델이 한 번의 응답에 도구 요청을 여러 건 담아 보내는 것.
ToolNode는 한 번의 노드 실행에서 이들을 함께 처리합니다. - 사이클
- 3일차엣지를 따라가다 이미 지나온 노드로 되돌아오는 구조. LangGraph에서 반복을 표현하는 방법이며, 반드시 종료 조건과 짝을 이뤄야 합니다.
- 색인 단계
- 2일차문서를 로드, 청킹, 임베딩해 벡터 DB에 저장해 두는 사전 준비. 문서가 바뀔 때만 다시 실행합니다.
- 서브 에이전트
- 6일차Supervisor에게서 일을 넘겨받는 전문 에이전트. 코드 주석에서는 서브 Agent, 흔히 worker라고도 부릅니다. 자기 시스템 프롬프트와 자기 도구만 가집니다.
- 실행 추적 (trace)
- 4일차Agent가 어떤 순서로 무엇을 결정하고 실행했는지의 기록. 오늘은 State의
messages를 순회해 사용자, 도구요청, 도구결과, 최종답변으로 찍었습니다. - 에이전트를 도구로
- 6일차에이전트 호출을
@tool함수로 감싸 다른 에이전트의 도구로 쓰는 방식. handoff와 달리 부르는 쪽이 질문을 인자로 직접 써서 보냅니다. - 엣지
- 3일차한 노드가 끝난 뒤 다음에 실행할 노드를 정하는 연결.
add_edge로 그은 것은 목적지가 고정입니다. - 오탐
- 5일차False positive. 정상적인 입력을 공격으로 잘못 판단해 막는 것. 반대로 공격을 놓치는 것은 누락(미탐)이라고 합니다. 가드레일은 둘을 함께 재야 합니다.7일차막지 말아야 할 정상 입력을 가드레일이 잘못 차단하는 것. 안전 평가에는 차단 문항과 함께 통과 문항이 있어야 드러납니다.
- 임베딩
- 2일차글을 고정 길이의 숫자 벡터로 바꾸는 일, 또는 그 벡터. 뜻이 비슷한 글은 가까운 벡터가 되도록 학습된 모델이 계산합니다.
- 입력 스키마
- 4일차도구가 받는 인자의 이름, 타입, 필수 여부, 제약을 JSON Schema 형식으로 적은 것. 모델에게 전달되고, 실행 전 인자 검증에도 쓰입니다.
- 장기 기억
- 5일차대화방(thread)이 바뀌어도 사용자를 따라다니는 사실들. 대화 원문을 담는 체크포인트와 달리 골라낸 내용만 별도 저장소에 두고, 시작할 때 system 프롬프트에 넣어 줍니다.7일차대화가 바뀌어도 남는 기억. 사용자 프로필, 선호, 규칙처럼 특정 대화가 아니라 사용자에 속한 정보를 담습니다.
- 장애 주입
- 4일차지연, 호출 한도 초과, 형식 오류 같은 장애를 일부러 재현해 대응 코드가 동작하는지 시험하는 방법.
- 재계획 (replan)
- 7일차한 단계를 실행한 뒤 남은 계획을 유지할지, 고칠지, 끝낼지 판단하는 일. 이 실습에서는
continue/revise/finish셋 중 하나를 구조화 출력으로 받습니다. - 재랭킹
- 2일차1차 검색이 뽑은 후보를 더 정밀한 모델로 다시 채점해 순서를 고치는 단계. 질문과 문서를 한 쌍으로 함께 읽는 크로스 인코더를 씁니다.
- 조건부 엣지
- 3일차출발 노드가 끝난 뒤 라우팅 함수를 불러 그 반환값으로 목적지를 정하는 엣지.
add_conditional_edges(출발 노드, 라우팅 함수, 목적지 정보)로 등록합니다. - 지수 백오프
- 4일차재시도 사이의 대기 시간을 2초, 4초처럼 배로 늘려 가는 방식. 한도 초과처럼 시간이 지나야 풀리는 장애에 씁니다.
- 질의 단계
- 2일차질문이 들어올 때마다 실행되는 부분. 질문을 임베딩해 검색하고, 찾은 청크를 프롬프트에 넣어 답을 생성합니다.
- 청크 / 청킹
- 2일차문서를 검색 단위로 자른 조각과 그 자르는 일. 청크 하나가 임베딩 하나, 검색 결과 한 건이 됩니다.
- 체인
- 1일차여러 Runnable을 한 방향으로 이어 붙인 것. 앞의 출력이 뒤의 입력이 됩니다.
- 체크포인터
- 5일차그래프의 State를 단계마다 저장소에 기록하는 부품.
InMemorySaver는 메모리에,SqliteSaver와AsyncSqliteSaver는 SQLite 파일에 저장합니다. - 체크포인트
- 5일차체크포인터가 저장한 State 스냅샷 하나. 각각
checkpoint_id를 가지며, 같은 thread 안에서 앞의 스냅샷을 부모로 가리키며 이어집니다. - 추적 (trace)
- 7일차한 번의 요청을 처리하는 동안 일어난 모델 호출과 도구 호출을 순서대로 남긴 기록.
- 컬렉션
- 2일차Chroma에서 청크를 묶어 두는 단위. 관계형 DB의 테이블에 해당하며 실습에서는
sds_policies하나를 씁니다. - 코사인 유사도
- 2일차두 벡터가 이루는 각도의 코사인 값. 방향이 같으면 1에 가깝고, 클수록 뜻이 가깝다고 봅니다.
- 콜백 핸들러
- 6일차모델 호출의 시작, 종료, 오류 같은 시점에 LangChain이 불러 주는 메서드를 가진 객체.
config의callbacks로 넘기면 하위 호출 전체에 전달됩니다.7일차모델 호출이나 도구 실행의 시작·종료 같은 이벤트가 일어날 때 프레임워크가 불러 주는 메서드를 모아 둔 객체.BaseCallbackHandler를 상속해 만들고 실행 config의callbacks에 넣습니다. - 토큰
- 1일차모델이 글을 읽고 쓰는 최소 단위. 요금과 입력 한도를 재는 기준입니다.
- 통합 점검
- 7일차가드레일, 추적, 멀티 에이전트를 모두 연결한 상태에서 대표 시나리오 몇 개를 끝까지 실행해 보는 마지막 확인.
- 평가 세트
- 2일차질문과 기대 결과를 미리 적어 둔 시험 문항 모음. 설정을 바꿀 때마다 자동으로 돌려 좋아졌는지 나빠졌는지를 숫자로 확인합니다.7일차질문과 기대 결과를 모아 둔 문항 묶음. 이 강의에서는 문항마다
question,expected_source,type을 적습니다. - 폴백 (fallback)
- 4일차원래 경로가 실패했을 때 쓰는 대체 경로. 오늘은 실시간 조회가 실패하면 백업 스냅샷 도구로 넘어가는 것이 폴백입니다.
- 프롬프트
- 1일차모델에게 보내는 글 전체. 지시(system), 질문(user), 지난 대화가 모두 포함됩니다.
- 프롬프트 인젝션
- 5일차사용자 입력에 지시문을 심어 system 메시지의 규칙을 무력화하거나 숨겨진 지시문을 캐내려는 공격. 프롬프트 주입이라고도 합니다.
- 하이브리드 검색
- 2일차키워드 검색과 벡터 검색을 함께 돌려 결과를 하나의 순위로 합치는 방식. 실습에서는
EnsembleRetriever가 두 검색기의 순위를 가중치로 합산합니다. - 형태소 분석
- 2일차문장을 뜻을 가진 최소 단위로 쪼개고 품사를 붙이는 처리. 한국어 키워드 검색에서 조사와 어미를 떼어 내는 데 필요하며 실습에서는 Kiwi를 씁니다.
- 환각
- 1일차모델이 사실이 아닌 내용을 그럴듯하게 지어내는 현상.
- 회귀
- 7일차시스템을 고친 뒤 예전에 되던 것이 안 되게 되는 현상. 누적 평가 세트를 변경 때마다 돌려서 잡습니다.
- 훅
- 5일차라이브러리가 특정 시점에 대신 불러 주도록 걸어 두는 함수. 이 날은
before_model,after_model,wrap_model_call,wrap_tool_call네 가지를 씁니다.