이 글은 Hacktoberfest Open-Source AI Challenge Week 4: Ghost in the Machine에 제출하는 내용입니다.
제가 만든 것 (What I Built)
👻 PhantomShell AI — 터미널 속 유령
PhantomShell AI는 초보자가 Linux 명령어를 이해하고 잠재적으로 위험한 작업을 인식하도록 돕기 위해 설계된 신비로운 터미널 어시스턴트입니다.
'Ghost in the Machine' 테마에서 영감을 받아, 사용자들이 명령을 실행하기 전에 어떤 결과를 가져올지 이해하는 동시에 터미널 안전 학습을 더 흥미롭게 만들고자 했습니다.
주요 기능 (Key Features)
- 💻 초보자 친화적인 터미널 명령어 설명.
- 🛡️ 잠재적으로 위험한 작업에 대한 위험 등급 분류 (Risk classification).
- 👻 신비로운 터미널에서 영감을 받은 인터페이스.
- 📜 SQLite를 사용한 로컬 상호작용 기록(Local interaction history).
- 🌙 대규모 AI 모델을 다운로드하지 않고 작동하도록 설계된 경량 디자인.
- 🧪 핵심 기능에 대한 자동화 테스트 (Automated tests for core functionality).
이 애플리케이션은 제출된 명령어를 실행하는 것이 아니라 분석하도록 설계되었습니다.
데모 (Demo)
GitHub Repository:
https://github.com/banthevaishnavi/PhantomShell_AI
실시간 데모 (Live Demo):
스크린샷 (Screenshots):
코드 (Code)
소스 코어를 탐색해 보세요:
https://github.com/banthevaishnavi/PhantomShell_AI
이 프로젝트는 인터페이스에 Python과 Streamlit을 사용하고, 로컬 히스토리는 SQLite를 사용하며, 별도의 안전 분석 모듈(safety-analysis module)을 사용합니다.
제작 과정 (How I Built It)
저는 PhantomShell AI를 단순성, 제한된 하드웨어 자원, 그리고 초보자 친화적인 보안 교육에 중점을 두고 구축했습니다.
이 프로젝트는 다음을 사용합니다:
- 애플리케이션 로직: Python
- 대화형 인터페이스: Streamlit
- 로컬 저장소: SQLite
- 자동 테스트: pytest
- 소스 제어: GitHub
중요한 설계 결정 중 하나는 사용자에게 대규모 모델 가중치(model weights)를 컴퓨터에 다운로드하도록 요구하지 않는 것이었습니다.
현재 구현은 추론 백엔드(inference backend)가 구성되지 않은 경우 결정론적 설명(deterministic explanations)과 명령어 안전 규칙을 사용합니다. 이 규칙들은 로컬에서 작동하며 외부 AI 서비스를 필요로 하지 않습니다.
이 프로젝트가 이 과제의 핵심 AI 요구사항을 완전히 충족하기 위해서는 진정한 오픈 가중치 모델 추론 통합이 여전히 필수적입니다.
오픈 혁신은 왜 중요한가?
오픈 혁신(Open innovation)은 개발자들에게 자신이 구축하는 도구를 검사하고, 수정하고, 확장할 자유를 제공합니다.
PhantomShell AI의 경우, 가벼운 로컬 아키텍처 덕분에 명령어 분석과 기록이 클라우드 서비스를 요구하지 않고 사용자 장치에 남아 있을 수 있습니다.
또한 이 프로젝트가 진화할 수 있게 합니다. 호환되는 오픈 가중치 모델을 전체 애플리케이션을 재설계하지 않고 통합할 수 있기 때문입니다.
목표는 명령어가 분석되고 사용자 데이터가 저장되는 방식에 대한 통제권을 유지하면서, 하드웨어 자원이 제한된 개발자들에게도 도구를 접근 가능하게 하는 것입니다.
현재의 결정론적 구현은 AI 서비스 없이 작동하지만, 과제를 충족하기 위한 진정한 오픈 가중치 추론의 필요성을 대체하지는 못합니다.
그 정신 👻
터미널은 리눅스를 배우는 과정에서 위협적으로 느껴질 수 있습니다. 한 번도 본 적 없는 명령어 하나가 마법 주문처럼 보일 수 있으며, 일부 명령어는 심각한 결과를 초래할 수도 있습니다.
PhantomShell AI는 그러한 경험을 유용한 유령과의 작은 만남으로 바꿉니다. 이 유령은 명령어를 설명하고, 위험 요소를 강조하며, 사용자가 실행하기 전에 이해하도록 장려합니다.
아이디어는 간단합니다. 터미널 학습을 덜 위협적으로 만들면서 더 안전한 컴퓨팅 습관을 장려하는 것입니다.
수상 부문
- 전체 챌린지: 심사 대상 제출물입니다.
- 파트너 부문: 현재는 신청된 것이 없습니다.
다음 계획
저의 다음 단계는 프로젝트의 경량화된 디자인에 맞는 실제 오픈 웨이트 (open-weight) 추론 백엔드(inference backend)를 통합하고 테스트하는 것입니다.
명령어 위험 감지 개선, 초보자 친화적인 설명, 그리고 개인 정보 보호에 민감한 AI 통합에 대한 제안을 듣고 싶습니다.
PhantomShell AI를 확인해 주셔서 감사합니다! 👻