시맨틱 AI의 스킬라체의 법칙 (Schillace Laws of Semantic AI) 번역본

원본: Schillace Laws of Semantic AI | Microsoft Learn

노트 1: 이 글은 원본을 DeepL로 번역한 후 일부 수정한 내용입니다. 빠른 정보 공유를 위해 번역기를 사용했으며, 오역이 있을 수 있습니다.

노트 2: 스킬라체 법칙은 Microsoft의 기업 부사장 겸 최고 기술 책임자인 샘 스킬라체 (Sam Schillace) CVP/CTO님의 이름에서 따온 것인듯 합니다.

이 확실한 ‘시맨틱’ AI의 미래를 생각해 보세요.

'쉴라체의 법칙’은 지금까지 다양한 대규모 언어 모델(LLM) AI 시스템과 함께 작업한 끝에 공식화되었습니다. 이 법칙을 알면 소프트웨어 엔지니어링의 미래를 재창조하는 이 흥미진진한 분야로의 여정을 가속화할 수 있습니다. 환영합니다!

  1. 모델이 할 수 있다면 코드를 작성하지 마세요. 모델은 더 좋아지겠지만 코드는 그렇지 않을 수 있습니다. 이 시스템의 전반적인 목표는 LLM의 계획 및 의도 이해 능력을 사용하여 활용도가 매우 높은 프로그램을 구축하는 것입니다. 프로그램의 일부분에 대해 보다 명령적인 사고방식으로 돌아가 코드를 작성하는 것은 매우 쉽습니다. 이런 유혹을 뿌리치세요. 지금 모델이 어떤 일을 안정적으로 수행하도록 할 수 있다면 모델이 발전함에 따라 훨씬 더 우수하고 견고해질 것입니다.

  2. 정확성을 위해 레버리지를 활용하고, 상호 작용을 통해 문제를 풀어보세요. 위와 관련하여 LLM으로 코딩할 때 올바른 사고방식은 "춤추는 곰이 무엇을 할 수 있는지 보자"가 아니라 시스템에서 최대한 많은 레버리지를 얻는 것입니다. 예를 들어, “데이터베이스에서 보고서 작성” 또는 "한 과목의 1년 치 수업"과 같은 매우 일반적인 패턴을 일반 텍스트 프롬프트로 매개변수화하여 매우 가치 있고 차별화된 결과를 쉽게 생성할 수 있습니다.

  3. 코드는 구문과 프로세스를 위한 것이고 모델은 의미와 의도를 위한 것입니다. 이를 표현하는 방법은 여러 가지가 있지만, 기본적으로 모델은 의미와 목표를 추론하도록 요청받을 때 더 강력하고, 특정 계산과 프로세스를 수행하도록 요청받을 때 더 약합니다. 예를 들어, 고급 모델은 일반적으로 스도쿠를 풀기 위한 코드를 작성하기는 쉽지만 스도쿠를 직접 풀기는 어렵습니다. 코드의 종류마다 강점이 다르기 때문에 문제 유형에 맞는 코드를 사용하는 것이 중요합니다. 구문과 의미론 사이의 경계는 이러한 프로그램에서 어려운 부분입니다.

  4. 가장 취약한 부분만큼이나 시스템도 취약해집니다. 이는 두 종류의 코드 모두 마찬가지입니다. 유연성과 높은 활용도를 위해 노력하고 있기 때문에 불필요하게 하드 코딩하지 않는 것이 중요합니다. 프롬프트에 최대한 많은 추론과 유연성을 부여하고 명령형 코드는 최소한으로 사용하여 LLM을 활성화하세요.

  5. 똑똑하게 질문해야 똑똑한 답을 얻습니다. 새롭게 떠오르는 LLM AI 모델은 놀랍도록 유능하고 '잘 교육’되어 있지만 컨텍스트와 주도성이 부족합니다. 단순하거나 개방형 질문을 하면 단순하거나 일반적인 답변이 돌아옵니다. 더 자세하고 세분화된 답변을 원한다면 질문이 더 지능적이어야 합니다. 이것은 인공지능 시대에 "쓰레기 투입, 쓰레기 배출"의 메아리입니다.

  6. 불확실성은 예외입니다. 정확도와 활용도를 맞바꾸는 것이기 때문에 모델의 의도가 불확실할 때는 사용자와의 상호 작용에 의존해야 합니다. 따라서 프로그램에 중첩된 프롬프트 집합이 있고 그 중 하나(“한 가지 가능한 방법…”)의 결과가 불확실할 때 올바른 방법은 '예외 발생’과 동일하게 사용자를 명확히 하거나 사용자와 상호 작용할 수 있는 수준까지 불확실성을 스택 위로 전파하는 것입니다.

  7. 텍스트는 보편적인 와이어 프로토콜입니다. LLM은 자연어와 의도는 물론 의미까지 구문 분석하는 데 능숙하기 때문에 텍스트는 프롬프트, 모듈 및 LLM 기반 서비스 간에 지침을 전달하기 위한 자연스러운 형식입니다. 자연어는 일부 용도에 따라 정확도가 떨어지고 XML과 같은 구조화된 언어를 드물게 사용할 수 있지만 일반적으로 프롬프트 간에 자연어를 전달하는 것은 매우 잘 작동하며 대부분의 용도에서 구조화된 언어보다 덜 취약합니다. 시간이 지남에 따라 이러한 모델 기반 프로그램이 확산됨에 따라 서로 다른 프롬프트가 인간과 같은 방식으로 서로를 이해할 수 있도록 하는 자연스러운 "미래 보장"이 될 것입니다.

  8. 사용자에게 어려운 것은 모델에게도 어렵습니다. 모델에 어려운 과제를 부여할 때 흔히 볼 수 있는 패턴 중 하나는 "소리 내어 추론"해야 한다는 것입니다. 이는 보기에는 재미있고 매우 흥미롭지만, 추론의 결과만 필요한 프로그램의 일부로 프롬프트를 사용할 때는 문제가 될 수 있습니다. 그러나 질문과 장황한 답변이 주어지고 답변만 추출하도록 요청하는 “메타” 프롬프트를 사용하면 꽤 효과적입니다. 이것은 사람에게 더 쉬운 인지적 작업입니다(자연어가 매우 강력하기 때문에 누군가에게 "이걸 읽고 답이 무엇이든 뽑아내라"는 일반적인 작업을 주고 사용자가 전문 지식이 없는 여러 영역에서 그 작업을 수행하도록 하는 것은 쉽게 상상할 수 있습니다). 따라서 프로그램을 작성할 때는 사람에게도 어려운 일이 모델에게도 어려울 수 있으며, 패턴을 더 쉬운 단계로 세분화하면 더 안정적인 결과를 얻을 수 있다는 점을 기억하세요.

  9. "의식의 파레이돌리아"를 조심하세요. 이 모델은 그 자체로 악용될 수 있습니다." 인공신경망 내부에 '마음’이 있다고 상상하기는 매우 쉽습니다. 그러나 인간의 사고와 모델 사이에는 의미 있는 차이가 있습니다. 악용될 수 있는 중요한 차이점은 현재 모델은 1분에서 1분 사이의 상호작용을 기억하지 못한다는 점입니다. 따라서 사람에게는 방금 작성한 글에서 버그나 악성 코드를 찾아달라고 요청하지 않지만, 모델에게는 그렇게 할 수 있습니다. 두 곳 모두에서 같은 종류의 실수를 할 수 있지만, 처음부터 코드의 출처를 모르기 때문에 우리에게 "거짓말"을 할 수는 없습니다. 즉, 코드에 대한 안전 모니터, 테스트 전략의 구성 요소, 생성된 콘텐츠에 대한 콘텐츠 필터 등으로 모델을 사용할 수 있습니다. _

다음 단계로 넘어가기

LLM AI 모델에 관심이 있고 쉴라체의 법칙에서 영감을 얻으셨다면 Semantic Kernel GitHub 리포지토리를 방문하여 별을 추가하여 지지를 표시해 주세요!

시맨틱 커널 GitHub 리포지터리 찾아보기

같이 보기

2개의 좋아요