Simulizer

What AI can and can't do

어시스턴트의 능력을 막연하게 기대하면 결과에 실망하기 쉽고, 반대로 지나치게 의심하면 작업 속도를 끌어올릴 좋은 기회를 놓치게 됩니다. 어시스턴트가 무엇을 잘하고 무엇을 못 하는지 짧게 정리합니다.

What it does well

  • 익숙한 모델 짜기 — 포물선 운동, 확산, 임의보행, 단진자처럼 교과서적인 모델입니다. 어시스턴트가 많이 본 모델이라 첫 시도에서 작동하는 경우가 많습니다.
  • 이름 바꾸기·정리 — "변수 sumtotal 로 바꿔 줘"처럼 기계적인 편집은 안정적으로 해냅니다.
  • 구체적인 한 부분 추가 — "지금 코드에 공기 저항 항을 더해 줘"처럼, 이미 있는 구조 위에 한 가지를 더하는 요청입니다.
  • 설명·해석 — 만든 코드가 무엇을 하는지 자연어로 설명해 달라는 요청입니다.

What it does poorly

  • 잘 알려지지 않은 모델 — 어시스턴트가 학습 데이터에서 충분히 보지 못한 모델은 그럴듯해 보이지만 틀린 결과를 내놓을 수 있습니다.
  • 수치 안정성 판단 — 적절한 dtdx알아서 골라 주지는 못합니다. 교과서적인 기본값을 쓰는 경우가 많지만, 그 값이 지금 풀려는 문제에 맞는지까지는 검증하지 않습니다.
  • 물리·수학적 정확성 보증 — 결과가 언뜻 자연스러워 보여도 정확히 맞는지는 별도의 검증이 필요합니다.
  • 추상적·평가적 요청 — "더 좋게", "더 빠르게", "더 안전하게" 같은 요청은 어시스턴트가 무엇을 좋다고 봐야 할지 알지 못합니다.
  1. 큰 모델을 한 번에 만들어 달라고 하기보다, 작은 부분으로 나눠 점진적으로 요청하세요.
  2. 어시스턴트가 제안한 변경은 항상 diff 를 읽고 나서 적용하세요. 모르는 사이에 캔버스가 바뀌어서는 안 됩니다.
  3. 적용한 뒤에는 Run 으로 실제로 도는지, 결과가 그럴듯한지 확인하세요. 둘 다 통과하더라도 정확성까지 보장되는 것은 아닙니다.
  4. 잘 풀리지 않을 때는 어시스턴트와 대화를 길게 이어 가지 말고 요청을 더 좁히세요. "이거 고쳐 줘"보다 "여기서 theta[i]nan 이 되는 이유를 찾아 줘"가 더 잘 작동합니다.

Pitfalls

  • 어시스턴트가 기존 코드를 모두 지우고 새로 짜는 큰 변경을 제안할 때가 있습니다. diff에서 빨강(삭제) 줄이 얼마나 되는지 항상 확인하세요.
  • 어시스턴트가 잘 모르는 함수를 지어낼 때도 있습니다. Simulizer에 실제로 존재하지 않는 블록 이름을 만들어 내기도 하는데, 이런 경우는 Infos 탭이 알려 줍니다.

See also