nobodywho-ooo/nobodywho에 `AsyncWorker` 헬퍼를 추가한 커밋이 들어왔다. 2026년 10월 30일 커밋 d045f340(#838)은 로컬 LLM 추론 엔진 NobodyWho가 각 통합 지점에서 손으로 만들던 스레드·채널 코드를 한 곳으로 모으는 리팩터링이다. 변경 규모는 538줄 추가와 324줄 삭제, 총 862건이다.
NobodyWho는 GGUF 모델을 기기에서 직접 실행하는 추론 엔진이다. 이번 커밋 전에는 모델 로딩 함수 get_model_async, Godot 바인딩, uniffi 바인딩, TextToSpeech, 의사결정 모델이 각각 std::thread::spawn이나 WorkerGuard로 전용 스레드를 만들고 결과를 채널로 되돌리는 방식을 쓰고 있었다. 커밋은 그 자리를 새로 추가된 nobodywho/core/src/worker.rs의 AsyncWorker(325줄 추가)로 통일했다. Godot 통합 안내 문서(.agents/skills/build-integrations/SKILL.md)도 수동 스레드 예시를 AsyncWorker 예시로 바꿨고, decision 모듈은 전용 스레드 구조를 tokio::sync::Mutex와 AsyncWorker 조합으로 바꿨다.
다만 커밋에는 성능 측정이나 호환성 검증 결과가 없다. Rust core 공개 항목인 get_model_async와 ModelChannelError, tts_worker_dead 오류 변수가 삭제됐고 DecisionAsync의 내부 구조도 바뀌어, 바인딩을 직접 다루는 쪽은 변경 내용을 확인할 필요가 있다. 릴리스 버전과 라이선스 정보는 이 커밋 기록에 포함되어 있지 않다. 확실히 말할 수 있는 것은 스레드 관리 방식이 정리됐다는 점까지이고, 실행 성능이 달라졌는지는 이 기록만으로 판단하기 이르다.