본문 바로가기
반응형

Develop243

AI 에이전트란? 개요 이 글은 AI 에이전트에서 사용되는 기본적인 용어들을 간단하게 정리하는 글입니다. 이미 에이전트를 개발하고 있거나 익숙한 사람보다는, AI 에이전트가 무엇인지 잘 모르고 관련 용어의 의미를 알고 싶은 사람에게 추천합니다. 에이전트의 정의 에이전트라는 용어는 사용하는 사람과 맥락에 따라 의미가 조금씩 달라 혼란스럽다. 특히 AI 기능이 있다 하면 에이전트라는 단어를 갖다 붙이는 경우도 많이 보았다. 그래서 글을 시작하기 앞서 에이전트란 무엇인지 개념을 분명히 정리하고 넘어가겠다. 자율 에이전트는 데이터를 스스로 해석하고, 주변 환경을 이해하며, 그 상황(컨텍스트)에 맞는 결정을 내리도록 설계된 시스템이다. 단순히 주어진 규칙을 그대로 실행하는 것이 아니라, 현재 맥락을 바탕으로 스스로 판단하고 행동을.. 2026. 3. 30.
LLM 이해하기 - 딥러닝부터 LLM까지 서론 AI 이야기를 듣다 보면 비슷해 보이는 단어들이 많이 보인다. 딥러닝, LLM, 자연어 처리 등 이런 유사해 보이는 단어들을 정의하고, 내부 구현을 살펴보기보다는 기본적인 개념에 대해 정리해보려고 한다. 내용은 LLM을 활용한 실전 AI 애플리케이션 개발을 많이 참고하였다. 요즘 누구나 ChatGPT나 Gemini를 일상 속에서 쉽게 활용하고는 한다. ChatGPT와 Gemini는 LLM을 활용한 서비스인데, 대체 어떤 원리로 답변을 만들어내는 걸까? 굉장히 단순하다. 주어진 입력에서 다음에 올 적절한 단어를 확률적으로 선택하고, 문장이 끝날 때까지 이 '적절한 단어를 확률적으로 선택'하는 과정을 반복한다. 이런 식으로 다음에 올 단어를 예측하는 모델을 언어 모델이라 부르기도 하고, 사람과 비슷한 .. 2026. 1. 31.
RAG란? 지난번 LangChain이란? 포스팅에서 RAG를 아래와 같이 설명했다. 1. RAG= Retrieval Augmented Generation, 검색 증강 생성외부 데이터를 참조하여 LLM의 정확도와 신뢰성 향상에 도움을 주는 기술 그런데 왜 외부 데이터를 참조해야 하는 걸까? 그냥 LLM이 가진 정보만으로도 응답이 잘 만들어지지 않나? 의문을 가질 수 있다. 2. 왜 외부 데이터를 참조해야 할까? LLM은 학습된 데이터를 이용해 응답을 생성한다. 만약 내 구글 캘린더 등에 저장된 데이터를 기반으로 질문한다면 LLM은 잘못된 정보를 응답할 가능성이 크다. 이때 내 구글 캘린더의 정보를 LLM에게 전달할 수 있다면? LLM은 해당 정보를 기반으로 올바른 응답을 생성할 수 있다. RAG를 한국어로 직역하면.. 2025. 11. 4.
LangChain이란? AI 기본 용어 정리 LangChain을 훑어가기 앞서, 나는 LLM = LangChain = AI라고 생각할 정도로 AI에 대해 잘 몰랐다. 그래서 AI를 공부하겠답시고 LangChain 강의를 들었는데... 전혀 다른 개념이었다. 나 같은 사람이 생기기 전에 일단은 LLM, LangChain, RAG 등 'AI 얘기하다 보면 많이 이야기되는 AI 용어들'을 한번 짚고 넘어가 보겠다. AI= Artificial Intelligence, 인공지능계산 시스템이 학습, 추론, 문제 해결, 의사결정 등 인간의 지능과 연관된 작업을 수행할 수 있는 능력 LLM= Large Language Model, 대규모 언어 모델자연어 이해 및 생성에 특화된 모델로, 인공지능의 일종대규모 데이터를 스스로 학습하는 방식으로 .. 2025. 11. 3.
[백엔드 실무 스터디] 5, 6, 7. 비동기, 동시성, I/O 병목 제어 서론이 글은 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식' 책을 읽고 진행하는 스터디 내용을 정리한다. 책을 읽고 학습하는 게 아니라, 책의 내용을 주제로 경험을 공유하는 스터디이기 때문에 포스팅 내용은 책과 관련이 없다. 이번 글은 '5장 비동기 연동, 언제 어떻게 써야 할까', '6장 동시성, 데이터가 꼬이기 전에 잡아야 한다', '7장 IO 병목, 어떻게 해결하지'를 읽고 진행한 스터디 내용을 정리했다. '(경험 공유)' 혹은 '(생각 공유)' 표기는 스터디원들이 실무에서 겪은 개인적인 경험이나 생각을 정리한 것이며, 항상 정답은 아니다. 5장 비동기 연동, 언제 어떻게 써야 할까 (경험 공유) 비동기 적용 사례병렬 처리를 위한 코루틴 적용알림톡 발송카프카에서 이벤트 컨슘 시 사용ack .. 2025. 8. 17.
[백엔드 실무 스터디] 3, 4. DB와 외부 연동 서론이 글은 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식' 책을 읽고 진행하는 스터디 내용을 정리한다. 책을 읽고 학습하는 게 아니라, 책의 내용을 주제로 경험을 공유하는 스터디이기 때문에 포스팅 내용은 책과 관련이 없다. 이번 글은 '3장 성능을 좌우하는 DB 설계와 쿼리', '4장 외부 연동이 문제일 때 살펴봐야 할 것들'을 읽고 진행한 스터디 내용을 정리했다. (경험 공유) 표기는 스터디원들이 실무에서의 경험을 정리한 것이며, 항상 정답인 예제가 아니다. 3장. 성능을 좌우하는 DB 설계와 쿼리 선택도 (58p)인덱스에서 특정 컬럼의 고유한 값 비율선택도가 높다 = 고유값이 많다 커버링 인덱스 (59p)인덱스 안에 포함된 데이터를 사용하므로 실제 데이터에 접근할 필요 없음.쿼리를 충족.. 2025. 8. 4.
[백엔드 실무 스터디] 2장. 느려진 서비스 살펴보기 서론이 글은 '주니어 백엔드 개발자가 반드시 알아야 할 실무 지식' 책을 읽고 진행하는 스터디 내용을 정리한다. 책을 읽고 학습하는 게 아니라, 책의 내용을 주제로 경험을 공유하는 스터디이기 때문에 포스팅 내용은 책과 관련이 없다. 이번 글은 '2장 느려진 서비스, 어디부터 봐야 할까'를 읽고 진행한 스터디 내용을 정리했다. (경험 공유) 표기는 스터디원들이 실무에서의 경험을 정리한 것이며, 항상 정답인 예제가 아니다. 2장. 느려진 서비스, 어디부터 봐야 할까수직 확장 & 수평 확장 (26p)(경험 공유) CPU 수치에 따라 스케일인/아웃되는 auto scaling group 설정사용자 적은 시간대는 스케일인을 해둔다던가 다양한 조건으로도 설정 가능DB 스케일은 직접 다룰 일이 없다 (DBA에게 요청.. 2025. 7. 5.
[Java] VirtualThread 동작 살펴보기 지난 글인 [Java] Virtual Thread 간단히 알아보기 에서 가상 스레드가 도입된 배경과, 가상 스레드는 무언인가에 대해 간단하게 살펴보았다. 이번 글에서는 VirtualThread 클래스를 살펴보고, 가상 스레드가 어떤 식으로 동작하는지 코드를 통해 대략적으로 살펴보려고 한다. (참고 코드: jdk21u) VirtualThread 클래스 살펴보기 아래는 VirtualThread 클래스의 코드 일부를 가져와보았다. 여러 멤버 변수들이 있는데 어떤 역할을 하는지 살펴보자.final class VirtualThread extends BaseVirtualThread { // scheduler and continuation private final Executor scheduler; .. 2025. 6. 1.
[Java] Virtual Thread 간단히 알아보기 이 글은 Java Virtual Thread, 가상 스레드가 만들어진 계기를 살펴본다. 가상 스레드 특징들을 공부하고, 도입 시 어떤 점들을 유의해야 하는지까지 간단히 살핀다. Virtual Thread의 자세한 동작 방식은 생략하고, 이후에 따로 글을 작성한다. 자바 스레드 모델 동작 흐름 기존의 Java에서 스레드를 생성하면, 운영체제(OS, Operating System)에 의해 관리되는 커널 스레드에 매핑된다. 스레드를 생성할 때마다 시스템 콜도 필요하고, 메모리도 많이 차지한다. 그래서 흔히들 스레드 생성은 비용이 굉장히 많이 드는 작업이라고들 한다. 그래서 자바에서는 스레드가 필요할 때마다 생성하는 게 아닌, 스레드를 미리 만들어놓고 할당/해제하면서 관리하기 위해 '스레드 풀'을 활용한다. .. 2025. 3. 30.
반응형