챗GPT를 비롯한 생성형 AI의 등장은 소프트웨어 개발 영역을 넘어 하드웨어 개발 영역에도 혁신적인 변화를 예고하고 있다. 과거에는 상상하기 어려웠던 수준의 정보 접근성, 분석 능력을 제시하며 H/W 개발자들의 업무 방식과 역량에 대한 새로운 고민을 던져주고 있다.
본인 역시 챗GPT를 활용한 H/W 개발 경험을 통해 이러한 변화의 흐름을 직접 체감하고 있으며, 그 경험을 바탕으로 생성형 AI 시대의 H/W 개발자가 어떻게 일해야 할지에 대한 내 생각을 공유하고자 한다.
1. 스펙부터 단가까지 한눈에 : AI 기반 부품 비교 분석
H/W 개발 과정에서 시스템의 요구사항들이 정립된 상태이면, 해당 요구사항을 만족하는 동시에 단가 측면을 고려해야 한다. 하지만 수많은 부품의 특성, 스펙, 단가를 비교 분석하는 작업은 상당한 시간이 소요된다. 데이터시트를 일일이 찾아보고 비교하며 엑셀 시트에 정리하는 과정을 거쳤다면, 이제는 생성형 AI에게 명령을 통해 원하는 정보를 빠르게 얻을 수 있다.
예를 들어, “5V를 3.3V로 강압하는 LDO 레귤레이터를 찾고 있어. 최소 3A의 전류를 안정적으로 공급할 수 있어야 하며, 현재 재고가 있고 단가가 낮은 제품 위주로 최소 3가지 추천해줘. 가능하다면 SOT-223 패키지 형태를 선호해. 각 제품의 주요 스펙 (최대 전류, 드롭아웃 전압, 패키지 형태 등)과 함께 현재 재고를 확인할 수 있는 링크나 판매처 정보도 알려줘.” 라는 명령을 내리게 되면 다음과 같은 결과를 얻을 수 있다.
해당 결과를 통해 필요한 정보들 위주로 부품을 빠른 시간내에 분석 및 비교가 가능한 것을 확인할 수 있다. 또한, 수십 페이지에 달하는 데이터시트의 핵심 내용을 요약하거나 특정 파라미터의 의미와 설계에 미치는 영향에 대한 설명을 요청할 수도 있다. 이는 방대한 기술 문서를 빠르게 이해하고 설계에 필요한 핵심 정보를 추출하는 데에 있어 매우 유용하다. 하지만 생성형 AI도 가끔 오류를 범할 때가 있기 때문에 본인이 한 번 더 검토하고 의사 결정을 내리는 것이 좋다.
2. 설계 효율성 극대화: 아이디어 발상부터 검증까지
생성형 AI는 기본적인 회로 설계의 참고 자료를 제공하거나 새로운 아이디어를 얻는 데에도 활용될 수 있다. 초기 단계에서 다양한 설계 옵션을 탐색하고 개념적인 아이디어를 구체화하는 데 큰 도움을 받을 수 있다.
예를 들어, 시스템에서 3.3V 레벨 장치와 5V 레벨 장치 간에 I2C(Inter-Intergrated Circuit) 통신을 구축해야 하는 상황을 가정하자. 그럼, 생성형 AI에게 “5V 레벨의 장치와 3.3V 레벨의 장치 간에 I2C 통신이 되는 회로 구성을 알려줘”와 같은 명령어를 던지게 되면, 결과는 다음과 같다.
이처럼 특정 기능을 구현하기 위한 기본적인 회로 구성을 AI에게 요청할 수 있다. 또한, 본인이 설계한 회로 구성을 검토받을 수 있으며, 이에 관한 문제점을 개선할 수 있는 아이디어를 AI에게 요청할 수 있다.
3. 예측 불가능한 오류, AI에게 길을 묻다
회로 설계가 끝나고 PCB가 생성되면, 설계자의 의도대로 시스템이 동작하는지 확인해야 하며 이는 회로 검증 과정에 속한다. 하지만 검증 과정에서 예상치 못한 이상 현상에 직면하는 것은 H/W 개발자에게 매우 흔한 일이다.
간단한 오류는 비교적 빠른시간내에 해결할 수 있지만, 고려해야 할 특성 또는 본인이 직접 직면해 보지 못한 오류에 대해서는 많은 노력과 시간이 투자되어야 한다.
이때 생성형 AI는 문제 해결을 위한 조력자 역할을 수행할 수 있다. 이상 현상의 증상과 관련 정보를 AI에게 제공하면, AI는 축적된 방대한 지식을 바탕으로 가능한 원인과 해결 방안을 제시해 줄 수 있다. 물론 AI가 모든 문제의 완벽한 해결책을 제시하는 것은 아니지만, 문제 해결의 실마리를 찾거나 새로운 접근 방식을 고려하는 데 큰 도움을 받을 수 있다. 이는 문제 해결에 드는 시간을 단축하고 검증 과정을 효율적으로 수행할 수 있게 된다.
생성형 AI 시대, H/W 개발자의 새로운 역할과 역량
챗GPT와 같은 생성형 AI는 분명 H/W 개발 업무의 효율성을 높이는 데 강력한 도구가 될 수 있다. 하지만 AI와 협업하는 데에 있어서 주의해야 할 사항이 있다.
그것은 바로 의사결정이다. 개발자로서 AI를 활용한다는 것은, 나의 업무를 보조할 수 있는 똑똑한 부사수라고 생각해야 한다. 그렇듯 AI가 제시하는 정보들이 항상 완벽하거나 최적인 것은 절대 아니다. 데이터의 편향성, 알고리즘의 한계 등으로 인해 오류를 포함하거나 비효율적인 결과를 도출할 수 있다. 따라서, AI는 보조적인 역할을 수행할 뿐, 최종적인 판단과 책임은 개발자 자신에게 있다는 것이다. AI가 제시하는 결과물을 맹목적으로 수용해선 안 되고, 비판적인 시각으로 AI의 제안을 검토하고, 자신의 전문적인 지식과 경험을 바탕으로 그 타당성을 꼼꼼히 확인해야 한다.