[Agent] Self-Reflection - AI가 스스로를 개선하는 방법 사람이 경험을 통해 성장하듯, AI도 운영 과정에서 얻은 교훈을 다음 대화에 반영할 수 있다.왜 자기개선 구조가 필요한가? 최근에 1인 개발로 진행한 "TechTree" 라는 서비스에는 Self-Reflection(자기개선) 구조가 적용되어 있다. TechTree는 파라미터를 변경하는 '모수(Parametric)' 방식이 아닌프롬프트를 개선하는 '비모수(Non-Parametric)' 방식을 사용하였다. 따라서 이 글은 Self-Reflection의 비모수 기법을 중심으로 설명한다. TECHTREE Github : https://github.com/haebo9/ai-techtree-project GitHub - haebo9/ai-techtree-project: AI 개발자 랭킹 서비스를 개발을 위한.. [알고리즘] Genetic Algorithm - 좋은 해를 진화시키는 방법 복잡한 최적화 문제를 풀다 보면, 모든 경우를 하나씩 확인하는 방식은 금방 한계에 부딪힌다.예를 들어 다음과 같은 문제를 생각해볼 수 있다.여러 작업을 어떤 순서로 처리할 것인가?여러 자원에게 작업을 어떻게 나눌 것인가?제한 조건을 지키면서 전체 비용을 어떻게 줄일 것인가?특정 자원에 작업이 몰려 병목이 생기지 않게 하려면 어떻게 해야 하는가?이런 문제는 작업 수가 조금만 늘어나도 가능한 조합이 폭발적으로 증가한다.그래서 처음부터 완벽한 정답을 계산하기보다, 여러 후보 해를 만들고 점점 더 나은 해로 개선해 나가는 방식이 자주 사용된다.그중 대표적인 방법이 Genetic Algorithm(GA), 즉 유전 알고리즘이다.1. Genetic Algorithm이란?Genetic Algorithm은 생물의 진화.. [Agent] 하네스 엔지니어링의 핵심 원리 참고자료 : https://openai.com/ko-KR/index/harness-engineering/ (OpenAI 하네스 엔지니어링: 에이전트 우선 세계에서 Codex 활용하기) AI 에이전트를 개발에 활용할 때 가장 먼저 떠올리는 것은 보통 프롬프트다.“어떻게 말해야 더 좋은 코드를 만들어줄까?”“어떤 지시를 주면 실수를 줄일 수 있을까?”하지만 하네스 엔지니어링의 핵심은 프롬프트 자체보다 더 넓다.하네스 엔지니어링은 AI 에이전트가 안정적으로 일할 수 있도록문서, 테스트, 도구, 규칙, 피드백 루프를 갖춘 작업 환경을 설계하는 것이다. 즉, AI에게 일을 잘 시키는 방법은 단순히 말을 잘 거는 것이 아니다.AI가 읽을 수 있고, 실행할 수 있고, 검증할 수 있고, 다시 고칠 수 있는 구조를 만들.. ❤️[TechTree] 서비스 개발과정(~v.2.0) [v1.0] MCP Chatbot (Stateless) MCP 기반 개발자 학습 과정 지원 챗봇 TechTree는 처음에는 개발자 공부 계획을 제안해주고관련 정보를 뽑아서 보여주는 서비스로 구상되었습니다. (v.1.0) TechTree라는 이름도 나무가 뿌리에서 부터 여러개의 줄기로 뻩어 나가듯 공부라는 것도 기본기를 바탕으로 자신의 주특기를 키워나간다는 의미에서 만들어 졌습니다. 그렇게 RAG와 MCP 기술을 중심으로 개발이 진행되었고,관련된 페이지나 정보를 안내하는 '고객센터 AI 챗봇'과 같은 형태로 구현되었습니다. 하지만 무엇을 어떻게 공부해야하는지에 대한 '정도(正道)'는 없기에 임의로 나눠놓은 학습 과정은 실질적인 도움이 되지 않았습니다. 다시 말해, 개인 맞춤형 학습 과정 제시가 아닌.. [알고리즘] Dijkstra - 가중치가 양수일 때, 최단 경로 가중치가 있는 그래프에서의 최적 경로 구하는 알고리즘 다익스트라 알고리즘특징 : 가중치가 양수일 때만 사용 가능 (가중치가 동일할 때는 BFS 탐색 사용 가능) 핵심 전략 : Greedy 방식 (매 순간 방문하지 않은 노드 중 가장 거리가 짧은 노드 선택) 거리가 가장 짧은 노드 = 출발지부터의 누적 거리(가중치) 합계가 현재 가장 작은 노드를 선택한다.가장 거리가 짧은 노드 선택 방법 : 우선순위 큐 (heapq) 2026.01.18 - [프로그래밍/Coding] - [기초문법] 우선순위큐 (feat. heap) [기초문법] 우선순위큐 (feat. heap)Queue (큐) 개념 : 각 요소에 우선순위를 부여하는 데이터 구조의 한 종류이다. 인큐(enqueue): 큐에 요소를 추가하여 큐 뒤쪽에 배.. ❤️[Agent] Agentic AI ≠ AI Agent Agentic AI란 뭘까? 도구 사용? 유동적 흐름? 답은 자율성과 발전능력에 있다. AI의 진화 Generative AI (생성형 AI) = 반응형 AI대규모 언어 모델(LLM)을 기반으로 입력된 데이터를 분석하고 그에 맞는 다양한 형태의 출력을 생성하는 AI기존 데이터를 학습하여 패턴과 구조를 이해하고, 이를 바탕으로 유사하거나 완전히 새로운 콘텐츠를 만들어냄. Stateless 구조로 각 입력에 대해 독립적으로 출력을 생성하며, 이전 입력이나 대화의 맥락을 장기적으로 기억하지 않음. 한계 : 스스로 목표를 설정하거나 복잡한 문제를 해결하는 능력이 없음 작업 흐름 : Input -> Model -> Outputex) ChatGPT, Claude, Gemini AI Agents(AI 에이전트) = 목.. [Next.js] My First Frontend for AI Agents 바이브코딩을 하더라도 기본 구조는 알아야 하지 않을까? 무한히 반복되는 에러를 참지 못하고 시작한 Next.js 기초 공부 랜더링 전략 : 왜 Next.js인가? (SSR vs CSR) > 핵심은 누가, 어디서 페이지를 그리는 지이다.CSR (React 방식) : 빈 종이(HTML)를 먼저 받고, 브라우저가 JS를 실행해서 그림을 그림. 초기 로딩 속도 느림SEO(검색엔진 최적화) 취약 : 웹 사이트나 콘텐츠 상위 노출 SSR/SSG (Next.js 방식) : 서버에서 이미 다 그려진 종이를 보내줌. 초기 로딩속도 빠름SEO 우수📌 Tip. React의 방식 사용use client : Next.js의 기본값인 SSR을 포기하고 브라우저(CSR)이 그리라고 선언ex) page.tsx 파일 맨 위에 "us.. ❤️[TechTree] 서비스 자체 평가 (v.1.0.0-v.1.1.0) 사용자의 개발자 면접 파트너 AI TechTree v1.1.0 설명 (Latest) 서비스 진행 흐름개발 면접 준비생을 대상으로 기술 용어를 중심으로 단계별 면접을 진행합니다. AI가 생성한 문제를 최대 8문제 까지 풀고 즉각적인 AI 피드백을 받을 수 있습니다. AI는 모범 답안과 사용자 답변을 맥락상 의미까지 이해하여 정답/부분정답/오답 을 평가합니다.정답의 경우 다음 레벨의 문제가 출제됩니다. (level : 0-3) 3문제 이상 진행 중 오답일 때, 전체 문제와 답변을 평가하여 종합 리포트를 생성합니다. 오른쪽 화면에서 키워드의 의미적 유사도에 따라 연결된 노드들의 화면을 볼 수 있습니다. 퀴즈가 진행되지 않을 때, 추천을 요청하면 다음에 학습할 키워드를 추천합니다.개발 방향성 해당 서비스는 메타.. [기본문법] Dynamic Programming (DP) Dynamic Programming 이란 ?복잡한 문제를 간단한 여러 개의 문제로 나누어 푸는 방법부분 문제 반복 알고리즘최적 부분 구조 알고리즘 Bottom-Up 방식 : 최초의 값부터 차례대로 계산해 나가는 방식. 비교 재귀함수(Recursion) : 동일한 함수가 반복적으로 호출되는 것을 재귀적으로 실행동적계획법(DP) : 부분의 값을 리스트에 하나씩 저장피보나치 수열 예시 재귀함수 : 가장 큰 수에서부터 수를 줄여가며 연산 동적계획법 : 0, 1에서의 값은 미리 넣어두고 2부터의 값을 하나씩 연산하여 저장구현시 주의사항: 연산을 통해 구할수 없는 값(ex. 0, 1 에서의 값)에 대한 처리 필요# 재귀함수 구현 def fibonacci(num): if num == 1: retur.. [python] Code Coverage (Pylint, Unit-test) 코드 품질 관리(Pylint & PDB): Pylint로 스타일 점수를 매겨 코드를 깔끔하게 가다듬고, PDB 디버거로 실행 흐름과 변수를 실시간 점검해 오류를 해결기능 검증 및 배포(UnitTest): 내장 라이브러리인 UnitTest로 함수의 결과값을 자동 검사하며, 테스트 통과 여부에 따라 안전한 CI/CD 배포를 진행성능 최적화(Timeit): Timeit 패키지를 활용해 코드의 실행 시간을 ms 단위로 정밀하게 측정하고, 알고리즘 간의 속도 효율성을 객관적으로 비교Pylint : 코드 커버리지 측정 툴 (Code Coverage)코드 커버리지는 소프트웨어 테스트 수행 시, 전체 소스 코드 중 얼마만큼의 코드가 실제로 실행되었는지를 비율(%)로 나타내는 지표pylint packages 설치 (pi.. [LLM] GPT-4.1 Prompt Guide GPT-4.1 모델은 지시사항을 따르는 능력을 크게 개선하였으며, 특히 AI Agent 에서 특정 지시사항을 그대로 수행하는 것에 특화되어 있습니다. 해당 모델을 좀 더 효과적으로 사용하기 위한 프롬프트 구조 및 내용을 OpenAI에서 공식적으로 추천하고 있으며, 이를 따라 프롬프팅을 하는 것을 권장합니다. GPT-4.1 APIGPT 모델 발전 과정GPT-4o : GPT-4.1 이전 많이 쓰이던 모델 GPT-4.5 : deplicated (과도한 사용 비용으로 삭제됨) GPT-4.1 : GPT-4o보다 개선된 새로운 표준 모델GPT-4.1-mini : 경량 모델 GPT-4.1-nano : 초경량 모델개선 내용 Coding : AI 프로그래밍 능력 향상 Instruction Folliwing : 지시 사항.. [LLM] IFEval LLM Evaluation 모델 수행 능력 평가 - IFEval 평가지표 LLM 수행 능력 평가사람에 의한 평가 : 시간이 많이 들고, 비용이 많이 듦. 편향 및 일관성 부족으로 인한 재현 가능성 문제 모델 기반 평가 : 평가에 사용하는 모델의 정확도에 크게 의존 정량적 벤치마크 : 표준화되고 확장 가능한 평가 방식 제공 Strict metric, loose accuracy score 으로 계산 Strict metric : 정확한 수치적 정확도 평가 loose accuracy score : 수정자(*, **) 등의 변칙 사항들을 제거한 뒤 평가IFEval : LLM의 Instruction Following 능력 평가 자연어 지시를 따르는 능력을 평가 (Zero-shot Prompt 능력) 사람이 직업 평가하는 방식은 비용이 많이.. [기본문법] Backtracking 백트랙킹(Backtracking)은 가능한 모든 경우의 수를 탐색하되, 조건에 맞지 않으면 즉시 중단하고 이전 단계로 돌아가(Back) 다시 다른 길을 찾는(Track) 알고리즘 기법입니다. 백트랙킹(Backtracking) 이란? 미로 찾기와 비슷 갈림길에서 한쪽 길을 선택해 쭉 들어감. 막다른 길(조건 불만족)이 나오면, 다시 가림길로 돌아옴(Backtrack)아까 가지 않은 다른 길을 선택해 다시 들어감. 이 과정을 통해 탐색을 줄이면서(Pruning, 가지치기) 정답을 찾아냄 문제 예시 목표 : 1 부터 N 까지 자연수 중에서 중복 없이 M개를 고른 수열을 모두 구하기. 조건 수열의 길이는 M이여야 함. 중복된 숫자가 있으면 안됨 사전 순으로 출력해야 함. 이 문제는 순열(Permutation)을.. [LLM] OpenAI Codex OpenAI Codex는 Github의 코드를 기반으로 개발을 도와주는 AI 프로그래밍 플랫폼입니다. 코딩에 특화된 codex-1 모델을 사용하여 비동기적으로 여러 작업을 동시에 진행할 수 있다는 것이 강점입니다. ChatGPT, Code editor 등에서 사용할 수 있으며, AGENTS.md 파일에 작성된 에이전트 작업 가이드를 제공할 수 있습니다. 개요Codex : 2025년 5월 16일 공개된 AI 프로그래밍 플랫폼사용 가능 환경 APP : macOS (Apple Silicon)에 설치하여 Codex 전용 앱 사용 가능 IDE Extention : Code editor Download for Visual Studio CodeDownload for CursorDownload for WindsurfD.. [LLM] Step-back Prompting "한 걸음 뒤로 돌아가서 생각해보자"Step-back Prompting은 구체적인 질문을 상위 수준의 개념이나 근본 원리로 추상화(Abstraction)하여 문제 해결에 필요한 핵심 배경 지식을 먼저 확보하도록 유도하는 전략입니다. 질문에 즉각 대응하는 대신 '한 단계 물러난' 추상적 질문을 통해 일반적 원리를 인출하고, 이를 다시 원래 질문과 결합하여 최종 해답을 도출하는 2단계 추론 방식을 체계화한 기법입니다. 이는 복잡한 다단계 추론이나 과학적 문제에서 발생하는 논리적 오류를 최소화하고, 특히 RAG 시스템에서 검색 범위를 확장하여 답변의 품질과 정확도를 극대화하는 것을 목적으로 합니다.Step-back Promptingby Google Deepmind in 2024프롬프트 핵심 아이디어 질문이 특.. [math] 최대공약수(GCD) - 유클리드 호제법 최대 공약수(GCD)와 최소공배수(LCM) 사이의 관계 개념 최대공약수(Greatest Common Divisor, GCD) : 두 수의 공통된 소인수들만 곱한 것최소공배수(Least Common Multiple, LCM) : 두 수의 모든 소인수(중복 없이)를 곱한 것두 수(A, B)의 최대 공배수를 구하기 위해서는 중복이 제거된 소인수들의 곱을 구하면 됨 최대 공약수를 구하는 방법 방법1 ) 직접 공통된 소인수를 구해서 한쪽에만 나누기 방법2) 유클리드 호제법 으로 최대공약수 구하기방법 1. 직접 공통된 소인수를 구해서 한쪽에만 나누기 직접 소인수의 중복을 제거하는 방식A 한쪽의 값에만 나눈 값을 최종 사용함. (양쪽 다 제거하면 중복이 없는게 아니라 소인수가 없어짐)(주의할 점) 둘 다 나누어 떨어.. [python] Pydantic basic concept (Type hint) 데이터 검증의 자동화: Pydantic은 Python의 타입 힌트를 활용해 단순히 타입을 지정하는 것을 넘어, 입력 데이터가 모델 정의에 맞는지 엄격하게 검증하고 적절한 타입으로 자동 변환(Coersion)합니다. 직관적인 객체 변환: BaseModel 상속을 통해 JSON 데이터를 객체로 변환하는 역직렬화(Deserialization)와 객체 상태를 다시 데이터화하는 직렬화(Serialization) 과정을 매우 쉽고 표준화된 방식으로 처리합니다. 유연한 필드 설정: Optional이나 Union 등을 활용해 선택적 필드를 정의할 수 있으며, 기본값 설정을 통해 데이터 누락에 유연하게 대응하면서도 구조적인 데이터 설계를 지원합니다.Pydantictype hints : 강제 타입 지정 / 데이터 검증 D.. [LLM] OpenAI tools for build Agent (web/file Search) Gemini said OpenAI의 새로운 Responses API는 기존의 복잡했던 API 구조를 하나로 통합하여 웹 검색, 파일 검색, 컴퓨터 사용(CUA) 등 강력한 에이전트 기능을 제공하는 차세대 개발 도구입니다. 이 시스템은 실시간 최신 정보와 출처를 제공하는 웹 검색 기능과 복잡한 RAG 과정 없이도 대규모 내부 데이터를 효율적으로 탐색하는 파일 검색 기능을 내장하여 정보 접근성을 획기적으로 높였으며, 특히 사용자 환경을 직접 제어하는 Computer Use 도구와 향상된 모니터링 SDK를 통해 단순한 텍스트 응답을 넘어선 실질적인 업무 자동화 에이전트 구현을 가능하게 합니다.Overview기존의 Agent API Chat completetion API : 기본 AI 구조 개발 Assistan.. [LLM] Text Embedding (OpenAI) 텍스트 임베딩은 희소한(Sparse) 문자열 데이터를 의미 중심의 밀집된(Dense) 실수 벡터로 변환하여 컴퓨터가 문맥을 이해하게 돕는 기술입니다. 기존 원-핫 인코딩의 차원 문제와 연관성 결여를 해결하며, 유사한 의미의 단어를 벡터 공간 내 가까운 곳에 배치해 단어 간 연산과 효율적인 차원 축소를 가능하게 합니다. 현재는 Word2Vec과 BERT를 거쳐 OpenAI의 text-embedding-3 시리즈와 같은 고성능 모델로 발전하여 검색, 추천, 분류 등 AI 서비스 전반의 핵심 기반이 되고 있습니다. 임베딩의 등장 배경 머신러닝 알고리즘은 문자열 데이터를 처리할 수 없어 One-hot Encoding 으로 표현 했어야 했음. One-hot 인코딩 : 단어 사전에서 해당되는 단어는 1, 나머지는 .. [LLM] Zero-Shot Chain of Thought (a.k.a. CoT) Chain-of-Thoght(CoT) 기법은 프롬프트 엔지니어링에서 Few-shot에 넣을 예제에 답을 찾는 순차적인 추론 과정을 넣어주는 것 만으로 모델의 성능을 끌어올릴 수 있는 방법 중 하나입니다. 다만 모델의 사이즈가 어느정도 커야 연쇄적 추론 성능이 발현 된다는 것과 직접 추론 과정을 넣어줘야 한다는 한계가 존재합니다. 이러한 문제를 개선하기 위해 Zero-shot CoT 기법이 등장하였으며, LLM이 추론 과정이 담긴 답변을 만들어 낼 수 있다는 것을 밝혀내었습니다. Chain of Thought(CoT) ; Few-shot Chain of ThoughtStandard Prompting 질문-답 을 Few-shot으로 넣어준 뒤, 동일한 형태의 질문 --> 잘못된 추론ex) 사과를 5개를 먹다.. [python] uv - package manager (feat. pip) "uv"는 Rust 기반의 압도적인 속도를 통해 pip, pyenv, poetry 등 파이썬의 파편화된 도구들을 하나로 통합한 차세대 패키지 매니저입니다. "uv.lock"을 통한 결정적 의존성 관리와 파이썬 버전의 자동 설치(Managed Python) 기능으로 개발부터 배포까지의 환경 일관성을 완벽히 보장하는 것이 핵심 목적입니다. 특히 "도커" 환경에서 캐시 마운트와 멀티 스테이지 빌드를 활용하면 빌드 속도를 획기적으로 높이고 이미지 용량을 최적화할 수 있어 현대적인 파이썬 개발의 필수 툴체인으로 주목받고 있습니다.UVKey Feature압도적인 속도(Rust 기반) : 기존 pip 대비 최대 100배 빠른 속도로 패키지 설치 및 관리 시간 단축 통합 룰체인 : 패키지 설치(pip) 부터 컴파일 및.. [기초문법] 이진 탐색 - Binary Search (feat. Hash) 이진 탐색(Binary Search)은 대규모 데이터에서 검색 시간의 단축을 가능하게 할 뿐 아니라 경계값을 찾기 위해 사용되는 알고리즘 입니다. 특히 최적화 문제에서 조건을 만족하는 최댓값/최솟값을 찾는 문제에서 시간 효율적으로 범위를 좁혀가며 값을 찾아낼 수 있습니다. 한편 단순히 존재 유무 혹은 개수를 확인하기 위해서는 해시를 활용하는 것이 더 효율적입니다. 이진 탐색 (Binary Search) 이진 탐색의 핵심은 절반씩 잘라내는 것이다. 조건문 또는 bisect 라이브러리를 통해 코드적으로 구현할 수 있다.목적 : 정렬된 데이터 속에서 원하는 값을 효율적으로 찾아내기 위함 ; O(logN) 구현 1 - 조건문 배열의 시작, 중간, 끝 인덱스 값을 사용 (start, mid, end ) 구현.. [LLM] Prompt Engineering (GPT-based) LLM을 활용함에 있어 좋은 프롬프트를 작성하는 것만큼 쉬우면서도 중요한 작업은 없습니다. OPENAI에서 공식적으로 추천하는 프롬프트 전략을 익히고 적용하여 GPT LLM 모델의 성능을 더욱더 끌어낼 수 있을 것입니다. 이 글에서 당연한 것 같으면서도 놓치기 쉬운 프롬프트 전략들을 정리하였습니다. GPT 프롬프트 전략 (OpenAI 공식 ; 2023.08) 전략 1 : basic tactics질문에 세부 사항을 포함하여 관련된 답변을 얻음구체적인 요구사항 명시배열 처리방법 -> python에서 배열을 처리하는 방법을 알려줘모델에게 특정 인물의 성격(Persona)을 취하도록 함system message에 답변 성격 지정ex) 단락마다 장난스러운 농담을 포함하여 답변해주세요.입력의 다른 부분을 명확하게.. [python] JSON for RAG 이 글은 RAG 시스템에서 JSON 데이터를 처리할 때 발생하는 계층 구조 소실 및 정보 절단 문제를 해결하기 위해, 데이터를 자연어로 변환하거나 객체 단위로 구조적 청킹을 수행하고 메타데이터와 콘텐츠를 분리하여 검색 정확도와 답변 품질을 높이는 실무적인 전처리 전략을 소개합니다.JSON format Python과 Javascript에서 모두 읽을 수 있음 : Middle 객체 서버에서 데이터를 줄 때 Json 으로 주는 경우 많음 Key-value PairPython에서 사용 import json with open("sample Json", mode ="r") as f : # json 데이터 읽기 모드로 불러옴 data = json.loads(f.read()) data['type'] =.. [Event] AI SEOUL 2026 후기 과거는 Generative AI,현재는 Agentic AI,미래는 Physical AI 몇 일전 코엑스에서 진행한 AI SEOUL 2026 컨퍼런스을 다녀왔다. 그곳에서 많은 AI 분야의 권위자분들의 세션을 들을 수 있었다. 이번 글을 통해 기억에 남는 것들을 기록해보려 한다. 나는 어떤 개발자가 되어야 할지 깊게 생각하게 만들어준 시간이였다. 초반에는 AI 시대에서의 산업 발전 방향과 관련된 연설이 많았다. 우선 오세훈 서울 시장의 연설 중에 기억에 남는 것은"양재를 Pysical AI의 중심으로, 수서를 로봇의 중심" 으로 만들겠다는 계획이다. 수서는 판교를 의식해서 위치를 선정했다는 말도 덛붙혔다. 또한 이곳을 구로디지털단지/가산다지털 단지 처럼 단순 일터가 아닌주거 시설과 일터가 함께하는 도.. [Event] Data Lakehouse & Multi-agent 특강 Data Lakehouse 부터 Multi-Agent 구축까지, 성공적인 AI 도입을 위한 데이터 엔지니어링 청사진 그리기[ 연사 ] Fast campus Leo 강사님 : 현) 국내 유명 대기업 N사 데이터 엔지니어개요 데이터 무결성, 품질 우수한 상태에서 --> LLM 이 좋은 성능 Data Lakehouse의 중요성 인프라 아키텍쳐의 이해AI 시대에는 비정형 데이터를 많이 다룸 => Data Lakehouse 전형적인 DB로는 한계가 있음 데이터 저장소LakehouseParquet-> 열 기반 압출률도 높고, 직접 열 접근 방식으로 처리속도도 빠름Warehouse와 Data Lake를 적절히 섞어 사용Warehouse(정형 데이터) + Data Lake(비정형 데이터)CSV, JSON-> 행 기반압.. [기초문법] Iterator : Iter-next (feat. yield) 이터레이터(Iterator)란? 데이터를 한번에 메모리에 올리지 않고, 필요할 때마다 하나씩 꺼내 쓰는 객체 iter() : 반복 가능한 객체(list, string 등)을 이터레이터로 변환next() : 이터레이터에서 다음 요소를 하나씩 가져옴. 가져올 데이터 없으면 StopIteration 예외 발생 이터레이터의 장단점 장점 : 메모리 효율성 (Lasy Evaluation) List : 100만 개의 요소를 만들면 즉시 RAM을 점유합니다. --> O(N)Iterator : 100 만번의 규칙만 가지고 있다가 호출 될때만 값을 만듭니다. --> O(1)활용 : 몇 GB 단위의 대용량 로그 파일을 읽을 떄 f.readlines() 대신 iter 방식을 쓰면 컴퓨터 멈추는 것 방지단점 및 주의사항 일회성.. ❤️[Agent] LangGraph Agent (workflow) LangGraph Agent 공식문서 톺아보기 https://docs.langchain.com/oss/python/langgraph/workflows-agents Workflows and agents - Docs by LangChain docs.langchain.com이 글은 랭그래프의 작업 흐름(workflow) 및 에이전트 패턴(Agent patterns)에 대한 공식 문서를 참고하여 작성되었습니다. workflow는 사전에 정의된 코드 흐르며 명확한 지시 사항을 구현하기 위한 것입니다. Agent는 동적으로 자신의 작업 및 도구 사용을 결정할 수 있습니다. LangGraph는 에이전트와 작업 흐름을 만듦에 있어 지속성, 스트리밍, 디버깅 등의 개발에 편의성을 제공하는 프레임워크입니다. LLMs a.. [Agent] LangGraph Template (feat. LangSmith) https://docs.langchain.com/oss/python/langgraph/local-server= 3.11 is required. pip install -U "langgraph-cli[inmem]" 2. Create a LangGraph app Creat" data-og-host="docs.langchain.com" data-og-source-url="https://docs.langchain.com/oss/python/langgraph/local-server" data-og-url="https://docs.langchain.com/oss/python/langgraph/local-server" data-og-image="https://scrap.kakaocdn.net/dn/797ps/dJMb8.. [Agent] Langchain vs Langgraph agent diff https://devocean.sk.com/blog/techBoardDetail.do?ID=167523&boardType=techBlog Langchain과 Langgraph의 Agent구현의 차이점. devocean.sk.comLangchain create_react_agent prompt 를 통해서 Agent 가 어떤 Chain of Thoght(CoT)를 진행할지 기술 --> 내부 로직 구체적 확인 어려움 (= 무슨 이유로 이 도구를 선택?)--> Prompt Template 안에 {tools}, {input}, {tool_names} 등이 포함됨 Tools 목록 리스트를 제공하고 Tools Call이 실행되도록 함 (유도) AgentExecutor에이전트 내부의 실행을 담담하는 함수 --> 내부 .. 이전 1 2 3 다음