인간 중심적이고 일관된 전체 프로그램 합성(일명 개인 주니어 개발자)
GitHub - smol-ai/developer: with 100k context windows on the way, it's now feasible for every dev to have their own smol develop
with 100k context windows on the way, it's now feasible for every dev to have their own smol developer - GitHub - smol-ai/developer: with 100k context windows on the way, it's now feasible ...
github.com
모든 상황의 모든 개발자를 위한 smol developer
이것은 제품 사양을 제공하면 전체 코드베이스를 스캐폴딩하는 "주니어 개발자" 에이전트(일명 스몰 개발자)의 프로토타입이지만, 세상을 끝내거나 AGI를 과도하게 약속하지 않습니다. create-react-app 또는 create-nextjs-app처럼 구체적이고 딱딱한 원샷 스타터를 만들고 유지하는 대신, 기본적으로 스몰 개발자와 긴밀한 루프에서 스캐폴딩 프롬프트를 개발하는 create-anything-app입니다. 도움이 되고, 무해하며, 정직한 AI는 간단하고 안전하며, 200줄 미만의 Python과 프롬프트로 구성된 스몰 코드베이스로 보완되므로 이해하고 커스터마이징하기 쉽습니다.
내용
프롬프트 엔지니어링이 아닌 프롬프트가 있는 엔지니어링
프롬프트 엔지니어링이 프롬프트가 있는 엔지니어링이란 말이 말장난 처럼 느껴지는 것은 사실입니다. 하지만 뒤의 내용을 보면 어떤 내용인지 이해가 될 것입니다.
prompt.md의 데모 예제는 AI를 사용하지만 여전히 인간 개발자 중심의 워크플로우의 잠재력을 보여줍니다:
- 사용자가 빌드하려는 앱에 대한 기본 프롬프트를 작성합니다. main.py가 코드를 생성하도록 작성되어 있습니다.
- 사용자의 코드를 실행/읽습니다. 사람은 프롬프트에서 지정되지 않은 부분을 발견하면 프롬프트에 추가하기만 하면 됩니다.
- 수동으로 코드를 실행하고 오류를 식별합니다. GitHub 이슈를 제출하는 것처럼 프롬프트에 오류를 붙여넣습니다.
- 추가 도움이 필요하면 전체 코드베이스를 읽어 특정 코드 변경을 제안하는 debugger.py를 사용할 수 있습니다.
- 만족스러운 결과를 얻을 때까지 반복합니다. AI는 가치가 더해진다고 할 수 있을 때만 사용해야 하며, 방해가 된다면 마음 상처 받지 않는 스몰 주니어 개발자로부터 코드베이스를 넘겨받으면 됩니다. (스몰 개발자가 기존 코드베이스를 인수하여 자체 프롬프트를 부트스트랩하도록 할 수도 있지만, 이는 향후 방향입니다.)
- 코드가 없는 것도 아니고, low 코드도 아니고, 제3의 무언가. 여전히 기술적인 지식이 필요하지만, 최소한 발판을 마련하기 위해 모든 세부 사항을 구현할 필요는 없는 고차원적인 프로그래밍의 진화일 수도 있습니다.
혁신과 인사이트 관련한 내용은 https://latent.space/ 에서 좀더 확인이 가능합니다.
마크다운만 있으면 됩니다 - 마크다운은 영어와 코드를 쉽게 혼합할 수 있기 때문에 전체 프로그램 합성을 위한 프롬프트에 완벽한 방법입니다(변수_이름이든 전체 ``` 코드 펜스 코드 샘플이든). 프롬프트에서 코드에 프롬프트를 지정할 수 있고 gpt4는 이를 그대로 따릅니다.
프로그래밍 복사 및 붙여넣기
로컬 입력과 출력에 붙여넣기만 하면 새로운 API(Anthropic의 API는 GPT3의 지식 컷오프 이후)를 중심으로 코딩하는 방법을 이해하도록 프로그램을 가르칩니다. 프롬프트에 오류 메시지를 붙여넣고 어떻게 처리할지 모호하게 프로그램에 지시하는 것은 "로그북 중심 프로그래밍"과 같은 느낌입니다. 오류 메시지와 함께 전체 코드베이스를 인용하여 디버깅하고 구체적인 수정 제안 받으면 특히 좋습니다.
전체 프로그램 일관성을 위한 트릭 - 우리가 선택한 예제 사용 사례인 Chrome 확장 프로그램에는 파일 간에 간접 종속성이 많이 있습니다. 상호 종속성에 대한 인식이 부족하면 프로그램 전체에 오류가 발생합니다.
우리는 이 문제를 해결하기 위해 GPT에 shared_dependencies.md를 검토하도록 요청하는 중간 단계를 추가한 다음 각 파일을 생성할 때 이를 사용하도록 했습니다. 이것은 기본적으로 GPT가 스스로 대화할 수 있다는 것을 의미합니다.
하지만 아직 완벽하지는 않습니다. shared_dependencies.md는 때때로 파일 간의 하드 종속성을 이해하는 데 포괄적이지 않습니다. 그래서 프롬프트에 특정 이름을 지정하여 이 문제를 해결했습니다. 처음에는 지저분하게 느껴졌지만 실제로 작동하며, 결국에는 명확하고 모호하지 않은 의사소통이 이루어집니다. SOTA 스몰 개발 프롬프트는 prompt.md를 참조하세요.
익숙하지 않은 API에 대한 낮은 활성화 에너지
CSS 애니메이션을 배운 적이 없지만 이제 "빨간색과 흰색 사탕 줄무늬 로딩 표시기가 있는 멋진 CSS 애니메이션"을 원한다고 말만 하면 바로 실행됩니다. Chrome 확장 프로그램 매니페스트 v3도 마찬가지입니다. 문서가 엉망이지만 다행히도 기본적인 작업을 수행하기 위해 지금 문서를 읽을 필요는 없습니다. Anthropic 문서에는 어떤 반환 서명이 있는지에 대한 지침이 누락되어 있었기 때문에 그냥 컬링해서 프롬프트에 버리면 됩니다. 모달만 있으면 됩니다 - 4가지 문제를 해결하기 위해 모달을 선택했습니다
'최신IT 정보 > IT 개발정보' 카테고리의 다른 글
초거대AI를 괴롭히는 적대적 프롬프팅에 대해 알고계신가요? (0) | 2023.05.20 |
---|---|
자동코드생성 툴 Copilot 의 전체 프롬프트 유출되었다고? (0) | 2023.05.19 |
초거대 AI 프롬프트 배우기 좋은 사이트 소개 (0) | 2023.05.19 |