Supercharge your tools with AI-powered features inside many JetBrains products
이전 시리즈: Kotlin으로 AI 에이전트 구축하기 – 1부: 최소 구성의 코딩 에이전트 Kotlin으로 AI 에이전트 구축하기 – 2부: 도구에 대한 심층 탐구 2개의 글을 거치면서 코딩 에이전트가 꽤 일을 수행할 수 있게 되었습니다. 프로젝트 구조를 파악하고 코드를 작성하며 셸 명령어 및 테스트를 실행할 수 있습니다. 지난 글에서는 완료 정의(DoD)를 추가한 덕분에 에이전트가 완성도 높은 피드백 루프까지 갖추게 되어 이제 임의의 시점에 프로세스를 종료하지 않고 모든 테스트가 통과할 때까지 반복 처리…
이전 글에서는 목록화, 읽기, 쓰기, 편집 기능을 갖춘 기본적인 코딩 에이전트를 어떻게 구축하는지 살펴보았습니다. 오늘은 Koog 프레임워크에서 추가 도구를 만들어 에이전트의 기능을 확장하는 방법에 대해 자세히 살펴봅니다. 일례로, ExecuteShellCommandTool을 구축하여, 에이전트가 코드를 실행하고 실제 엔지니어링에 사용되는 피드백 루프(코드 실행, 실패 관찰, 실제 출력을 기반으로 코드 개선)를 종료하도록 훈련합니다. LLM은 문법 오류를 피하는 데에는 비교적 강하지만, 통합 단계에서는 어려움을 겪는 경우가 많습니다…
에이전트를 만드는 일은 조금은 독특한 일입니다. 단순히 무언가를 수행하는 코드를 작성하는 것이 아닙니다. LLM에게 작업 수행 능력을 부여하는 코드를 작성하고, 무엇을 할지는 LLM이 결정합니다. 에이전트란 무엇일까요? 에이전트는 작업이 완료되었다고 판단할 때까지 루프 안에서 함수를 호출하는 LLM입니다. 이러한 관점의 전환에는 적응이 필요합니다. 사용자는 에이전트에게 파일을 읽을 수 있는 능력을 부여하고, 어떤 파일을 언제 읽을지는 에이전트가 결정합니다. 에이전트가 메인 파일부터 시작할 것이라고 예상할 수 있겠지만 …