Ahmad Awais: WordPress 및 API 전문가가 말하는 DeepSeek과 자신의 AI 어시스턴트 Command C 활용법
요약
Ahmad Awais가 개발한 AI 어시스턴트 Command C의 핵심 기술인 'Taste' 시스템과 도구 호출(Tool Calling) 오류 해결 방안을 소개합니다. 사용자의 코딩 습관을 학습하여 개인화된 환경을 제공하고, 저렴한 모델의 형식 오류를 중재하여 작업 연속성을 보장하는 방법을 다룹니다.
핵심 포인트
- Command C의 'Taste' 시스템은 사용자의 코딩 습관을 자동 학습 및 기록함
- 학습된 'Taste' 파일은 팀원 간 공유 및 수정이 가능함
- DeepSeek 등 저렴한 모델의 도구 호출 형식 오류 문제를 중재 방식으로 해결
- AI가 잘못된 형식을 호출해도 시스템이 이를 교정하여 무한 루프를 방지함
핵심 스토리 요약
이 이야기는 한 숙련된 프로그래머의 자기 고백과 같습니다. 그가 어떻게 "WordPress 열성 팬"에서 "AI 프로그래밍 어시스턴트의 창조자"로 변모했는지, 그리고 중국의 DeepSeek처럼 "저렴한" AI 모델이 특정 프로그래밍 작업에서는 OpenAI의 GPT-4o처럼 "비싼" 모델보다 더 훌륭하게 작동할 수 있는 독문 절기(비결)를 어떻게 발견했는지에 대해 다룹니다.
쉬운 설명으로 나누어 보기:
1. 이 "숙련된 프로그래머"는 누구인가?
그의 이름은 Ahmad Awais입니다. 과거에는 WordPress와 API 사용법을 가르치는 전문가였으며, 자신이 작성한 코드를 무료로 공유하는 "오픈 소스(Open Source) 대가"이기도 합니다. 그는 아주 일찍부터 GPT-3를 접하며 AI를 이용해 코드를 작성하는 방법을 연구하기 시작했습니다. 현재 그의 프로젝트는 Command C이며, 이를 당신을 잘 이해하고 코드 작성을 도와주는 AI 어시스턴트라고 이해하면 됩니다.
2. 그의 제품의 "킬러 콘텐츠"는 무엇인가? —— "취향(Taste)" 시스템
커피를 주문할 때마다 "중간 사이즈 라떼, 설탕 빼고, 에스프레소 샷 추가"라고 매번 말해야 한다고 상상해 보세요.
- 전통적인 AI: 매번 처음부터 명령어를 다시 말해야 합니다.
- 그의 AI: 사용자의 주문 습관을 보고 당신의 "취향"을 자동으로 기억합니다. "아, 이 사용자는 매번 중간 사이즈 라떼에 설탕을 빼고 샷을 추가하는구나"라고 말이죠. 다음에 당신이 간단히 "늘 먹던 걸로"라고 말하면, AI는 즉시 준비해 줍니다.
프로그래밍에서 이 "취향"은 당신의 프로그래밍 습관을 의미합니다. 예를 들어:
- 패키지를 설치할 때는 항상
pnpm을 사용하지만, 직접 만든 도구를 연결할 때는npm을 사용함. - 새 프로젝트를 생성할 때 버전 번호를 항상
0.0.1부터 시작하는 것을 선호함. - 코드를 커밋(Commit)한 후에는 항상 메인 브랜치(Main branch)로 먼저 전환함.
Command C의 "Taste" 시스템은 이러한 작은 습관들을 몰래 관찰하고 학습하여 이를 "비법(Taste 파일)"으로 기록합니다. 이후 AI가 당신을 대신해 작업을 수행할 때, 당신이 반복해서 알려줄 필요 없이 자동으로 당신의 "취향"에 맞춰 동작합니다. 또한 이 "비법"은 공개되어 있으며 자신의 프로젝트에 저장되므로, 팀 내 다른 사람들도 확인하고 수정할 수 있습니다.
3. 그가 발견한 "큰 문제"와 "신의 한 수" —— "도구 호출(Tool Calling) 불이행"
AI 프로그래밍 어시스턴트가 작업을 수행하려면 컴퓨터의 "도구"를 호출해야 할 때가 많습니다. 예를 들어 "이 폴더의 모든 파일 목록 나열하기"나 "이 파일을 열어 100줄 읽기" 같은 작업입니다.
- 문제: 그는 DeepSeek V4와 같이 "똑똑하지만 저렴한" AI 모델들이 가진 고집스러운 성격을 발견했습니다. 때때로 이들은 **잘못된 형식(Format)**으로 도구를 호출합니다. 당신이 "형식이 틀렸어, 다시 해!"라고 말해도, AI는 못 들은 척하며 똑같은 잘못된 형식으로 수십 번 반복해서 부딪히며 작업을 멈추게 만들고, 결국 당신에게 AI가 느리고 멍청하다는 인상을 줍니다.
- 해결: Ahmad는 AI와 "싸우는" 대신 "중재자" 역할을 하는 절묘한 방법을 생각해 냈습니다.
- 기존 방식: AI가 "도구야,
[잘못된 형식]으로 일해!"라고 하면, 시스템은 "형식이 틀렸으니 실행할 수 없어!"라고 답합니다. AI는 듣지 않고 계속 외치며 무한 루프에 빠집니다. - 그의 새로운 방식: AI가 "도구야,
[잘못된 형식]으로 일해!"라고 하면, 시스템은 속으로 생각합니다. "이 형식은 틀렸지만, 무엇을 하려는지 대략 알겠어." 그리고 먼저 잘못된 형식을 올바른 형식으로 수정하여 작업을 수행한 뒤, 그 결과를 AI에게 전달하면서 동시에 조용히 한마디 건넵니다. "참고로, 방금 준 형식은 조금 틀렸어.[올바른 형식]을 사용하는 게 맞아." - 효과: AI는 결과를 받아 기뻐하면서도 힌트를 들었기 때문에, 다음번에는 즉시 올바른 형식을 사용하게 됩니다. 고집불통이었던 AI가 순식간에 "말을 잘 듣는" 상태가 되어 작업이 매우 매끄러워집니다.
- 기존 방식: AI가 "도구야,
그는 이 해결 방법을 오픈 소스로 공개했고, 많은 사용자가 이를 적용한 결과 DeepSeek V4의 사용 경험이 급상승했습니다. 심지어 특정 프로그래밍 작업에서는 GPT-4o보다 더 사용하기 편하고 경제적이라는 느낌까지 받게 되었습니다. 문제는 AI 모델 자체가 멍청한 것이 아니라, "중간에서 말을 전달하는 사람"이 번역을 못 했던 것입니다.
4. 그는 이 아이디어로 "AI 디자인이 촌스러운" 문제도 해결했습니다
그는 AI가 디자인을 할 때도 항상 "진부한(Cliché)" 결과물을 내놓는다는 것을 발견했습니다. 화면 가득한 보라색 그라데이션이나 항상 똑같은 레이아웃 같은 것들 말이죠. 그는 "도구 호출 수정"의 아이디어를 빌려와, AI에게 "네 디자인은 촌스러워"라고 비난하는 대신 훌륭한 디자이너의 사고방식을 가르치는 방식을 택했습니다.
- 일반적인 명령: "대시보드를 디자인해 줘."
- 그의 방식: 명령에 "디자이너 사고 프레임워크"를 추가합니다. 예를 들어 "이 대시보드의 주요 의도는 '데이터 모니터링'이고, 부차적인 의도는 '빠른 개요 파악'이야. OKLCH 색상 모델을 사용하여 색상을 조절하고, X, Y, Z와 같은 흔한 '촌스러운 디자인'은 피해주길 바라."
- 효과: AI가 이러한 "디자인 계약"의 가이드를 갖게 되면서, 결과물의 수준이 즉시 높아졌으며 더 이상 천편일률적인 "AI 느낌"이 나지 않게 되었습니다.
5. 그의 향후 계획은 무엇인가?
그는 Command C를 완전히 오픈 소스로 공개하여 누구나 자유롭게 수정하고 사용할 수 있게 만들고자 합니다. 마치 Apple의 시스템처럼 핵심 경험은 극도로 뛰어나고 최고의 AI 모델을 엄선하여 사용하되, 개방성과 커스터마이징이 가능한 프로그래밍 어시스턴트를 구축하는 것이 목표입니다.
요약하자면
Ahmad Awais 이야기의 핵심은 두 가지입니다:
- “AI에게 당신을 이해시키기”: 사용자의 프로그래밍 습관을 자동으로 학습하는 시스템(Taste)을 구축하여, AI를 매번 처음부터 가르쳐야 하는 “신입”이 아닌, 당신의 “프로그래밍 파트너”로 만들었습니다.
- “AI를 위한 번역가 역할 수행”: 저렴하고 유용한 많은 AI(예: DeepSeek)가 실제로 멍청한 것이 아니라, “도구 호출(Tool Calling) 명령 형식을 이해하지 못하는 것”뿐이라는 사실을 발견했습니다. 그는 중간에서 AI의 “횡설수설”을 컴퓨터가 이해할 수 있는 명령으로 번역하고, 결과와 올바른 표현을 다시 AI에게 피드백해 주는 “만능 번역기”를 작성했습니다. 이 작은 변화만으로 이러한 AI들의 잠재력을 완전히 끌어올릴 수 있었습니다.
그는 미래의 가장 뛰어난 AI 프로그래밍 도구는 가장 많은 모델을 연결하는 것이 아니라, 가장 스마트한 “번역”과 “조련(Fine-tuning/Prompting)” 방법을 통해 각 모델의 최선의 면모를 이끌어내는 데 있다고 믿습니다.
위에서 언급한 “큰 문제”와 “신의 한 수(神修复)”—즉, “도구 호출이 말을 듣지 않는 문제”에 대해 더 자세히 설명하자면: 이 “번역 + 실행” 동작을 수행하는 것은 AI도, 운영체제 자체도 아닌, Ahmad가 Command C 플랫폼 내에 작성한 일련의 “미들웨어 (Middleware)” 코드입니다.
이것을 DeepSeek와 컴퓨터 도구 사이에 끼어 있는 **극도로 똑똑한 “AI 전용 통역사”**라고 상상해 보세요. 작업 흐름은 다음과 같습니다:
역할극: AI와 컴퓨터의 “번역 중재”
출연진:
- DeepSeek (고집 센 외국인): 중국어(도구 호출)를 말하고 싶어 하지만, 문법이 온통 틀려 있습니다.
- 컴퓨터 도구 (융통성 없는 보안요원): 100% 정확한 명령만 인식하며, 마침표 하나만 틀려도 문을 열어주지 않습니다.
- Command C 복구 계층 (만능 통역사): Ahmad가 작성한 코드로, 상황을 “수습”하는 역할을 합니다.
기존 방식 (무한 루프 싸움):
- DeepSeek (틀린 문법 사용): “보안요원,
open file null!” (null은 틀렸으며, 파일 경로 문자열이어야 합니다) - 보안요원 (즉시 거부): “문법 오류!
null은 이해할 수 없습니다!” - DeepSeek (고집을 부리며): “보안요원,
open file null!” (원문 그대로 반복) - …… (56번 반복 후 시스템 마비)
새로운 방식 (통역사의 구원):
- DeepSeek (틀린 문법 사용): “보안요원,
open file null!” - 통역사 (Command C) 개입:
- 모니터링 (Listen): DeepSeek의 횡설수설을 듣습니다.
- 진단 (Diagnose): “파일 읽기”를 의도했으나 파라미터로
null을 전달했음을 발견합니다 (이것이 “도구 혼동 (Tool Confusion)”입니다). - 복구 (Fix): 능동적으로
null을 현재 디렉토리의 기본 파일 경로로 교체합니다 (Ahmad가 작성한 복구 로직이 작동하는 단계입니다). - 실행 (Execute): 수정된 올바른 명령을 가지고 DeepSeek를 대신해 파일을 읽습니다.
- DeepSeek에게 회신: “(결과) 파일 내용이 읽혔습니다. (팁) 참고로 방금 전달한 파라미터가 틀렸습니다. 다음에는
null대신 파일 경로 문자열을 직접 보내주세요.”
핵심 해답: 누가 일을 하는가?
| 역할 | 수행한 작업 | 코드 작성자 |
|---|---|---|
| DeepSeek (AI) | 요구사항 제시 (잘못 제시함) | DeepSeek 팀 |
| ... | ... | ... |
한 줄 요약: **Ahmad가 작성한 “복구 로직 코드”**가 백그라운드에서 AI의 “비문(틀린 문장)”을 “정상적인 문장”으로 몰래 고친 뒤, 대신 실행하고 그 결과와 수정 제안을 AI에게 함께 피드백하는 것입니다. AI가 스스로를 수정하는 것이 아니라, 이 미들웨어 계층이 AI를 “보살피고 가르치며” 올바른 형식을 익히게 만드는 것입니다.
이 방법이 강력한 이유
그 이유는 DeepSeek 모델 자체를 변경하지 않았기 때문입니다 (폐쇄형 모델은 수정할 수 없습니다). 대신 모델과 환경 간의 상호작용 방식을 바꾸었습니다. 이러한 “오류 허용(Fault Tolerance) + 교육(Teaching)” 피드백 메커니즘을 통해, 원래 형식 문제 때문에 “사용할 수 없었던” 모델을 순식간에 “사용하기 좋은” 모델로 탈바꿈시켰습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기