작성
·
55
·
수정됨
0
안녕하세요, 강의 감사히 잘 보고 있습니다.
Plan-and-Execute 강의 코드 보다가 궁금한 점이 있는데요,
다른 agent 구성에서는 동기 방식으로 def를 정의했었는데,
여기에서는 async와 await, .ainvoke의 비동기 방식으로 agent를 정의하는 것 같아 왜 여기서는 비동기 방식으로 정의하는지 여쭤봅니다.
plan -> execute -> replan 자체도 순차적으로 실행되는 것 같은데(RAG와 같이), 비동기 방식이 어떤 이유로 필요한 것인지 질문드립니다.
감사합니다.
답변 2
0
안녕하세요~. 반갑습니다.
먼저 강의를 잘 듣고 계시다니 기쁘네요 🙂
말씀해주신 부분을 확인해보니 현재 로직상 말씀해주신대로 plan -> execute -> replan 이 순차적으로 실행되는 구조라 비동기 방식의 이점이 딱히 없는 상태인 것 같습니다.
즉, 그냥 동기 방식 def로 바꿔도 큰 차이는 없을 것 같습니다.
비동기 방식으로 예제가 작성된 정확한 이유는 알수 없지만, 처음 예제를 만들때 뭔가 비동기적인 로직을 넣으려는 구상이 있었는데 예제 최종본에서는 해당 구상이 실현되지 못한게 아닐까 싶습니다.
좋은 하루되세요~.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
힌턴님께서 질문하신 비동기 방식으로 에이전트를 구성할 필요성에 대해 조금 더 설명드리겠습니다.
비동기 처리의 장점:
에이전트의 구성 변경:
적용 사례:
이처럼 비동기 방식은 특정 작업의 성격에 따라 더 효율적일 수 있습니다. 특히, I/O 작업이 많거나 병렬로 수행해야 할 작업이 있을 때 더욱더 유용하게 사용됩니다.
다른 관련된 주제를 더 알고 싶으시다면, 아래의 유사한 질문들을 참고해 주세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.