Refactor: Consolidate directory structure into 5 main categories and update metadata
This commit is contained in:
@@ -1,36 +0,0 @@
|
||||
# [[Connect AI 기술 문서 및 사용 설명서|ConnectAI]] Dev Log - 2026.04.29 (v2.2.67)
|
||||
|
||||
## 📌 Brief Summary
|
||||
**ConnectAI (Brand: G1nation)** 프로젝트의 v2.2.67 스테이블 빌드 완료 보고. 주요 업데이트로는 에이전트 선택 영속화, [[P-Reinforce|P-Reinforce]] 위키화 규칙 정교화, 그리고 결과물 외부 내보내기(Export to MD) 기능이 포함됨.
|
||||
|
||||
## 🏷️ Metadata
|
||||
* **Context**: Software Development, AI Agent Architecture
|
||||
* **Type**: Implementation (Log
|
||||
* **Level**: Level: Meso
|
||||
|
||||
## 📖 Core Content
|
||||
|
||||
### 1. 주요 업데이트 상세
|
||||
* **에이전트 선택 영속화 (Agent Persistence)**:
|
||||
- 사용자가 사이드바에서 선택한 스킬(Default, Steve Jobs 등)을 VS Code `global[[State|State]]`에 저장.
|
||||
- 재시작 시 이전 상태를 즉시 복구하여 사용자 경험(UX) 강화.
|
||||
* **[[P-Reinforce|P-Reinforce]] 위키화 규칙 고도화**:
|
||||
- 추상적 개념보다는 **실질적 내용, 일정, 방향성** 중심의 정리 프로세스 확립.
|
||||
- Raw ➔ Wiki ➔ Archive로 이어지는 데이터 생애주기 정책 적용.
|
||||
* **Export to MD 기능**:
|
||||
- AI 답변 하단에 '💾 Export' 버튼 추가.
|
||||
- `showSaveDialog`를 활용하여 로컬 파일 시스템에 마크다운 저장 기능 구현.
|
||||
|
||||
### 2. 기술 스택 및 구조
|
||||
* **Core**: `src/extension.ts` (Entry), `src/sidebarProvider.ts` (UI/[[Logic|Logic]])
|
||||
* **Intelligence**: `src/agent.ts` (LLM Interface), `src/utils.ts` (FileSystem/Logic)
|
||||
* **External**: `src/bridge.ts` (Agent University Interface)
|
||||
|
||||
## 🔗 Knowledge Connections
|
||||
* **Upstream (Prerequisite)**: VS Code Extension API, P-Reinforce Architecture
|
||||
* **Horizontal (Related)**: Ollama, LM Studio, G1nation
|
||||
* **Downstream (Next Step)**: Wiki Tree Auto-Insertion, Prompt Engineering Optimization
|
||||
|
||||
---
|
||||
*Last updated: 2026-04-29*
|
||||
*Reporter: AI 개발부장 코다리 🫡*
|
||||
@@ -1,5 +0,0 @@
|
||||
# Index: Topics > Agent & AI
|
||||
|
||||
## 📝 Documents
|
||||
- [[P-Reinforce|P-Reinforce]]
|
||||
- [[Zen-Pop|Zen-Pop]]
|
||||
@@ -1,29 +0,0 @@
|
||||
---
|
||||
id: 550e8400-e29b-41d4-a716-446655440000
|
||||
category: "10_Wiki/Topics/Agent & AI"
|
||||
confidence_score: 1.0
|
||||
tags: [Agent, AI, Wiki, Reinforcement Learning, Karpathy]
|
||||
last_reinforced: 2026-04-21
|
||||
github_commit: "initial"
|
||||
---
|
||||
|
||||
# [[P-Reinforce|P-Reinforce]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 파편화된 정보를 자율적으로 구조화하고 연결하여 스스로 성장하는 '외부 뇌'를 구축하는 강화학습 기반 지식 엔진.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **추출된 패턴:** Karpathy의 LLM-Wiki 아키텍처를 실전 에이전트 스킬로 구현하여, 지식의 엔트로피를 낮추고 연결성을 극대화함.
|
||||
- **세부 내용:**
|
||||
- **RL [[Logic|Logic]]**: $R = w_1(Accuracy) + w_2(Connectivity) + w_3(Satisfaction)$ 공식을 통해 최적의 폴더링 수행.
|
||||
- **Autonomous Folderling**: 85% 이상의 유사도 시 기존 폴더 배치, 신규 개념 등장 시 즉시 카테고리 확장.
|
||||
- **Git Sync**: 모든 지식의 변화를 GitHub 타임라인에 영속적으로 기록.
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌**: 기존 수동 위키 관리 방식의 정적 구조 한계를 극복하고 동적 그래프 구조로 전환.
|
||||
- **정책 변화**: 사용자의 "이 폴더 아니야" 피드백을 수집하여 `20_Meta/Policy.md`에 반영, 경계선(Boundary)을 재설정함.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Parent**: Agent Ecosystem
|
||||
- **Related**: Knowledge Automation, Recursive Structuring
|
||||
- **Raw Source**: 00_Raw/2026-04-21-P-Reinforce_Skill_Info
|
||||
@@ -1,28 +0,0 @@
|
||||
---
|
||||
id: 550e8400-e29b-41d4-a716-446655440002
|
||||
category: "10_Wiki/Topics/Agent & AI"
|
||||
confidence_score: 0.98
|
||||
tags: [ASMR, Healing, MediaPipe, Web Audio, Zen-Pop]
|
||||
last_reinforced: 2026-04-21
|
||||
github_commit: "initial"
|
||||
---
|
||||
|
||||
# [[Zen-Pop|Zen-Pop]]
|
||||
|
||||
## 📌 한 줄 통찰 (The Karpathy Summary)
|
||||
> 미디어파이프 핸드 트래킹과 웹 오디오 기술을 통해 스트레스 해소와 무의식적 학습을 결합한 글로벌 힐링 ASMR 플랫폼.
|
||||
|
||||
## 📖 구조화된 지식 (Synthesized Content)
|
||||
- **추출된 패턴:** "Stealth Learning" 기법을 활용하여, 사용자가 버블을 터뜨리는 힐링 행위 중에 자연스럽게 한국어(한글)를 학습하게 유도함.
|
||||
- **세부 내용:**
|
||||
- **Vision Engine**: MediaPipe `HandLandmarker`를 사용한 실시간 GPU 기반 NUI 구현.
|
||||
- **Sensory Experience**: Web Audio API의 `AudioContext`와 피치 모듈레이션을 통한 유기적인 ASMR 효과음 생성.
|
||||
- **Dynamic Ambience**: 날씨 및 위치 정보를 연동하여 실시간으로 변하는 테마 및 사운드스케이프 제공.
|
||||
|
||||
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
|
||||
- **과거 데이터와의 충돌**: 단순 동영상 기반 ASMR의 수동적 한계를 넘어서, 직접 만지고 반응하는 상호작용형 힐링 서비스로 진화.
|
||||
|
||||
## 🔗 지식 연결 (Graph)
|
||||
- **Parent**: Agent Ecosystem
|
||||
- **Related**: NUI [[Architecture|Architecture]], Sensory Tokens
|
||||
- **Raw Source**: 00_Raw/2026-04-21-Zen-Pop_Architect_Info
|
||||
@@ -1,87 +0,0 @@
|
||||
---
|
||||
id: P-REINFORCE-WIKI-ADCD161B
|
||||
title: "모델 컨텍스트 프로토콜 (MCP, Model Context Protocol)"
|
||||
category: "10_Wiki/💡 Topics/Agent & AI"
|
||||
status: draft
|
||||
canonical_id: ""
|
||||
aliases: []
|
||||
duplicate_of: ""
|
||||
source_trust_level: A
|
||||
confidence_score: 0.95
|
||||
tags: ['MCP, Model Context Protocol']
|
||||
raw_sources: ["Datacollector_MAC/out_wiki/모델 컨텍스트 프로토콜 (MCP, Model Context Protocol).md"]
|
||||
last_reinforced: 2026-05-02
|
||||
github_commit: ""
|
||||
---
|
||||
|
||||
# [[모델 컨텍스트 프로토콜 (MCP, Model Context Protocol)]]
|
||||
|
||||
## 📌 Brief Summary
|
||||
모델 컨텍스트 프로토콜(MCP)은 Anthropic에서 개발한 오픈 표준으로, AI 어시스턴트(예: Claude)가 외부 도구 및 데이터 소스와 연결할 수 있도록 지원하는 프로토콜입니다 [1]. 외부 환경을 볼 수 없는 AI에게 로컬 서버를 통해 특정 행동('도구')을 노출시킴으로써, AI가 GitHub와 같은 서비스의 데이터를 직접 읽고 상호작용하며 추론할 수 있는 '눈과 손'을 제공합니다 [1, 2]. 결과적으로 개발자는 컨텍스트 전환 없이 단일 대화창 안에서 대규모 코드베이스의 변경 사항과 맥락을 효율적으로 파악할 수 있습니다 [3].
|
||||
|
||||
## 📖 Core Content
|
||||
* **동작 원리 및 구조:**
|
||||
MCP는 특정 작업(도구)을 노출하는 로컬 서버를 실행하여 작동합니다 [2]. AI 어시스턴트가 외부 데이터가 필요하다고 판단하면 해당 도구를 식별하고, 구조화된 매개변수(예: 저장소 이름, PR 번호 등)를 포함하여 MCP 서버를 호출합니다 [4]. 매개변수는 Zod와 같은 검증기(Validator)를 통해 올바른 형식인지 확인되며, 서버는 OAuth 토큰 등을 통해 외부 API 인증을 처리하고 깨끗한 JSON 데이터를 반환합니다 [2, 4, 5]. AI는 이 반환된 데이터를 바탕으로 자연어로 추론하고 답변을 생성합니다 [2, 4].
|
||||
* **모듈형 아키텍처로서의 이점:**
|
||||
코드 이해 및 맥락 추출 도구 등을 MCP 서버의 모듈형 서비스로 배포할 수 있습니다 [6]. 이는 각 도구를 독립적으로 호출하거나 더 큰 워크플로우로 구성할 수 있는 재사용성(Reusability)을 제공합니다 [7]. 또한, 정적 분석이나 변환 도구 등 다른 MCP 컴포넌트와 호환되는 상호운용성(Interoperability)을 갖추어 자동화된 에이전트 워크플로우(Agentic workflows)와 대화형 개발 도구에 원활하게 통합됩니다 [7, 8].
|
||||
* **코드베이스 읽기 및 리뷰 적용:**
|
||||
GitHub용 MCP 서버는 저장소, 브랜치, 커밋, 이슈, 풀 리퀘스트(PR) 등에 대한 전체 접근 권한을 AI에게 제공합니다 [9]. 이를 통해 AI는 특정 PR의 메타데이터, 변경된 파일 목록, 코드 추가/삭제 내역, 커밋 수정 사항을 직접 조회할 수 있습니다 [10]. 개발자는 탭을 전환할 필요 없이 전체적인 구조부터 개별 파일의 상세 구현, 커밋 기록까지 논리적인 순서(Top-down 접근)로 코드를 파악할 수 있어 리뷰에 드는 멘탈 오버헤드를 크게 줄일 수 있습니다 [3, 11, 12].
|
||||
|
||||
## ⚖️ Trade-offs & Caveats
|
||||
* **컨텍스트 윈도우 한계:** PR이 50개 이상의 파일을 건드리는 등 매우 큰 변경 사항(Large diffs)을 포함할 경우, AI의 컨텍스트 한계로 인해 전체를 한 번에 리뷰하고 이해하는 데 어려움이 있습니다 [13].
|
||||
* **실제 코드 실행 불가:** MCP를 통해 AI가 코드가 무엇을 하는지 추론하고 설명할 수는 있지만, 코드가 실제로 작동하는지(런타임 테스트나 디버깅) 직접 확인하거나 실행해 줄 수는 없습니다 [13].
|
||||
* **API 호출 제한 (Rate Limits):** MCP 서버는 구조화된 API 호출을 반복하기 때문에 강도 높은 코드 리뷰나 대규모 데이터 요청 시 외부 서비스(예: GitHub)의 API 속도 제한(Rate limits)에 걸릴 위험이 존재합니다 [13].
|
||||
* **권한 제어 문제:** 조직의 저장소나 프라이빗 저장소를 분석할 경우, MCP 서버 및 OAuth 앱에 적절한 권한(Scopes)이 부여되어 있는지 확인해야 합니다 [13].
|
||||
|
||||
## 🔗 Knowledge Connections
|
||||
|
||||
### Related Concepts
|
||||
|
||||
#### [관계 유형 A: 아키텍처/기반 기술]
|
||||
- [[API (Application Programming Interface)]]
|
||||
- 연결 이유: MCP 서버가 외부 시스템의 정보를 가져오기 위해 구조화된 호출을 수행하고 JSON 데이터를 반환받는 핵심 매개체입니다 [2, 4].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: MCP 서버가 어떻게 GitHub 등의 플랫폼과 연동하여 로컬 환경과 클라우드 서비스 간의 데이터를 교환하는지 이해할 수 있습니다.
|
||||
- [[LLM (Large Language Model)]]
|
||||
- 연결 이유: 반환된 구조화된 데이터를 기반으로 코드의 목적과 맥락을 자연어로 추론하고 설명하는 핵심 주체입니다 [2, 14, 15].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: AI가 단순 텍스트를 넘어 어떻게 맥락(Context)을 소화하고 환각(Hallucination) 없이 코드 리뷰를 수행하는지 파악할 수 있습니다.
|
||||
|
||||
#### [관계 유형 B: 구현/활용 도구]
|
||||
- [[GitHub Artifacts]]
|
||||
- 연결 이유: PR 설명, 이슈 논의, 커밋 메시지 등 코드의 역사적 서사와 맥락을 담고 있으며, MCP를 통해 추출되어 코드 이해의 기반이 됩니다 [14, 15].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 코드가 실행되는 방식(What)을 넘어 해당 코드가 왜 작성되었는지(Why)에 대한 소프트웨어 엔지니어링적 배경을 이해할 수 있습니다.
|
||||
- [[AI Code Review Tools]]
|
||||
- 연결 이유: MCP가 실제 개발 현장에 도입되는 주요 형태 중 하나로, AI가 직접 변경된 파일이나 커밋 내역을 분석하여 PR 리뷰를 돕는 역할을 합니다 [5, 9, 10].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 자동화된 도구가 복잡한 코드베이스 탐색과 이해 과정(예: 파일 탭 전환 없는 리뷰)을 어떻게 개선하는지 확인할 수 있습니다.
|
||||
|
||||
### Deeper Research Questions
|
||||
|
||||
- 복잡한 대규모 코드베이스(50개 이상의 변경 파일 등)를 분석할 때 발생하는 LLM의 컨텍스트 윈도우 한계를 극복하기 위해, MCP 내에서 정보 추출과 청킹(Chunking)을 어떻게 최적화할 수 있는가?
|
||||
- MCP 서버가 API와 상호작용할 때, Zod와 같은 타입 검증기(Validator)를 활용하여 LLM의 매개변수 생성 오류 및 환각을 어떻게 사전에 차단하는가?
|
||||
- 정적 코드 분석이나 보안 취약점 점검을 수행하는 다른 도구들을 MCP 서버의 서비스로 통합(Interoperability)할 때 발생할 수 있는 아키텍처적 과제는 무엇인가?
|
||||
- 프라이빗 저장소 환경에서 MCP를 사용할 때, OAuth 토큰 관리 및 민감한 코드 유출을 방지하기 위한 엔터프라이즈급 보안(Scoping) 설정은 어떻게 이루어져야 하는가?
|
||||
- MCP를 이용한 대화형 리뷰 워크플로우가 기존의 자동화된 CI/CD 기반 코드 리뷰 도구들의 결과물(예: PR 댓글 자동 생성)과 비교하여 품질 면에서 어떤 우위를 가지는가?
|
||||
|
||||
### Practical Application Contexts
|
||||
|
||||
- **Implementation:** Zod 검증기를 이용해 매개변수의 형식을 보장하고, OAuth 토큰을 사용해 GitHub GraphQL/REST API를 호출한 뒤 구조화된 JSON 결과를 반환하는 로컬 MCP 서버(통합 도구 집합)를 구현합니다 [4, 5].
|
||||
- **System Design:** 컨텍스트 추출 및 코드 설명 생성 도구를 각각 모듈화된 서비스로 노출하는 서비스 지향 아키텍처(Service-oriented design)를 구축하여, 다른 MCP 컴포넌트와의 상호운용성과 재사용성을 극대화합니다 [6, 7].
|
||||
- **Operation / Maintenance:** 집중적인 리뷰 세션 시 발생할 수 있는 API Rate limit 초과 문제를 대비하여 서버 측에서 요청 제한을 우아하게 처리(Gracefully handle)하도록 운영 전략을 마련합니다 [13].
|
||||
- **Learning Path:** 처음 접하는 코드베이스를 파악할 때 PR 메타데이터, 변경된 파일 목록, 개별 파일 상세 분석의 순서로 Top-down 방식의 탐색 훈련을 진행하여 멘탈 컨텍스트의 상실을 막습니다 [3, 12].
|
||||
- **My Project Relevance:** 거대한 프로젝트나 생소한 코드베이스에서 버그를 픽스하거나 PR을 리뷰할 때, 브라우저 탭을 오가며 흐름을 잃는 대신 MCP를 연동하여 단일 AI 인터페이스 내에서 컨텍스트 스위칭 없이 구조와 동작을 해독하는 도구로 적극 활용할 수 있습니다 [3, 11].
|
||||
|
||||
### Adjacent Topics
|
||||
|
||||
- [[Agentic Workflows]]
|
||||
- 확장 방향: 단순히 개발자의 질문에 대답하고 데이터를 조회하는 것을 넘어, MCP를 통해 시스템 결함을 스스로 찾고 수정 제안까지 수행하는 능동형 AI 에이전트 구축 프로세스로 이해를 확장할 수 있습니다 [8].
|
||||
|
||||
---
|
||||
*Last updated: 2026-05-02*
|
||||
## 🧪 검증 상태 (Validation)
|
||||
- **정보 상태:** draft
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** Datacollector에서 자동 추출된 위키 데이터의 초기 통합.
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
- **기존 유사 문서:** None
|
||||
- **처리 방식:** CREATE
|
||||
- **처리 이유:** 신규 지식 체계 도입
|
||||
@@ -1,97 +0,0 @@
|
||||
---
|
||||
id: P-REINFORCE-WIKI-48E5DCB2
|
||||
title: "인공지능 코드 분석 (AI-Powered Codebase Analysis)"
|
||||
category: "10_Wiki/💡 Topics/Agent & AI"
|
||||
status: draft
|
||||
canonical_id: ""
|
||||
aliases: []
|
||||
duplicate_of: ""
|
||||
source_trust_level: A
|
||||
confidence_score: 0.95
|
||||
tags: ['AI-Powered Codebase Analysis']
|
||||
raw_sources: ["Datacollector_MAC/out_wiki/인공지능 코드 분석 (AI-Powered Codebase Analysis).md"]
|
||||
last_reinforced: 2026-05-02
|
||||
github_commit: ""
|
||||
---
|
||||
|
||||
# [[인공지능 코드 분석 (AI-Powered Codebase Analysis)]]
|
||||
|
||||
## 📌 Brief 임무 Summary
|
||||
인공지능 코드 분석은 LLM(대형 언어 모델), 추상 구문 트리(AST), 정적 애플리케이션 보안 테스트(SAST) 등을 결합하여 대규모 코드베이스의 구조, 보안 취약점, 품질 및 아키텍처 의존성을 자동으로 분석하는 기술이다 [1-3]. 이 기술은 단순히 코드의 구문 오류를 찾는 것을 넘어, 자연어 질의응답을 통한 코드 해독, 테스트 케이스 생성, 리팩토링 제안, 그리고 PR(Pull Request) 리뷰 자동화를 수행한다 [4-7]. 결과적으로 개발자의 인지적 부하를 줄이고, 복잡한 레거시 시스템의 구조 파악과 현대화 과정의 효율성을 극대화하는 핵심 도구로 자리 잡고 있다 [8-10].
|
||||
|
||||
## 📖 Core Content
|
||||
|
||||
* **다층적 컨텍스트 기반 아키텍처 분석:**
|
||||
최신 AI 코드 분석 도구(예: Augment Code)는 수십만 개의 파일을 처리하는 컨텍스트 엔진(Context Engine)을 통해 단일 파일의 문맥을 넘어 저장소 간(cross-repository)의 아키텍처 의존성 및 통합 위험성을 식별한다 [11, 12]. 이를 통해 분산 시스템에서 한 서비스의 변경이 의존하는 다른 서비스에 미치는 연쇄적 영향을 배포 전에 파악할 수 있다 [12].
|
||||
* **MCP(Model Context Protocol) 및 GitHub 아티팩트 활용:**
|
||||
AI 에이전트는 MCP 서버를 통해 GitHub의 리포지토리, 브랜치, 커밋 역사, PR 설명, 이슈 토론 등의 자연어 아티팩트(Artifact)를 구조화된 형태로 직접 추출하여 활용한다 [13-15]. 이는 코드가 '무엇'을 하는지뿐만 아니라 '왜' 그렇게 작성되었는지(설계 결정, 기술적 부채, 버그 수정 이력 등)에 대한 소프트웨어 엔지니어링 맥락을 AI가 파악하게 해 준다 [15-17].
|
||||
* **동적 지식 베이스 및 자동화된 문서화 구축:**
|
||||
Kodesage, Mintlify와 같은 엔터프라이즈 분석 도구들은 코드베이스뿐만 아니라 티켓팅 시스템(Jira), 문서(Confluence), 데이터베이스 스키마와 지속적으로 동기화되는 살아있는 지식 저장소(Living Knowledge Base)를 구축한다 [7, 8]. 이를 바탕으로 자연어 질의에 답하거나(Ask 기능), 코드 변경 시 관련 문서를 자동으로 최신화한다 [18, 19].
|
||||
* **검증 및 환각(Hallucination) 억제 메커니즘:**
|
||||
자연어 기반 분석 시 AI가 코드에 없는 내용을 지어내는 환각(Hallucination) 현상을 막기 위해, 'LLM-as-a-Judge(LaaJ)'와 같은 런타임 검증자 컴포넌트가 사용된다 [20, 21]. 이 구조는 생성된 설명 내의 주장(Claims)을 나열하고, 추출된 컨텍스트와 대조하여 근거 없는 주장을 필터링함으로써 분석의 신뢰성을 크게 향상시킨다 [22, 23].
|
||||
* **행동 기반(Behavioral) 분석 모델:**
|
||||
단순한 정적 분석에 그치지 않고, CodeScene과 같은 도구는 버전 관리 데이터와 코드 품질 메트릭을 결합하여 개발 팀이 코드를 변경하는 '패턴'을 분석한다 [24, 25]. 이 행동 기반 분석은 코드 복잡도와 변경 빈도를 교차시켜 리팩토링이 가장 시급한 핫스팟(Hotspot)과 기술적 부채를 선제적으로 식별한다 [24, 25].
|
||||
|
||||
## ⚖️ Trade-offs & Caveats
|
||||
|
||||
* **환각(Hallucination) 위험 및 검증 비용:**
|
||||
AI 도구는 맥락을 벗어난 설명이나 허위 취약점을 보고할 위험이 있으므로, 자동 수정(AutoFix) 및 심층 분석 결과를 맹신해서는 안 되며 인간 엔지니어의 수동 리뷰 또는 SonarQube, Snyk와 같은 전통적 정적 분석 도구를 통한 교차 검증이 필수적이다 [7, 22, 26].
|
||||
* **초기 인덱싱 시간과 리소스 요구사항:**
|
||||
방대한 대규모 코드베이스(예: 40만 개 이상의 파일)에서 아키텍처 맥락을 파악하기 위한 초기 스캐닝 및 인덱싱 작업은 상당한 시간(예: 2~4시간)과 컴퓨팅 리소스가 소요될 수 있다 [27, 28]. 또한, 철저한 보안 통제가 필요한 환경을 위한 온프레미스(On-premise) 혹은 에어갭(Air-gapped) 구축 시 상당한 인프라 투자 비용이 요구된다 [19, 29].
|
||||
* **컨텍스트 윈도우(Context Window) 제약과 속도 저하:**
|
||||
한 번에 수십 개의 파일이나 거대한 Diff가 포함된 코드 변경 사항을 리뷰할 때, LLM의 컨텍스트 윈도우 한계를 초과하거나 IDE의 심각한 속도 저하(프리징)를 유발할 수 있다 [30, 31]. 이는 거대한 PR 리뷰 시 분석의 퀄리티를 떨어뜨리는 원인이 된다 [31].
|
||||
* **API 속도 제한(Rate Limits):**
|
||||
MCP 등을 통해 GitHub의 이력, 이슈, PR 등 방대한 아티팩트에 반복적으로 접근하는 AI 워크플로우를 사용할 경우, 짧은 시간 내에 API 호출 제한(Rate Limits)에 도달할 위험이 있다 [31].
|
||||
|
||||
## 🔗 Knowledge Connections
|
||||
|
||||
### Related Concepts
|
||||
|
||||
#### [아키텍처/기반 기술]
|
||||
- [[Model Context Protocol (MCP)]]
|
||||
- 연결 이유: AI 어시스턴트가 GitHub 등 외부 도구 및 코드 저장소 데이터를 구조적으로 호출하고 질의하기 위해 사용되는 개방형 표준 프로토콜이다 [13, 32].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 정적인 파일 리더기에 불과했던 LLM이 어떻게 리포지토리 전체의 이슈, 브랜치, PR 정보를 동적으로 가져와 이해하는지 그 기술적 토대를 알 수 있다 [14, 33].
|
||||
- [[추상 구문 트리 (AST, Abstract Syntax Tree)]]
|
||||
- 연결 이유: AI가 코드를 분석하기 전 코드의 구조를 파악하기 위해 활용하는 기본적인 정적 분석 기술이다 [1, 2].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 인공지능이 코드를 단순한 텍스트가 아닌 프로그래밍 논리 구조로 인식하고 SAST 등의 분석과 결합하는 원리를 이해할 수 있다 [2, 7].
|
||||
|
||||
#### [분석 및 검증 기법]
|
||||
- [[LLM-as-a-Judge (LaaJ)]]
|
||||
- 연결 이유: AI 기반 코드 해석기의 출력물에서 사실과 다른 내용(환각)을 제거하기 위해 또 다른 LLM을 심판(Judge)으로 도입하는 검증 파이프라인이다 [20, 21].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 복잡한 코드 리뷰 자동화 환경에서, AI가 제시한 인사이트의 '품질과 정확성'을 런타임에 어떻게 평가하고 필터링하는지 파악할 수 있다 [22, 34].
|
||||
- [[정적 애플리케이션 보안 테스트 (SAST)]]
|
||||
- 연결 이유: 코드를 실행하지 않고 취약점을 찾는 전통적인 기술로, 현재 AI 기반의 지능형 오탐(False Positive) 억제 및 자동 리메디에이션(AutoFix)과 결합되어 진화 중이다 [3, 35].
|
||||
- 이 개념을 통해 더 깊게 이해할 수 있는 부분: 보안 관점의 코드 분석이 AI를 만나 어떻게 규칙 기반에서 문맥 기반으로 도약하고 있는지 이해할 수 있다 [36, 37].
|
||||
|
||||
### Deeper Research Questions
|
||||
|
||||
- Model Context Protocol(MCP)을 통해 대규모 레거시 코드베이스의 전체 히스토리를 질의할 때, LLM의 컨텍스트 윈도우 한계를 극복하기 위해 아티팩트(PR, 이슈)를 필터링하고 청킹(Chunking)하는 최적의 알고리즘은 무엇인가?
|
||||
- LLM-as-a-Judge (LaaJ) 기법은 아키텍처 다이어그램 설계나 도메인 중심 설계(DDD) 관점의 리뷰와 같이 고도로 추상화된 AI의 코드 분석 결과에서도 높은 환각 식별률(Accuracy)을 보장할 수 있는가?
|
||||
- 행동 기반(Behavioral) 분석 도구(CodeScene 등)의 팀 개발 패턴 데이터와 LLM의 정적 코드 분석을 결합하였을 때, 조직의 기술적 부채 상환 전략 수립 시 발생하는 정량적/정성적 시너지는 어떠한가?
|
||||
- 보안 규제가 강력한 산업에서 AI 코드 분석 도구(Kodesage, Qodo 등)를 에어갭(Air-gapped) 환경으로 배포 시, 클라우드 기반 LLM 대비 발생하는 분석 품질 저하와 이를 보완하기 위한 온프레미스 경량 모델 파인튜닝 전략은 무엇인가?
|
||||
- AI가 제안하는 자동 코드 수정(AutoFix) 및 생성 기능이 대규모 시스템의 코드 모듈화(Modularity) 원칙과 기존 의존성 규칙을 훼손하지 않게끔 가드레일(Guardrails)을 설정하는 아키텍처 통제 방법은 무엇인가?
|
||||
|
||||
### Practical Application Contexts
|
||||
|
||||
- **Implementation:** VS Code, JetBrains 등의 IDE에 Qodo, Cursor 같은 확장 프로그램을 설치하여 코드 작성 중 실시간 컨텍스트 피드백, 취약점(예: SQL 인젝션) 스캔, 테스트 코드 자동 생성을 지원받는다 [5, 38, 39].
|
||||
- **System Design:** Augment Code, Greptile과 같은 도구를 통해 함수와 파일 간의 관계 그래프(Relationship graphs) 및 시퀀스 다이어그램을 추출하여 분산 시스템의 변경 영향도(Integration risks)를 사전 검증한다 [11, 40].
|
||||
- **Operation / Maintenance:** 레거시 시스템 현대화 및 규제 준수를 위해 Kodesage를 활용하여 티켓, 코드, 문서를 연동하고 유지보수용 지식 기반(Wiki/Docs)을 소스코드의 진화에 맞추어 자동으로 업데이트한다 [19, 41].
|
||||
- **Learning Path:** GitLoop 또는 MCP 연동 스크립트를 사용하여 새로 온보딩하는 개발자에게 특정 모듈이 과거 어떤 맥락(커밋/이슈/PR 히스토리)에서 작성되었는지 자연어 질의로 신속히 학습하도록 한다 [15, 42, 43].
|
||||
- **My Project Relevance:** 방대한 기업용 저장소에서 발생하는 복잡한 버그 리포트 시, AI 에이전트를 연동해 버그와 관련된 모든 히스토리를 요약하게 하고 연관 코드를 자동으로 추적해 수정안을 티켓 시스템(Jira 등)에 초안으로 남기는 자동화 워크플로우에 적용할 수 있다 [19, 44].
|
||||
|
||||
### Adjacent Topics
|
||||
|
||||
- [[형상 관리 이력 분석 (Git History Analysis)]]
|
||||
- 확장 방향: 단순히 '가장 최근의 코드 텍스트'만을 보는 것을 넘어서서, 과거 수년간의 Git 커밋 메시지와 변경점(diff)들을 AI로 마이닝하여 코드의 진화 과정과 암묵적 의도를 모델링하는 기법으로 지식을 확장한다 [15, 45].
|
||||
|
||||
---
|
||||
*Last updated: 2026-05-02*
|
||||
## 🧪 검증 상태 (Validation)
|
||||
- **정보 상태:** draft
|
||||
- **출처 신뢰도:** A
|
||||
- **검토 이유:** Datacollector에서 자동 추출된 위키 데이터의 초기 통합.
|
||||
|
||||
## 🧬 중복 검사 (Duplicate Check)
|
||||
- **기존 유사 문서:** None
|
||||
- **처리 방식:** CREATE
|
||||
- **처리 이유:** 신규 지식 체계 도입
|
||||
Reference in New Issue
Block a user