create_agent의 핵심 입력은 messages입니다.
메시지 구조를 정확히 설계하면 도구 선택 정확도와 응답 일관성이 크게 좋아집니다.
1) 기본 입력 구조
2) role 사용 규칙
| role | 용도 | 실무 규칙 |
|---|---|---|
system | 정책/스타일/제약 | 짧고 우선순위 명확하게 작성 |
user | 사용자 요청 | 작업 목표와 제약을 분리해서 작성 |
assistant | 이전 응답 | 요약본을 주기적으로 대체해 길이 관리 |
tool | 도구 실행 결과 | 도구 출력은 구조화된 텍스트로 유지 |
3) 도구 호출이 포함된 메시지 흐름
4) 대화 이력 운영
- 같은 사용자 세션은 같은
thread_id를 씁니다. - 일정 길이를 넘으면 이전 대화를 요약해서 치환합니다.
- 도구 출력 원문이 길면 핵심 필드만 남깁니다.
5) 자주 나는 실수
system에 너무 많은 정책을 넣어서 충돌 발생thread_id없이 세션을 섞어서 문맥 오염- 도구 결과를 그대로 붙여 컨텍스트 과포화
다음: invoke / batch / stream
실행 방식별 선택 기준으로 넘어가세요.
실무 적용 체크리스트
- 목표와 성공 기준을 먼저 정의했습니다.
- 예제를 현재 프로젝트 컨텍스트로 치환했습니다.
- 실패 시 복구 절차를 문서화했습니다.
- 다음 단계 문서로 연결해 학습 흐름을 유지합니다.
자주 나는 실수
- 학습 목표 없이 예제를 복사해 적용해 실패합니다.
- 성공/실패 기준이 없어 품질을 판단하지 못합니다.
- 다음 단계 연결 없이 문서를 단절적으로 소비합니다.
다음 문서
다음: LangChain 실행 메서드
학습 흐름을 이어서 진행합니다.

