AI 에이전트 카탈로그를 만들며 배운 LLM 협업 패턴 — 8000줄 TypeScript 프로젝트 회고
AI 에이전트 시스템을 처음부터 만들어보면서 LLM과의 협업 방식을 체계화했다. 11개 commit으로 8000줄이 넘는 TypeScript 프로젝트를 구축하며 발견한 효과적인 프롬프팅 패턴과 구조화 전략을 정리한다. 배경: 무엇을 만들고 있는가 agentochester는 AI 에이전트를 카탈로그화하고 작업에 맞는 에이전트를 자동으로 매칭해주는 시스템...

Source: DEV Community
AI 에이전트 시스템을 처음부터 만들어보면서 LLM과의 협업 방식을 체계화했다. 11개 commit으로 8000줄이 넘는 TypeScript 프로젝트를 구축하며 발견한 효과적인 프롬프팅 패턴과 구조화 전략을 정리한다. 배경: 무엇을 만들고 있는가 agentochester는 AI 에이전트를 카탈로그화하고 작업에 맞는 에이전트를 자동으로 매칭해주는 시스템이다. 개발자가 "이런 작업을 하고 싶다"고 하면 수백 개의 에이전트 중에서 가장 적합한 것을 찾아주는 게 목표다. 핵심 구성 요소는 다음과 같다: TypeScript 기반 core engine (타입 정의, 파서, 매칭 알고리즘) YAML/Markdown 포맷으로 된 agent definition 파서 3-tier 매칭 시스템 (exact, fuzzy, semantic) Next.js 대시보드 (agent library, 매칭 패널) 8개 builtin agent와 validation 테스트 이번 작업의 목표는 proof-of-concept를 넘어서 실제 사용할 수 있는 MVP를 만드는 것이었다. 계층별 프롬프트 전략 — 타입부터 UI까지 이 프로젝트에서 가장 중요한 발견은 계층별로 다른 프롬프팅 접근법이 필요하다는 것이다. 타입 정의부터 UI 컴포넌트까지 각 레이어마다 AI에게 요구하는 방식을 달리했다. 타입 정의 단계: 제약 조건이 핵심 타입 정의는 전체 시스템의 뼈대가 되기 때문에 가장 신중하게 접근했다. 이때 효과적인 프롬프트 패턴: "TypeScript 타입을 정의해줘. 제약 조건: AgentDefinition은 name, description, capabilities, tags 필수 capabilities는 ALWAYS(필수 스킬)와 NEVER(금지 스킬) 배열 tags는 domain, complexity, output_format으로 분류 JSON serializable해야 함 모든 필드는 validation 가능하게 optional/required 명확히" 이렇게 쓰면 안 된다: "에이전트 시스템용