AI
Created: 2025, 07 15 >Updated: 2026, 06 01AI, 머신러닝, 딥러닝 ?
- AI
- 머신러닝
- 모델
- LLM
- RAG
- 파인튜닝
- 에이전트
- 생성형 AI
- LLM
- RAG
- Vector Store
- MCP
- Agent
AI > ML > DL
Programming
- Algorithm + Data => Result
ML
- Result + Data => Algorithm
- Result + Data => Model Data => Predictions
Machine Leaning
- Prepare data -> Build and train -> Evaluate -> Prepare data
LLM 이후
추천 -> 의도 이해
기존 패턴 매칭, 반응형 추천으로 하던 것을 LLM 이후에는 실제 의도와 고객 맥락 이해, 지능적 이해, 선제적 제안을 할 수 있는 기술적 기반이 마련되었다.
생성형 AI의 진화 방향 -> 인간 개입 감소
- 어시스턴트: 규칙 기반
- 에이전트: 단일 목표, 광범위한 작업
- 에이전틱: 완전 자율, 다중 에이전트
에이전트의 동작
- 액션을 하고 관찰을 한다.
- 메모리와 툴이 필요하다.
에이전트 만들면서 고려할 것
- 초기 레이턴시
- 비용
- 불필요한 호출 줄이기
- ReAct (Reasoning + Action)
- 생각과 액션을 분리. 이미 cursor 등 에이전트가 이런식으로 돌고있음
GPT
generative pre-trained transformer
- 생성형
- 미리 학습된
- 이 데이터에서 규칙을 찾아 내 - 트랜스포머의 역할
세팅 - ln -s TECH_SPEC.md - ln -s LLM.md CLAUDE.md - 워크플로우 -> 에이전트로 세팅 - 서브에이전트는 스킬을 쓰려면 명시해줘야함 - 키 보안은 어떻게 관리하지 env 읽는건 괜찮은건가? - slack mcp는 node를 써서 kop-web에서 안돎.. - ASDF_NODEJS_VERSION=18.20.8 node 를 쓸 수 있다 - [ ] 슬랙 배포 후 완료 확인 에이전트로 처리 필요 - mcp 절약하는 법 (매번 호출 안하는 법) - mcp를 skills 를 쓸 때만 호출하게 할 수 있나 - claude 상태창에 사용량 확인하는 법
AI 사용법
그 전에, 체화해야하는 부분과 AI에게 맡길 부분 분리
- 디자인 레퍼런스는 내가 보고 느껴야한다
- 경험 어떤건 경험이고 어떤건 문서로 남을까
- ai가 초안은 만들어주지만 최종 go/no go 판단 정의는 사람이 적는다
- 빠짐을 막게하라
- 결정만 하면 되는 구조로 가야된다
AI 제품
- AI 제품을 만든다면 AI 답게 보이게 해야 불쾌하지 않을 것 같다
- AI가 처음에 금방 만들어준다고 그걸 그대로 쓰는 조잡한 느낌으로 출시하면 안된다
- AI가 결과물을 만드는게 아니라 사람의 생각을 결과물로 만드는 데 도움을 줘서 불필요하게 드는 리소스를 간소화해준다.
- 내 요청이 어떻게 처리됐는지 어떤 과정 흐름이 있는지 보여져야 한다
- 모호한 입력 발견 시 사용자 확인 요청. 검증 실패 항목에 대한 사용자 판단 요청
- 디자인 컨셉을 먼저 잡고 그걸 참고해서 전체 작업 진행
- ai 프로덕트
- 채팅 인터페이스를 강화하던가
- 채팅 인터페이스를 벗어난 도메인에 집중하던가
AI 프로덕트 진화 흐름
- 자연어를 받아들여서 우리의 툴로 연결한다
- 우리의 툴이 자연어에 적합하게 동작하게 한다
AI 사용법
- 내가 정해야할 것들 리스트업
- 테스트 가능한 프롬프트
- 스킬은 동작에 대한 설명
- 스펙은 따로 정리
- 클로드가 아는 것과 모르는 것 구분해서 아는 것은 간결하게 설명
- 에이전트를 인턴으로 생각하고 어떻게 하면 이해할지 고려
- Bigquery라는 툴을 이용한 스킬 안에서도 또 구분이 명확히 분리되면 나눠주는게 토큰 절약됨 토큰 절약은 컨텍스트를 더 사용할 수 있다는 의미
- 복잡도에 따른 워크플로 실행
- 간단
- 각 에이전트는 단일한 목표 수행
- 기획은 방향성 제시
- 개발은 가장 간단한 구현
- 마케팅은 아웃풋 구상
- 운영은 가이드라인 검토
- 중간
- 하나의 파일로 처리
- 복잡
- 모든 산출물 출력
운영은 워크플로를 0부터 다시 검토하게 할 수 있다. 사용자에게 물어보고 다시 시작 가능 시큐리티 등 가이드라인 검토 히스토리 로그 최종 관리 및 업데이트 책임자 opeator의 운영자화. 인스타 글쓰는것도 관여할 수 있는 운영자
문서 관리
- Rag와 파일 관리 규모 비교
- 100줄 - 파일 열기전 확인하는 양
- 300줄 - 최적 - 100줄 이상이라 목차 추가
- 500줄 - 최대
- 500개의 파일 - 인덱스파일로 관리
- 1,000개 이상의 파일 - rag로 의미론적 탐색 가능하게 하기
메모리 관리
- 스킬 문서는 디스크립션까지 읽는다
- 메모리.md
- 클로드.md
ai 친화적 개발
- prd와 api문서를 기준점으로 둔다
- 수정은 이 문서들을 수정하게 하고 코드와 연계되게 한다
- 테스트코드도 prd가 베이스로 변경이 연계되어야 한다
- prd는 id를 가진다 REQ-ACTION-001
프롬프트 노하우
- ai에게 이전 대화를 기억하게 하는 법은 결국 문서화
- 내가 성장하는 방식으로 AI 를 활용해야 한다
- 용도에 맞는 AI 선택
- 자료 기반 AI 대화 : NotebookLM, Lilys AI
- 범용 기반 AI 대화 : chatGPT, claude
- 검색 기반 AI 대화 : perplexity
- ai 역할 - 발견, 가시성
- 역할 부여
- 스스로 검증
- 초기 기획 구체화
- 프롬프팅
- 3명의 전문가가 토론하는 라운드테이블 대화를 만들어줘
- 주제 빠르게 배우는 로드맵을 알려줘
- 어려운 개념은 초등학생도 이해할 수 있게 알려줘
- 이미지 프롬프팅
- 복잡한 디자인 배제
- 프롬프트 명확한 지침
- 잠재적 문제 최소화
- https://sshong.com/blog/15161
- 프롬프팅
- https://maily.so/airecipe/posts/8do78ydnrgq
- 적극성을 제어해야한다. (AI가 알아서 하게 할지, 이것만 하게 할지)
- 모르는 게 있어도 스스로 찾아라
- 천천히, 깊게 생각해라 (ultra thinking)
- gpt5는 기본적으로 "신중형" 성향이라 가능한 모든 맥락을 모으고 최대한 확실하게 답을 주려고 한다. 그래서 완전히 정확하지 않아도 된다고 명시해주면 수집 단계가 조금 빨리 넘어감
- https://maily.so/airecipe/posts/32z8wgp1zn4
- 깊이, 길이, 적극성을 조절한다
- https://maily.so/airecipe/posts/8mo5pj9nz9p
- 페르소나를 구체적으로 설정해줄수록 세밀한 답변을 받을 수 있다
- 나의 상황을 솔직하게 공유
- https://maily.so/airecipe/posts/w6ov6yy7zk5
- 구현 잘된 이미지 프롬프트
- 프롬프트
- 이 작업을 잘 모르는 동료가 할 수 없다면 클로드도 못한다
- 맥락 정보가 있으면 더 잘한다
- 아래 프롬프트를 개선하기 위해 나한테 4가지 질문해줘 그것을 기반으로 프롬프트 만들어줘
- 사고과정을 출력하게 해서 생각의 연쇄를 만들게 해야 진짜로 깊게 생각함. 단순한 것부터 복잡한 순으로
- 단계별로 생각해보자
- 이건 특정인의 사고연쇄과정을 물어보는 식으로도 쓸 수 있다. 전문인의 지식이 녹아있기 때문에.
- 근데 이걸 잘 뽑는 것도 프롬프팅을 잘 써야할 듯
- 프롬프트 엔지니어링 가이드 사이트
- https://docs.anthropic.com/ko/docs/build-with-claude/prompt-engineering/overview#vs
- xml 형식처럼 열고 닫는 태그로 요청 구분
- xml 이란 html처럼 미리 정해진 태그가 아니라 사용자가 지정할 수 있는 태그를 쓰는 마크업 언어
- 강조는 효과가 있다
- ** Strict Rules! 반드시 이 룰은 지키게 됩니다. **
- AI는 거인의 어깨에 제대로 올라탈 수 있는 기회다
- 검색이 아닌 질문
- LLM 기본 세팅 파일들
- codex
~/.codex - claude code
~/.claude - gemini
- 내가 테스트는 전부 docker 로 하라고 한거랑 TDD 한거는 어디에 있지? prompt-archive에는 있는데 이걸 링크 걸었었던가
- codex
- LLM이 쓰는 문서
- rules - 시스템 지침
- agents.md - 기본 프로젝트 안내서
- plan - 이걸 기반으로 작업
- hooks - 응답 후 동작 실행 필요 시
- agents - 서브 에이전트화
- slash commands - 같은 지시 할거 있으면 커맨드화
- skills - 외부 기능을 쓰는거, 약간 tools 같은 느낌. claude용 https://github.com/anthropics/skills
- https://github.com/diet103/claude-code-infrastructure-showcase
- pm2 디버깅
- dev 폴더에 ecosystem.config.js 만들어서 경로 세팅해놓고
- 로그 파일을 같은 경로로 모아서 그걸 읽게 한다
- pm2 logs email --lines 200 로 에이전트가 읽는다
- pm2 restart 로 재시작하게 한다
- https://rosettalens.com/s/ko/claude-code-is-a-beast-tips-from-6-months-of-hardcore-use
- LLM 기본
- 한글로 대답해줘
- Docker로 환경관리하고 실행하고 테스트한다
- 개발 LLM 기본
- 일관성
- 테스트
- 변경 시 한 부분만 바꿔도 되는 설계
- 재사용 잘 하도록
- 바이브 코딩
- 기본, 테크 스펙, 플랜 문서 기반
- go를 입력하면 마지막 완료된 태스크부터 바로 시작 (단순화)
- 만약 티키타카가 필요하면 내가 채팅에 치고 그걸 LLM이 문서에 다시 업데이트
- 여러 개발 방향이 있을 수 있는데 그걸 토론 후 실제 개발은 최후에 한다.
- 근데 하나하나의 기능 개발에 대한 건 어디에 적지. 플랜을 싹 지우고 새로 적나.. 요일별로 플랜 파일을 따로 관리할까
- LLM의 학습방식은 내가 다 일일이 설명해주는게 아니라 결과를 보여주고 그걸 다른 작업에 적용시키는 거라서 LLM을 쓸 때도 그렇게 썼는데 실제로 LLM을 쓸 때는 최대한 일일이 설명해줘야 좋은 결과가 나오는게 아이러니
- AI 세팅 고수들
- https://github.com/affaan-m/everything-claude-code
- https://github.com/vercel-labs/agent-skills/tree/main/skills/react-best-practices
- https://github.com/SuperClaude-Org/SuperClaude_Framework
- https://github.com/anthropics/knowledge-work-plugins/tree/main/marketing/skills
- https://github.com/obra/superpowers
- https://github.com/forrestchang/andrej-karpathy-skills/blob/main/skills/karpathy-guidelines/SKILL.md
- https://news.hada.io/topic?id=27756&utm_source=weekly&utm_medium=email&utm_campaign=202613
- https://github.com/paperclipai/paperclip
프롬프트를 쓰면서 오히려 더 배우게 된다
- 직관을 가지게 된 나의 사고과정을 스스로 다시 상기해서 프롬프트에 넣어주는 작업을 하게 된다
- 운영 안정성 검증도 프롬프트로 물어보면 된다
- 코드 테크닉은 결국 필요하다
- 서비스 중단 시 데이터 정합성 문제 없을 것인가
- 데이터가 선형적으로 증가할 때 속도도 선형적으로 느려질 것인가
- a/b 테스트 가능한가
- 기능 플래그 사용으로 배포가 가능한가
- 오래 걸리는 작업은 배치로
- 상태와 무상태 구분
- 모든 스키마를 json으로 처리하는건 인간이 보기 힘듬
AI 컨텍스트
- https://memoryhub.tistory.com/entry/AI-%EB%AA%A8%EB%8D%B8%EC%9D%98-%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8-%EA%B8%B8%EC%9D%B4-%EC%99%84%EC%A0%84-%EB%B6%84%EC%84%9D-%F0%9F%A7%A0-GPT-4%EB%B6%80%ED%84%B0-Claude-Gemini-Llama%EA%B9%8C%EC%A7%80
- gpt4 turbo는 400페이지 분량의 책에 해당하는 정보까지 컨텍스트로 가질 수 있었음 (128K)
- gpt-4o는 128K
- gpt3는 1024였음
- gpt5는 400K, 24년 9월까지 데이터
- gemini 2.0은 2G
- claude 3.7, 4 sonnet은 200K
- 토큰 최대치에서는 성능이 제대로 안나오고 성능 포화점이 더 낮은 지점에서 존재하고 있음
- 토큰이 증가하면 비용도 증가한다
벡터 스토어
- 들어온 정보와 유사한 정보를 검색해서 대답할 때 사용하는 기술
- 앞서 관련된 정보가 있으면 찾을 수 있다?
- 사실적인 정보를 쿼리할 수 있다?
- 청킹으로 컨텍스트 분리
- 청킹 방법별 특징
- 고정 크기 청킹
- 시맨틱 청킹
- 재귀적 청킹
초지능 인공지능에 순응할 것인가
만약에 초지능 인공지능이 만들어지면 그 인공지능을 인간이 막을 수 있는 능력이 없다면
-
- 인공지능에 순응한 채로 살아간다
-
- 억제할 방법을 어떻게든 찾으려고 살아간다
- 나는 어떤 스탠스로 가야할까
- https://littlefoxdiary.tistory.com/105
- 지금은 플랜을 세우고 그걸 하나 하나 체크하는 식으로 AI를 돌리니까 제어가 가능하다
프롬프트 아카이브
- TDD
- My Clean Architecture
- 사이즈가 작을 때는 상관없고 좀 크게 갈거 같을 때 고려한다 아 프로젝트가 작아도 파일을 그 이름으로 만들면 되고 사이즈가 커지면 파일명대로 폴더로 만들어서 기능별로 분리해도 되겠다. 근데 람다니까 기능으로 또 나누면 되니까 파일레벨에서 다 끝나게 해도 좋을듯
- 프로덕션 레디 상태가 필요할 때 체크리스트로 몇개 뽑는다
- 퍼포먼스, 보안, 모니터링, 안정성,
- 코드레벨에서는 로그 잘 남기고 피처플래그 잘 보고, 트랜잭션 확인만 하고 병렬처리만 신경쓰자
- 이벤트 드리븐, 캐싱은 인프라에서 처리하고 싶은데 가능할까?
AI와 함께
- AI가 내 일은 다 대신 해준다고 생각하고 진행해야 한다 그것을 넘어서 회사의 업무를 대신 해줄 수 있다
- 면접 준비를 AI와 함께 한다
- 문제 해결 사례를 알고 싶다
- 장애 극복 능력이 내 장점인 거 같은데 이걸 어떻게 어떤 사례로 어필하면 좋을지 알고 싶다
- 노트를 인식한 상태인 AI에게 질문하고 싶다
- 챗지피티나 클로드로 회사의 기본 정보를 이해한 상태로 대답하게 할 수 있나?
- 번역 잘하는 AI는 deepl
- 미팅 녹음 및 인식 ai
- 티로 tldr 클로바
- make 자동화 툴
- 내 노트를 기반으로 ai와 토론하기
- 어떤 일을 직접 하고 어떤 일을 AI에게 맡겨야 할까
- AI는 기존 시스템에 영향이 적게 하기 위해 덧붙여서 분기를 추가하는 경향이 있어서 이 부분이 복잡성을 증가시키고 이걸 주의해서 봐야한다
- AI 로 앱을 만들 때 기본적인 나의 요구사항이 들어가야 한다
- 시각화
- 실시간성 반응 및 로깅
- 디자인 컨셉 세팅 - 간결하고 단순한 미적 디자인
- 테스트
- 폴더 정리
- 세세한 컨텍스트 전달
- 사용자가 커스터마이징 할 수 있는 조건
- 한눈에 전체가 보이는 오버뷰 대시보드
- AI는 만드는건 금방해주지만 검증을 잘 해야 함 검증 노하우가 필요할 듯
- 어려운 요구사항일 수록 검증이 힘들다
- ~하고싶다 라고 했을 때 사실은 그 안에 여러 작업이 필요한데 그걸 ai가 해준다
- 코드 수정하고 싶다 -> 이전 변경사항 영향은 없는지 수정은 잘 됐는지 검증
- ai는 기존 인터넷에 있는 자료에 강하다
- 반대로 최신 자료는 약한데 그록은 x와 연계되어있어서 최신 트렌드 파악은 맡겨볼만하다
- 에이전트(openclaw) 장점 : 모든 인풋을 정제해서 아웃풋으로 만들어 낼 수 있는 창구가 될 수 있다
학습 시키기
pinecone이라는 벡터 데이터베이스에 배포를 학습시키면 명령어를 만들어주지 않을까? 배포를 원하면 argocd app create를 하고 옵션을 하나씩 알려주고 배포된 상태를 보여주라고 하면 argocd app get 하면 되고 아니면 아예 argocd document를 알려주면 알아서 명령어를 쓰려나!? s3를 데이터 소스로 사용하니까 명령어를 알게 된다!
일단 개인 노트를 s3에 올려서 잘 읽는지 보고 만들어놓고 하루에 요금 얼마나 나오는지 봐야겠다 한달에 만원정도로 사용할 수 있을까 출력 토큰 1,000개당 요금이 나오는데 토큰이라는게 단어 하나를 의미할 거 같다
학습시킬수있는 개인용 ai를 어떻게 쉽게 만들 수 있을까
하나의 AI 서비스를 만들면 고려해야할 점
- 지속적 개선되는 AI 여야 함. 결과가 수정되길 원하면 다음 호출때는 그것이 적용되어야 함
- 실패 시 재시도
- 할루시네이션 가드레일
- 복잡한 레이아웃 내에서 LLM이 텍스트의 특정 요소만 정밀하게 제어하는 데 어려움을 겪음
- 필수로 지키라는 명령을 지키지 않을 수 있음
- ai 호출 시 디버깅의 어려움
- RAG, 파인 튜닝의 어려움
- 인프라적 네트워크 트래픽 관리
- 서비스가 죽었다 다시 살아나면 작업을 마저 처리할 수 있어야 함
- AI 호출 시 화면이 정지되면 안됨. 비동기 처리
- 이미지 처리 - presigned upload와 resize
- 사용자의 프롬프트를 보이게 해줘야 사용자 ux가 좋다
LLM
- LLM 모델 비용 비교 사이트
- 기존 LLM이 할 수 있는 것과 할 수 없는 것
- 언어 영역
- 요청한 내용의 관련 내용을 찾을 수 있다
- 빠른 검색과 분석
- 우리의 컨벤션을 기억해서 그대로 구현해 줄 수 없다
- 찾아서 검색해서 결과를 알려주는거지 전체적인 맥락을 이해하지는 못한다
- 이미지를 이해하는건 멀티모달의 영역이다
- claude 4 sonnet이 잘한다고 하는데 어떤지 보자
- 언어 영역
- 프롬프트 엔지니어링
- G.S.T.A.R
- goal
- situation
- tone
- amount
- remark (추가 안내사항)
- planning 후 todo 처리
- chaining
- https://cookbook.openai.com/
- llm은 찾기에 최고 강점이 있어서 이 주소를 주고 원하는 걸 찾으면 찾을 수 있을 것이다
- gpt 파인 튜닝
- 필요한가
- 비용과 실제 용도를 확인해야 한다
- 단순 프롬프팅으로도 할 수 있을 수도 있다
- 어떻게 하는가
- 데이터는 어떻게 준비해야 하는가
- 얼마나 필요한가
- 필요한가
- 작업취소 및 재작업 워크플로우
- 간단 테스트 및 린트
- 프롬프트 읽기 전 훅으로 가이드부터 읽으라고 지시
- 필요한 것만 로드
- 클로드코드
- 디비 연결이 안되서 에러나니까 테스트코드가 통과가 안되서 테스트코드를 다 지워버림
- 디비연결에 대한 안내와 테스트코드는 지우지 말라는 안내가 필요할 듯
- 작은 태스크 단위로 하나하나씩
- 각 진행 상황과 생각을 항상 출력해서 확인할 수 있게 해줘
AI 데이터 학습
데이터 수집 - 텍스트화 데이터 분류 - 파일 1개씩 LLM으로 내용 추출 -> 묶음을 다시 처리 (에이전트로 병렬 처리하도록 개발) 데이터 검증 - 정성 평가
데이터 분류 단계에서 AI에게 요청할 때 빠지는 부분이 있을 수 있는데 이걸 완화하기 위해 여러번 실행해서 빈틈을 최대한 메꾼다
AI의 동작 방식에 대한 혼돈이 왔었다
큰 토큰의 질문을 한번에 헐 순 없다. 그래서 많은 파일을 한번에 읽히게 할 순 없다. 근데 방대한 양의 정보가 입력되어야 거기서 유의미한 응답을 한다. 학습 시킬때는 많은 데이터가 있어야하는데 새로운 정보는 많으면 안된다
시중에 나와있는 ai 래핑 서비스가 유의미한 서비스인 이유는 나름의 모델 학습이 있기 때문인 것 같다. Ppt만드는 서비스는 ppt에 특화되어 있는데 이건 학습을 따로 시킨건가? 근데 또 전에 퍼플렉시티나 이런건 따로 학습 시킨게 아니라 여러 체인을 만들어서 자기들의 데이터를 더해서 응답하게 한 거라고 하던데 그러면 이 기획전 서비스도 충분히 만들어 질 거 같은데 어떻게 하면 되지?
기존 모델에 질문하고 그 질문에 퓨샷프롬프팅을 하고 응답 결과를 가공하고 결과물을 더하고 합치고 섞을 수 있으면 될 거 같은데, 퓨샷을 잘 만들어야 할 거 같은데 어떻게 만들지? 정형화 되어있는 양식대로 만들면 되는데 이걸 프롬프트에 넣을 순 없다. 근데 또 파악하라 하면 할 순 있다.
RAG는 확장장치가 될 순 있지만 문맥을 이해하게 만드는 장치로는 쓸 수 없다. RAG에 많이 담아놓으면 유사한 것을 찾게 할 수는 있지만 그 내용들을 다 염두에 두고 뭘 하지는 않는다
AI Stack
AI Stack
- https://www.youtube.com/watch?v=0HB6NIrRe2A
- Semiconductor
- cloud
- fm
- application
ai 영상. 사진 -> 영상
- 힉스필드, 클링, 하이루오
- 구글은 veo3.1
AI
- ai에게 풍성함을 요구하면 될까. 2~3개는 내가 만들고 그거에 맞게 50개로 늘려주는 역할
- 이게 few-shot 이랑 비슷하긴 한데
- skills
- 구조가 있다. skills.md 로 만들어야함
- 자주 트리거될 경우 조절 가능
- claude skills는 도제식 교육 프레임을 이용했나
- 창의성의 방향을 통제
- 이 제약 안에서만 자유롭다
- 이 수준이 아니면 내놓지 마라
- 정리하기 위한 문서가 아니라 수준을 끌어올리기 위한 압박 장치로 기능한다.
- 창의성의 방향을 통제
- AI에게 일 시킬 때 어떻게 해야하는지 명확한 정의가 나와있는 느낌이다.
- AI 꿀팁: 이전채팅을전달할때느려서 chatid로전달해서 넘기기 하면 빨라짐
- ai 개발하면서 신경썼던 것
- ai 비용 최적화
- 리소스 최적화 - 큐,스케줄러, api 서버 구조
- 질문에 답은 AI가 빠르게 줄 수 있다. 그치만 그걸로는 내가 직접 해보는 것 만큼 기억에 남지는 않는다. 어떤걸 빠르게 AI에게 맡기고 어떤걸 내가 직접 해야 할까
- 커밋 문구 자동화
- 룰 체크 단계
- 맞춤법, 기승전결을 잘 지켰는가 돌려볼 수 있는 워크플로우
- ai는 검증을 탄탄하게 하는 파이프라인을 만든다
With AI, Leader
- 팀원에게 일을 시킬 때 원하는 행동을 마스터에게 시킨다
- 작업이 끝내진 상황
- 어떤 변경사항이 있고 영향 범위가 어떻고 고려한 것이 어떤것이다
에이전트
- 자가 학습하는 에이전트
- 내 노트 기반으로 복사해서 llm 위키로 재정렬
- 각 노트의 기본 구조 및 주제는 변경하지 않고 각 문서는 최대 500줄로 제한
- 내 노트는 8*8의 카테고리 구조
- 그 안에서 내용을 정리하고 발견하고 개선하면서 퀄리티를 높인다
- 매시간마다 새로운 카테고리의 문서를 탐구하여 디깅하고 해당 문서 업데이트와 더불어 배운점을 학습해서 문서화하고 이것도 500줄이 넘으면 중요한 것만 남기고 정리
- 매일마다 나에게 알려준다
- 그러면 에이전트가 성장할까?
- 목표는 나의 10년후를 보는 것과
- 에이전트와 나의 최적화 핏
- 그리고 나보다 내 니즈의 일을 잘하는 에이전트
- 내가 시키면 내 기대만큼 일을 잘 해주게 하는게 목표
- shdkej.github.io/content
- 내가 직접 쓴 노트를 한번씩 업데이트해서 에이전트의 노트와 비교
- 나의 허가는 필요없어 이상해지면 같은 시스템으로 다시 만들거야. 무한한 속도 안에서 어떤 변화가 있는지 관찰해보고 싶어
- 내 노트 기반
- 매시간 학습
- 출력은 알림
- 에이전트는 실행자
- 위키는 지식
- 나는 지휘자
- 챙기지 않은 것을 나열
- 정신적 보상
- 매니저가 지침 내리게
- 자가개선
- 평가 에이전트 추가해서 평가하고 개선파일 별도로 만들어서 실행
- 평가 크론
- 평가물 반영을 기존 작업에이전트에 추가
- 이거만 해도 스스로 뭘 계속 한다
- 평가 에이전트 추가해서 평가하고 개선파일 별도로 만들어서 실행
- openclaw
- Knowledge lab
- Infinity
- 자가개선
- 데일리 리뷰
- 내가 뭘 했고 (현황파악)
- 뭘 했고
- 뭘 개선해야할지
- 뭘 해보면 좋을지
- 지금도 이게 있긴 한데 문구가 안 와닿는거같다
- 처리해야할 이슈를 뽑되 바로 알리는게 아니라 인박스에 저장
- 오래된 건 백로그로 미뤄두고 나중에라도 볼 수 있게
- 이것도 큐 시스템이랑 비슷하다
- 마크다운으로 태스크 잘 관리되는걸 고려해보자
- 전역 투두
- 프로젝트별
- 업무노트와 연계
- 백로그
- 내 claude와 openclaw간의 연계가 되는게 되어야 이것도 되겠다
- claude에서 세션 데이터의 요약을 수시로 업데이트하게 해야할까
- 구글드라이브 업로드를 안물어보고 할 수 있을까
- obsidian에 올리게 할까 -> 근데 openclaw가 이걸 못읽음
- 공유하는 폴더 위치 - 구글드라이브 말고 노션이나 github
- "claude -p 로 세션증분 업데이트해서 github에 업로드"
- 회사에서는 개인 onedrive 폴더 위치
- 그렇게 데이터 공유는 된다고 치면 openclaw가 나에게 정리 결과를 알려주는 proactive
- claude에서 세션 데이터의 요약을 수시로 업데이트하게 해야할까
- 에이전트 네이티브
- intent 파일을 바라보게 한다
- 이건 github에 올려서 업데이트 가능하게 한다
- claude가 heartbeat로 계속 보고 처리한다
- 이거 근데 텔레그램으로 메시지 보내주면 이거에 대한 응답은 어떻게 받지?
- openclaw가 문서 업데이트하게 해야겠다
- infinity 스킬 만듦
- claude에 /schedule 이라는게 생겼고 최소 1시간 간격으로 클라우드에서 크론 돌려준다. 여기서 관제탑처럼 보고 실제 작업은 데스크탑에서 처리
- 이건 정각에 딱 처리되는건 아님
- 클라우드에서 텔레그램 발송이 안되서 github action으로 뺌
- 이건 차차 간소화 확인 필요
- infinity 폴더 안에 GATE, INTENT 가 목록 관리용으로 있고 intents, reports 가 히스토리로 쌓인다
- 이게 안꼬이고 잘 동작할까?
- 한시간마다 크론해서 intent 파일을 읽고 관련 파일 다 수정함
- 오픈클로에 intent 등록하게 함
- intent 파일은 겹친다
- 옵시디언 데이터 연동이 애매
- 이건 github으로 관리하고 자동연동되게 해야할듯 10분간격 데이터 크론
- 다른 에이전트 시스템 비교
- 내 설정이랑 비교했을 때 내가 참고할만하고 배울만한 부분 조사해줘. 여기만의 특이하고 특별한 부분 찾아줘
- 결국 휴대폰으로 텔레그램으로 요청하면 openclaw 서버의 claude code가 돌고 작업 처리 후 github에 올린걸 내가 본다. 보고는 텔레그램으로 다시 오긴하는데 제대로 보는건 github으로
- intent 파일을 바라보게 한다
- 내가 에이전트를 돌리는게 아니라 에이전트가 돌다가 나한테 알려주게 해야한다
- 나는 계속 공부하고 공부한걸 에이전트에 적용
머신러닝
지도학습 : 입력값과 결과를 같이 알려주는 것 비지도학습 : 입력값만 줘서 군집을 파악하는 것 강화학습 : 입력값에 대한 처리를 보고 보상을 조절 머신러닝 딥러닝 : 신경망을 층을 쌓아서 처리하게 하는 것 생성형 ai 예측 ai
머신러닝 안에 다 포함되는 개념
- 지도학습
- 비지도학습
- 강화학습 딥러닝을 이용해 지도학습, 비지도학습, 강화학습을 할 수 있다 모델을 이용하는게 딥러닝
TODO 성능평가방법 찾아보기
스포티파이의 머신러닝 기술은 데이터 속 단순 패턴이 아닌 인과관계를 찾는데 주력한다
"스포티파이의 머신러닝 기술은 데이터 속 단순 패턴이 아닌 인과관계를 찾는데 주력한다"
트랜스포머
- 트랜스포머
- gpt의 근간
- 어떤 문장을 주고 다음에 나올 단어를 예측하는 것이 기본 동작
- 번역을 위해 만들어졌으나 예측 기능을 계속 붙이면 문장을 만드는 것이나 이미지를 만드는 것에도 활용 가능했음
- transformer = attention + feed forward + perceptron
- attention 벡터 차원의 값을 주고 받는 과정
- 문맥을 파악하는 것이 될 수 있다. 문맥마다 단어의 의미가 다르게 쓰일 수 있으니까
- 최종적으로 모든 단어에 대한 확률 분포가 나옴
- 여러 파라미터가 있다 gpt-3 는 1700억개의 파라미터가 있다고 한다.
- 5만개의 단어를 입력해놨다
- 12288 차원
- 단어를 벡터화한다 -> 임베딩
- 단어를 그 고차원에 배열하려면 의도가 들어가고 어떤 바이어스가 있을 수 있다. 그게 곧 파라미터
- 같은 방향이라면 비슷한 의미일 수 있는 식으로 방향에 의미를 담기 위해서 파라미터가 필요하다
- 50000 * 12288 하면 6억개 정도. 1700억 중 6억은 단어와 차원
- 마지막 단계는 언임베딩인데 이것도 차원을 단어로 바꾸는거라 6억
- t가 0이면 값이 큰걸 강화해줘서 뻔한 결과가 나오고 t가 10이면 작은 값도 강화해줘서 값들이 비슷하게 만들어서 선택에 불확실성을 추가하고 더 새로운 결과가 나온다
- attention에서는 단어의 의미를 다른 단어들과 합쳐보면서 문맥에 맞는 방향으로 조금씩 이동시켜주는 것
- 역전파 (back propagation)
- 신경망에서 로직을 돌린 결과와 실제 정답의 차이가 있다면 정답을 기준으로 역 전파 하는 것.
- 가중치를 어떤걸 바꾸느냐에 따라 영향을 받는 값이 다른데. 어떤 가중치를 얼만큼 바꿀지 역으로 추적하는 것
ML
인공지능
기계도 학습에 의해서 정보를 습득하고 공부한다 데이터 라벨링을 해서 빅데이터를 이용해 공부를 시킨다 학습은 뇌세포의 연결강화 - 도널드 헵 -> 가중치(weight) 개념의 토대 인공지능 신경망은 뇌를 모델로 했다. (사람이 기준이다)
현재까지 해결된 문제들
- 한 방향의 학습모델은 XOR 문제를 해결하지 못한다
- Output을 Input에 다시 적용
- 역전파 알고리즘
- CNN
- 신경망이 깊어지면 예전 신경망 데이터가 날아간다 (Vanishing Gradient)
- 초기화가 중요하고, 초기화의 효율성이 좋아져야 한다.
- 자비어 초기화
- 학습을 많이 시키면 오히려 부정확해진다
인공지능 연구목적
- 인간 능력 증진
- 사람이 어떻게 사고하는지 이해하기 위해
출처: 야사와 만화로 배우는 인공지능
workflow
- 데이터 클리닝
- 데이터 축소
- 데이터변환
- 정규화
- 더미 코딩
- 평가지표
- 평가방법
- 데이터분리
- k 겹 교차검증
구성 요소
placeholder Variable Matmul Nn.relu Nn.softmax
파일에서 데이터 불러오는 방법
일단 입력데이터를 만들어내야 한다
leaner regression - 선형 회귀
- 비례 관계에 있다고 여겨지는 사건 예측 할 때 사용 가능
cost function
gradient descent algorithm
- 제일 좋은 가중치를 얻어낸다
convex function
sigmoid
MLOps
continuous training model continuous deploy model easy update test model
training serving
mlops
first-order-model: gif를 이용해서 사진을 특정 동작을 하도록 구현한다 build-model: 간단한 모델 생성 파일 keras-flask-deploy-webapp: 간단한 플라스크 구동 앱. h5파일을 빌드하고 실행한다 cnn: cactus recognizer, cnn 모델 생성 파일 있다
build-model을 이용해서 모델을 빌드하고 keras-flask-deploy-webapp으로 실행한다
! keyerror: sample_weight_mode 에러가 뜬다
- model.save()와 model.save_weight 차이가 뭔데
keras-deploy는 지금 텐서플로 모델을 불러와서 실행하고 있다. 커스텀 모델을 실행 가능하도록 설정 필요하다
! h5 마다 다 차이가 있어서 실행이 잘 안된다.
tensorflow Serving server라는게 있어서 모델을 여기에 저장해놓고 플라스크에서 호출해서 쓸 수 있다 그냥 모델을 플라스크 서버에 저장할 수도 있지만, 분리도 가능하다
- serving server
- pb 파일만 사용 가능, h5를 pb로 변환 가능
weight가 뭐고 weight, losses, optimizers를 h5 파일 안에 넣는단다 저 값들이 있으면 예측모델이 되는건가
ml devops
data composing
data preprocessing
model build to .h5
loading model route page
predicting data
DNN csv make model load model continuous update data continuous update model backtesting delivery to server
regression for predict classification for choice one of the fruit
Machine Learning framework
- tensorflow
- torch
- keras
- scikit learn
tensorflow
- tensorboard in docker
--bind_all
GAN
진짜데이터를 기준으로 제네레이터가 진짜데이터와 비슷한 것을 계속 생성하고 검사자는 진짜데이터와 제네레이터 데이터를 비교해서 진짜를 찾는과정인데 제네레이터는 작업을 하면 할수록 진짜와 비슷한 작업물을 만들 수 있고 검사자는 더 잘 구분할 수 있게 된다 데이터가 충분치 않을 때 사용하면 원하는 데이터를 얻어낼 수 있다
데이터 분석
- 데이터 출처 이해
- 보통 csv 파일로 받는다
- 데이터 크기 확인
data = pd.read_csv(file_path)data.info()
- 데이터 구성 요소(키, 몸무게) 확인
- 속성 탐색 (데이터로 무엇을 얻어낼지 생각)
- 구성 요소 간의 상관 관계 탐색
- 분석
- 시각화
- pandas
- 분석 결과의 타당성을 검증하기 위해 분석 대상 간 통계적 차이를 검정하는 과정이 필요하다
- 통계적 차이가 뭐지?
- 텍스트 마이닝: 데이터 파싱 - 시각화
- 미래 예측 (회귀 분석)
- arima
- 의사결정 트리
- 랜덤 포레스트
- XGBoost
- heuristic
- 머신러닝을 위한 데이터