비동기 방식으로 agent를 구성할 필요성이 궁금합니다.
177
작성한 질문수 5
안녕하세요, 강의 감사히 잘 보고 있습니다.
Plan-and-Execute 강의 코드 보다가 궁금한 점이 있는데요,
다른 agent 구성에서는 동기 방식으로 def를 정의했었는데,
여기에서는 async와 await, .ainvoke의 비동기 방식으로 agent를 정의하는 것 같아 왜 여기서는 비동기 방식으로 정의하는지 여쭤봅니다.
plan -> execute -> replan 자체도 순차적으로 실행되는 것 같은데(RAG와 같이), 비동기 방식이 어떤 이유로 필요한 것인지 질문드립니다.
감사합니다.
답변 2
0
안녕하세요~. 반갑습니다.
먼저 강의를 잘 듣고 계시다니 기쁘네요 🙂
말씀해주신 부분을 확인해보니 현재 로직상 말씀해주신대로 plan -> execute -> replan 이 순차적으로 실행되는 구조라 비동기 방식의 이점이 딱히 없는 상태인 것 같습니다.
즉, 그냥 동기 방식 def로 바꿔도 큰 차이는 없을 것 같습니다.
비동기 방식으로 예제가 작성된 정확한 이유는 알수 없지만, 처음 예제를 만들때 뭔가 비동기적인 로직을 넣으려는 구상이 있었는데 예제 최종본에서는 해당 구상이 실현되지 못한게 아닐까 싶습니다.
좋은 하루되세요~.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
힌턴님께서 질문하신 비동기 방식으로 에이전트를 구성할 필요성에 대해 조금 더 설명드리겠습니다.
비동기 처리의 장점:
- 비동기 방식은 여러 태스크를 동시에 다룰 수 있게 해줌으로써, 긴 대기 시간을 단축할 수 있습니다. 특히 외부 API를 호출하거나 파일 입출력 같은 I/O 바운드 작업이 포함된 경우에 효과적입니다.
- 비동기 프로그래밍을 사용하면 CPU 자원을 효율적으로 활용하여 자원 낭비를 줄이고 응답성을 높일 수 있습니다.
- 비동기 방식은 여러 태스크를 동시에 다룰 수 있게 해줌으로써, 긴 대기 시간을 단축할 수 있습니다. 특히 외부 API를 호출하거나 파일 입출력 같은 I/O 바운드 작업이 포함된 경우에 효과적입니다.
에이전트의 구성 변경:
- 비동기 처리는 순차적 작업이 아닌, 병렬적으로 태스크를 처리할 수 있는 환경을 제공합니다. Plan -> Execute -> Replan의 각 단계가 반드시 순차적으로만 처리될 필요가 없고, 각 단계가 독립적으로 처리될 수 있는 부분 또한 비동기의 이점입니다.
- LangChain처럼 다양한 API와의 연동을 포함하는 애플리케이션에서는 비동기 처리가 병목을 방지하고 더 나은 사용자 경험을 제공할 수 있습니다.
- 비동기 처리는 순차적 작업이 아닌, 병렬적으로 태스크를 처리할 수 있는 환경을 제공합니다. Plan -> Execute -> Replan의 각 단계가 반드시 순차적으로만 처리될 필요가 없고, 각 단계가 독립적으로 처리될 수 있는 부분 또한 비동기의 이점입니다.
적용 사례:
- 예를 들어, 여러 외부 데이터를 동시에 수집하고 그 결과를 바탕으로 각 데이터에 대한 처리를 병렬로 실행해야 할 때 비동기 방식이 유리합니다.
- 예를 들어, 여러 외부 데이터를 동시에 수집하고 그 결과를 바탕으로 각 데이터에 대한 처리를 병렬로 실행해야 할 때 비동기 방식이 유리합니다.
이처럼 비동기 방식은 특정 작업의 성격에 따라 더 효율적일 수 있습니다. 특히, I/O 작업이 많거나 병렬로 수행해야 할 작업이 있을 때 더욱더 유용하게 사용됩니다.
다른 관련된 주제를 더 알고 싶으시다면, 아래의 유사한 질문들을 참고해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
클로드 Pro 요금제에서 Claude Code CLI 사용을 막는다고 들어서 질문드립니다.
1
7
1
섹션2-11 내용중 tool_call
0
15
1
시니어 리뷰 모드
0
20
1
제공해준 자료가 압축해제되지 않습니다.
0
24
2
max token을 제한하는게 왜 성능을 개선하게 되는걸까요?
0
23
2
gitforwindows에서 맥은 뭘 다운받아야 하나요...?
0
24
2
n8n Email Trigger(IMAP) 네이버 메일 연동 시 Published 이후 트리거 미동작 문제
0
34
2
안티그라비티 저는 오픈폴더라고 나와요ㅜ
1
20
2
20강에서 파인튜닝 때 사용한 데이터가 없어졌습니다. LoRA Trainer 매개변수도 라이브러리 업그레이드로 수정되었습니다.
0
13
1
Adaptive RAG 질문드립니다.
0
82
1
LangChain에서 제공하는 Tool과 MCP의 차이점
0
157
2
Structured outputs ppt 강의자료 다운로드 가능 위치 문의
0
117
2
STORM 관련 ipynb 소스에서
0
125
2
AI 에이전트를 위한 웹검색(Web search) Tool 에서 DuckDuckGoSearchRun 실행 관련..
0
443
2
ReWoo 아키텍처에서는 RePlan이 필요없나요?
0
173
1
STORM 아키텍쳐
0
119
2
"Plan-and-Execute 아키텍쳐 구현하기" 강의 prompt not found error
0
211
1
"Airline Red Teaming Korean" 데이터 클론시 에러가 발생합니다.
0
144
2
storm 아키텍쳐 구현하기
1
214
2
범위를 제한한 검색 방법
0
222
2
Llama + Search Tool 연동
0
195
2
강의 자료 좀 올려 주세요.
0
236
4
Tool Calling 질문
0
388
2
STORM(Synthesis of Topic Outlines through Retrieval and Multi-perspective Question Asking) 아키텍처 구현하기 강의에서 콜랩 url 이 안보입니다.
0
165
2





