CS 28

하네스 엔지니어링이란?

하네스 엔지니어링(Harness Engineering)이란?AI 에이전트가 실수를 할 때마다, 그 실수가 다시는 반복되지 않도록 구조적으로 제어하는 환경을 만드는 것을 의미한다.자유롭게 뛰노는 야생마(AI 모델 자체)에 마구(Harness)를 씌워, 힘을 올바른 방향으로 집중시키고 인간의 의도대로 정확하게 달리게 하는 것과 같다.모델 자체를 제외한 프롬프트, MCP, 스킬, 훅(Hook) 등 모든 제어 도구와 환경이 '하네스'에 해당한다.하네스가 해결하는 2가지 핵심 문제AI 에이전트를 활용할 때 발생하는 치명적인 문제들을 하네스가 방지해 준다.컨텍스트 부패 (Context Decay): AI가 한 번에 볼 수 있는 정보량(컨텍스트 창)을 넘어서면 앞선 대화나 작업 내용을 잊어버리는 현상규칙과 울타리의 ..

CS/AI 2026.04.08

Claude Code에 로컬 LLM 모델 연결하기

1. 설치Claude Code 설치: cmd가 아니라 Powershell에 입력해야 한다.irm https://claude.ai/install.ps1 | iex시스템 환경 변수: Path 추가C:\Users\{사용자명}\AppData\Roaming\SPB_Data\.local\binLM Studio 설치 LM Studio - Local AI on your computerRun local AI models like gpt-oss, Llama, Gemma, Qwen, and DeepSeek privately on your computer.lmstudio.ai다른 자료들에서 주로 소개하는 Ollama는 Codex나 Claude Code 등 외부 툴과 연동 시 성능이 저하된다는 의견이 있어서 LM Studio를..

CS/AI 2026.04.08

Claude Code 문찐이 보는 Claude Code 유출 사건

⚠ 포스팅에 앞서, 필자는 Claude Code의 사용 경험이 전무해 부정확한 정보가 있을 수도 있음을 양해 바랍니다.개요2026년 3월 31일 발생한 Claude Code 소스코드 유출 사건은 해킹이 아니라 Anthropic의 배포 실수로 인한 사고였다. Anthropic이 npm에 배포한 @anthropic-ai/claude-code v2.1.88 패키지에 디버깅용 소스맵 파일이 포함되면서, 외부에서도 Claude Code CLI의 원본 TypeScript 코드를 추출할 수 있는 상황이 발생했다. Anthropic은 이후 해당 사건이 단순 Human Error에서 비롯된 Release Packaging Issue였으며, 보안 침해는 아니라고 설명했다.유출 규모 역시 상당했다. 보도에 따르면 외부로 노..

CS/AI 2026.04.01

Java로 멀티 쓰레드 찍먹하기

멀티 쓰레드란? 멀티쓰레드(Multi Thread)는 하나의 프로세스 내에서 둘 이상의 쓰레드가 동시에 작업을 수행하는 것을 의미한다. 비슷한 개념으로 멀티 프로세스(Multi Process)는 여러 개의 CPU를 사용하여 여러 프로세스를 동시에 수행하는 것을 의미한다. 멀티 쓰레드와 멀티 프로세스 모두 여러 흐름을 동시에 수행하다는 공통점을 가지고 있다. 하지만 멀티 프로세스는 각 프로세스가 독립적인 메모리를 가지고 별도로 실행되는 반면, 멀티 쓰레드는 각 쓰레드가 자신이 속한 프로세스의 메모리를 공유한다는 점이 다르다. 멀티 쓰레드는 각 스레드가 자신이 속한 프로세스의 메모리를 공유하므로, 시스템 자원의 낭비가 적다. 하나의 쓰레드가 작업을 할 때 다른 쓰레드가 별도의 작업을 할 수 있어 사용자 경험..

CS/Java 2026.02.21

C언어로 이진 탐색 트리 구현하기

✅ 개요노드 삽입루트에 주목한다. 여기서 주목하는 노드를 node라고 하자.삽입하는 key과 주목 노드 node의 키를 비교한다.key = node인 경우 : 삽입을 실패하고 종료한다.key 왼쪽 자식 노드가 없으면, 그 자리에 노드를 삽입하고 종료한다.왼쪽 자식 노드가 있으면, 주목 노드를 왼쪽 자식 노드로 옮긴다.key > node인 경우 :오른쪽 자식 노드가 없으면, 그 자리에 노드를 삽입하고 종료한다.오른쪽 자식 노드가 있으면, 주목 노드를 오른쪽 자식으로 옮긴다.2번 과정으로 돌아간다.노드 삭제1️⃣ 리프 노드를 삭제하는 경우삭제할 노드가 부모 노드의 왼쪽 자식이라면, 부모의 왼쪽 포인터를 NULL로 한다.삭제할 노드가 부모 노드의 오른쪽 자식이라면, 부모의 오른쪽 포인터를 NULL로 한다.2️..

CS/C 2025.04.15