신속한 엔지니어링으로 알려진 이 프로세스는 AI 시스템에서 정확하고 관련성 있는 응답을 얻는 데 필수적입니다.
프롬프트 엔지니어링이란?
신속한 엔지니어링에는 LLM 응답을 최적화하기 위한 정확한 지침을 만드는 것이 포함됩니다. 입력 프롬프트가 더 자세하고 구체적일수록 귀하의 요구에 더 관련성이 높고 정렬된 결과가 나올 것입니다.
프롬프트: "기술 지식이 없는 사용자를 대상으로 프롬프트 엔지니어링에 대해 100단어 요약을 제공합니다."
이제 LLM은 청중에 맞는 간결한 답변을 제공하도록 안내됩니다. 출력:
"프롬프트 엔지니어링은 최상의 결과를 얻기 위해 ChatGPT와 같은 AI 시스템에 대한 효과적인 지침을 작성하는 것입니다. 여기에는 구체적이고, 컨텍스트를 제공하고, 복잡한 질문을 세분화하는 것이 포함됩니다. 형식을 지정하고, 예를 제공하거나, 경계를 설정함으로써 프롬프트 엔지니어링은 고객과의 명확한 커뮤니케이션을 보장합니다. AI 비서."
특정 출력을 요청하는 이 방법은 원하는 정확한 결과를 얻기 위해 프롬프트를 "엔지니어링"하는 방법을 보여줍니다.
좋은 LLM 프롬프트의 구성 요소
1
컨텍스트C# 프로젝트에서 작업 중이고 클래스 정의를 수정한다고 가정해 보겠습니다. 여기의 컨텍스트는 코드 조각일 수 있습니다.
상황에 맞는 프롬프트:
"이 C# 코드에서:
공개 클래스 사용자 { 공개 int UserId { 가져오기; 세트; } 공개 문자열 이름 { get; 세트; } 공개 문자열 이메일 { get; 세트; } 공개 문자열 PhoneNumber { get; 세트; } }
UserId 및 Name이 읽기 전용이 되도록 클래스를 수정하고 생성자에서 설정합니다."
출력:
이 예는 LLM이 올바른 응답을 생성하도록 안내하기 위해 관련 컨텍스트를 제공하는 것의 중요성을 보여줍니다. 예: 모호한 질문: 구체적인 질문: 출력: 예: 예시를 포함한 프롬프트: 출력: 예: 출력: 예: 몇 가지 예를 사용한 프롬프트: 출력: 예: 첫 번째 프롬프트: 출력: 후속 메시지: 출력: 최종 메시지: 출력: 예: 출력: 이 기사는 원래 Pieces for Developers의 Devreal 책임자인 Jim이 작성했습니다. 이 기사 https://pieces.app/blog/llm-prompt-engineering
특정 필드를 사용하여 C#에서 사용자 클래스를 생성하려면 필수 필드와 동작을 명확하게 지정하세요.
"사용자 클래스를 생성합니다."
"UserId, Name, PhoneNumber 필드가 포함된 C# 사용자 클래스를 만듭니다. UserId를 읽기 전용으로 만들고 생성자를 추가하여 이러한 필드를 설정합니다."
public class User
{
public int UserId { get; }
public string Name { get; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
public User(int userId, string name)
{
UserId = userId;
Name = name;
}
}
사용자 클래스에 대한 더미 데이터를 생성해야 하는 경우 데이터가 어떤 모습이어야 하는지에 대한 예를 제공하세요.
"UserId, Name, Email, PhoneNumber 필드를 사용하여 User 클래스의 인스턴스 5개를 생성합니다. 예를 보려면 다음 형식을 사용하십시오.
var user1 = new User(1, "John Doe", "john.doe@example.com", "555-555-5555");
다음은 몇 가지 예입니다.
var user2 = new User(2, "Jane Doe", "jane.doe@example.com", "555-555-5556");
이제 5개의 인스턴스를 생성하세요."
public class User
{
public int UserId { get; }
public string Name { get; set; }
public string PhoneNumber { get; set; }
public User(int userId, string name, string phoneNumber)
{
UserId = userId;
Name = name;
PhoneNumber = phoneNumber;
}
}
효과적인 프롬프트 엔지니어링을 위한 기법
프롬프트: "C#에서 xUnit을 사용하여 사용자 클래스에 대한 단위 테스트를 만듭니다."
var user1 = new User(1, "John Smith", "john.smith@example.com", "555-555-5555");
var user2 = new User(2, "Jane Doe", "jane.doe@example.com", "555-555-5556");
var user3 = new User(3, "Mary Johnson", "mary.johnson@example.com", "555-555-5557");
var user4 = new User(4, "David Lee", "david.lee@example.com", "555-555-5558");
var user5 = new User(5, "Linda White", "linda.white@example.com", "555-555-5559");
사용자 클래스에 대한 데이터를 생성하려면 몇 가지 예제 데이터 포인트를 사용하여 출력 형식을 안내할 수 있습니다.
"다음은 User 클래스의 일부 인스턴스입니다.
var user1 = new User(1, "John Smith", "john.smith@example.com", "555-555-5555");
var user2 = new User(2, "Jane Doe", "jane.doe@example.com", "555-555-5556");
이제 동일한 패턴에 따라 인스턴스를 3개 더 만듭니다."
public class UserTests
{
[Fact]
public void UserConstructor_SetsProperties()
{
// Arrange
var user = new User(1, "John Doe", "john.doe@example.com", "555-555-5555");
// Act & Assert
Assert.Equal(1, user.UserId);
Assert.Equal("John Doe", user.Name);
Assert.Equal("john.doe@example.com", user.Email);
Assert.Equal("555-555-5555", user.PhoneNumber);
}
}
간단한 프롬프트로 시작하여 점진적으로 수정해 보세요.
"Python에서 기본 사용자 클래스를 만듭니다."
public class User
{
public int UserId { get; }
public string Name { get; }
public string Email { get; set; }
public string PhoneNumber { get; set; }
public User(int userId, string name)
{
UserId = userId;
Name = name;
}
}
"이 클래스를 C#으로 변환하세요."
public class User
{
public int UserId { get; }
public string Name { get; set; }
public string PhoneNumber { get; set; }
public User(int userId, string name, string phoneNumber)
{
UserId = userId;
Name = name;
PhoneNumber = phoneNumber;
}
}
"비밀번호 속성을 비공개로 설정하고 생성자에서 초기화된 DateTime CreatedAt 속성을 추가하세요."
var user1 = new User(1, "John Smith", "john.smith@example.com", "555-555-5555");
var user2 = new User(2, "Jane Doe", "jane.doe@example.com", "555-555-5556");
var user3 = new User(3, "Mary Johnson", "mary.johnson@example.com", "555-555-5557");
var user4 = new User(4, "David Lee", "david.lee@example.com", "555-555-5558");
var user5 = new User(5, "Linda White", "linda.white@example.com", "555-555-5559");
프롬프트:
*"다음 C# 클래스에 대한 단위 테스트 세트를 만듭니다.
공개 클래스 사용자 { 공개 int UserId { 가져오기; 세트; } 공개 문자열 이름 { get; 세트; } 공개 문자열 PhoneNumber { get; 세트; } }
단계별로 생각해 보세요:
public class UserTests
{
[Fact]
public void UserConstructor_SetsProperties()
{
// Arrange
var user = new User(1, "John Doe", "john.doe@example.com", "555-555-5555");
// Act & Assert
Assert.Equal(1, user.UserId);
Assert.Equal("John Doe", user.Name);
Assert.Equal("john.doe@example.com", user.Email);
Assert.Equal("555-555-5555", user.PhoneNumber);
}
}
위 내용은 효과적인 프롬프트 엔지니어링을 위한 기법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!