안전하게 시작하기: AI 코딩 도구와 함께 만들기¶
Python을 잘 몰라도 midas-nx를 쓸 수 있습니다 — Claude Code, ChatGPT, GitHub
Copilot 같은 도구가 코드를 대신 작성해줄 수 있기 때문입니다. 이 페이지는 그
경로를 위한 것입니다. 원하는 걸 자연어로 설명할 수는 있지만, 돌아온 Python
코드를 완전히 검토하기는 어려운 분을 가정합니다.
가장 먼저 기억할 것
생성된 코드가 검증된 코드는 아닙니다, 오류 없이 실행되더라도
마찬가지입니다. midas-nx는 실제로 운용 중인 엔지니어링 프로그램을
조작합니다 — 잘못된 호출 하나가 저장하지 않은 작업을 날리거나 모델을
손상시킬 수 있고, 한 번 "잘 작동한" 스크립트라고 해서 다시 실행해도
안전하다는 보장은 없습니다. AI가 써준 스크립트도 낯선 사람이 써준
스크립트를 대하듯 다루세요 — 실행하기 전에 무엇을 하는 코드인지 먼저
읽으세요.
가장 중요한 두 가지 규칙¶
- 첫 스크립트는 데이터를 읽기만 해야 합니다. AI 도구의 첫 시도에
create,update,delete,delete_all,new_project,open_project,analyze같은 호출이 들어가지 않게 하세요. 먼저 읽기 전용 버전이 제대로 작동하고 이해된 다음에 확장하세요. - AI 도구는 그럴듯해 보이는 함수 이름을 지어냅니다.
midas-nx는 버전을 거치며 구조가 바뀌어 왔고, 예전 데이터로 학습됐거나 그냥 패턴만 맞춘 도구는 존재하지 않는 함수를 자신 있게 만들어냅니다. context pack이 이걸 하지 말라고 알려주고, 확인하는 방법도 알려줍니다 — 꼭 사용하세요.
1단계: AI에게 context pack 전달하기¶
코드를 요청하기 전에 AI context pack을
대화에 붙여넣으세요 — 도구가 system prompt를 지원한다면 거기에, 아니면 첫
메시지로 붙여넣으면 됩니다. 실제 API 형태, 에러 모델, 이 SDK가 부주의하게
쓰였을 때 다치는 구체적인 방식(doc.new_project()가 작업을 버리는 것,
delete_all()이 테이블 전체를 비우는 것, timeout이 롤백이 아니라는 것 등)을
AI에게 알려줍니다.
2단계: 이 템플릿으로 작업을 설명하기¶
제품: Gen NX 또는 Civil NX
현재 모델 상태: [기밀정보 없이 설명]
목표: [구체적인 작업 하나]
입력값: [id, 하중 케이스, 단위, 선택 대상]
기대 출력: [화면 출력, 요약, 또는 파일]
이 작업의 읽기 전용 버전부터 시작해줘. 만들거나 바꾸거나 지우기 전에
무엇을 할 것인지 미리보기부터 보여줘.
3단계: 실행 전에 생성된 코드 검토하기¶
아래 체크리스트를 하나씩 확인하세요. 답을 모르겠는 항목이 있다면 건너뛰지 말고 AI에게 평이한 말로 설명해달라고 요청하세요.
- [ ] 스크립트가 데이터를 읽기만 하나요 (
create/update/delete/delete_all/new_project/open_project/analyze없음) — 아니면, 쓰기 작업이 있다면 읽기 전용 버전이 먼저 작동하는 걸 본 뒤 명시적으로 요청한 게 맞나요? - [ ] 실제로 존재할 법한 것만 import하나요? (확실치 않으면
python -c "import midas_nx; print(dir(midas_nx))"의 출력을 보여달라고 하거나, reference를 참고하도록 AI에 알려주세요.) - [ ] 제품(
Product.GEN/Product.CIVIL)이 실제로 쓰는 제품이 맞나요? - [ ] AI가 보여준 코드나 로그·출력 제안에 내 MAPI-Key가 들어있지 않나요?
- [ ] 데이터를 쓴다면, 쓰기 호출이 실행되기 전에 대상(id, payload)의 미리보기를 출력하나요?
- [ ]
confirm=True없는delete_all()이나, 스크립트 맨 앞의 무조건적인new_project()/open_project()가 없나요? - [ ] 호출이 timeout될 수 있는 경우, 같은 쓰기 작업을 자동으로 재시도하지 않나요?
- [ ] 실무 모델이 아니라 테스트용/폐기 가능한 프로젝트에서 처음 실행하나요?
뭔가 잘못됐을 때: AI에게 다시 보고하기¶
원본 traceback이나 MAPI-Key를 그대로 채팅에 붙여넣지 마세요. 식별 정보는 지우고 아래 형식을 쓰세요.
설치된 midas-nx 버전:
Python 버전:
제품: Gen NX / Civil NX
작업 종류: read / create / update / delete
기대했던 결과:
실제로 일어난 일:
정리된(민감정보 제거) 오류 메시지:
자동 재시도는 제안하지 말고, 먼저 요청이 이미 반영됐는지 안전하게 확인하는
방법부터 설명해줘.
마지막 줄이 중요합니다 — timeout이 났다고 요청이 실패했다는 증거는 아닙니다 (context pack의 안전 사실 참고). 쓰기 작업이 timeout된 뒤 AI에게 "그냥 다시 해줘"라고 시키면, 하던 작업이 중복으로 반영될 수 있습니다.
다음¶
- AI context pack — 복사해 붙여넣는 블록 자체
- 파괴적 작업과 복구 — 누가/무엇이 코드를 작성했든 잘못될 수 있는 전체 목록
- 시작 가이드 — 읽기 전용 Python 경로. AI가 실제로 무엇을 하는지 이해하고 싶을 때 도움이 됩니다