
opencode의 주요 활용 분야가 반드시 프로그래밍일 필요는 없습니다. 코드 작성과 운영체제 작업 외에도 다양한 일상 업무를 도와줄 수 있습니다.
여러 기능을 갖춘 에이전트가 협력하는 과정이라고 생각하면 됩니다. 여러분이 일을 말하면, opencode가 검색하고, 찾고, 다운로드하고, 검증한 다음 결과를 눈앞에 가져다줍니다.
어떤 학생들은 이렇게 말하기도 합니다. “나도 설치했는데 어떻게 써야 할지 모르겠어요.”
오늘은 실제 사례를 통해 한 번 보여드리겠습니다. B站에서 영어 회화 강좌를 찾아 첫 번째 영상을 데스크톱에 다운로드하는 과정입니다.
요청을 명확하게 말해야 한다
먼저 제가 어떻게 명령했는지 보겠습니다.

>명령 입력
“B站에서 역대 가장 간단하고 이해하기 쉬우며 가장 인정받는 영어 회화 강좌를 찾아서, 그중 첫 번째 영상을 이 기기의 데스크톱에 다운로드해 줘.”
딱 한 문장입니다. 하지만 여기에는 몇 가지 핵심 정보가 들어 있습니다.
어디에서 찾을 것인가: B站입니다. 더우인도, 콰이쇼우도 아닌 B站입니다. 검색 범위를 미리 정해 두어야 합니다. 그렇지 않으면 원하는 품질의 결과가 나오지 않을 수 있습니다.
어떤 것을 원하는가: 가장 간단하고 이해하기 쉬우며 가장 인정받는 강좌입니다. 이 두 가지 표현이 선택 기준을 정합니다. 문법을 100회에 걸쳐 설명하는 강좌도, 과장되게 수강을 유도하는 강좌도 아니라 평판이 좋고 빠르게 시작할 수 있는 강좌를 원하는 것입니다.
몇 번째 영상인가: 첫 번째 영상입니다. 전부가 아니고, “알아서 해”도 아닙니다. 전부 다운로드하면 디스크 공간이 부족할 수도 있습니다.
어디에 저장할 것인가: 이 기기의 데스크톱입니다. 다운로드 폴더도, 특정 프로젝트 폴더도 아닌 데스크톱입니다. 한눈에 볼 수 있기 때문입니다. 물론 좋은 습관은 아니므로 별도의 전용 폴더를 만드는 편이 좋지만, 초보자에게 보여 주기 위한 예시이므로 일단 이렇게 진행하겠습니다.
이 네 가지 중 하나라도 빠지면 일이 번거로워집니다. “영어 동영상 하나 다운로드해 줘”라고만 말하면, 아주 귀여운 애니메이션 동요를 다운로드할 수도 있고, 6급 듣기 기출 문제를 다운로드할 수도 있습니다. 결과를 보고 화가 날 수 있지만, 실제 문제는 도구가 멍청해서가 아니라 요청을 명확하게 말하지 않았기 때문입니다.
이 과정을 하나의 언어 변환 과정으로 생각해 보세요. 인간의 자연어를 실행 가능한 검색 작업과 최종적으로 원하는 결과로 바꾸는 것입니다. 확실성과 명확성이 중요합니다. 이 도구를 사용할 때 가장 필요한 것은 효율적으로 표현하는 능력입니다. 일을 처리하려면 원하는 바를 분명하게 말해야 합니다.
명확하게 말하기 어렵다면 어떻게 해야 할까요? 가능한 한 많이 말하면 됩니다. 표현이나 문장 구성, 문학적인 문체는 신경 쓰지 마세요. 최대한 많은 정보를 사용해 해야 할 일을 명확하게 설명하면 됩니다. 이 도구의 이해 능력은 꽤 좋습니다. 단서를 여러 개 주면 스스로 조합할 수 있습니다. 정보가 너무 적으면 추측할 수밖에 없고, 추측이 빗나간 뒤에는 도구가 쓸모없다고 생각하게 되는 것이 문제입니다.
작업을 시작하다
명령을 입력하자 스스로 검색을 시작합니다.

>모델 검색
네트워크 검색 도구를 호출하고 검색어를 여러 차례 바꿉니다. “가장 쉽고 이해하기 쉬운 영어 회화 강좌”, “B站 최고의 클래식 영어 회화 강의”, “백만 회 재생” 등으로 검색하는데, 이는 검색 전략을 반복해서 조정하는 과정입니다. 한 차례로 부족하면 다시 검색합니다. 검색 결과 목록을 보면 B站에는 이런 강좌가 정말 많습니다. “전 170회 영어 클래식 900문장”, “100일 영어 말하기 도전 계획”, Coach Shane의 Daily Easy English Expression 등이 있습니다.
몇 차례 검색한 뒤 Coach Shane의 강좌를 선택했습니다. 도구가 제시한 이유는 다음과 같습니다. 각 영상은 3~5분이며, 한 편에서 하나의 자연스러운 표현만 설명합니다. 의미뿐 아니라 연음과 약음 같은 발음 세부 사항도 다루므로, 영어 초보자도 배우기 쉽습니다. 공식 채널의 구독자는 백만 명이고 B站에는 여러 차례 재게시되었으며 누적 재생 수는 천만 회를 넘었습니다. 일부 마케팅 계정에서도 추천한 적이 있어 영어 학습 분야에서 인지도가 상당히 높습니다.
이 선별 과정을 직접 한다면 댓글을 한참 살펴보고 여러 동영상을 비교해야 할 수 있습니다. 하지만 모델은 몇 차례 검색만으로 대상을 좁혀 줍니다. 이것이 도구 호출의 가치입니다. 아무렇게나 추측한 것이 아니라 실제로 확인했고, 확인한 뒤 왜 이 강좌를 선택했는지도 설명해 줍니다.
과정이 순조롭기만 한 것은 아니다
강좌를 찾은 뒤 다운로드하기 위해 먼저 yt-dlp를 사용했습니다.

>다운로드 시도
오류가 발생했습니다. HTTP Error 412: Precondition Failed입니다. B站의 봇 차단机制가 다운로드를 막은 것입니다.
반응을 보세요. 멈춰서 “죄송하지만 다운로드할 수 없으니 직접 해 보세요”라고 말하지 않습니다. 먼저 User-Agent와 Referer 헤더를 추가하고 다시 시도했지만 여전히 412 오류가 발생합니다. 그러자 yt-dlp 버전이 너무 오래되어 WBI 서명机制를 처리하지 못할 가능성을 인식하고, 스스로 pip install -U yt-dlp 를 실행해 최신 버전으로 업데이트한 뒤 다시 시도합니다. 이번에는 성공했습니다.
이처럼 “스스로 도구를 설치하고 문제를 해결하는 능력”이 opencode와 일반 웹 대화창의 가장 큰 차이입니다. 웹에서 첸원이나 더우바오 같은 서비스에 “동영상 하나 다운로드해 줘”라고 말하면 십중팔구 “죄송하지만 외부 네트워크에 접속해 파일을 다운로드할 수 없습니다”라는 답을 받고 작업이 끝납니다. opencode는 다릅니다. 터미널을 사용할 수 있고, 패키지를 설치하고, 매개변수를 수정하고, 반복해서 시도할 수 있습니다. 막히면 경로와 도구를 바꾸며, 장애물을 만나자마자 포기하지 않습니다.
이것이 에이전트와 챗봇의 차이입니다. 챗봇은 여러분과 대화만 할 수 있지만, 에이전트는 직접 작업할 수 있습니다.
완료되었다
마지막으로 동영상이 데스크톱에 저장되었습니다.

>완료 후 결과 제공
/Users/fred/Desktop/Coach_Shane_001.mp4, 8.6MB, 1화 “How are you doing?”, 3분 21초입니다.
다운로드를 마친 뒤 파일이 실제로 존재하고 크기도 정상인지 확인한 다음, 어떤 강좌를 선택했는지, 왜 선택했는지, 첫 번째 영상에서 무엇을 다루는지도 알려 줍니다. 파일 하나만 던져 주고 끝내는 것이 아니라 전체 과정과 결과를 설명해 줍니다.

전체 과정에서 여러분이 한 일은 무엇인가요? 처음에 한 문장을 말했을 뿐입니다. 나머지 검색, 선별, 다운로드, 도구 설치, 오류 수정, 검증은 모두 스스로 처리했습니다. 절약한 시간만으로도 강좌 두 편을 볼 수 있을 정도입니다.
이후에도 계속 대화할 수 있다
다운로드한 뒤 저는 다시 “이 시리즈 괜찮은데, 총 몇 편이야?”라고 물었습니다.

>계속 상호작용
앞의 내용을 잊지 않고 해당 모음의 playlist 정보를 바로 검색해 한 모음에 50편, 전체가 20개 모음으로 구성되어 총 1000편이며, 매일 2편씩 공부하면 1년 정도에 끝낼 수 있다고 알려 줍니다.
이것이 대화의 연속성입니다. 매번 배경을 처음부터 설명할 필요가 없습니다. 방금 무엇을 하고 있었는지 기억하기 때문입니다. 이 점도 웹 대화창보다 뛰어납니다. 웹 버전은 새로 고침하면 맥락이 사라지지만, opencode의 대화는 계속 유지됩니다. 사람과 대화하듯 하나의 일을 이어서 질문할 수 있습니다.
왜 웹 버전 모델을 바로 사용하지 않을까
어떤 학생들은 이렇게 말할 수 있습니다. “그럼 첸원, 더우바오, Kimi 웹 버전을 열고 물어보면 되지 않나요? 왜 굳이 터미널에서 opencode를 사용하나요?”
질문은 할 수 있지만, 많은 작업은 처리할 수 없습니다. 웹 버전 모델은 주로 텍스트 대화용이고 파일 업로드에도 제한이 있습니다. 여러 도구를 호출할 수 없기 때문에 명령을 실행하거나, 패키지를 설치하거나, 다운로드한 뒤 검증하거나, 로컬 파일 시스템을 조작할 수 없습니다. “동영상 하나 다운로드해 줘”라고 하면 다운로드 방법만 알려 줄 뿐 직접 다운로드하지는 못합니다. “데스크톱의 이미지 10장을 날짜별로 분류해 줘”라고 하면 Python으로 스크립트를 작성하는 방법만 알려 줄 뿐 직접 분류해 주지는 못합니다.
opencode는 다릅니다. 여러분의 컴퓨터에서 터미널과 파일 시스템, 네트워크에 접근할 수 있고 패키지도 설치할 수 있습니다. 여러분이 일을 말하면 직접 처리합니다. 이것이 Agent와 채팅 도우미의 본질적인 차이입니다.
그리고 가장 중요한 점은 바로 이 도구를 무료로 사용할 수 있다는 것입니다. opencode에 포함된 무료 모델은 대부분의 일상적인 상황을 처리할 수 있습니다. 동영상 다운로드, 문서 검색, 파일 정리, 자료 확인 등을 모두 무료로 할 수 있습니다. 무료 보조 도구처럼 사용해 직접 작업하는 시간을 크게 줄이면 됩니다. 매번 100% 만족스럽지는 않을 수 있지만, 직접 처음부터 처리하는 것보다는 훨씬 편리합니다.
왜 명령줄 터미널을 추천하는가
다시 말하지만, 저는 명령줄 터미널 버전의 opencode를 사용하는 것을 추천합니다. 다른 요소의 방해를 최대한 줄일 수 있기 때문입니다.
터미널에는 입력창 하나, 대화 하나, 결과 하나만 있습니다. 화면이 어떻게 생겼는지, 버튼이 어디 있는지, 광고가 나타났는지 신경 쓸 필요가 없습니다. 해야 할 일을 분명하게 말하고, 작업 과정과 결과를 확인하기만 하면 됩니다.
이 경험이 웹 대화창과 가장 다른 점은 웹 버전이 “대화”라면 opencode는 “협업”이라는 것입니다. 대화는 내가 묻고 상대가 답하는 것이지만, 협업은 내가 일을 말하면 상대가 처리하는 것입니다. 후자가 여러분이 실제로 원하는 것에 더 가깝습니다. AI와 대화하고 싶은 것이 아니라 AI가 일을 처리해 주기를 원하는 것이니까요.
대학 신입생들에게 전하고 싶은 말
대학에 입학한 신입생들이 먼저 이 능력을 익혔으면 합니다.
무엇을 연습해야 할까요? 바로 일을 명확하게 설명하는 능력입니다.
대학은 고등학교와 다릅니다. 고등학교에서는 선생님이나 친구에게 질문하는 것이 당연하지만, 대학에서는 많은 사람이 질문하기를 어려워합니다. “모르는 것을 물어보면 창피하잖아”라고 생각하는 학생도 있고, 다른 사람을 방해할까 걱정하는 학생도 있으며, 단순히 사람을 대하는 것이 어려운 학생도 있습니다. 이럴 때 몰래 모델에게 물어보세요. 아무도 모르는 일이고 부끄러워할 필요도 없습니다.
하지만 모델에게 질문하는 것 자체에도 요령이 필요합니다. 질문을 잘해야 합니다.
“더우바오야, 내 과제 해 줘”라고 말하면 제대로 처리하지 못할 수도 있고, 어떻게 했는지도 알 수 없으며, 대충 답할 수도 있습니다.
“B站에서 영어 회화 강좌를 찾아 줘”라고 말하면 여러분이 전혀 보고 싶지 않은 종류의 강좌를 찾을 수도 있습니다. 문제는 모델이 아니라 요청 설명이 너무 모호했을 가능성에 있습니다.
일을 명확하게 설명하는 데 문학적인 표현이나 세련된 문장이 필요한 것은 아닙니다. 필요한 것은 충분한 정보를 제공하는 것입니다. 어디에서 찾을지, 어떤 것을 찾을지, 어느 부분이 필요한지, 어디에 저장할지를 말하면 됩니다. 이 네 가지를 명확하게 말하면 대부분 원하는 대로 처리할 수 있습니다. 반대로 이 네 가지를 모호하게 말하면 모델도 모호한 결과를 돌려줄 수밖에 없습니다.
이는 사실 의사소통 능력을 연습하는 일이기도 합니다. 모델과 원활하게 소통할 수 있게 되면 사람과의 소통도 나쁘지 않을 것입니다. 요구 사항을 세분화하고, 배경을 분명히 설명하며, 기대하는 결과를 명확히 말하는 습관이 생기기 때문입니다. 이 능력은 앞으로 어떤 일을 하든 유용하게 쓰입니다.
opencode로 동영상을 검색하고, 문서를 다운로드하고, 자료를 정리하고, 정보를 확인하는 데 익숙해지면 더 이상 선생님에게 “그 동영상은 어디에서 찾았어요?”, “그 프로그램은 어디에서 다운로드해요?” 같은 질문을 할 필요가 없습니다. 이런 질문을 하는 것이 오히려 정말 답답하게 느껴질 수도 있습니다. 소프트웨어 설치도 opencode에게 맡길 수 있습니다. 다음에 다시 이야기하겠습니다.
오늘 살펴본 강좌 검색과 다운로드 과정에서는 네트워크 검색, 웹 페이지 가져오기, 명령줄 다운로드, 패키지 관리자 업그레이드 등 여러 도구가 호출되었습니다. 특정 도구를 찾지 못하면 스스로 설치하기도 하므로, 이런 세부 사항을 직접 신경 쓸 필요가 없습니다.
하지만 구체적으로 어떻게 구현되는지 알고 싶다면 이렇게 직접 물어보면 됩니다. “방금 그 동영상을 다운로드할 때 어떤 명령을 사용했어? 처음에는 왜 실패했어?”
사용한 명령, 실패한 원인, 문제를 해결한 방법을 하나씩 알려 줄 것입니다. 일을 처리하는 동시에 그 이면의 원리도 이해할 수 있으므로, 혼자 문서를 찾아보는 것보다 훨씬 편리합니다.
대학 생활이 곧 시작됩니다. 모두 서둘러 지금부터 연습해 보세요.
