완전 동적 LLM 기반 Windows OS 자동화 시스템
로컬 LLM을 사용하여 Windows 환경을 음성 명령처럼 자연어로 제어할 수 있는 지능형 에이전트입니다.
- 동적 도구 탐색: 새 도구 추가 시 코드 수정 불필요
- 자동 프롬프트 생성: 등록된 도구 기반으로 시스템 프롬프트 자동 생성
- Few-shot 학습: 성공 사례 자동 학습 및 프롬프트 반영
- 실패 학습: 오류 패턴 분석 및 자동 개선
- 자동 태스크 분해: 복잡한 요청을 여러 단계로 자동 분해
- 실행 계획 프리뷰: 실행 전 계획 확인 가능
- 도구 체인: 도구 간 데이터 자동 전달
- 에러 복구: 실패 시 자동 재시도 및 대안 실행
- 29개 내장 도구: 파일, 앱, 브라우저, 시스템, Windows 자동화
- 자연어 이해: "AI 뉴스 검색하고 메모장에 저장해줘" 같은 복잡한 요청 처리
- 컨텍스트 유지: 대화 히스토리 및 도구 실행 기록 저장
- 사용자 패턴 학습: 자주 사용하는 명령 패턴 인식
# Ollama 설치 (https://ollama.ai/)
# Windows: 인스톨러 다운로드
# 설치 후 터미널에서:
ollama pull llama3.2:3bgit clone <repository-url>
cd local-os-agent
pip install -r requirements.txtpython main.py브라우저가 자동으로 http://localhost:7860을 엽니다.
사용자: "현재 시간 알려줘"
→ ✅ 현재 시간: 2026-01-31 20:55:38
사용자: "AI에 대해 웹 검색하고 그 결과를 메모장에 저장해줘"
→ 시스템이 자동으로 분석:
1️⃣ 웹 검색 (search_web)
2️⃣ 결과 요약 (summarize_text)
3️⃣ 메모장 저장 (notepad_write)
→ 실행 계획 표시 및 확인
→ 자동 실행
→ ✅ 완료! 메모장이 열렸습니다.
더 많은 예시는 docs/MULTISTEP_EXAMPLES.md를 참조하세요.
list_files,read_file,create_file,delete_file,move_file,copy_file
launch,find_program,list_processes,kill_process,run_app
open_browser,search_web,take_screenshot,mouse_click,type_text
get_system_info,get_time,clipboard,notify,run_shell
control_window,list_windows,notepad_write,send_keys,focus_window,excel_write
summarize_text,extract_keywords,format_markdown
llm:
model: "llama3.2:3b" # 권장: tool calling 지원 모델
temperature: 0.3 # 낮을수록 결정적
max_tokens: 2048
agent:
max_iterations: 10
require_confirmation: true # 위험한 작업 확인
memory:
enabled: true # 대화 히스토리 저장- CONFIRM_ALL: 모든 도구 실행 전 확인
- SAFE+MODERATE (권장): 안전한 도구 자동 실행
- AUTO_ALL: 모든 도구 자동 실행 (
⚠️ 위험)
┌─────────────────────────────────────┐
│ Gradio UI (Web) │
└──────────────┬──────────────────────┘
│
┌──────────────▼──────────────────────┐
│ Agent Core │
│ ┌──────────────────────────────┐ │
│ │ TaskPlanner (NEW!) │ │ ← 멀티-스텝 분석
│ ├──────────────────────────────┤ │
│ │ Dynamic Prompt Builder │ │ ← 자동 프롬프트
│ ├──────────────────────────────┤ │
│ │ Tool Discovery │ │ ← 도구 자동 탐색
│ ├──────────────────────────────┤ │
│ │ Error Recovery │ │ ← 자동 복구
│ ├──────────────────────────────┤ │
│ │ Memory System │ │ ← 학습 & 기억
│ └──────────────────────────────┘ │
└──────────────┬──────────────────────┘
│
┌──────────────▼──────────────────────┐
│ Ollama LLM (Local) │
│ llama3.2:3b (권장) │
└─────────────────────────────────────┘
사용자 요청
↓
[TaskPlanner] 멀티-스텝 분석
↓
단일?──YES→ [Agent] 도구 호출
↓ NO
[ChainBuilder] 실행 계획 생성
↓
사용자 확인
↓
[ChainExecutor] 순차 실행
- 변수 바인딩
- 도구 호출
- 결과 전달
↓
[Memory] 학습 저장
| 구분 | 모델 | 응답 시간 | 정확도 |
|---|---|---|---|
| 단일 명령 | llama3.2:3b | ~5-10초 | 95% |
| 멀티-스텝 (3단계) | llama3.2:3b | ~30초 | 85% |
| 복잡 작업 (6+단계) | llama3.2:3b | ~60초 | 70% |
권장 모델:
- llama3.2:3b - 최고의 균형 (권장)
- llama3.2:1b - 빠르지만 tool calling 불안정
- qwen2.5:3b - 대안
- 동적 도구 탐색 시스템
- 자동 프롬프트 생성
- Few-shot & 실패 학습
- 멀티-스텝 기본 구조
- 실행 계획 프리뷰
- Agent와 TaskPlanner 완전 통합
- UI에서 실행 계획 표시
- 중간 결과 검증 강화
- 조건부 실행 (if/else)
- 병렬 실행
- 반복 실행 (for loop)
- 실행 계획 템플릿 저장
- 음성 명령 지원
자세한 로드맵은 docs/ROADMAP_MULTISTEP.md를 참조하세요.
pytest tests/unit/pytest tests/integration/python test_multistep.py기여를 환영합니다!
- Fork the repo
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT License - 자유롭게 사용, 수정, 배포 가능
문제가 있거나 제안사항이 있으면 Issue를 등록해주세요!
⭐ 이 프로젝트가 유용하다면 Star를 눌러주세요!