AI에게 사양서를 그리게 한다 — Excel 목록을 그림으로 만들고, 완성된 그림을 AI에게 검증시킨다
마지막 수정: 2026-09-23 / 분류: 제어 설계, PLC
Excel의 I/O 목록을 AI에게 JSON으로 변환시키면 그림은 옮겨 적지 않고 만들 수 있습니다. 목록은 있는데 그림은 이제부터인 설계자와, 완성된 그림을 AI에게 검증시키고 싶은 분을 위해 썼습니다.
1. AI에게는 그림을 그리게 하지 말고 데이터를 쓰게 한다
AI에게 부탁하는 것은 그림이 아니라 에디터가 읽는 JSON입니다. 생성 AI에게 그림을 이미지로 그리게 하면 선은 어긋나고, 글자는 뭉개지고, 신호 수는 제멋대로 바뀝니다. 고쳐 달라고 하면 다른 곳이 무너지기 일쑤입니다.
4개 에디터가 읽고 쓰는 JSON 데이터 구조는 공개되어 있습니다. 형식을 알면 AI는 그림을 그리지 않고 데이터만 쓰면 됩니다. 그리는 것은 에디터의 일. 선은 어긋나지 않고, 고쳐도 다른 곳이 무너지지 않습니다.
같은 이유로 검증도 이미지가 아니라 데이터를 읽힙니다. 어느 신호가 어느 신호의 계기인지, 어느 판단에 어떤 출구가 있는지는 데이터에 적혀 있습니다. 이미지로 읽히면 화살표가 어느 변화 지점에서 나오는지를 잘못 볼 것입니다.
2. Excel의 I/O 목록은 옮겨 적지 않고 JSON으로 만들어 가져온다
이미 있는 목록을 옮겨 적지 않고 그림으로 만들 수 있습니다.
절차는 사양을 읽히고 표를 붙여 넣고 JSON을 가져오는 것뿐
- AI에게 JSON 데이터 구조 사양 페이지를 읽힙니다 (URL을 읽지 못하는 AI에게는 이 페이지의 본문을 붙여 넣습니다).
- Excel 표를 그대로 붙여 넣습니다 (복사해서 붙여 넣으면 탭으로 구분된 텍스트가 됩니다).
- "이 사양의
kind: "timingchart"JSON으로 만들어 줘"라고 부탁합니다. - 돌아온 JSON을 복사해 에디터의 "파일 → 가져오기… → JSON 붙여넣기"에 붙여 넣어 읽어 들입니다.
부탁하는 방법의 예: 파형은 정하게 하지 말고 행과 방향만 만들게 한다
https://fa-spec.com/json-format 의 사양에 따라,
아래 I/O 목록으로 kind: "timingchart" 의 JSON을 만들어 주세요.
- steps 는 16
- BOOL 의 values 는 true/false, 수치는 문자열, 미설정은 null
- role 은 PLC가 내보내는 신호를 "M", 서보가 내보내는 신호를 "S"
- 파형은 아직 정하지 않았으니 모두 false 로 두세요
변수명 형 코멘트 방향
bStartReq BOOL 위치 결정 기동 요구 M
bBusy BOOL 동작 중 S
bInPos BOOL 위치 결정 완료 S
nTargetPos DINT 목표 위치 M
파형은 전부 false로 두게 하고 행과 방향만 준비시킵니다. 어느 신호가 언제 바뀌는지는 설계 판단 그 자체이며, AI에게 정하게 할 부분이 아닙니다.
어드레스 맵도 마찬가지. 번호는 비워 두게 하고 에디터에서 할당한다
디바이스 코멘트 목록이나 기계 설계에서 받은 I/O 리스트도 kind: "addressmap"으로 가져올 수 있습니다. 이때는 address를 빈 채로 두게 합니다.
번호 할당은 AI에게 맡기지 않습니다. 디바이스 범위·형·비트 채우는 방식을 모두 보면서 세는 작업이라 AI가 틀리기 쉽기 때문입니다. 빈 채로 읽어 들여 에디터의 "어드레스 할당…" (Ctrl+R)으로 일괄 할당합니다. 중복과 범위 밖 검출도 자동입니다.
좌표 (x / y)도 쓰게 하지 않아도 됩니다. 시스템 구성도와 플로차트는 좌표가 없는 데이터를 읽으면 자동으로 배치합니다.
분담: 세는 것은 에디터, 언제 무엇을 바꾸는가는 설계자
세는 작업은 에디터에게, 정하는 작업은 설계자에게 남깁니다.
| 맡기는 상대 | 작업 |
|---|---|
| AI | 이름·형·코멘트·방향의 분류, 문장 사양에서의 옮겨 적기, 누락 지적 |
| 에디터 | 번호의 연번, 비트 위치, 디바이스의 남은 공간, Step 수와 파형 길이의 일치, 배치와 선의 경로 |
| 설계자 | 언제 무엇을 바꾸는가 (파형·순서·대기 시간), 지적을 채택할지의 판단 |
3. 완성된 그림은 리뷰 전에 AI 검증용 텍스트로 보게 한다
리뷰 전에 한 번 AI에게 통과시켜 둡시다. 어느 에디터에서든 "출력 → 내보내기… (Ctrl+E)" 안에 "AI 검증용 텍스트…"가 있습니다. 그림 내용에 "무엇을 봐 주면 좋은지"를 덧붙인 텍스트가 나오므로 그대로 AI에 붙여 넣습니다.
타이밍 차트: 순서의 모순과 계기 없는 변화가 발견된다
- 요구와 응답의 순서 모순 — 응답을 확인하기 전에 요구를 내리고 있다
- 인터록 누락 — 이상 중에도 기동 요구가 통과한다
- 신호 놓침 — 1 Step만 나오는 신호를 상대가 잡지 못한다
- 계기 없는 변화 — 무엇을 계기로 바뀌었는지 설명할 수 없는 곳
마지막 항목은 타이밍 차트 작성법를 긋지 않은 차트에서는 발견되지 않습니다. 검증용 텍스트에는 화살표 목록도 들어갑니다. "화살표가 없는 변화를 열거해 줘"라고 한마디 덧붙이면 근거 없는 변화를 콕 집어 돌려줄 것입니다. 그곳은 대부분 사양이 정해지지 않은 곳입니다.
플로차트: 빠져나올 수 없는 루프와 행선지 없는 분기가 발견된다
- 빠져나올 수 없는 루프 — 빠져나오는 조건이 어디에도 없다
- 도달할 수 없는 처리 — 분기 조합상 지나는 일이 없다
- 행선지 없는 분기 — YES / NO 중 한쪽이 어디에도 이어져 있지 않다
어드레스 맵: 이름의 불일치와 형과 저장 위치의 불일치가 발견된다
- 이름의 불일치 —
bStart와StartBit가 섞여 있다 - 형과 저장 위치의 불일치 — DINT를 1워드에 넣고 있다
- 증설 여지 — 증설용 빈 공간이 연속으로 확보되어 있는가
중복과 범위 밖은 에디터가 스스로 찾아 검증용 텍스트에 덧붙입니다. 이름의 불일치, 형과 저장 위치, 증설 공간은 AI의 담당입니다.
4. 수정은 JSON을 복사해 "지적된 곳만"이라고 부탁한다
지적에 납득했다면 고치는 것도 AI에게 부탁하고 JSON 그대로 주고받습니다. "출력 → 내보내기…"에서 "JSON"을 선택하고 "클립보드에 복사". "이 구조 그대로 지적된 곳만 고쳐 줘"라고 부탁합니다. 돌아온 JSON을 "파일 → 가져오기… → JSON 붙여넣기"에 붙여 넣기만 하면 되고, 파일은 만들지 않습니다.
고칠 곳은 지정해서 부탁합니다. "다시 만들어 줘"라고 하면 관계없는 곳까지 바뀌는 일이 있습니다.
JSON을 읽어 들이면 그때까지의 편집은 Ctrl+Z로 되돌릴 수 없습니다. 지금 내용을 "다른 이름으로 저장…"한 뒤에 읽어 들입니다.
5. 적합한 경우는 개조·고객 사양서 읽기·리뷰 전·인수인계
이미 목록이나 문장 사양이 있고 그림은 아직 없는 상황에서 효과가 있습니다.
| 상황 | 할 일 |
|---|---|
| 기존 설비의 개조 | 이전 디바이스 코멘트를 JSON으로 만들고, 바뀌는 곳만 그려 넣는다 |
| 고객 사양서 읽기 | 문장 사양을 JSON으로 만들게 해 그림으로 그리고, "이것이 맞습니까"라고 고객에게 확인한다 |
| 리뷰 전 | AI 검증용 텍스트를 먼저 통과시켜 지적될 만한 곳을 고쳐 둔다 |
| 인수인계 | 그림과 JSON을 함께 넘긴다. 받은 쪽도 AI에게 읽힐 수 있다 |
6. 붙여 넣기 전에 사내 규정을 확인하고, 지적을 채택할지는 설계자가 정한다
- 고객 정보를 AI에 붙여 넣기 전에 사내 규정을 확인합니다. 기기 형식, IP 주소, 제품명이 들어간 채로 남기 쉽습니다. 에디터는 데이터를 단말 안에서만 다루지만, AI에 붙여 넣은 시점에 그 밖으로 나갑니다.
- AI의 지적을 채택할지는 설계자의 판단입니다. "인터록이 부족하다"는 말을 들어도 상위 안전 회로에서 담보하고 있는 경우가 있습니다.
- JSON이 읽히지 않을 때는 먼저 붙여 넣은 범위를 확인합니다. AI 답변의 설명문이나 JSON을 감싼
```까지 함께 붙여 넣으면 읽히지 않습니다. 붙여 넣는 것은 첫{부터 마지막}까지입니다. 그래도 읽히지 않을 때는 그림 내용의 배열이 들어 있는지 봅니다. 타이밍 차트라면rows, 플로차트라면nodes. 시스템 구성도라면devices, 어드레스 맵이라면variables입니다.
사용하는 것
위의 분담 그림은 Flowchart Editor의 레인 (담당별 열)으로 그려 SVG로 내보낸 것입니다.
- JSON 데이터 구조 사양 — AI에게 읽힐 사양서
- Timing Chart Editor — 신호의 순서와 계기
- Address Map Editor — 변수와 번호의 할당
- Flowchart Editor — 상태와 천이 조건
- System Diagram Editor — 기기와 통신의 연결
설치도 등록도 필요 없습니다. 입력한 데이터는 단말 안에만 저장되며 서버로는 보내지 않습니다.
관련 글
yk.builds