C# 50줄로 OpenAI Codex CLI를 임의의 LLM에 연결하는 개념 이미지

OpenAI Codex CLI를 Claude·Gemini·Llama 위에서 돌리기 — C# 50줄로

OpenAI의 Codex CLI는 훌륭한 에디터 에이전트 UX를 제공합니다(shell 도구, apply_patch, plan tracking이 모두 갖춰져 있습니다). 문제는 2026년 2월 기준 OpenAI Responses API만 지원한다는 점입니다. Chat Completion 지원은 제거됐고(codex-rs/model-provider-info/src/lib.rs의 WireApi enum에는 Responses만 남아 있습니다), Chat Completion만 지원하는 엔드포인트(Ollama, LM Studio, 즐겨 쓰는 Llama runner)는 그대로 막혀버립니다. 이 글은 .NET 10 file-based 프로그램과 Microsoft.Extensions.AI의 IChatClient 추상화를 활용해 50줄짜리 C# 한 파일로 Responses 호환 서버를 세우고, OpenRouter를 거쳐 Codex CLI가 임의의 모델 위에서 동작하도록 만든 과정을 정리합니다. ...

2026년 5월 27일 · 7 분 ·  rkttu
C#과 Python이 만나는 머신러닝 인터롭 개념 이미지

C#에서 허깅페이스 모델 호출하기: DotNetPy 0.6.0으로 Whisper · sentence-transformers · Stable Diffusion 돌려보기

주말에 작은 C# 라이브러리 DotNetPy 의 0.6.0을 출시했습니다. CPython C API를 직접 호출해 .NET 앱 안에서 Python을 실행하는 인터롭 라이브러리입니다. 이 글은 0.6.0에 포함된 세 가지 머신러닝 샘플 — sentence-transformers 의미 검색, Whisper 음성 인식, Stable Diffusion Turbo 이미지 생성 — 을 어떻게 묶었고, 그 과정에서 PEP 703 free-threaded CPython까지 어떻게 검증했는지에 대한 기록입니다. 시작점: C#만 손에 잡혔는데 모델은 허깅페이스에 있을 때 몇 달에 한 번씩 같은 패턴이 반복됩니다. 자막용 Whisper가 필요하거나, 검색용 sentence-transformer가 필요하거나, 가끔은 Stable Diffusion 같은 모델을 써야 하는데 정작 손에 잡은 도구는 C# 한 가지입니다. 이럴 때 흔히 쓰는 우회로는 하나씩 다 결정적인 단점이 있습니다. ...

2026년 5월 11일 · 9 분 ·  rkttu
오픈소스 프로젝트 간의 협업과 코드 포팅을 상징하는 이미지

AI 시대의 오픈소스 기여: HwpLibSharp 포팅 프로젝트에서 배운 것들

AI 시대의 오픈소스 기여: HwpLibSharp 포팅 프로젝트에서 배운 것들 Microsoft MVP로 활동한 지 어느덧 17년이 되었습니다. 그동안 .NET 커뮤니티에서 가장 많이 받은 질문 중 하나가 “C#으로 HWP 파일을 어떻게 다루나요?“였습니다. 한글과컴퓨터의 공식 라이브러리는 Windows와 COM 기반이어서, 크로스 플랫폼 .NET 환경에서는 사실상 해법이 없었습니다. 그러다 @neolord0님의 hwplib을 발견했습니다. Java로 작성된, 순수하게 HWP 파일 포맷을 파싱하는 오픈소스 라이브러리였습니다. “이걸 .NET으로 옮기면 커뮤니티에 도움이 되겠다"는 생각이 바로 들었지만, 쉬운 일은 아니었습니다. 코드베이스가 방대한 데다 지금도 계속 업데이트되고 있었으니까요. ...

2026년 2월 7일 · 5 분 ·  rkttu
AI 코딩 도구와 개발자의 균형 잡힌 관계

AI 코딩 도구, '뒤처진다'는 불안에 휘둘리지 않는 법

요즘 AI 코딩 도구 업계의 소식을 접하다 보면, 새로운 도구가 등장할 때마다 “이것이 미래다”, “안 쓰면 뒤처진다"는 메시지가 과도하다 싶을 정도로 강조되는 것을 볼 수 있습니다. 백그라운드 에이전트, 병렬 AI 세션, 자율 코딩—매주 새로운 개념이 등장하고, 그것을 도입하지 않으면 마치 시대에 뒤처지는 것처럼 느껴지게 만듭니다. 하지만 이런 메시지를 곧이곧대로 받아들이는 것이 정말 건전한 접근일까요? 저는 그렇지 않다고 생각합니다. Hype는 어떻게 만들어지는가 AI 코딩 도구 업계의 hype에는 구조적인 이유가 있습니다. AI 기술로 수익을 창출해야 하는 기업들의 경영자는 투자자와 주주를 만족시켜야 하는 위치에 있습니다. 그래서 그들의 메시지에는 이중 청중 문제가 존재합니다. 개발자에게는 “생산성 향상"을 약속하면서, 동시에 투자자에게는 “시장 지배력"과 “필수불가결한 도구"라는 서사를 제공해야 합니다. ...

2026년 1월 27일 · 5 분 ·  rkttu
Java에서 .NET으로의 코드 포팅을 표현한 추상적인 이미지

Java hwplib을 .NET으로 이식하기: AI와 함께한 오픈소스 포팅 여정

시작은 단순한 호기심에서 “한글 파일을 .NET에서 직접 다룰 수 있으면 좋겠는데…” 이런 생각을 한 .NET 개발자가 저만은 아닐 것입니다. HWP 파일은 한국에서 공공기관을 중심으로 여전히 널리 사용되는 문서 형식이지만, .NET 생태계에서는 이를 제대로 다룰 수 있는 오픈소스 라이브러리가 마땅치 않았습니다. .NET에서는 그동안 HWP 파일을 다루기 위해서, Windows OS 한정으로 아래아한글을 설치하면 같이 따라오는 HWP ActiveX 컨트롤의 COM 타입 라이브러리를 불러와서 제어하는 것 정도만 겨우 다루어지고 있었을 뿐이었지만, 안타깝게도 이 마저도 지원이 중단되면서 지금은 길이 막힌 상태죠! ...

2026년 1월 8일 · 9 분 ·  rkttu
AI와 개발을 상징하는 이미지

AI '학습'이라는 용어에 속지 마세요

서비스 개발을 하는 동료들과 이야기를 나누다 보면, AI 도입에 대해 막연한 부담감을 느끼는 경우를 종종 봅니다. 그 부담감의 근원을 파고들면 대개 ‘학습(Training)’ 이라는 용어가 주는 오해에서 비롯됩니다. “모델을 서비스에 붙이면, 유저 데이터를 먹고 실시간으로 학습해서 똑똑해지는 건가요?” “그럼 그 학습 과정을 우리가 통제할 수 있나요? 이상한 걸 배우면 어떡하죠?” 만약 이런 고민을 하고 계셨다면, 잠시 걱정을 내려놓으셔도 좋습니다. 오늘 그 오해를 개발자의 언어로 풀어드리겠습니다. ‘학습’은 빌드타임, ‘추론’은 런타임 가장 먼저 바로잡아야 할 것은, 우리가 서비스에 배포하는 AI 모델은 대부분 ‘얼어있는(Frozen)’ 상태 라는 점입니다. ...

2025년 12월 5일 · 3 분 ·  rkttu