paint-brush
Claude Sonnet 3.5 시스템 프롬프트 유출: 법의학적 분석~에 의해@tyingshoelaces
5,809 판독값
5,809 판독값

Claude Sonnet 3.5 시스템 프롬프트 유출: 법의학적 분석

~에 의해 tyingshoelaces.com9m2024/06/24
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

Claude Sonnet 3.5 시스템에 대한 포렌식 분석으로 누출이 발생했습니다. 아티팩트는 코드 생성, 벡터 검색과 같은 구조화된 출력 작업, 정의된 출력에 대한 검색 및 검색 시스템을 의미합니다.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail

Coins Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Claude Sonnet 3.5 시스템 프롬프트 유출: 법의학적 분석
tyingshoelaces.com HackerNoon profile picture
0-item

목차

  • 아티팩트 소개

    구조화된 출력 생성이 한 단계 더 발전했습니다.


  • 생각

    논리적 사고는 생성 과정의 핵심 부분입니다.


  • 식별자 및 검색

    아티팩트 검색 및 검색은 시스템 프롬프트의 핵심 부분입니다.


  • 템플릿 언어 구조

    입력 변수에 따라 이동하는 렌더링 템플릿


  • 결론

    클로드를 위한 하나의 작은 유물, AI의 거대한 도약.


  • 클로드 3.5 시스템

    시스템이 전체 메시지를 표시합니다.

아티팩트 소개

구조화된 출력 생성이 한 단계 더 발전했습니다.


Claude 3.5 Sonnet의 시스템 프롬프트 생성에 대한 분석입니다. 본 분석을 위한 코드 링크는 소스와 함께 하단에 제공됩니다. 이 분석의 주요 초점은 아티팩트 개념의 도입과 이것이 지능형 분류 및 검색 시스템의 일부로 어떻게 작동할 수 있는지에 관한 것입니다.


“아티팩트는 사용자가 수정하거나 재사용할 수 있는 실질적이고 독립적인 콘텐츠를 위한 것입니다.


인공물은 새로운 개념을 공식화하기 때문에 패러다임 변화입니다. 영구 데이터의 개념. 영구 데이터는 고도로 선별되고 구조화된 콘텐츠 라이브러리에 액세스하기 위한 디딤돌입니다. 고정 참조를 제공함으로써 반복 작업의 차단을 해제하고 출력을 점진적으로 개선하고 개선하는 기능을 제공합니다. 이는 장황한 LLM 출력의 임시 특성을 제어하기 위한 단계입니다.


코드 완성과 같은 기능적 작업을 위한 Generative AI의 본질적인 문제 중 하나는 간단한 변경을 위해 전체 파일을 반복하는 경우가 많다는 것입니다. 동일한 내용을 반복하는 것이 아니라 전후의 차이를 출력하는 'diff' 기능에 대한 수요가 엄청납니다.


따라서 유물은 두 가지 목적으로 사용됩니다. 첫째, 출력이 필요한 방법과 위치에 대한 기준점 역할을 합니다. 이는 범위 설정이나 기준점 정의와 같습니다. 이렇게 하면 LLM이 원래 문제의 초점을 잃지 않고 출력의 구조와 분류가 지속적으로 유지됩니다.


보너스 포인트로 자동 완성 기능도 있습니다. '기본' 코드와 변경 범위를 정의함으로써 우리는 이제 LLM이 독선적이고 엄선된 방식으로 특정 작업이나 문제에 집중하도록 지시했습니다. 이렇게 하면 확대/축소 시 불규칙한 이동이 중지되고 진행 중인 전체 작업이 프롬프트에 제공됩니다. 실수로 "나머지 코드는 여기에"를 사용하여 코드를 지운 엔지니어에게 감사드립니다. 여기에서 범위 설정을 볼 수 있습니다.


“대화의 맥락 없이 자체적으로 이해할 수 있는 독립적이고 복잡한 콘텐츠입니다.


우리는 제어되지 않은 장황한 출력에서 구체적인 아티팩트로 초점을 맞추고 있습니다. 대화의 맥락을 무시하라는 명시적인 지시에 주목할 가치가 있습니다. 큐레이트된 데이터를 참고해 품질을 확보하는 방식이다. 이는 입력의 장황하고 잠재적으로 무작위적인 특성을 제어하는 품질 관리 메커니즘입니다.


이 모든 것은 검색을 위한 아키텍처와 함께 적합합니다. 선별된 아티팩트의 심층적인 라이브러리를 보유함으로써 이제 제어된 데이터 세트에서 검색하도록 시스템에 지시할 수 있습니다. 우리는 모든 대규모 AI 제공업체가 고품질 큐레이트 데이터에 대한 투자에 집중하고 있다는 것을 알고 있습니다. 아티팩트는 자세한 입력 및 출력을 구조로 구성하는 단계입니다.


프롬프트에서 입력에서 벗어나 시스템 정의 연구에 대한 매핑을 볼 수 있습니다. 다음은 일부 제외 기준의 예입니다.


“현재 대화 상황에 따라 달라지는 콘텐츠가 유용합니다.

사용자가 수정하거나 반복할 가능성이 없는 콘텐츠입니다.

일회성 질문으로 보이는 사용자의 요청입니다.


프롬프트는 시스템 컨텍스트와 현재 작업에 적극적으로 초점을 맞추고 있습니다. 프롬프트는 매우 구체적인 출력과 관련이 없는 입력을 명시적으로 필터링하려고 합니다. 따라서 아티팩트는 생성된 텍스트와 이면의 구조화된 데이터 모두에서 구체적인 참조 지점 역할을 합니다. 이를 통해 빠르고 정확한 검색과 집중이 가능해집니다. 매우 도움이 되는 내용입니다...

생각

논리적 사고는 생성 과정의 핵심 부분입니다.


신속한 엔지니어들은 신뢰할 수 있는 결과물의 핵심 중 하나가 LLM이 다단계 구조화되고 논리적인 사고 프로세스를 형성하도록 의무화하는 것이라고 오랫동안 말해 왔습니다. 우리는 프롬프트에서 이에 대한 공식적인 인정을 봅니다.


"1. 아티팩트를 호출하기 전에 <antthinking> 태그의 한 문장에서 좋은 아티팩트와 나쁜 아티팩트 기준에 따라 어떻게 평가하는지 생각해 보세요. 콘텐츠가 아티팩트 없이도 제대로 작동하는지 생각해 보세요. 인공물 가치가 있는 경우 다른 문장에서 그것이 새로운 인공물인지 아니면 기존 인공물에 대한 업데이트인지(가장 일반적) 결정합니다. 업데이트하려면 이전 식별자를 재사용하세요.


여기서 우리는 시스템이 작업과 결과를 분석하기 위해 구조화된 다단계 프로세스를 수행하도록 의무화하고 있습니다. 다시 한번 장황한 콘텐츠에 대한 강력한 정의를 향해 나아가고 유물에 대한 검색 및 검색 시스템을 암시합니다.


“<antthinking>팩토리얼을 계산하는 Python 스크립트를 만드는 것은 좋은 아티팩트의 기준을 충족합니다. 이는 자체적으로 이해될 수 있고 재사용되거나 수정될 가능성이 있는 독립적인 코드 조각입니다. 이것은 새로운 대화이므로 기존 아티팩트가 없습니다. 그래서 새로운 아티팩트를 만들고 있습니다.</antthinking>


<antthinking>이 요청은 기존 계승 계산기 아티팩트를 직접 수정한 것입니다. 새로운 아티팩트는 아니지만 스크립트를 더욱 강력하게 만드는 업데이트입니다. 연속성을 유지하고 코드의 발전을 보여주기 위해 계승 계산기 식별자를 재사용하겠습니다.</antthinking>


여기서 우리는 정의된 출력 생성을 위한 논리적 사고 프로세스의 구현을 볼 수 있습니다. 우리의 알고리즘이 동일한 논리적 단계를 거치도록 보장함으로써 지능적이고 반복 가능한 생성 프로세스의 씨앗을 갖게 됩니다.


우리는 이 논리를 사람의 사고 과정에 매핑할 수 있습니다. 우선, 우리는 논리적이고 합리적인 문제 해결 접근 방식을 가지고 있습니다. 우리는 이를 하드 아티팩트로 보완합니다. LLM 데이터 세트는 두뇌이지만, 아티팩트는 특정 결과에 도달할 수 있게 해주는 기술과 지식입니다.


모든 경쟁 모델을 상상해 보면 논리적 사고 과정의 복제에 의존한다는 것을 알 수 있습니다. 우리는 본질적으로 인간의 논리적 사고 과정을 모방하는 로봇 두뇌를 만들고 있습니다. 우리는 뇌에 활력을 불어넣는 누락된 부분, 지식, 구조 및 검색 과정을 구축하고 있습니다.


이는 시스템 프롬프트와 지침을 매우 귀중한 자산으로 만듭니다. "논리적 사고"의 이해와 개선은 생성 과정의 핵심 부분입니다.


우리는 코드에서 이러한 구조적 사고의 몇 가지 기본 구현을 볼 수 있습니다.

식별자 및 검색

아티팩트 검색 및 검색은 시스템 프롬프트의 핵심 부분입니다.


“<antartifactidentifier="factorial-script" type="application/vnd.ant.code" 언어="python" title="간단한 Python 계승 스크립트"> def Factorial(n): if n == 0: return 1 else : n * 계승(n - 1)을 반환합니다.


그렇다면 application/vnd.ant.code는 무엇입니까? 애플리케이션은 충분히 간단합니다. VND는 공급업체이고 ANT는 Anthropic(Claude의 창시자)과 코드입니다. 그것은 그들의 아키텍처에 대한 통찰력입니다. 사람들이 LLM을 통해 달성하려는 작업을 나열하는 일종의 분류 및 구조화된 데이터를 기대합니다.


  1. 코딩 작업

  2. 프리젠테이션

  3. 서류

  4. 분석

  5. 더 많은 것...


예를 들어 PowerPoint 프레젠테이션을 시도하기 위해 의사 코드를 만들 수 있습니다.

 <antartifact identifier="powerpoint-presentation" type="application/vnd.ant.presentation" purpose="business" title="Simple powerpoint presentation"> Slide 1: Title slide Slide 2: Introduction Slide 3: Problem statement Slide 4: Solution </antartifact>


이것은 거의 확실하게 프로덕션 코드와는 다르지만 흥미로운 정신적 패러다임입니다. 장황한 출력을 제어하고 구조화하려면 입력과 출력을 분류하고 표준화하기 위한 논리적이고 합리적인 프로세스를 만나야 합니다.


나는 이것이 입력이 들어올 때 엔터티 추출 및 분류를 실행하는 별도의 전투 강화 알고리즘을 실행한다는 것을 의미한다고 생각합니다. 그런 다음 이 구조화된 데이터는 자산 검색 및 검색 프로세스를 통해 실행됩니다. 텍스트의 경우 벡터 데이터베이스를 사용합니다. 다른 정의된 출력의 경우 이제 이 아티팩트 개념을 도입했습니다. 예를 들어 React Code 작업은 다음과 같이 진행될 수 있습니다.


 "INPUT: Create a react component for a metrics dashboard", "ENTITY_EXTRACTION: Coding, React, Metrics Dashboard", "ENTITY_SEARCH: Retrieve code artifacts for Metrics Dashboard where type = React", "SYSTEM_PROMPT: create_system_prompt(artifact_id='metrics-dashboard-component', type='application/vnd.ant.code', language='react')"


많은 일이 진행되고 있으며 본질적으로 무제한적인 이론적 작업 풀에 대한 고품질 예제와 분류를 선별하기 위해 무대 뒤에서 필요한 하드 야드를 볼 수 있습니다. 이를 자동화하기 위해 배후에서 다른 AI 분류 알고리즘을 반복적으로 사용할 예정입니다.


그러나 우리가 볼 수 있듯이 핵심은 독점 템플릿 언어를 기반으로 한 멋진 검색 및 검색 시스템입니다.

템플릿 언어 구조

입력 변수에 따라 이동하는 렌더링 템플릿입니다.


저는 수년 전에 Drupal 개발자로 경력을 시작했습니다. 프롬프트를 읽으면서 나에게 튀어나온 단어는 TWIG였습니다. Twig는 PHP에서 HTML로 템플릿을 렌더링하는 데 일반적으로 사용되는 HTML 템플릿 언어입니다. Claude는 구조화된 데이터(아마도 LLM 외부에서 추출됨)를 기반으로 입력과 컨텍스트를 조정하는 동등한 접근 방식을 거의 확실히 사용할 것입니다.


Claude Sonnet 3.5가 비슷한 것을 사용하는 것 같은데, 이는 완벽하게 이해됩니다. LLM에 대한 텍스트 입력이 주어지면 텍스트 블록을 체계적으로 생성해야 합니다. 이는 프롬프트를 생성하기 위해 함께 사용되는 동적 태그입니다.


  1. <아티팩트></antartifact>

  2. <아티팩트_정보><아티팩트_정보/>

  3. <예></예>

  4. <user_query></user_query>

  5. <example_docstring></example_docstring>

  6. <assistant_response></assistant_response>


이는 일종의 함수 호출 접근 방식을 활용합니다. 각 태그에는 특정 목적이 있습니다. 그런 다음 이는 모델이 각 특정 목적에 적합한 카테고리와 유형을 찾도록 지시할 때 추상화 역할을 합니다. 신속한 공사가 이런 식으로 진행되는 것 같아요. 대규모 추측성 의사 코드 수신…


 function generate_reference() { context=artifact_type, artifact_id, task examples = search_examples_by_type('react', 'hooks', 'current_ids') return structured_data } function generate_system_instruction(structured_data) { <antartifact> <artifacts_info {{ attribute(version, '1.00') }}> <% artifact_introduction %> <% artifact_selection %> <% artifact_elimination %> <% artifact_usage %> <% artifact_instruction {{ type(code, 'data-code') }} {{ type(react, 'data-react') }} %> </ artifacts_info/> <example {{ for react_example in react_code_artifact }}>{react_example }</example> <example_docstring {{ for example_thought_process in curated_artifact_generation_example }}>{example_thought_process }<example_docstring /> <user_query>{sanitized_user_query}</user_query> <assistant_response>{sanitized_user_query}</assistant_response> </antartifact }


그래서 우리는 블록으로 나누어진 사고 과정을 갖게 되었습니다. 고급 검색 및 검색으로 매핑된 엔터티 추출입니다. 논리적 사고 과정을 위한 구성 요소입니다. 기반 데이터는 출력 품질의 핵심입니다.

결론

클로드를 위한 하나의 작은 유물, AI의 거대한 도약.


아티팩트는 벡터 검색이 래그인 코드 생성과 같은 구조화된 출력입니다. 구조화된 출력을 위한 검색 및 검색 시스템입니다.


우리는 Claude 3.5에서 구조화되고 합리적인 사고 과정의 증거를 봅니다. Generative AI에서 우리가 항상 중요하다고 기대했던 것이 있지만 이것은 공식적인 증거입니다.


나는 개발자와 마케팅 담당자가 엄선된 유물 라이브러리를 구축하는 모습을 상상할 수 있습니다. 이 라이브러리는 분류와 검색 작업을 통해 액세스됩니다. 그러나 진정한 진전은 지속성의 개념입니다.


인공물로 작업함으로써 우리는 일시적인 것 너머에 존재하는 기준점을 갖게 됩니다. 정제하여 재사용할 수 있는 것. 우리는 이미 생각과 장황한 결과를 얻었습니다. 이제 우리에겐 추억과 전문성이 생겼습니다...

클로드 3.5 시스템

전체 시스템 프롬프트