제10장. 코드 에이전트와 코드 LLMs
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
코딩 에이전트는 예상되는 영향력의 규모 측면에서 가장 강력한 AI 에이전트 유형 중 하나입니다. 2020년 GPT-3( ) 수준의 규모에 도달하자마자, 코드 생성은 LLMs의 초기 응용 분야 중 하나가 되었습니다. 제3장에서 살펴보았듯이, 코드 생성은 추론 LLM이 다루는 추론 문제의 주요 구성 요소이기도 했습니다. 코드는 두 가지 이유로 LLM의 핵심 투자 분야입니다. 첫째, 소프트웨어 엔지니어링부터 연구, 데이터 분석, 시각화에 이르기까지 방대한 범위의 지식 작업이 코드로 표현될 수 있습니다. 둘째, 훈련에 더 유용한 점은 코드가 종종 자동으로 검증될 수 있다는 것입니다. 코드를 실행하거나 테스트하여 제대로 작동했는지 여부에 대한 명확한 신호를 얻을 수 있습니다. 이러한 검증 가능성 덕분에 코딩은 객관적인 확인 기준이 없는 개방형 과제보다 다루기 쉬워집니다.
이 장에서는 그러한 세계를 자세히 살펴보겠습니다. 코드 에이전트를 사용하고 개발하는 사람들을 만나보고, 소프트웨어 엔지니어링 에이전트의 특징을 살펴보며, 직접 하나를 만들어 보고, 마지막으로 그 기반이 되는 코드 LLMs이 어떻게 훈련되는지 알아보겠습니다.
코드 에이전트 및 대규모 언어 모델의 사용자와 개발자
에서 코드 에이전트가 어떻게 구축되는지 살펴보기 전에, 이 에이전트가 누구를 위한 것인지 알아두는 것이 도움이 됩니다. 왜냐하면 이를 사용하고 구축하는 사람들의 요구 사항은 매우 다르기 때문입니다. 그림 10-1은 관련 주체들을 정리해 보여줍니다.
그림 10-1. 최종 사용자로부터 전문 소프트웨어 개발자 및 AI 연구자에 이르기까지 코드 에이전트의 대상사용자층
대략적으로 보면 사용자와 개발자로 나뉩니다. 코드 에이전트의 사용자는 코드 자체와 얼마나 밀접하게 작업하느냐에 따라 세 그룹으로 구분됩니다: 차트나 분석 결과와 같은 비코드 출력을 원하며 코드를 전혀 보지 않을 수도 있는 사람들; 작동하는 소프트웨어를 원하지만 자연어를 통해 구축하고 세부 사항은 에이전트가 처리하도록 맡기는 ‘바이브 코더(vibe coders)’; 그리고 코드베이스 내에서 코드를 읽고, 검토하며, 에이전트를 지시하는 소프트웨어 엔지니어링 전문가입니다. 빌더는 두 가지로 나뉩니다. 하나는 에이전트를 구축하여 모델을 중심으로 도구, 컨텍스트, 루프를 조립하는 사람들(이 장 후반부에서 우리가 직접 수행할 작업)이고, 다른 하나는 나머지 모든 것이 의존하는 코딩 LLMs을 훈련시키는 사람들입니다.
사람들은 종종 LLMs에게 코드를 생성해 달라고 요청합니다. 코딩 에이전트는 해당 코드를 실행하고, 발생하는 오류를 디버깅하며, 점점 더 큰 문제를 해결하기 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access