본문 바로가기
Programing

[speakLogs] #0 개인프로젝트 기획

by xuswns 2026. 3. 23.

이제 뭐 하는게 다 끝나서 

개인프로젝트를 하려한다.

 

일단 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 타입)