FPGA 설계에 초점을 맞춘 리뷰
Claude Code나 다른 에이전트형 AI 도구를 사용하고 있다면, FPGA 설계에 대한 AI 리뷰를 한 번쯤 돌려 보셨을 겁니다. 그 결과가 만족스럽지 않았다면, 여기 개선 방법을 하나 제안해 드리겠습니다.
바로 AI 에이전트의 리뷰를 특정 주제에 집중시키고, 여러 가지 방식으로 리뷰를 수행하는 방법을 알려 주는 것입니다. 스킬 세트(skill set)가 정확히 그 일을 합니다. 즉, 신경망이 학습한 아무 내용이 아니라 올바른 정보를 바탕으로 리뷰를 수행하도록 에이전트의 동작을 잡아 주는 것이죠. 여기서 "올바른 정보"란 무엇일까요? 바로 스킬 세트에 적힌 사실들입니다.
이 웹사이트의 내용을 바탕으로 만든 스킬 세트를 사용할 수 있습니다. 한번 시도해 보고 싶다면 FPGA 설계 파일을 AI 에이전트가 접근할 수 있는 곳에 두고, 다음과 같이 프롬프트를 작성하세요:
> Using the skill set from https://github.com/billauer/01signal-review, perform a review of the FPGA project. Write out the HTML files.
AI 에이전트(Claude Code든, 가지고 계신 다른 무엇이든)는 해당 GitHub 저장소의 스킬 세트를 주된 근거로 삼아 리뷰를 수행하며, 그 스킬 세트는 다시 이 웹사이트의 내용을 반영합니다. 따라서 리뷰 보고서는 이곳에서 다루는 주제에 초점을 맞추게 됩니다. 예를 들어 이 웹사이트에는 리셋(reset)을 다루는 연재 페이지가 있습니다. 여러분의 설계는 그 내용에 부합하나요? 어쩌면 작은 레지스터 하나를 리셋하는 것을 잊었을 수도 있고, 어쩌면 더 근본적인 실수가 있을 수도 있습니다. 리뷰 보고서가 알려 줄 겁니다. 아마도요. AI 리뷰는 결정적이지 않으니까요.
AI로 설계를 검토하기: 좋은 점과 나쁜 점
실제로 AI 에이전트는 코드를 읽고 실수를 찾아내는 일을 꽤 잘합니다. 하지만 문제는 존재하지도 않는 실수를 지어내는 경우가 많다는 점입니다. 그리고 그럴 때는 대개 아주 그럴듯한 설명을 늘어놓는데, 그 설명은 하나 이상의 잘못된 사실 주장에 기반을 두는 경향이 있습니다. 신경망이 틀린 정보로 학습했을 수도 있고, 올바른 정보에서 잘못된 결론을 끌어냈을 수도 있으며, 또 다른 이유일 수도 있습니다. 어떤 사람들은 이것을 환각(hallucination)이라고 부르지만, 저는 그냥 쓰레기라고 부릅니다.
또 하나 성가신 문제는 우선순위 지정입니다. 예를 들어 AI 에이전트는 문법 오류(syntax error)나 기타 "빌드를 깨뜨리는" 문제를 리뷰에서 높은 우선순위로 올려놓기 쉽습니다. 그렇게 하는 것도 의미가 있습니다. 이런 오류를 고치기 전에는 설계가 컴파일되지 않으니까요. 하지만 그런 오류를 리뷰 보고서에 언급해서 얻는 이득은 거의 없습니다. 도구가 컴파일을 거부할 때 보통 어디가 문제인지 알려 주기 때문입니다. 문제가 명백하지 않을 때만 리뷰에서 언급할 가치가 있습니다.
그리고 지나치게 자주 있는 일이지만, AI 도구는 사소한 문제 하나에 매달려서 닭 잡아먹고 오리발을 내미는 식이 됩니다. 리뷰의 첫 주제들이 말도 안 되게 들리면, 보고서 전체를 무시하게 되기 쉽습니다.
이런 문제들은 스킬 세트를 쓰면 상당 부분 해결됩니다.
스킬 세트가 도움이 되는 이유
스킬 세트는 여러 파일로 구성되며, 대부분 사람이 읽을 수 있는 일반 텍스트입니다. AI 에이전트에게 설계 리뷰를(또는 다른 어떤 작업이든) 수행하는 방법을 알려 주는 지침서 같은 것이죠. 이 텍스트는 주로 세 가지 일을 합니다.
-
무엇이 참인지 정의합니다. 즉, 사실과 설계 관행의 측면에서 무엇이 올바르고 무엇이 잘못되었는지를 정합니다.
-
우선순위를 정의합니다. 무엇이 중요하고 무엇이 상대적으로 봐줄 만한지를 정리합니다.
-
리뷰를 수행하는 방법을 정의합니다. 여기에서 에이전트에게 체계적인 지시가 주어지며, 리뷰 과제를 여러 개의 개별 작업으로 나누어 리뷰가 방법론적으로 진행되도록 합니다. 이 부분은 보통 메인 스킬 파일(일반적으로 SKILL.md라는 이름)에서 다룹니다.
첫 번째와 두 번째 부분은 리뷰 보고서에서 터무니없는 내용을 줄이는 데 도움이 됩니다. 설계 리뷰 중에 점검할 주제들에 관한 압축된 튜토리얼 같은 역할을 하면서, 사실과 우선순위를 함께 정해 주는 것이죠. 점검할 항목 목록을 명시적으로 제시함으로써, AI 에이전트는 자체 내장 지식에 덜 의존하고 정확하고 탄탄한 사실에 더 의존하게 됩니다.
세 번째 부분은 리뷰 과정을 정리해 주지만, 01signal의 스킬 세트에서는 더 중요한 역할을 합니다. 바로 AI 에이전트가 자기 보고서를 스스로 검증하는 두 개의 마지막 단계가 포함되어 있다는 점입니다.
마지막 단계에서는 별도의 AI 에이전트가 백지 상태에서 시작해 검사관 역할을 맡습니다. 이 에이전트는 보고서 전체를 훑으면서 모든 사실 주장이 스킬 세트에서 그대로 가져온 것인지 확인합니다. 이런 식으로 뒷받침되지 않는 사실 주장은 보고서에서 다시 표현되는데, AI 도구가 흔히 보이는 그 자신감 넘치는 어조 대신 의문을 드러내는 표현(예를 들어 반문하는 형태)을 쓰도록 합니다. 하지만 AI 도구는 자체 내장 지식을 쓰지 않고서는 어떤 결론에도 도달할 수 없습니다. 그럼에도 보고서에서는 어느 부분이 (스킬 세트에서 나온 것으로, 자신감 있는 어조로 서술된) 근거가 있는 내용이고 어느 부분이 그 반대인지 분명하게 드러나야 합니다.
그리고 물론 스킬 세트의 내용도 돌에 새겨진 것이 아닙니다. 틀릴 수도 있고 부족할 수도 있습니다. 이 스킬 세트가 GitHub에 공개된 데에는 다 이유가 있는 법이죠.
이것은 지식을 대신하지 않습니다
이 사이트 다른 곳에서도 말했지만, 다시 한번 말하겠습니다. 우리의 두뇌를 대신할 것은 없고, 지식을 쌓는 일을 대신할 것도 없습니다. 디버깅 도구와 AI 도구는 도움이 되지만, 결국 결정을 내리는 것은 우리 인간의 몫입니다.
AI 리뷰가 여러분의 FPGA 설계를 동작하게 만들어 주지는 않습니다. 하지만 올바른 방향을 가리켜 줄 수는 있습니다. 그리고 스킬 세트가 이 웹사이트의 페이지들을 바탕으로 만들어졌기 때문에, 리뷰는 무엇이 잘못되었을 수 있는지뿐만 아니라 그것에 대해 더 읽어 볼 곳까지 알려 줍니다.
그러니 단순한 사람의 실수 때문에 오류를 냈다면, 고치고 거기서 끝내면 됩니다. 하지만 무언가를 몰라서 생긴 오류라면, 잠시 멈추고 시간을 내어 그 빈틈을 채우세요. 결국 이것이 웹사이트에서 비롯된 스킬 세트가 주는 장점입니다.