AI 시대, 코드를 ‘잊는’ 개발자가 되려면? ‘바이브 코딩’의 책임감 있는 활용법

AI 시대, 코드를 ‘잊는’ 개발자가 되려면? ‘바이브 코딩’의 책임감 있는 활용법

인공지능(AI)이 코드를 작성하는 시대가 성큼 다가왔습니다. 단순히 코드를 더 많이 생성하는 것을 넘어, AI가 작성한 코드를 실제 서비스 환경, 즉 프로덕션에 적용하는 방식에 대한 논의가 활발합니다. Anthropic의 연구자 Eric이 제시한 ‘바이브 코딩(Vibe coding)’은 이러한 흐름 속에서 개발자의 역할을 재정의하고 AI와의 협업 방식을 혁신할 수 있는 중요한 개념입니다. 이 글에서는 바이브 코딩의 본질과 책임감 있는 활용 방안을 심층적으로 탐구하며, AI 시대를 살아갈 우리에게 필요한 역량이 무엇인지 조망하고자 합니다. 특히 교육자, 1인 창작자, 개발자 등 AI 도구를 실무에 적용하려는 모든 분들에게 실질적인 인사이트를 제공할 것입니다.

AI에게 코드를 맡긴다는 것: ‘바이브 코딩’의 재정의

바이브 코딩이란 무엇일까요? 단순히 AI에게 코드 생성을 요청하는 것을 넘어, Andrej Karpathy가 정의한 것처럼 “코드가 존재한다는 사실 자체를 잊을 정도의 자동화”를 목표로 합니다. 이는 마치 컴파일러가 생성한 어셈블리 코드를 개발자가 일일이 읽지 않는 것과 유사합니다. 즉, AI가 작성한 코드의 세부 사항에 매몰되기보다는, AI가 생성한 결과물의 품질, 정확성, 그리고 최종 제품의 완성도에 집중하는 것이 바이브 코딩의 핵심입니다. AI 기술의 발전 속도가 기하급수적으로 빨라지는 현 상황에서, 이러한 흐름을 이해하고 활용하지 못한다면 경쟁에서 뒤처질 수밖에 없습니다.

이러한 변화는 개발자의 역할을 근본적으로 재정의합니다. 기존의 ‘코드를 직접 구현하는 사람’에서 벗어나, AI 에이전트의 ‘프로덕트 매니저(PM)’ 역할을 수행해야 한다는 것입니다. 신입 엔지니어에게 업무를 맡기듯, AI에게 명확한 요구사항, 코드베이스의 맥락, 그리고 제약 조건을 상세하게 전달하는 과정이 중요해집니다. 물론 이 과정에 15~20분 이상의 시간이 소요될 수 있지만, 이러한 투자는 AI가 생성하는 코드의 성공률을 비약적으로 높이는 핵심 요소가 됩니다.

책임감 있는 바이브 코딩을 위한 원칙과 적용

바이브 코딩의 궁극적인 원칙은 “코드는 잊되, 제품은 잊지 말 것”입니다. AI가 작성한 코드 자체를 깊이 파고드는 대신, AI가 만든 결과물이 우리가 추구하는 제품의 가치와 목표에 부합하는지를 검증하는 데 집중해야 합니다. 이를 위해 몇 가지 중요한 원칙과 적용 방안을 고려해야 합니다.

  • 리프 노드(Leaf Node)에 집중: 바이브 코딩은 코드베이스의 말단 기능, 즉 다른 코드에서 의존하지 않는 독립적인 기능 개발에 우선적으로 적용해야 합니다. 핵심 아키텍처나 다른 모듈의 근간이 되는 코드는 여전히 사람이 깊이 이해하고 신중하게 관리해야 할 영역입니다.
  • 검증 가능성 설계: AI가 생성한 코드의 안정성과 정확성을 사람이 전부 읽지 않고도 확인할 수 있도록 설계하는 것이 필수적입니다. Anthropic의 사례처럼, 강화학습 코드 22,000줄을 AI로 작성하고 프로덕션에 적용하기 위해 스트레스 테스트와 입출력 기반 검증 체크포인트를 설계하는 방식이 대표적입니다.

하지만 현재의 기술 수준으로는 몇 가지 한계점도 존재합니다. 첫째, 기술 부채(tech debt)는 코드를 직접 읽지 않고는 정확히 측정하거나 검증하기 어렵다는 점입니다. 이는 바이브 코딩을 코드베이스의 리프 노드에 국한해야 하는 중요한 이유 중 하나입니다. 둘째, 보안이나 결제와 같이 민감하고 중요한 영역에 대해 비개발자가 단순히 AI에게 맡겨 프로덕션 시스템을 구축하는 것은 매우 위험합니다. 올바른 질문을 던지고 결과를 판단할 수 있는 기술적 이해와 판단력이 전제되어야 합니다.

AI와 함께 성장하는 소프트웨어 산업의 미래

바이브 코딩은 단순한 유행을 넘어 소프트웨어 산업의 구조적 전환을 예고합니다. 이는 마치 CTO가 전문가를 관리하거나 CEO가 회계사의 업무를 검증하는 것처럼, 구현 자체를 알지 못하더라도 결과를 효과적으로 검증하는 능력의 중요성이 커지고 있음을 시사합니다. 이러한 변화는 소프트웨어 엔지니어에게 요구되는 핵심 역량이 코드 한 줄 한 줄을 작성하는 능력에서, 요구사항을 정밀하게 정의하고 결과를 구조적으로 검증하는 능력으로 이동하고 있음을 보여줍니다. AI 도구의 성능 향상 속도를 고려할 때, 이 전환에 얼마나 빠르게 적응하느냐에 따라 개인과 조직의 경쟁력이 좌우될 것입니다.

교육 현장과 AI 리터러시의 시사점

바이브 코딩의 개념은 교육 현장에도 중요한 시사점을 던집니다. AI 기반 교육 도구를 개발하거나, 학생들이 AI를 활용하여 학습하는 방안을 모색할 때, AI가 생성한 결과물의 품질과 안전성을 보장하면서도 학습 효율성을 극대화하는 방법을 고민해야 합니다. 예를 들어, 학생들이 AI를 활용하여 코드를 작성할 때, 단순히 결과물을 복사하는 것을 넘어 AI에게 명확한 요구사항을 전달하고, 생성된 코드의 논리적 오류나 잠재적 문제를 비판적으로 검토하는 훈련이 필요합니다. 이는 AI 시대에 필수적인 ‘AI 리터러시’ 교육의 핵심이 될 것입니다. 또한, Google LiteRT-LM과 같이 엣지 디바이스에서도 LLM을 효율적으로 구동할 수 있는 기술의 발전은, 오프라인 환경에서도 AI를 활용한 교육 콘텐츠 개발 및 접근성을 높이는 데 기여할 수 있습니다. LLM이 보안 취약점을 식별하여 커널 코드를 개선하는 사례(Kernel code removals driven by LLM-created security reports)는 AI가 단순한 도구를 넘어 문제 해결의 파트너가 될 수 있음을 보여주며, 이는 교육에서도 AI의 능동적이고 비판적인 활용을 장려하는 계기가 될 수 있습니다.

결론: AI와 협력하는 미래를 향한 준비

바이브 코딩은 AI 시대의 소프트웨어 개발 패러다임을 바꾸는 중요한 개념입니다. AI에게 코드 작성을 맡기는 것을 넘어, AI를 효과적으로 지휘하고 그 결과물을 책임감 있게 검증하는 능력이 중요해지고 있습니다. 이는 단순히 기술적인 변화를 넘어, 개발자의 역할과 역량에 대한 근본적인 재고를 요구합니다. AI의 발전 속도를 인지하고, 이러한 변화에 능동적으로 적응하며, AI와의 협업을 통해 더 나은 제품과 서비스를 만들어나가는 것이 우리 모두에게 주어진 과제일 것입니다.

출처 및 참고 링크

출처 및 참고 링크

AI 에이전트 시대를 위한 필수 가이드: Swarms와 Thunderbolt로 알아보는 멀티 에이전트 오케스트레이션의 미래

AI 에이전트, 이제는 ‘협업’의 시대

인공지능(AI) 기술이 눈부신 속도로 발전하면서, 개별 AI 모델의 성능 향상을 넘어 여러 AI가 협력하는 ‘멀티 에이전트 시스템’이 차세대 기술 트렌드로 부상하고 있습니다. 단순히 하나의 AI에게 작업을 맡기는 것을 넘어, 각기 다른 능력을 가진 AI 에이전트들이 마치 팀처럼 협력하여 복잡하고 정교한 문제를 해결하는 방식은 교육, 창작, 개발 등 다양한 분야에 혁신적인 변화를 예고하고 있습니다. 이러한 흐름 속에서 GitHub Trending을 뜨겁게 달구고 있는 두 프로젝트, kyegomez/swarms와 thunderbird/thunderbolt는 멀티 에이전트 시스템의 구축과 활용 가능성을 보여주는 대표적인 사례입니다. 본 기사에서는 이 두 프로젝트를 중심으로 멀티 에이전트 오케스트레이션의 현재와 미래를 조망하고, 실무 적용 방안과 교육 현장에 미칠 시사점을 깊이 있게 분석해보고자 합니다. 지금 이 글을 읽어야 하는 이유는, 바로 AI 에이전트가 단순한 도구를 넘어 우리의 업무 방식과 학습 환경을 근본적으로 변화시킬 핵심 기술로 자리 잡고 있기 때문입니다.

Swarms: 엔터프라이즈급 멀티 에이전트 오케스트레이션의 새로운 기준

kyegomez/swarms는 복잡한 AI 에이전트 시스템을 구축하고 관리하기 위한 엔터프라이즈급 프로덕션 레디 프레임워크입니다. Python으로 개발된 이 프로젝트는 계층적 에이전트 스웜, 병렬 처리 파이프라인, 순차적 워크플로우 오케스트레이션 등 다양한 기능을 제공하며, 복잡한 비즈니스 프로세스 자동화와 확장 가능한 작업 분배를 지원합니다. Swarms의 핵심 강점은 기존 시스템과의 원활한 통합을 지원한다는 점입니다. LangChain, AutoGen, CrewAI 등 기존 프레임워크와의 호환성을 제공하며, 다양한 메모리 시스템과 모델 제공업체를 지원하여 개발자가 유연하게 시스템을 구축할 수 있도록 돕습니다. 또한, MCP(Model Context Protocol), X402(Cryptocurrency payment protocol), AOP(Agent Orchestration Protocol)와 같은 표준 프로토콜을 지원하여 외부 도구 및 서비스와의 연동을 강화했습니다. 이는 AI 에이전트가 단순한 챗봇을 넘어, 실제 비즈니스 환경에서 복잡한 작업을 수행하는 핵심 동력으로 활용될 수 있음을 시사합니다.

Swarms의 주요 특징 및 실무 적용

Swarms는 다음과 같은 특징을 통해 엔터프라이즈 환경에서의 멀티 에이전트 시스템 구축을 지원합니다:

  • 엔터프라이즈 아키텍처: 프로덕션 레디 인프라, 고가용성 시스템, 모듈식 마이크로서비스 설계 등을 통해 안정적이고 확장 가능한 시스템 구축을 보장합니다.
  • 멀티 에이전트 오케스트레이션: 계층적 스웜, 병렬/순차 워크플로우, 그래프 기반 네트워크 등 다양한 방식으로 에이전트 간의 협업을 설계할 수 있습니다.
  • 엔터프라이즈 통합: 멀티 모델 제공업체 지원, 커스텀 에이전트 개발 프레임워크, 풍부한 엔터프라이즈 도구 라이브러리를 통해 기존 시스템과의 통합을 용이하게 합니다.
  • 엔터프라이즈 확장성: 동시 멀티 에이전트 처리, 지능형 리소스 관리, 로드 밸런싱 및 자동 스케일링을 통해 대규모 트래픽과 복잡한 워크로드를 처리할 수 있습니다.
  • 개발자 경험: 직관적인 API, 포괄적인 문서, 활발한 커뮤니티 지원, CLI 및 SDK 도구 등을 통해 개발 생산성을 높입니다.

실무적으로 Swarms는 복잡한 AI 기반 교육 시스템 구축에 핵심적인 역할을 할 수 있습니다. 예를 들어, 학생의 학습 수준과 관심사에 맞춰 개인화된 학습 경로를 제공하는 AI 튜터 시스템을 개발하거나, 여러 AI 에이전트가 협력하여 복잡한 과학 실험 시뮬레이션을 실행하는 교육용 플랫폼을 구축하는 데 활용될 수 있습니다. 또한, 고객 지원 챗봇 시스템에서 각기 다른 전문성을 가진 에이전트들이 협력하여 복잡한 문의에 응대하는 시나리오에도 적용 가능합니다.

Thunderbolt: AI 통제권과 데이터 주권을 사용자에게

thunderbird/thunderbolt는 사용자가 AI 모델을 직접 선택하고, 자신의 데이터를 소유하며, 공급업체 종속에서 벗어날 수 있도록 설계된 오픈소스 프로젝트입니다. TypeScript로 개발된 이 프로젝트는 로컬 환경 및 온프레미스 배포를 지원하며, 웹, iOS, Android, Mac, Linux, Windows 등 다양한 플랫폼에서 사용할 수 있습니다. Thunderbolt의 가장 큰 특징은 사용자가 원하는 AI 모델(로컬 모델, 온프레미스 모델, OpenAI 호환 모델 등)을 자유롭게 선택하고 설정할 수 있다는 점입니다. 이는 특정 AI 모델 제공업체에 대한 종속성을 제거하고, 사용자가 자신의 데이터 프라이버시를 완벽하게 통제할 수 있도록 보장합니다. 이는 최근 AI 기술 발전의 중요한 흐름 중 하나인 ‘탈중앙화’ 및 ‘사용자 주권 강화’와 맥을 같이 합니다.

Thunderbolt의 핵심 가치와 활용 방안

Thunderbolt는 다음과 같은 핵심 가치를 제공합니다:

  • AI 모델 선택의 자유: 사용자는 자신의 필요와 선호에 따라 다양한 AI 모델을 선택하고 통합할 수 있습니다.
  • 데이터 소유권 및 프라이버시: 모든 데이터 처리가 로컬 또는 사용자가 관리하는 서버에서 이루어지므로, 데이터 유출 및 오용에 대한 우려를 최소화합니다.
  • 공급업체 종속 탈피: 특정 클라우드 서비스나 AI 모델 제공업체에 얽매이지 않고, 유연하게 기술 스택을 변경하고 관리할 수 있습니다.
  • 크로스 플랫폼 지원: 다양한 운영체제와 기기에서 일관된 사용자 경험을 제공합니다.

Thunderbolt의 접근 방식은 AI 교육 플랫폼 설계에 중요한 시사점을 제공합니다. 사용자가 특정 AI 모델에 종속되지 않고 다양한 모델을 직접 실험하고 비교하며 학습할 수 있는 환경을 제공함으로써, AI 기술에 대한 깊이 있는 이해를 도울 수 있습니다. 또한, 개발자들은 Thunderbolt를 활용하여 자체적인 AI 기반 애플리케이션을 구축하고, 데이터 보안 및 모델 선택에 대한 통제권을 확보할 수 있습니다. 이는 특히 민감한 데이터를 다루거나 규제가 엄격한 산업 분야에서 큰 이점을 제공할 것입니다.

AI 코드 작성의 미래: 책임감 있는 ‘바이브 코딩’

Andrej Karpathy가 정의한 ‘바이브 코딩(Vibe coding)’은 AI에게 코드 작성을 전적으로 맡기는 것을 의미합니다. 단순히 많은 양의 코드를 생성하는 것이 아니라, 마치 컴파일러가 생성한 어셈블리를 사람이 일일이 읽지 않듯, AI가 작성한 코드 자체보다 결과물의 품질과 정확성에 집중하는 것이 핵심입니다. Anthropic의 연구자 Eric은 프로덕션 환경에서 바이브 코딩을 책임감 있게 활용하는 방법을 제시하며, 개발자의 역할이 직접 코드를 구현하는 사람에서 AI의 ‘프로덕트 매니저’로 전환되어야 한다고 주장합니다. 이는 AI에게 명확한 요구사항, 맥락, 제약 조건을 전달하는 것이 중요하며, 이러한 투자가 성공률을 크게 높인다는 것을 의미합니다. 또한, 바이브 코딩은 코드베이스의 ‘리프 노드’, 즉 다른 코드에 의존하지 않는 말단 기능에 집중해야 하며, 핵심 아키텍처나 근간 코드는 여전히 사람이 깊이 이해하고 관리해야 한다고 강조합니다. 스트레스 테스트와 입출력 기반 검증 체크포인트를 설계하여 코드를 전부 읽지 않고도 안정성과 정확성을 확인하는 ‘검증 가능성 설계’가 필수적입니다.

교육 현장에서의 시사점: AI와 함께 성장하는 미래 인재

Swarms와 Thunderbolt와 같은 멀티 에이전트 오케스트레이션 프레임워크, 그리고 책임감 있는 바이브 코딩의 개념은 미래 교육에 중요한 시사점을 던집니다. AI 에이전트가 복잡한 작업을 수행하고 코드를 생성하는 능력이 향상됨에 따라, 교육 현장에서는 단순히 코딩 기술을 가르치는 것을 넘어 AI 에이전트와 효과적으로 협업하고, AI가 생성한 결과물을 비판적으로 평가하며, AI를 활용하여 창의적인 문제 해결 능력을 키우는 방향으로 교육 패러다임이 전환될 필요가 있습니다.

어린이 교육의 관점에서 볼 때, 이러한 기술은 인터랙티브한 학습 경험을 제공하는 데 활용될 수 있습니다. 예를 들어, 아이들이 직접 AI 에이전트에게 미션을 주고, 에이전트가 수행하는 과정을 관찰하며 문제 해결 과정을 배우는 교육용 게임을 개발할 수 있습니다. 또한, AI가 생성한 이야기를 바탕으로 아이들이 자신만의 상상력을 더해 이야기를 완성하거나, AI와 함께 그림을 그리고 코드를 짜는 등의 활동을 통해 창의력과 문해력을 동시에 향상시킬 수 있습니다. Swarms와 같은 프레임워크는 이러한 교육용 AI 시스템을 구축하는 데 필요한 복잡한 에이전트 간의 상호작용을 효율적으로 관리하는 기반을 제공할 수 있습니다. Thunderbolt와 같이 사용자가 AI 모델을 직접 선택하고 데이터를 통제할 수 있는 환경은, 아이들이 AI 기술의 작동 원리를 더 깊이 이해하고 윤리적인 측면에 대해 고민하는 교육에도 기여할 수 있습니다. 결국, 미래의 인재는 AI를 도구로 활용하여 지식을 탐구하고 문제를 해결하는 능력을 갖춘 사람일 것입니다. 교육 현장은 이러한 변화에 발맞춰 AI 리터러시 교육을 강화하고, 학생들이 AI와 협력하며 성장할 수 있는 환경을 조성해야 합니다.

결론: AI 에이전트 시대를 위한 준비

kyegomez/swarms와 thunderbird/thunderbolt는 AI 에이전트 기술이 나아갈 방향을 명확히 보여줍니다. Swarms는 복잡한 멀티 에이전트 시스템을 엔터프라이즈 환경에서 안정적으로 운영하기 위한 강력한 오케스트레이션 기능을 제공하며, Thunderbolt는 사용자에게 AI 모델과 데이터에 대한 통제권을 부여함으로써 탈중앙화된 AI 생태계를 구축하는 데 기여합니다. 또한, 책임감 있는 ‘바이브 코딩’의 개념은 AI가 생성한 결과물을 효과적으로 관리하고 활용하는 방법을 제시합니다. AI 에이전트가 더욱 발전함에 따라, 이러한 기술들을 이해하고 실무에 적용하는 능력은 교육자, 창작자, 개발자 모두에게 필수적인 역량이 될 것입니다. 지금이야말로 AI 에이전트와 함께 일하고 배우는 새로운 시대에 대비해야 할 때입니다.

출처 및 참고 링크

출처 및 참고 링크

2026년 최고의 AI 생산성 도구 TOP 10: 업무 효율을 10배 높이는 방법

AI 생산성 도구 시장이 폭발적으로 성장하고 있다. 수백 가지 도구 중 실제로 업무에 도움이 되는 검증된 10가지를 엄선하여 소개한다.

1. Claude (Anthropic)

긴 문서 분석, 코드 작성, 복잡한 추론에 강점을 보이는 AI. 특히 200K 컨텍스트 윈도우는 긴 보고서나 코드베이스를 통째로 분석하는 데 탁월하다. 국내에서는 claude.ai로 이용 가능하다.

2. Gemini Advanced (Google)

Google Workspace와 깊이 통합되어 있어 Gmail, Docs, Sheets에서 AI 기능을 바로 사용할 수 있다. 이미지 이해 능력이 뛰어나며 실시간 정보 검색도 지원한다.

3. Notion AI

노션 문서 내에서 AI가 요약, 번역, 초안 작성을 지원한다. 회의록 자동 정리, 프로젝트 브리프 작성에 특히 유용하다. 월 10달러 추가로 이용 가능.

4. Perplexity AI

AI 기반 검색 엔진으로 복잡한 질문에 출처를 포함한 종합적인 답변을 제공한다. 기존 구글 검색을 대체할 수 있는 수준으로 성장했다.

5. GitHub Copilot

개발자라면 필수 도구. 코드 자동 완성, 버그 수정, 테스트 코드 작성까지 AI가 실시간으로 지원한다. VS Code, JetBrains IDE 등에 플러그인으로 통합된다.

6. Midjourney / DALL-E 3

텍스트로 이미지를 생성하는 AI. 발표 자료, 마케팅 콘텐츠, 블로그 이미지를 빠르게 제작할 수 있다. 디자이너와의 협업 도구로도 활용된다.

7. ElevenLabs

텍스트를 자연스러운 음성으로 변환하는 AI TTS 서비스. 유튜브 내레이션, 팟캐스트, 이러닝 콘텐츠 제작에 활용된다. 29개 언어 지원.

8. Otter.ai

회의 내용을 실시간으로 텍스트로 변환하고 요약해준다. Zoom, Google Meet, Teams와 연동되며 한국어도 지원한다.

9. Zapier AI

반복 업무를 AI로 자동화하는 플랫폼. “이메일이 오면 슬랙에 알림 보내기”, “구글 폼 제출 시 노션에 자동 저장” 같은 워크플로우를 코딩 없이 만들 수 있다.

10. Cursor

AI를 통합한 코드 에디터. VS Code 기반으로 전환이 쉬우며, 코드베이스 전체를 AI가 이해한 상태에서 개발을 지원한다. 개발자 생산성을 극적으로 높여주는 도구.

도구 선택 기준

모든 도구를 다 사용할 필요는 없다. 자신의 주요 업무(글쓰기, 코딩, 디자인, 분석)를 파악하고 그에 맞는 2~3가지 도구에 집중하는 것이 효율적이다.

내 PC에서 AI 실행하기: Ollama로 로컬 LLM 완전 정복

ChatGPT 같은 클라우드 AI는 강력하지만, 개인정보 보호와 비용 문제가 걸린다. 이제는 내 컴퓨터에서 직접 AI 모델을 실행할 수 있는 시대가 됐다. Ollama를 이용한 로컬 LLM 구축 방법을 소개한다.

Ollama란?

Ollama는 Llama, Mistral, Gemma, Qwen 등 오픈소스 대형 언어 모델을 로컬에서 쉽게 실행할 수 있게 해주는 도구다. Docker처럼 간단한 명령어로 AI 모델을 다운받고 실행할 수 있다.

설치 방법 (Windows/Mac/Linux)

1. Ollama 다운로드: ollama.ai에서 운영체제에 맞는 설치 파일을 다운로드한다.

2. 모델 설치: 터미널에서 다음 명령어를 실행한다:

ollama pull llama3.2
ollama pull mistral
ollama pull gemma2

3. 실행: 설치 후 바로 대화 시작:

ollama run llama3.2

추천 모델 비교

Llama 3.2 (Meta): 3B, 11B 파라미터 모델. 한국어 지원이 나쁘지 않고 빠른 응답 속도.

Mistral 7B: 경량이지만 성능이 좋다. 코딩과 영어 문서 작업에 최적.

Qwen 2.5: 알리바바의 모델로 한국어 포함 다국어 성능이 우수하다.

Gemma 2 (Google): 구글의 오픈소스 모델로 안전성이 강조됐다.

Open WebUI로 ChatGPT처럼 사용하기

터미널 대신 브라우저 인터페이스로 사용하고 싶다면 Open WebUI를 설치한다:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway ghcr.io/open-webui/open-webui:main

설치 후 localhost:3000에 접속하면 ChatGPT와 비슷한 UI로 로컬 AI를 사용할 수 있다.

로컬 AI 활용 사례

  • 회사 내부 문서 분석 (데이터 외부 유출 없음)
  • 코드 리뷰 및 디버깅 보조
  • 개인 노트 정리 및 요약
  • 오프라인 환경에서의 AI 활용

최소 사양

7B 파라미터 모델 기준: RAM 8GB 이상, 저장공간 5GB 이상. GPU가 없어도 CPU만으로 실행 가능하지만 속도가 느릴 수 있다. NVIDIA GPU가 있다면 훨씬 빠른 응답을 경험할 수 있다.

프롬프트 엔지니어링 완전 가이드: AI를 제대로 활용하는 방법

챗GPT, Claude, Gemini 등 생성형 AI를 효과적으로 활용하려면 “프롬프트 엔지니어링”이 핵심 역량이다. 이 글에서는 초보자부터 전문가까지 활용할 수 있는 프롬프트 작성법을 단계별로 소개한다.

프롬프트 엔지니어링이란?

프롬프트(Prompt)는 AI에게 입력하는 명령어나 질문이다. 같은 AI 모델에게 같은 내용을 물어도 프롬프트를 어떻게 작성하느냐에 따라 결과물의 질이 크게 달라진다. 프롬프트 엔지니어링은 이를 체계적으로 최적화하는 기술이다.

기본 원칙 5가지

1. 명확성(Clarity): 원하는 것을 구체적으로 서술한다. “글 써줘”보다 “2000자 분량의 AI 교육 칼럼을 초등학생도 이해할 수 있게 써줘”가 훨씬 효과적이다.

2. 맥락(Context): 배경 정보를 충분히 제공한다. AI는 맥락이 많을수록 더 적절한 답을 생성한다.

3. 예시(Examples): 원하는 형식이나 스타일의 예시를 포함하면 AI가 방향을 잡기 쉽다.

4. 역할 부여(Persona): “너는 10년 경력의 마케터야”처럼 AI에게 역할을 부여하면 해당 분야 전문가처럼 응답한다.

5. 출력 형식(Format): 원하는 결과물의 형식(목록, 표, JSON 등)을 명시한다.

고급 기법: Chain of Thought

“단계별로 생각해봐(Think step by step)”라는 문구를 추가하면 AI가 복잡한 문제를 논리적으로 분해하여 더 정확한 답을 낼 수 있다. 수학 문제나 코딩 디버깅에 특히 효과적이다.

프롬프트 템플릿 예시

다음은 업무에 바로 활용할 수 있는 프롬프트 템플릿이다:

  • 리포트 요약: “다음 보고서를 5개의 핵심 인사이트로 요약해줘. 각 인사이트는 2문장 이내로 작성해줘: [내용]”
  • 이메일 작성: “전문적이지만 친근한 톤으로, [상대방]에게 [목적]을 위한 이메일을 작성해줘. 300자 이내로 간결하게.”
  • 아이디어 브레인스토밍: “다음 주제로 10가지 창의적인 아이디어를 제안해줘. 각 아이디어는 실행 가능해야 해: [주제]”

마치며

프롬프트 엔지니어링은 더 이상 개발자만의 영역이 아니다. AI를 도구로 활용하는 모든 사람이 익혀야 할 디지털 리터러시의 기본이 됐다. 지금 바로 위의 기법들을 실험해보자.

AI Hardware Boom & The Agentic Future

AI 하드웨어와 교실
AI로 제작한 교육 안내 이미지

AI Hardware Boom & The Agentic Future

LEVEL 1 (Kinder)

AI Brains Get Bigger 🧠

Computers need a brain to think. The brain is called a chip. Companies are making stronger chips so computers can be smarter!
LEVEL 2 (Kids)

The Great AI Chip Race 🏃‍♂️💨

Companies like Nvidia and Broadcom are making super-fast chips for AI. These chips allow computers to learn and do amazing things. Because everyone wants them, big tech companies are trying to build their own chips too!
LEVEL 3 (Tech)

Semiconductor Market Surges 💻

The AI hardware boom shows no signs of slowing down in March 2026. Earnings reports from Nvidia and Broadcom highlight explosive demand for custom AI accelerators and networking hardware. In response to supply shortages, hyperscalers like Google and Meta are accelerating the development of their own proprietary silicon to secure infrastructure dominance.
LEVEL 1 (Tech)

Helpful Robot Friends 🤖

AI is like a helpful friend. Now, it can do chores by itself. You can ask it to help, and it goes to work!
LEVEL 2 (Tech)

AI Agents Take Charge! 🕵️‍♀️

A new type of AI called the “Agentic AI” is becoming very popular in 2026. Instead of just answering questions, these AI agents can plan and do whole tasks on their own, like organizing your homework or managing a store’s supplies.
LEVEL 3 (Enterprise)

Rise of the Agentic AI 🚀

Agentic AI has evolved from a buzzword to business reality. By 2026, multi-agent systems are fully deployed across enterprise workflows. These autonomous systems can reason, execute complex multistep processes, and adapt to changing environments, significantly augmenting human operations in software development and global supply chain management.
LEVEL 1 (World)

New Ways to Work 👩‍💻

Adults go to work every day. Now, they use AI to help them. It makes their jobs faster and more fun.
LEVEL 2 (World)

How AI is Changing Jobs 💼

The government and big businesses are talking about how AI is changing the way we work. People need to learn new skills to use AI computers. Universities are even making new “AI Majors” so students can learn all about it!
LEVEL 3 (Society)

Workforce Transformation 🌐

The integration of AI into the global workforce is prompting major policy shifts. Governments are hosting academies to discuss AI’s impact on employment, while universities are rapidly deploying AI-focused curricula. The mandate for 2026 is clear: upskilling workers to collaborate effectively with intelligent systems is an economic necessity.
LEVEL 1 (Tech)

A Big Box of Knowledge 📦

AI needs to remember lots of things. It uses a big box called a database to keep all the information safely.
LEVEL 2 (Tech)

Powering AI with Data 📊

Apps that use AI need to handle a huge amount of messy information. Companies like MongoDB provide special online services to store and sort this data quickly, so the AI can find exactly what it needs to answer your questions.
LEVEL 3 (Dev)

Unstructured Data Demand 📈

Cloud database providers like MongoDB are experiencing record growth, driven largely by the demands of AI application development. The critical need to ingest, process, and retrieve vast amounts of unstructured data for RAG (Retrieval-Augmented Generation) pipelines has positioned robust data infrastructure as the backbone of modern AI solutions.

Project Auteur: The Agentic Animation Studio

에이전트 애니메이션 스튜디오
AI로 제작한 교육 안내 이미지

Project Auteur: The Agentic Animation Studio

🎬 Project Auteur: The Agentic Animation Studio

“From Script to Cinema in One Click.”

Project Auteur is a state-of-the-art AI-Native Animation Pipeline that democratizes high-end storytelling. By orchestrating a team of autonomous agents—Director, Cinematographer, Animator, and Editor—it transforms raw text into fully realized animated films.


🏗️ The Architecture (7-Step Pipeline)

This project implements a “Studio-Level” workflow, moving beyond simple chatbots to a complex, multi-agent production system.

  1. The Director (Gemini 2.0 Flash): Analyzes the script, breaking it down into a beat-sheet and shot list.
  2. Pre-Viz (Mixboard): Establishes the “Style Anchor” (e.g., Claymation, Watercolor, Cyberpunk) to ensure visual consistency.
  3. Asset Factory (Google Whisk): Generates consistent character sheets and environmental assets.
  4. Motion Engine (Google Veo): Simulates camera movement and character acting (Pan, Zoom, Emote).
  5. Voice Synthesis (ElevenLabs v3): Delivers emotive, character-specific dialogue using the new “Meta-Prompting” engine.
  6. Composition (Remotion): Programmatically assembles video, audio, and subtitles into the final MP4.
  7. Delivery: Instant rendering via Next.js and Cloud Run.

🎥 Case Study: “Mr. Putter & Tabby”

To validate the pipeline, we produced a short adaptation of Mr. Putter & Tabby Fly the Plane.

Key Innovations:

  • No Hallucinations: The “Director Agent” enforces strict adherence to the source text.
  • Zero API Key Leakage: Secure server-side synthesis.
  • Dynamic Styling: The entire visual style can be swapped (e.g., from Cartoon to Noir) by changing a single “Style Anchor” variable.

🛠️ Tech Stack using Moonlang Intelligence

  • Core: Next.js 15, React, TypeScript
  • Video Engine: Remotion (Programmatic Video)
  • AI Models: Gemini 2.0, Veo 3 (Proxy), Flux Schnell, ElevenLabs v3
  • Infrastructure: Vercel, Docker

This project represents the next leap in Generative UI—where interfaces don’t just display data, they direct it.

View Source on GitHub | Launch Studio

🚨 2026년, 전 세계가 합의한 AI 에이전트 개발의 6대 원칙

AI 에이전트 6원칙
AI로 제작한 교육 안내 이미지

🚨 2026년, 전 세계가 합의한 AI 에이전트 개발의 6대 원칙

🚨 2026년, 전 세계가 합의한 AI 에이전트 개발의 6대 원칙

2026년 초, 컨텍스트 엔지니어링(Context Engineering) 이 단순 유행이 아니라 에이전트 성능을 좌우하는 핵심 공학 영역으로 자리 잡았습니다.

이제 결론은 분명합니다. 👉 이 6가지를 모르면, 2026년에 경쟁력이 없습니다.

Hero Image


1️⃣ 컨텍스트는 “정적”이 아니라 “동적”으로 운영하라

Static Prompting은 끝났습니다.

  • 필요한 순간에만 컨텍스트를 발견·복원·리랭킹
  • 전체를 넣는 것이 아니라 경로·참조·요약만 유지
  • 핵심 지표는 토큰 수가 아니라 KV-cache hit rate / latency / 품질

📌 핵심 인사이트

“컨텍스트는 저장하는 것이 아니라 탐색(discover) 하는 것”


2️⃣ Planning이 곧 결과의 80%다

모호한 지시 → 즉시 실행 = 실패하는 에이전트의 전형

  • 실행 전 요구사항 인터뷰
  • 계획을 명시적 아티팩트(md 파일) 로 분리
  • 실행은 계획의 “컴파일” 단계일 뿐

📌 핵심 인사이트

“에이전트는 코더가 아니라 설계자부터 되어야 한다”


3️⃣ Tool 설계의 출발점은 Bash & Codegen

커스텀 Tool부터 만드는 시대는 끝났습니다.

우선순위

  1. Bash
  2. 조합 가능
  3. 컨텍스트 적음
  4. 기존 소프트웨어 즉시 활용
  5. Code Generation
  6. API 호출 자체를 코드로 생성
  7. 도구를 설명하지 않고 작성

Evolution Comparison

트레이드오프

방식 장점 단점
Custom Tool 안정성 컨텍스트 큼
Bash 조합성 발견 비용
Codegen 유연성 실행 시간

📌 핵심 인사이트

“Tool은 등록하는 것이 아니라 조립한다”


4️⃣ 루프를 전제로 설계하라 (One-shot 금지)

한 번에 완벽한 출력? → 현실적으로 불가능

  • 자기 수정(Self-correction) 루프
  • 실패 로그·검증 결과를 다음 루프의 입력으로 사용
  • 검증 가능한 태스크일수록 반복이 강력

📌 핵심 인사이트

“에이전트 품질 = 반복 횟수 × 검증 가능성”


5️⃣ 멀티 모델 전략은 선택이 아니라 기본값

단일 모델 만능론은 비용·속도·품질 모두 손해

  • 고난도 플래닝
  • 대규모 문서 처리
  • 디버깅·추론

→ 태스크별 최적 모델 라우팅

📌 핵심 인사이트

“에이전트의 지능은 모델이 아니라 오케스트레이션에서 나온다”


6️⃣ 메모리는 반드시 계층화하라

상태를 못 관리하는 에이전트는 같은 실수를 반복

권장 구조

  • 단기 메모리: 현재 작업 컨텍스트
  • 중기 메모리: 세션 히스토리
  • 장기 메모리: 파일 시스템 / 실패 기록
  • 목표(todo)를 컨텍스트 말미에 반복 삽입
  • 실패 액션 + 스택 트레이스 보존

📌 핵심 인사이트

“기억하지 않는 에이전트는 학습하지 않는다”


🔚 결론

2026년은 답변하는 AI → 실제로 일하는 AI 에이전트로 넘어가는 분기점입니다.

이 6가지 원칙은 이미 실전 시스템에서 검증되었습니다.

❗ 지금 적용하지 않으면 경쟁자는 이미 적용하고 있습니다.


AI_Intelligence #Future_Tech #Agentic_Workflow

InDesign-LLM 통합 문서 자동화 시스템 구축 가이드

InDesign-LLM 통합 문서 자동화 시스템 구축 가이드

Adobe InDesign과 LLM API(OpenAI, Gemini)를 통합한 문서 자동화 시스템은 충분히 구현 가능하다. ExtendScript의 네이티브 HTTPS 미지원이라는 핵심 제약을 우회하는 방법이 여러 가지 존재하며, restix 라이브러리, CEP 패널, 또는 파일 기반 데이터 교환 방식이 가장 실용적인 접근법이다. 특히 수능 영어 문항 자동 생성의 경우, GPT-4o 기반 시스템이 4등급 수준(68점)의 문항을 생성할 수 있으며, o1-preview 모델은 1등급(88점) 수준까지 도달했다.


ExtendScript의 HTTP 통신 한계와 우회 방법

Socket 객체의 근본적 제약

ExtendScript의 Socket 객체는 TCP/IP 레벨의 기본 연결만 지원하며, SSL/TLS 암호화를 전혀 처리하지 못한다. OpenAI와 Gemini API는 모두 HTTPS를 필수로 요구하므로, 네이티브 Socket으로는 직접 연결이 불가능하다. HTTP/1.0만 지원하고 청크 전송 인코딩도 처리하지 못해 LLM의 스트리밍 응답 수신에도 문제가 있다.

// Socket 객체 - HTTP만 가능, HTTPS 불가
var conn = new Socket;
if (conn.open("api.example.com:80")) {
    conn.write("GET /endpoint HTTP/1.0\r\n");
    conn.write("Host: api.example.com\r\n\r\n");
    var reply = conn.read(999999);
    conn.close();
}
프로토콜 지원 여부 비고
HTTP ✅ 제한적 Socket으로 수동 구현 필요
HTTPS/SSL ❌ 불가 SSL/TLS 지원 없음
XMLHttpRequest ❌ 불가 브라우저 API 미포함

restix 라이브러리가 최적의 무료 솔루션

restix는 플랫폼별 스크립팅(Windows: VBScript+ServerXMLHTTP, macOS: AppleScript+curl)을 활용해 HTTPS 요청을 가능하게 하는 오픈소스 라이브러리다. CS4부터 CC 2024까지 모든 버전에서 작동하며, app.doScript() 메서드를 통해 외부 스크립트를 호출한다.

#include "restix.jsx"

var request = {
    url: "https://api.openai.com",
    command: "v1/chat/completions",
    port: 443,
    method: "POST",
    headers: [
        {name: "Authorization", value: "Bearer YOUR_API_KEY"},
        {name: "Content-Type", value: "application/json"}
    ],
    body: JSON.stringify({
        model: "gpt-4o",
        messages: [{role: "user", content: "수능 영어 빈칸추론 문제 생성"}]
    })
};

var response = restix.fetch(request);
var data = JSON.parse(response.body);

상용 솔루션으로는 JSXGetURL($49/년)이 있으며, libcurl 기반의 네이티브 성능과 InDesign Server 지원이 장점이다.


Node.js와 Python 연동 아키텍처

CEP 패널 기반 통합이 가장 성숙한 접근법

CEP(Common Extensibility Platform) 패널은 Chromium 기반 HTML5 환경을 제공하여 fetch API와 XMLHttpRequest를 완벽히 지원한다. 패널 JavaScript에서 API를 호출하고, CSInterface를 통해 ExtendScript와 양방향 통신한다.

┌─────────────────────────────────────────┐
│ CEP Panel (JavaScript/HTML)             │
│ ↓ fetch() → LLM API                     │
│ ↓ CSInterface.evalScript()              │
├─────────────────────────────────────────┤
│ ExtendScript Engine (JSX)               │
│ ↓ InDesign DOM 조작                      │
└─────────────────────────────────────────┘

CEP 패널 JavaScript 예시:

async function generateContent(prompt) {
    const response = await fetch('https://api.openai.com/v1/chat/completions', {
        method: 'POST',
        headers: {
            'Authorization': 'Bearer ' + apiKey,
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            model: 'gpt-4o',
            messages: [{role: 'user', content: prompt}]
        })
    });

    const data = await response.json();
    const csInterface = new CSInterface();
    csInterface.evalScript(
        `createTextFrame('${data.choices[0].message.content.replace(/'/g, "\\'")}')`,
        (result) => console.log("완료:", result)
    );
}

CEP 12가 마지막 메이저 릴리스로 발표되었으나, 보안 업데이트는 계속된다. 신규 프로젝트는 UXP 전환을 고려해야 한다.

UXP가 Adobe의 미래 방향

UXP v8.0이 InDesign 2025(v20.0)에 탑재되었으며, ES6+ 현대 JavaScript와 fetch API를 네이티브 지원한다. .idjs 확장자의 UXP 스크립트는 Scripts Panel에서 직접 실행 가능하다.

// UXP 스크립트 (modern JavaScript)
const { app } = require("indesign");
const fs = require("uxp").storage.localFileSystem;

async function processAIContent() {
    const response = await fetch('https://api.openai.com/v1/chat/completions', {
        method: 'POST',
        headers: { 'Authorization': 'Bearer API_KEY' },
        body: JSON.stringify({ model: 'gpt-4o', messages: [...] })
    });

    const data = await response.json();
    const doc = app.activeDocument;
    const textFrame = doc.pages[0].textFrames.add();
    textFrame.contents = data.choices[0].message.content;
}

Python COM/AppleScript 브릿지

Windows에서는 pywin32를 통한 COM 연결이 가장 안정적이며, macOS에서는 appscript 라이브러리로 AppleScript 브릿지를 구현한다.

# Windows COM 연결
import win32com.client
from openai import OpenAI

client = OpenAI()
app = win32com.client.Dispatch('InDesign.Application.2024')
doc = app.ActiveDocument

# LLM으로 콘텐츠 생성
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "제품 설명 작성"}]
)

# InDesign에 텍스트 배치
page = doc.Pages[0]
text_frame = page.TextFrames.Add()
text_frame.GeometricBounds = [0, 0, 100, 200]
text_frame.Contents = response.choices[0].message.content

실무 워크플로우 설계

파일 기반 데이터 교환이 가장 범용적

LLM API 호출과 InDesign 스크립트 실행을 JSON 파일로 연결하는 방식이 플랫폼 독립적이고 디버깅이 용이하다.

전체 파이프라인:

[Node.js/Python]          [JSON 파일]           [InDesign]
LLM API 호출 ────▶ layout_data.json ────▶ JSX 스크립트
콘텐츠 생성                데이터 저장              문서 생성

JSON 데이터 구조 예시:

{
  "elements": [
    {
      "type": "text",
      "content": "Spring Collection 2025",
      "style": "Headline",
      "bounds": [50, 50, 100, 500]
    },
    {
      "type": "image",
      "path": "/images/hero.jpg",
      "bounds": [110, 50, 300, 500]
    }
  ]
}

ExtendScript JSON 처리 (json2.js 필요):

#include "json2.js"

var jsonFile = File(Folder.myDocuments + "/layout_data.json");
jsonFile.open('r');
var data = JSON.parse(jsonFile.read());
jsonFile.close();

var doc = app.activeDocument;
var page = doc.pages[0];

for (var i = 0; i < data.elements.length; i++) {
    var elem = data.elements[i];

    if (elem.type === "text") {
        var tf = page.textFrames.add({
            geometricBounds: elem.bounds,
            contents: elem.content
        });

        try {
            tf.paragraphs.everyItem().appliedParagraphStyle = 
                doc.paragraphStyles.itemByName(elem.style);
        } catch (e) {}
    }

    if (elem.type === "image") {
        var imgFrame = page.rectangles.add({geometricBounds: elem.bounds});
        imgFrame.place(new File(elem.path));
        imgFrame.fit(FitOptions.FILL_PROPORTIONALLY);
    }
}

Node.js에서 InDesign 스크립트 트리거

// generate-and-run.js
import OpenAI from 'openai';
import { spawn } from 'child_process';
import fs from 'fs';

const openai = new OpenAI();

async function generateDocument(prompt) {
    // 1. LLM으로 콘텐츠 생성
    const completion = await openai.chat.completions.create({
        model: 'gpt-4o',
        messages: [{role: 'user', content: prompt}],
        response_format: { type: "json_object" }
    });

    // 2. JSON 파일 저장
    const layoutData = JSON.parse(completion.choices[0].message.content);
    fs.writeFileSync('./layout_data.json', JSON.stringify(layoutData, null, 2));

    // 3. InDesign 스크립트 실행 (macOS)
    spawn('osascript', ['-e', 
        `tell application "Adobe InDesign 2025" to do script "${scriptPath}" language javascript`
    ]);
}

AI 통합 플러그인 현황

MATE for InDesign이 현재 최고의 상용 솔루션

MATE(omata.io)는 ChatGPT, Claude, Gemini, Mistral API를 직접 통합한 InDesign 플러그인으로, 자연어 명령을 스크립트로 변환하고 자동 실행한다. 텍스트 번역, 길이 조절, GREP 패턴 생성, 이미지 플레이스홀더 생성 기능을 제공한다. $39 일회성 구매(BYOK 방식)로 사용 가능하다.

오픈소스 대안:

  • OpenAI for InDesign (Roland Dreger, GitHub): GPT-4o 지원 UXP 플러그인, 번역/텍스트 요약/GREP 생성 기능

  • Lorem Chatum (Adam Twardoch): ChatGPT 기반 맥락 인식 플레이스홀더 텍스트 생성

Data Merge의 한계와 서드파티 도구

InDesign 내장 Data Merge는 5,000개 미만 레코드의 간단한 프로젝트에 적합하지만, 조건부 서식/콘텐츠 불가, 맞춤 페이지 레이아웃 불가, 대량 데이터셋 크래시 등의 제약이 있다.

도구 가격 용도
EasyCatalog $1,898/seat 엔터프라이즈 카탈로그
InData Pro \~$387 데이터베이스 동기화
DataLinker $229/년 중소규모 자동화
Pagination.com SaaS 클라우드 기반

수능 영어 문항 생성 전략

문항 유형별 구조와 프롬프트 설계

빈칸 추론(31-34번) – 최고 난이도 문항:

Generate a CSAT English 빈칸추론 question.

SPECIFICATIONS:
- Academic passage (180-220 words) about [심리학/사회과학/자연과학]
- Blank contains a phrase (8-15 words) expressing [핵심 논지/논리적 결론]
- Difficulty: 3점 고난도

DISTRACTOR REQUIREMENTS:
- All 5 options similar in length and grammatical structure
- Include one "attractive distractor" that appears correct but contradicts a subtle detail
- Each distractor relates to passage topic but is logically incorrect

Output JSON format:
{
  "passage": "Full text with ___________",
  "question_stem": "다음 빈칸에 들어갈 말로 가장 적절한 것은? [3점]",
  "choices": ["① ...", "② ...", "③ ...", "④ ...", "⑤ ..."],
  "correct_answer": 2,
  "explanation": "정답 근거 및 오답 분석"
}

순서 배열(36-37번):

Generate a CSAT English 순서배열 question.

STRUCTURE:
1. Opening paragraph (2-3 sentences) introducing topic
2. Three paragraphs (A), (B), (C) each 2-3 sentences

COHERENCE MARKERS:
- Paragraph A: demonstrative reference (This, These, Such)
- Paragraph B: contrast/addition marker (However, Moreover)  
- Paragraph C: conclusion marker (Therefore, As a result)

Ensure ONLY ONE correct ordering is logically valid.
Create clear topic chains: repeated keywords, synonyms, pronouns.

난이도 조절 파라미터

파라미터 쉬움(2점) 보통(2-3점) 어려움(3점)
어휘 수준 EBS 고빈도 혼합 저빈도, 학술적
문장 복잡도 단문/중문 복문 1-2절 다중 내포절
추론 깊이 직접 재진술 1단계 추론 다단계 추론
지문 길이 120-150단어 150-200단어 200-250+단어
오답 유사도 명확히 구분 중간 매우 유사

프롬프트 엔지니어링 최적화

형식 지정 프롬프트가 가장 효과적:

당신은 대한민국 수능 영어 출제위원입니다.
다음 형식을 반드시 따라 문제를 생성하세요:

지문: (주제와 관련된 학술적 지문 180-220단어)
질문: (문제 유형에 맞는 질문문)
선지:
① (선택지 1)
② (선택지 2)
③ (선택지 3)
④ (선택지 4)
⑤ (선택지 5)
정답: (정답 번호)
해설: (정답 근거와 오답 분석)

Let's think step by step. 단계별로 생각하며 문제를 만드세요.

KICE_slayer_AI_Korean 연구 결과, GPT o1-preview가 88점(1등급, 상위 4%)을 기록했으며, GPT-4는 평균 68점(4등급)을 달성했다. 영어 프롬프트에 한국어 요구사항 조합이 최적의 성능을 보였다.


배치 처리를 위한 InDesign 스크립트 예시

텍스트 프레임과 테이블 생성

// 텍스트 프레임 생성 및 스타일 적용
function createStyledTextFrame(page, bounds, content, styleName) {
    var textFrame = page.textFrames.add({
        geometricBounds: bounds,
        contents: content
    });

    try {
        var pStyle = app.activeDocument.paragraphStyles.itemByName(styleName);
        if (pStyle.isValid) {
            textFrame.paragraphs.everyItem().appliedParagraphStyle = pStyle;
        }
    } catch (e) {}

    textFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.ASCENT_OFFSET;
    return textFrame;
}

// 테이블 생성
function createTableFromData(page, bounds, tableData, hasHeader) {
    var textFrame = page.textFrames.add({geometricBounds: bounds});
    var numRows = tableData.length;
    var numCols = tableData[0].length;

    var table = textFrame.insertionPoints[0].tables.add({
        bodyRowCount: numRows,
        columnCount: numCols
    });

    for (var row = 0; row < numRows; row++) {
        for (var col = 0; col < numCols; col++) {
            var cell = table.cells.item(col + ":" + row);
            cell.contents = String(tableData[row][col]);

            if (hasHeader && row === 0) {
                cell.fillTint = 20;
                cell.texts[0].fontStyle = "Bold";
            }
        }
    }
    return table;
}

수능 문항 워크시트 자동 생성

#include "json2.js"

function generateCSATWorksheet(jsonPath) {
    var data = readJSONFile(jsonPath);
    var doc = app.documents.add();

    for (var i = 0; i < data.questions.length; i++) {
        var q = data.questions[i];
        var page = (i === 0) ? doc.pages[0] : doc.pages.add();

        // 문제 번호 및 배점
        createStyledTextFrame(page, [20, 20, 35, 100], 
            q.number + ". [" + q.points + "점]", "QuestionNumber");

        // 지문
        createStyledTextFrame(page, [40, 20, 150, 400], 
            q.passage, "PassageText");

        // 질문
        createStyledTextFrame(page, [155, 20, 170, 400], 
            q.question_stem, "QuestionStem");

        // 선지
        var choiceY = 175;
        for (var c = 0; c < q.choices.length; c++) {
            createStyledTextFrame(page, [choiceY, 20, choiceY + 15, 400],
                q.choices[c], "Choice");
            choiceY += 18;
        }
    }

    return doc;
}

권장 구현 전략

개발 환경별 최적 접근법

환경 권장 방법 이유
데스크톱 인터랙티브 CEP 패널 + fetch 현대 JS, 풍부한 UI
배치 자동화 restix + JSON 파일 교환 단순함, 안정성
서버/대량 처리 InDesign Server + SOAP 멀티인스턴스, 확장성
신규 프로젝트 UXP 플러그인 미래 지향, ES6+

3단계 구현 로드맵

1단계 – 프롬프트 개발:

  • 형식 지정 프롬프트 + Zero-shot-CoT 조합

  • 문항 유형별 JSON 스키마 정의

  • 난이도 파라미터 테스트

2단계 – 파이프라인 구축:

  • Node.js/Python으로 LLM API 호출 스크립트

  • JSON → InDesign Data Merge CSV 변환

  • InDesign 템플릿 설계 (스타일, 마스터 페이지)

3단계 – 자동화 및 품질 관리:

  • 배치 내보내기 (PDF 워크시트 + 정답지)

  • 인간 검토 워크플로우 통합

  • 피드백 기반 프롬프트 개선

이 시스템으로 수능 영어 문항 대량 생성이 실현 가능하며, LLM의 품질 향상에 따라 점진적으로 자동화 범위를 확대할 수 있다. 핵심은 LLM 출력을 구조화된 JSON으로 받아 InDesign 스크립트가 해석할 수 있는 형태로 변환하는 것이다.