반응형

분류 전체보기 159

3. Harness Engineering(하네스 엔지니어링) — AI가 실수를 못하게 하기위해 규칙과 울타리를 설계하는 기술

하네스 엔지니어링(Harness Engineering)AI가 실수를 못하게 하기위해 규칙과 울타리를 설계하는 기술 — 제어의 기술하네스(Harness)는 원래 말에 채우는 마구(馬具)에서 유래한 단어로, AI 맥락에서는 AI 모델을 안전하고 제어 가능하게 “장착”하는 구조적 틀을 의미강력한 것을 제어하여 유익하게 활용한다는 의미로 쓰이며, AI에서는 올바른 방향으로 제어하면서 최대한 활용하기 위한 구조를 일컫는 표현[말을 비유로 이해]AI 에이전트를 거대한 짐말(draft horse)이라고 생각에이전틱 엔지니어링 = 말 훈련추론 루프 설계, 멀티 에이전트 조율, 도구 사용법 교육 → 말 자체를 더 강하게 만드는 것하네스 엔지니어링 = 마구 제작가죽 끈, 고삐, 수레를 만드는 것 → 말이 밭을 갈 수 있도..

AI/엔지니어링 2026.04.08

2. Context Engineering(컨텍스트 엔지니어링) — AI에게 필요한 정보를 적절하게 제공하는 기술

2. 컨텍스트 엔지니어링(Context Engineering)AI에게 필요한 정보를 적절하게 제공하는 기술 — 정보의 기술AI에게 '무엇을(What)' 해야 할지 알려주는 것을 넘어, 그 일을 수행하는 데 필요한 **'지식과 상황 정보(Context)'**를 가장 효과적으로 주입하는 기술모델이 '모르는 것'을 알게 하거나, '특정 정보'에 기반해 답변하게 만드는 환경 조성**RAG(검색 증강 생성)**가 대표적. 벡터 데이터베이스 구축, 데이터 전처리, 사용자 히스토리 관리 등을 통해 AI에게 ”지식의 맥락”을 제공프롬프트가 '두뇌'라면, 컨텍스트는 그 두뇌가 참고할 '교과서'단순히 텍스트를 많이 집어넣는 것이 아니라, 모델의 제한된 기억력(Context Window) 내에 가장 가치 있는 정보를 정교하..

AI/엔지니어링 2026.04.08

1. Prompt Engineering(프롬프트 엔지니어링) — AI에게 일(말)을 잘 거는 기술

1. 프롬프트 엔지니어링(Propt Engineering)AI에게 그때그때 일들을 잘 요청하는 기술 — 소통의 기술GPT에게 질문 던지기모델에게 묘사 전달매번 맥락을 새로 설명일관된 결과를 얻기 어려움모델이 가진 잠재력을 최대로 끌어내는 '질문과 지시의 최적화'단순히 말을 잘 거는 것을 넘어, 페르소나 설정, Few-shot 학습, Chain-of-Thought(사고의 사슬) 유도 등을 통해 모델의 추론 능력을 극대화아무리 데이터(Context)가 좋아도 지시(Prompt)가 모호하면 결과물은 엉뚱하게 나옴그래서 모델의 추론 경로를 가이드하고 출력의 품질을 결정하는 '구조 설계'를 잘 해야한다.주요 기법들 (Techniques)단순히 질문을 잘하는 것을 넘어, AI의 사고 능력을 극대화하는 몇 가지 전문..

AI/엔지니어링 2026.04.08

[AI LLM] LLM 중추, 트랜스포머 아키텍처

트랜스포머 아키텍처트랜스포머는 순환신경망(RNN: Recurrent Neural Network)의 문제를 해결하기 위해 입력을 하나씩 순차적으로 처리하는 방식을 버리고 셀프 어텐션(Self-Attention)개념을 도입했다.셀프 어텐션(Self-Attention) : 입력된 문장 내의 각 단어가 서로 어떤 관련이 있는지 계산하여 각 단어의 표현(representation)을 조정하는 역할을한다.현재 대부분의 LLM은 트랜스포머 아키텍처를 활용하고 있다.[장점]확장성 : 더 깊은 모델을 만들어도 학습이 잘되며, 동일한 블록을 반복해 사용하기 때문에 확장이 용이하다.효율성 : 학습할 때 병렬 연산이 가능하기 때문에 학습시간이 단축된다.더 긴 입력 처리 : 입력이 길어져도 성능이 거의 떨어지지 않는다.트랜스포..

AI/LLM 2026.02.17

[AI LLM] 대규모 언어 모델 소개 (언어 AI 역사)

언어 AI 역사1. BoW로 언어 표현언어 모델의 역사는 비구조적인 텍스트를 표현하는 방법인 BoW(bag-of-words)라는 기법으로 시작작동방식수치 표현을 만들려는 두 개의 문장이 있다고 가정BoW 모델의 첫 단계 : 문장을 개별 단어 또는 부분 단어(subword)(토큰token)로 분할하는 과정인 토큰화(Tokenization)가장 널리 사용되는 토큰화 방법 : 공백을 기준으로 개별 단어를 분할 [ But, 개별 단어 사이 공백이 없는 언어는 불리]토큰화를 한 다음 각 문장의 고유한 단어를 모두 합쳐 어휘사전(vocabulary)를 생성하여 문장을 표현어휘사전을 사용하여 각 문장에 단어가 얼마나 많이 등장하는지 확인. 이 방법을 단어 가방(bag of words)라 고하며, BoW는 벡터 또는 ..

AI/LLM 2026.02.17

[MongoDB] 1.기본 개념 정리

MongoDB문서 지향 오픈소스 NoSQL 데이터베이스로 키와 연결된 값의 집합으로 이루어진 Documents 이다특징비정형 데이터를 JSON 형식으로 저장필드, 범위 기반, 문자열 패턴 일치 등 다양한 쿼리를 지원확장성이 뛰어나며 데이터 파티셔닝 기능이 내장샤딩을 통해 여러 서버에 워크로드를 분산하여 대용량 데이터를 효율적으로 관리MongoDB의 주요 구성 요소와 기능Collection(컬렉션) : Document Group으로 RDB에서는 테이블에 해당하며, 동적 스키마를 가진다.Document(도큐먼트) : 관계형 데이터베이스에서는 행에 대응Mongo Shell(몽고 쉘) : MongoDB 인스턴스와 상호작용하는 JavaScript 쉘Sharding(샤딩) : 데이터를 여러 서버로 분산하는 프로세스..

Database/MongoDB 2024.09.10

15. 그래프 최단경로(다익스트라, 벨만-포드)

최단경로(shortest path) 문제네트워크에서 정점 u 와 정점 v 를 연결하는 경로 중에서 간선들의 가중치 합이 최소가되는 경로를 찾는 문제가중치 : 거리, 비용, 시간 등가중치가 없는 그래프 : 간선의 개수가 가장 적은 경로가 최단경로가중치가 있는 그래프 : 시작노드에서 마지막 노드까지 이동할 때 거치는 간선의 가중치의 총합이 최소가 되는 것.다익스트라 알고리즘(Dijkstra algorithm)네트워크에서 하나의 시작정점에서 모든 다른 정점까지의 최단경로를 찾는 알고리즘가중치가 있는 알고리즘은 대부분 다익스트라 알고리즘을 사용한다고 보면된다.다익스트라 알고리즘은 양의 가중치만 있는 그래프에서만 동작하므로 음의 가중치가 있는 그래프에서 제대로 동작하지 않는다.다익스트라 알고리즘은 한 번 방문한 ..

Algorithms 2024.06.11

14. Spanning Tree(신장트리) [Kruskal, Prim]

Spanning Tree(신장트리)그래프 내의 모든 정점을 포함하는 트리 모든 정점들이 연결되어 있어야하고, 사이클을 포함해서는 안된다. 그래프의 최소 연결 부분 그래프이다. 최소연결 = 간선의 수가 가장 적다 그래프에 있는 n개의 정점(vertax)을 가지는 그래프의 최소 간선(edge) 수는 (n-1)개이고, (n-1)개의 간선으로 연결되 있으면 필연적으로 트리형태가 되므로 Spanning Tree가 되므로 즉, 그래프에서 일부 간선을 선택해서 만든 트리이다. 신장트리는 깊이 우선 탐색이나 너비 우선 탐색 을 이용하여 사용된 간선만 모으면 만들 수 있다. 하나의 그래프에 많은 신장 트리가 존재할 수 있다. [시작 정점을 바꾸어 가면서 깊이 우선 탐색을 하여 만든 신장 트리 중 일부] 깊이우선 탐색알고..

Algorithms 2024.06.06

[Kotlin] 2. 연산자

연산자 구분 단항 연산자(Unary Operator) : 항이 하나인 연산자로 하나의 변수에서만 작동하는 연산자 이항 연산자(Binary Operator) : 두 개의 항을 처리하는 연산자로 두 변수의 값으로 작동하는 연산자 사칙연산자 표현식 메서드명 내부 실행 a + b plus a.plus(b) a -b minus a.minus(b) a * b times a.times(b) a / b div a.div(b) a % b rem/mod a.rem(b), a.mod(b) println("num1 + num2 = ${num1 + num2}") println("num1 - num2 = ${num1 - num2}") println("num1 * num2 = ${num1 * num2}") println("num1..

Language/Kotlin 2023.08.22

[Kotlin] 1.변수(Variable)

1. 변수선언 val (불변변수) : 한번 저장하면 다시 할당 할 수 없는 변수를 정의. //문자, 문자열, 논리 값 객체 //Char(2byte), String class, Boolean : (true, false) val charVal = 'a' val strVal = "Hello" val boolVal = true; //charVal = 'b' // Error: 불변변수는 다시 재할당 불가능. println(charVal); println(strVal); println(boolVal); println(charArrayOf('가','나').contentToString()) var str = String(charArrayOf('가','을')); println(str); //문자열 탬플릿 //$변수명, ..

Language/Kotlin 2023.08.21
반응형