Files
2nd/10_Wiki/Topic_Business/Digests/Topic_Programming--Conventions.md
T
Antigravity Agent 9148c358d0 docs(10_Wiki): 위키 전체 재구성 — Topic_* 폴더를 4개 카테고리로 통합 + 대규모 중복 제거
Topic_Agent/Topic_Blog/Topics/Topics_Biz/Topics_Meeting/Topics_Rag의 마크다운 지식 문서를
Topic_General/Topic_Programming/Topic_Graphic/Topic_Business 4개 카테고리로 재분류.

- 중복 제거: frontmatter의 status:duplicate/merged + duplicate_of/redirect_to 필드로
  자기 자신을 중복으로 선언한 리다이렉트 stub 1032개 제거, 완전 동일 내용 파일 472개 제거,
  동일 파일명·다른 내용 충돌 시 더 큰(완전한) 버전만 유지(162개 제거) — 총 1639개 중복 제거.
- 분류: 폴더 단위로 명확한 항목(AI_and_ML/Coding/Architecture 등 → Programming,
  Comfyui/Visual_Effects → Graphic, Topics_Biz/Topics_Meeting/사업 등 → Business,
  Poetic_Blog_Writing/창의성/Game_Design 등 → General)은 폴더 우선순위로,
  나머지 혼재 폴더(Topic_Agent/Topic_Blog/Topics 루트/Thinking & Reasoning/Other/UI_UX_Assets)는
  title/tags 키워드 스코어링으로 파일 단위 분류(불명확한 경우 General로 폴백).
  원본 폴더명은 "From_*" 서브폴더로 보존해 추적 가능성 유지.
- 최종 배치: Programming 2784 / General 1608 / Graphic 285 / Business 249 = 4926개 문서.
- 에이전트 운영 상태(.astra/.agent/.obsidian/sessions/memory/_company/docs/lessons/_shared/src)는
  지식 콘텐츠가 아니므로 재분류 대상에서 제외하고 원위치 유지.
- Topics/Topic_email(상위 보호 폴더 Topic_email과 파일명 100% 중복) 삭제 — 보호 폴더 자체는 미변경.
- 완전히 비게 된 Topic_Agent/Topic_Blog/Topics_Biz/Topics_Rag 폴더 제거.
2026-07-05 00:33:48 +09:00

27 lines
3.8 KiB
Markdown

---
type: digest
title: "소화 노트: Topic_Programming/Conventions"
generated_at: 2026-06-22T18:01:03.587Z
sources: ["코딩_컨벤션과_주석_철학", "프롬프트_엔지니어링_패턴"]
---
# 소화 노트: Topic_Programming/Conventions
> ⚙️ 자동 생성 (sleep-time 사전 소화) — **원문이 항상 우선**입니다. 소스가 바뀌면 자동 재생성되며, 이 파일은 삭제해도 안전합니다.
## 예상 질문과 답
- **Q: 코딩 컨벤션에서 주석을 작성할 때 가장 중요하게 고려해야 할 원칙은 무엇인가요?** — A: '무엇'을 하는지가 아니라, 왜 그렇게 했는지(**Why**)와 왜 다른 방법이 아니었는지(대안 기각 이유), 그리고 과거의 버그 사례를 남기는 **Post-mortem 주석**을 작성하는 것이 핵심입니다. [코딩 컨벤션과 주석 철학]
- **Q: 프롬프트 엔지니어링에서 '블록 조립' 방식이란 무엇인가요?** — A: 시스템 프롬프트를 역할, 규칙, 컨텍스트, 출력 형식 등 독립적인 요소로 나누어 `[EPISTEMIC GUARD]`와 같이 명명된 블록 형태로 만들고, 필요에 따라 이를 조합하여 사용하는 방식입니다. [프롬프트 엔지니어링 패턴]
- **Q: 작은 규모의 LLM(예: Gemma)을 사용할 때 발생할 수 있는 문제와 대응 방안은?** — A: System 프롬프트가 없으면 환각(Hallucination) 현상을 일으키며 답변을 거절할 수 있으므로, 반드시 **System 메시지를 통해 강하게 Grounding**해야 합니다. 또한 규칙을 번호로 매겨 명시하고 부정적 제약(Negative Constraint)을 활용해야 합니다 *합니다*. [프롬프트 엔지니어링 패턴]
- **Q: 코드에서 `??` (Nullish coalescing operator)를 사용하는 권장 패턴이 있나요?** — A: `0`이나 `''`(빈 문자열)처럼 유효한 값이 의미가 있는 경우, `||` 대신 `??`를 사용하여 의미 있는 기본값을 보존해야 합니다. [코딩 컨벤션과 주석 철학]
- **Q: 프롬프트에서 JSON 출력을 강제할 때 발생할 수 있는 위험과 해결책은?** — A: 모델이 JSON 외의 잡설(예: `## 마커`)을 섞어 출력할 수 있으므로, 균형 괄호 `{}`를 스캔하여 추출하는 **강건한 파서(Robust Parser)**와 사후 정제 로직을 함께 설계해야 합니다. [프롬프트 엔지니어링 패턴]
## 핵심 사실
- **코딩 컨벤션의 핵심 가치:** 주석은 코드의 의도(Why)와 과거의 실수(Post-mortem)를 학습시켜, LLM이 코드의 논리적 함정까지 이해하도록 돕는 최고의 학습 신호입니다. [코딩 컨벤션과 주석 철학]
- **프롬프트 설계 전략:** 프롬프트는 조립 가능한 블록 형태여야 하며, 출력 형식은 파싱 가능한 JSON/템플릿으로 강제하고, 검색 근거가 없을 때는 가드 지시를 강화하는 동적 조절이 필요합니다. [프롬프트 엔지니어링 패턴]
- **코드 작성 패턴:** 함수명은 동사구로, Boolean은 `is*`/`should*` 접두사를 사용하며, 내부 전용 메서드는 `_` 접두사를 사용하는 것이 권장됩니다. [코딩 컨벤션과 주석 철학]
## 문서 간 연결
- **공통 주제:** 두 문서 모두 **"예측 가능성과 신뢰성 확보"**를 공통 주제로 합니다. 코딩 컨벤션은 개발자와 LLM이 실수하지 않도록 '의도'와 '근거'를 남기는 것을 강조하며, 프롬프트 패턴은 모델이 정해진 규칙을 벗어나지 않도록 '구조화된 블록'과 '강한 제약'을 설계하는 것을 다룹니다.
- **상호 보완성:** 코딩 컨벤션에서 언급된 "LLM이 의도까지 학습하게 하는 주석"은 프롬프트 엔지니어링 패턴에서 말하는 "작은 모델의 Grounding 및 규칙 준수"를 구현하기 위한 기초 데이터(학습 신호) 역할을 합니다.