Deadline Cloud에서 AI 에이전트 사용 - 기한 클라우드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Deadline Cloud에서 AI 에이전트 사용

AI 에이전트를 사용하여 Deadline Cloud에서 작업 번들을 작성하고, conda 패키지를 개발하고, 작업 문제를 해결합니다. 이 주제에서는 AI 에이전트가 무엇인지, 에이전트와 효과적으로 협력하기 위한 핵심 사항, 에이전트가 Deadline Cloud를 이해하는 데 도움이 되는 리소스에 대해 설명합니다.

AI 에이전트는 대규모 언어 모델(LLM)을 사용하여 작업을 자율적으로 수행하는 소프트웨어 도구입니다. AI 에이전트는 피드백을 기반으로 파일을 읽고 쓰고, 명령을 실행하고, 솔루션을 반복할 수 있습니다. 예를 들어 Kiro 및 IDE 통합 어시스턴트와 같은 명령줄 도구가 있습니다.

AI 에이전트 작업에 대한 요점

다음 핵심 사항은 Deadline Cloud에서 AI 에이전트를 사용할 때 더 나은 결과를 얻는 데 도움이 됩니다.

  • 근거 제공 - AI 에이전트는 관련 설명서, 사양 및 예제에 액세스할 수 있을 때 최상의 성능을 발휘합니다. 에이전트가 특정 설명서 페이지를 가리키도록 하고, 기존 예제 코드를 참조로 공유하고, 관련 오픈 소스 리포지토리를 로컬 워크스페이스에 복제하고, 타사 애플리케이션에 대한 설명서를 제공하여 근거를 제공할 수 있습니다.

  • 성공 기준 지정 - 에이전트에 대한 예상 결과 및 기술 요구 사항을 정의합니다. 예를 들어 에이전트에게 작업 번들을 개발하도록 요청할 때 작업 입력, 파라미터 및 예상 출력을 지정합니다. 사양에 대해 잘 모르는 경우 에이전트에게 먼저 옵션을 제안하도록 요청한 다음 요구 사항을 함께 구체화합니다.

  • 피드백 루프 활성화 - AI 에이전트는 솔루션을 테스트하고 피드백을 받을 수 있을 때 더 효과적으로 반복합니다. 첫 번째 시도에서 작동 솔루션을 기대하는 대신 에이전트에게 솔루션을 실행하고 결과를 검토할 수 있는 권한을 부여합니다. 이 접근 방식은 에이전트가 상태 업데이트, 로그 및 검증 오류에 액세스할 수 있을 때 효과적입니다. 예를 들어 작업 번들을 개발할 때 에이전트가 작업을 제출하고 로그를 검토하도록 허용합니다.

  • 반복 예상 - 컨텍스트가 양호하더라도 에이전트는 트랙에서 벗어나거나 환경과 일치하지 않는 가정을 할 수 있습니다. 에이전트가 작업에 접근하는 방식을 관찰하고 그 과정에서 지침을 제공합니다. 에이전트가 어려움을 겪는 경우 누락된 컨텍스트를 추가하고, 특정 로그 파일을 가리켜 오류를 찾고, 검색 시 요구 사항을 구체화하고, 에이전트가 피해야 할 사항을 명시적으로 설명하는 부정적인 요구 사항을 추가합니다.

에이전트 컨텍스트에 대한 리소스

다음 리소스는 AI 에이전트가 Deadline Cloud 개념을 이해하고 정확한 출력을 생성하는 데 도움이 됩니다.

  • Deadline Cloud Model Context Protocol(MCP) 서버 - Model Context Protocol을 지원하는 에이전트의 경우, deadline-cloud 리포지토리에는 작업과 상호 작용하기 위한 MCP 서버가 포함된 Deadline Cloud 클라이언트가 포함되어 있습니다.

  • AWS설명서 MCP 서버 - MCP를 지원하는 에이전트의 경우 에이전트에게 Deadline Cloud 사용 설명서 및 개발자 안내서를 포함한 AWS설명서에 대한 직접 액세스 권한을 부여하도록 AWS 설명서 MCP 서버를 구성합니다.

  • Open Job Description 사양 - GitHub의 Open Job Description 사양은 작업 템플릿의 스키마를 정의합니다. 에이전트가 작업 템플릿의 구조와 구문을 이해해야 하는 경우이 리포지토리를 참조하세요.

  • deadline-cloud-samples - deadline-cloud-samples 리포지토리에는 일반적인 애플리케이션 및 사용 사례를 위한 샘플 작업 번들, conda 레시피 및 CloudFormation템플릿이 포함되어 있습니다.

  • aws-deadline GitHub 조직 - aws-deadline GitHub 조직에는 다른 통합의 예로 사용할 수 있는 많은 타사 애플리케이션에 대한 참조 플러그인이 포함되어 있습니다.

프롬프트 예제: 작업 번들 작성

다음 예제 프롬프트는 AI 에이전트를 사용하여 AI 이미지를 생성하기 위해 LoRA(낮은 순위 적응) 어댑터를 훈련하는 작업 번들을 생성하는 방법을 보여줍니다. 프롬프트는 앞에서 설명한 주요 요점을 보여줍니다. 즉, 관련 리포지토리를 가리켜 근거를 제공하고, 작업 번들 출력의 성공 기준을 정의하고, 반복 개발을 위한 피드백 루프를 간략하게 설명합니다.

Write a pair of job bundles for Deadline Cloud that use the diffusers Python library to train a LoRA adapter on a set of images and then generate images from it. Requirements: - The training job takes a set of JPEG images as input, uses an image description, LoRA rank, learning rate, batch size, and number of training steps as parameters, and outputs a `.safetensors` file. - The generation job takes the `.safetensors` file as input and the number of images to generate, then outputs JPEG images. The jobs use Stable Diffusion 1.5 as the base model. - The jobs run `diffusers` as a Python script. Install the necessary packages using conda by setting the job parameters: - `CondaChannels`: `conda-forge` - `CondaPackages`: list of conda packages to install For context, clone the following repositories to your workspace and review their documentation and code: - OpenJobDescription specification: https://github.com/OpenJobDescription/openjd-specifications/blob/mainline/wiki/2023-09-Template-Schemas.md - Deadline Cloud sample job bundles: https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles - diffusers library: https://github.com/huggingface/diffusers Read through the provided context before you start. To develop a job bundle, iterate with the following steps until the submitted job succeeds. If a step fails, update the job bundle and restart the loop: 1. Create a job bundle. 2. Validate the job template syntax: `openjd check` 3. Submit the job to Deadline Cloud: `deadline bundle submit` 4. Wait for the job to complete: `deadline job wait` 5. View the job status and logs: `deadline job logs` 6. Download the job output: `deadline job download-output` To verify the training and generation jobs work together, iterate with the following steps until the generation job produces images that resemble the dog in the training data: 1. Develop and submit a training job using the training images in `./exdog` 2. Wait for the job to succeed then download its output. 3. Develop and submit a generation job using the LoRA adapter from the training job. 4. Wait for the job to succeed then download its output. 5. Inspect the generated images. If they resemble the dog in the training data, you're done. Otherwise, review the job template, job parameters, and job logs to identify and fix the issue.