Kori 3월 31일, 2025에 포스트됨 3월 31일, 2025에 포스트됨 마르코 칸투 (Marco Cantu)의 "AI-Powered Smart CodeInsight in RAD Studio 12.3" 를 번역했습니다. (원문 작성: 2025년 3월, 최종 번역: 2025년 3월) 엠바카데로가 AI 솔루션을 RAD 스튜디오 IDE 안에 처음 넣은 것은 12.2 버전이었다. 스마트 코드인사이트라고 불리는 기술이다. 이것은 여러 LLM 엔진들을 사용할 수 있다. 몇 가지는 온라인이고, 하나는 오프라인 엔진이다. 하지만, 그 외의 엔진들을 위한 드라이버를 설치할 수 도 있다. 오픈 툴스 API 인터페이스가 있기 때문이다. 현재 사용할 수 있도록, 제공되는 엔진은 다음과 같다: OpenAI Ollama (오프라인) Gemini Claude RAD 스튜디오 IDE에서 LLM을 부르는 방법은 두 가지다: 범용 채팅 창을 사용하는 방법과 에디터에서 특정 명령을 실행하는 방법이다. 후자의 경우, 에디터에서 선택한 소스 코드를 프롬프트 안에 포함해 AI에 전달할 수 있다. 스마트 코드인사이트가 어떻게 작동하는지에 대해 AI 엔진에게 물어보는 것이 좋을 것 같아서 해봤더니, 재미있는 이상한 대답이 대부분이었다. 주로 델파이 LSP 엔진을 설명하는 답변이었다. 그러니 차라리 작년 9월에 게시한 블로그 기고인 "AI(인공지능)의 LLM(거대 언어 모델)들을 RAD Studio IDE 안에서 사용하기: Smart CodeInsight"를 참고하는 것이 더 좋다. 목차 새 채팅 창 새 에디터 명령: Find Unit/Header 에디터와 채팅 구성에서 제공되는 모델들 요약 새 채팅 창 RAD 스튜디오 12.3 발표 기고에서 이미 언급했듯이, 12.3에서는 스마트 코드인사이트에 여러 개선 사항이 있다. 가장 주목할 만한 것은 채팅 창에 일반 텍스트 대신 마크다운이 표시된다는 것이다. 그래서 AI의 응답을 읽기가 훨씬 더 쉬워졌다. 아래 그림과 같다: 스마트 코드인사이트 채팅 창에는 또 다른 변화가 있다. (창 하단에) 새 버튼들이 추가되었다. 그래서 에디터에서 현재 선택한 텍스트나 현재 유닛을 쉽게 "직접 붙여넣기"를 할 수 있다. 수작업으로 복사해 붙여 넣을 필요가 없다. 더 좋은 점은 요청 안에서 특수한 매크로를 사용할 수 있다는 것이다. 요청을 입력하고 $ 기호를 사용하면, 사용 가능한 매크로 목록이 나타난다. 예를 들어, $selection은 에디터에 현재 선택된 텍스트를 가져온다. $Unit은 에디터에서 현재 활성화된 유닛의 전체 코드를 가져온다: 답변은 다시 채팅 창 안에 표시된다. 에디터에서 그렇게 지정했다면 말이다. 아래 화면에 나타난 결과를 보자. 폼 변수 선언을 선택해 프롬프트에 추가하고, AI 엔진으로 Claude(클로드)를 선택해 질의한 결과다: 새 에디터 명령: Find Unit/Header AI 경험을 향상하는 또 다른 IDE 부분은 에디터다. 에디터에서 제공되는 명령이 확장되어 두 가지 방식이 늘어났다: 첫째, 새 옵션인 'Find Unit/Header'다. 델파이 또는 C++에서 사용할 수 있다. 이 명령은 특정 타입이나 기호가 선언된 유닛이 무엇인지 찾는 데 도움을 준다. 즉, 코드를 컴파일하기 위해 uses 문에 추가해야 하는 유닛이 무엇인지 알려준다. 여러분이 아래 코드를 입력했다고 생각해보자. TInifile에는 정의되지 않은 심볼이라는 에러가 생길 것이다: 여러분이 "TInifile"을 선택한 다음, Find Unit 명령을 실행하면, 에디터 안에 아래와 같은 결과가 주석으로 추가된다. 여러분은 그저 새로 생긴 주석 안에 있는 유닛 이름(Sytem.IniFiles)을 가져와, 현재 유닛의 uses 문에 붙여 넣으면 된다. 현재, 이 기능은 여러분의 실제 프로젝트 코드를 기반으로 하는 것이 아니라, 그 코드에서 일반적으로 참조되는 유닛이 무엇인지를 AI가 학습한 결과를 기반으로 한다. 그래도, 핵심 델파이 RTL 데이터 타입인 경우에는 꽤 신뢰할 수 있다. 에디터와 채팅 에디터의 변경 사항을 하나 더 보자. AI 요청 결과를 마크다운이 적용되는 채팅 창에게 보낼 수 있는 기능이다. 물론, 위 예시처럼, 결과를 에디터의 주석으로 추가하도록 설정하는 것도 가능하다. 그 선택은, 에디터의 스마트 코드인사이트 메뉴를 사용하면 된다. 이 기능을 활성화하고 나서, 여러분이 에디터 안에서 일부 코드를 선택하고 명령(이 예에서는 Find Bugs)을 실행하면, 그 결과가 아래와 같이 채팅 창에 나타난다: 구성에서 제공되는 모델들 12.3의 스마트 코드인사이트에 추가된 새 기능들 중, 마지막으로 소개할 것은 Tools 옵션 대화 상자의 기능 구성과 관련이 있다. 여러분이 일단 AI 서비스를 구성하고 나면(URL 및 자격 증명 포함), 사용할 모델 이름을 직접 입력하지 않고, 이제는 그 특정 서비스에서 제공하는 모델 중 하나를 선택하면 된다. 이 드롭다운 목록은 해당 서비스에 요청해 받아오는 것이다. 따라서, 시간이 가면서 모델이 계속 추가되어도 항상 최신이다. 만약 우리가 고정된 목록을 제공한다면, 오래되어 쓸모없는 목록을 제공하게 될 수도 있기 때문이다. (참고! 최신 모델일 수록 더 나은 결과를 제공할 수 있다. 하지만, 호출하는 데 드는 비용이 더 클 수도 있다). 이 기능이 어떻게 생겼는지는 아래 그림을 참고하기 바란다. OpenAI의 경우를 보여주는 스크린샷이다: 요약 요컨데, 스마트 코드인사이트 아키텍처는 여러 가지 목표를 가지고 있다. 나열하면 다음과 같다: 모든 것은 선택 사항이다. 사용하지 않음이 기본 설정이다. 여러 공급자를 사용할 수 있도록 한다. 사용자는 자신이 사용하려는 공급자를 직접 선택할 수 있다. 개인 정보 보호를 극대화할 수 있도록, 로컬에 설치되는 오프라인 솔루션을 포함한다. 이번 버전에서 우리는 에디터와 채팅 창 사이의 통합을 향상했다. 그리고, 채팅 창이 마크다운을 표현할 수 있도록 했다. 우리는 이 분야를 지속적으로 추적하고 기능을 향상시킬 것이다. 또한, 고객의 지적재산(IP)과 개인 정보를 최대한 존중한다. 그래서 고객이 직접 선호하는 AI 엔진을 선택할 수 있도록 한다. 특정 공급업체를 강요하지 않는다. 인용하기
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.