이제 뭐 하는게 다 끝나서
개인프로젝트를 하려한다.
일단 CLI + LLM을 합쳐서 서비스를 만들려한다.
speaklogs는 개발 중 발생하는 로그와 에러 메시지를 분석하여
사람이 이해하기 쉬운 자연어로 설명해주는 CLI 기반 도구이다.
node.js와 Typescript로 개발을 할 예정이다.
전체 흐름은
로그 입력 → 분석 → 해석 → 출력
만약 분석과정에서 Rule에 없는 에러라면 LLM을 호출해서 해석할 것 같다.
전부다 LLM에 맡기고 싶지만 그렇기에는 돈이 없기 때문에
일단 GPT기반으로 폴더구조를 만들면 해당 폴더구조가 나온다.
speaklog/
├── src/
│ ├── cli/
│ │ └── index.ts # CLI entry
│ │
│ ├── core/
│ │ ├── analyzer.ts # 전체 흐름 제어
│ │ ├── detector.ts # 언어 감지
│ │ └── parser/
│ │ └── python.ts # (MVP: Python만)
│ │
│ ├── rules/
│ │ └── python.rules.ts # RULE 기반 설명
│ │
│ ├── formatter/
│ │ ├── text.ts
│ │ ├── markdown.ts
│ │ └── json.ts
│ │
│ ├── llm/
│ │ └── openai.ts # (옵션)
│ │
│ └── types/
│ └── index.ts
│
├── package.json
├── tsconfig.json
└── README.md
- cli/
사용자 입력을 받는 시작 지점으로, 전체 흐름을 실행하는 역할 (Controller 역할) - core/
- analyzer: 전체 분석 흐름을 제어하는 핵심 로직
- detector: 로그의 언어(Python 등)를 판별
- parser: 로그 문자열을 구조화된 데이터로 변환
- rules/
에러 유형에 따라 원인과 해결 방법을 정의하는 RULE 기반 로직 - formatter/
분석 결과를 text, markdown, json 형태로 출력 (View 역할) - llm/
RULE로 설명이 어려운 경우 LLM을 통해 보완 설명 제공 (옵션) - types/
데이터 구조 정의 (TypeScript 타입)

'Programing' 카테고리의 다른 글
| [speakLogs] #2 OpenAPI-Key 발급받기 (0) | 2026.03.30 |
|---|---|
| [speakLogs] #1 npm 설치하기 (0) | 2026.03.30 |
| scikit-learn으로 시험점수 예측하기 - 선형회귀(Linear Regression) (0) | 2026.03.23 |
| 도메인기준 vs 계층형 기준 폴더구조의 장단점 (0) | 2026.03.23 |
| JpaRepository (0) | 2026.03.09 |