결승 진출 발표가 난 후 다음 주 월요일에 결승 OT가 진행되었다. 주제는 예선, 본선이 코딩 테스트였으니까 결승도 코딩 테스트일 것으로 예측했다. 그런데 막상 가보니.. 이게 뭐야.. 주제는 "실제 프로젝트에서 겪은 고충 사항을 발견하고 이를 AI를 통해 자동화할 수 있는 기능의 구현"이었다.
난감했다. 안 그래도 요즘 프로젝트 일이 많이 들어오고 있는데 코딩 테스트가 아니라고..? 하지만, 더 난감한 것은 제출기한인데.. 바로 일주일!! 하.. ㅋㅋㅋㅋㅋ 주제 선정부터 기능 구현, 그리고 발표 ppt 준비까지 일주일이 주어졌다. 그렇게 지옥의 일주일이 시작되었다.
주제 선정
사실 주제 선정부터 막막했다. 실제 프로젝트에서 겪은 어려움을 AI를 통해 해결할 수 있는 주제라.. 심지어 특정 기능들을 전달하면서 해당 기능들은 이미 개발된 기능들이기 때문에 선택 불가능하다고 통지받았다.
처음에 떠오른 아이디어는 PR 혹은 commit 시 프로젝트의 표준에 대해 알고 있는 AI가 커밋 내용을 점검하고 코드 리뷰를 해주는 기능이었다. 하지만 이미 있는 기능이라고 빠꾸 당했다ㅜ
다시 과거에 힘들었던 기억을 하니씩 차근차근 되새김질해보다 보니.. 프로젝트의 Java version을 업그레이드했었던 기억이 났다. 짧게 요약해 보면, 애플리케이션을 올려두는 서버가 App engine인데, 더 이상 특정 버전을 지원하지 않게 되어 업그레이드했었다. 그때 기존 의존성 버전과 업그레이드할 Java 버전과 호환 가능한지, 호환되지 않는다면 취약점이 없는 새로운 버전으로 업그레이드해야 했었다.
이때, GPT나 Copilot을 사용했었는데 원하는 응답을 주지 못하여 결국 하나하나 직접 검사하고 업그레이드했던 기억이 있다.
그래서 최종적으로 선정된 주제는 "의존성의 취약점 및 호환성을 파악하고 문제가 있다면 새로운 버전으로 업그레이드 해주는 AI 도구"였다.
(기존 Java 버전, 업그레이드할 Java 버전, 의존성이 주어졌을 때 업그레이드할 자바 버전과 호환되며 취약점이 없는 의존성 버전으로 업그레이드해 주는 기능을 하지 않은 이유는 제한된 시간 내에 해당 기능을 완성시키기 어려울 것이라고 판단하였기 때문입니다.)
과정
처음에는 prompt를 잘 몰라서, 모든 의존성을 주었을 때 취약점과 호환성을 파악하고 새로운 버전으로 업그레이드해줄 수 있는 prompt를 개발해 보았다. 그런데 GPT로 한 번에 많고 복잡한 요구사항을 해결해 주는 건 힘든(거의 불가능) 일이다.. ㅋㅋ
아래는 처음 제작하였던 prompt이다.
### Instruction ###
- You are the world's best Java and Spring backend developer. Also, you are the developer with exceptional skills in dependency management and security.
- Your most important task is to accomplish the following six core objectives:
#1. Check the given dependency and all dependencies included in the dependency chain about the “VULNERABILITY AND EXISTENCE” of given dependency.
2. Ensure that the version of the given dependency and all dependencies included in the dependency what you will provide chain must be absolutely "FREE OF VULNERABILITY”.
3. Ensure that the version of the given dependency what you will provide must be absolutely “COMPATIBLE WITH JAVA 8 VERSION”
4. Ensure that the version of the given dependency what you will provide chain updated must be absolutely “EXIST IN THE MAVEN CENTRAL REPOSITORY”.
Visit maven central repository in format below and if response contains “Not found”, it means the version of dependency is not exist.
https://mvnrepository.com/artifact/{{groupId}}/{{artifactId}}/{{version}}
5. When searching for vulnerability or existence of dependency, always be sure to “SEARCH THROUGH THE WEB SITE AT BELOW”.
- https://central.sonatype.com/
- https://cve.mitre.org/index.html
- https://nvd.nist.gov/vuln/search
- https://security.snyk.io/
- https://www.cvedetails.com/
6. Give me the answer with below format
- If the dependency or version don’t exist, give me “Type: Not Exist”
- If the dependency or version has any vulnerability, give me “Type: Vulnerability”
- If the dependency or version has compatibility issue with given Java version, give me “Type: Compatibility issue”
- If there is no issue with existence, vulnerability, compatibility issue, give me answer “Type: Safe”
- When adjusting the dependency, indicate which vulnerability have been reported and provide links to resources where details about the vulnerability and versions can be found in comments.
- Let’s think step by step.
###Explanation###
Sample dependency:
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
```
1. Check Dependency Existence:
Verify if the dependency version exists on https://mvnrepository.com/artifact/commons-io/commons-io/1.3.2.
An error message stating 'Not Found' would appear if the dependency does not exist.
2. Check for Vulnerability:
If the dependency version exists, check for vulnerability in all dependencies in dependency chain by searching through the web site.
Visit https://mvnrepository.com/artifact/commons-io/commons-io/1.3.2 site and find vulnerability in the vulnerabilities section.
No vulnerability means there should be empty or zero count in vulnerabilities section.
3. Check for Compatibility with given Java version:
If the dependency version exists and has no vulnerability, check the version of dependency is compatible with given Java version.
Find the official document of the dependency in web site and check requirements or compatibility.
3. Recommend another version:
If there is vulnerabilities or compatibility issue with give Java version, Recommend a Safe Version free of vulnerability and compatible with given Java version.
Recommend another version of dependency that the dependency and all dependencies included in the dependency chain is free from vulnerability and exists in maven central repository and is compatible with given Java version.
###Example###
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
```
##Output##
Type: Safe
```
<!-- No vulnerabilities and compatible. -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>test</groupId>
<artifactId>commons-io</artifactId>
<version>-1</version>
</dependency>
```
##Output##
Type: Not Exist
```
<!-- The version of dependency is not exist -->
<!--
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
-->
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
```
##Output##
Type: Vulnerability
```
<!-- The existing version 1.3.2 has a CVE-2021-29425 vulnerability. -->
<!-- Upgraded to version 2.11.0 which is compatible with Java 17 and has no known vulnerabilities -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
</dependency>
```
##Output##
Type: Compatibility issue
```
<!-- The version of dependency is not compatible with Java version 8 -->
<!-- Updated to version of 4.0.0 compatible with Java version 8 and has no vulnerability. -->
<!-- Reference URL: https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
</dependency>
```
Modify the given dependency at ###Problem### and write the result at ###Output###.
You must use “GPT BROWSING WEB FUNCTION” to find information about existence or vulnerabilities of dependency. Using "existence, vulnerabilities, compatibility with {{given Java version}}” in search keyword.
You must SEARCH AS MANY WEB SITES AS POSSIBLE in using get browsing web function.
Before using GPT browsing web function, Check the dependency exist.
###Problem###
Java version: 8
Dependency in use:
```
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>12.0.12</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.11.3</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
외 여러 의존성들...
```
###Output###
Type:
```
```
이 prompt에는 여러 가지 문제가 있는데, 그중 가장 큰 문제는 정확도였다.
GPT가 여러 가지 의존성들을 모두 검사하다 보니 일부는 정상적으로 판단하고 변경해 주어도 나머지 대부분은 오답을 주었다. 그래서 prompt 기술에 대해 찾아본 결과 GPT에게 한 번의 대화에 하나의 일, 즉 문제를 세분화시켜서 하나씩 해결해야 한다는 점이다.
prompt의 문제 및 한계점을 깨닫고 GPT와 여러 대화를 거쳐 최종 응답을 받는 형태로 기능의 설계를 변경하였다.
그리하여 제출하게 된 기능의 설계 및 동작 방식은 아래의 사진과 같다.
1. GPT에게 이 대화의 목적과 GPT의 임무에 대해서 설명.
2. GroupId, ArtifactId를 가지고 의존성 자체가 존재하는지 확인. 없는 의존성이면 기능 종료
3. 2가 Safe면, 의존성 버전이 존재하는지 확인.
4. 3가 Safe면, 의존성 버전이 취약점을 가지고 있는지 확인.
5. 4가 Safe면, 의존성 버전이 주어진 Java 버전과 호환되는지 확인.
6. 5가 Safe면, 안전한 버전이라고 판단하고 사용자에게 반환.
** 3, 4, 5에서 문제가 보고되면 GPT는 새로운 버전을 추천해 주고, 다시 3 -> 4 -> 5 순으로 검증 절차를 진행한다. **
이 기능의 특징은 다음과 같다.
- GPT에게 목적 및 임무를 설정해 주는 부분과 검증 부분이 4단계로 세분화하였다.
이렇게 한 번에 하나의 목표에 대해 주어지면 GPT의 응답 성공률은 그렇지 않았을 때보다 30%가량 상승되었다. (테스트 모수가 몇백 번 이하이기 때문에 개인적인 주관입니다.) - GPT Web browsing 기능을 적극 사용하였다.
의존성의 취약점은 지속적으로 보고되고 있기 때문에 최신 정보가 필요하다. 그러나 GPT의 학습 데이터는 특성상 과거에 머물러 있을 수밖에 없다. 그래서 이전까지는 최신 정보를 필요로 하는 기능은 GPT로는 구현이 불가능하였다.
그러나 GPT Web browsing 기능이 등장하고 GPT가 학습한 데이터와 GPT가 가져온 BingSearch의 결과물을 합쳐서 최신 정보를 응답에 담을 수 있게 되었다.
이 GPT 기능을 사용하지 않으면 이 기능의 정확성은 형편없을 정도로 떨어짐으로 기능의 가장 중요한 포인트이다. - 추후 프로그램화를 위해 "Type: 상태"와 같은 형태로 응답을 주도록 설정하였다.
이 기능은 prompt에 머물지 않고 프로그램화된다는 가정하에 응답을 일정한 형태로 주도록 작성하였다. 일정한 형태의 응답을 GPT가 제공해주고 프로그램이 파싱하여 어떤 로직을 수행해야 할지 결정할 수 있도록 구현할 생각이다.
결과
일주일 동안 이 AI 기능을 개발하여 제출하고 발표를 하게 되었다. 그리고 대망의 결과! 를 발표하기 전 사실 나는 내가 2,3 등은 할 줄 알았다 ㅋㅋ 나름 짜임새 있게 제출하였고 주제도 실용성이 있다고 생각했기 때문이다. 그렇게 기대감을 안고 결과 발표가 시작되었는데...
난 수상하지 못했다..ㅠ
부족한 점도 있긴 했지만 충분히 경쟁력 있는 주제였고 또 기능 또한 프로그램화시킨다는 점에서 다른 사람들과 차별점이 있다고 생각했다.
집에 가면서 어떤 부분이 부족했는지 되돌아보았을 때 내가 수상하지 못했던 점은 발표를 잘하지는 못했던 점(나의 치명적인 약점..), 주어진 기술로 프로그램화시키지 못한 점, 비슷한 기능(synk) 등이 있지 않을까 싶다.
그리고 일주일이 흘러.. 지금 이 기능을 되돌아보았을 때 아쉬운 점은 아래와 같다.
- 위에서 언급하지 않았지만, 나는 이 기능 핵심 요소 중 하나는 정확성이라고 생각한다. 이 기능이 프로그램화되었다고 가정할 때, 사용자가 이 프로그램을 사용하려 한다면 가장 중요하게 볼 요소는 프로그램이 추천해 주는 의존성의 버전이 취약점이 없고 주어진 자바 버전과 호환가능한가?이다.
만약 신뢰성이 없다면 거들떠볼 필요도 없는 프로그램이 될 것이다.
그러나 여러 테스트를 해보았지만 아직 이 prompt로는 높은 정확성을 가지지 못했다. 내가 파악한 정확성은 50 ~ 60%이다.
이 부분을 개선하기 위해서는 좀 더 요구사항을 검토하여 다양화 및 세밀화할 필요가 있다.
현재 이 기능은 주어진 의존성과 그 의존성이 의존하고 있는 여러 가지 의존들에게서 취약점이 하나라도 존재한다면 검증에 실패한다.
그런데 만약 Java 버전과 호환 가능하면서 의존성과 의존하고 있는 모든 의존들에게서 취약점이 없는 의존성 버전이 존재하지 않는다면 어떻게 해야 할까? 현재는 이 상황에서 어떻게 해야 하는지에 대한 prompt는 없다. 그에 따라 이런 케이스에 도달한다면 아무 버전도 추천해주지 않는다.
이렇듯 여러 가지 시나리오에서 대응할 수 있는 prompt를 추가해야 한다.
또 다른 개선 방법은 현재 prompt들의 세분화이다.
검증과 새로운 버전의 추천이 설계도에서는 분화되어 있지만, 실제는 아래와 같이 검증 단계에서 이슈가 존재한다면 추천도 진행된다.
따라서 검증과 추천 부분을 분리하고 검증과 추천을 각기 다른 대화(session)에서 진행하는 등의 세분화 과정을 거치면 더욱 정확도 높은 prompt가 되지 않을까 예상한다.
- 현재 기술로는 프로그램화가 불가능하다는 점이다.
현재도 찾아보는 중이지만, 내가 알기로 GPT API를 호출할 때 GPT Web Browsing 기능을 사용할 수 없는 것으로 알고 있다. GPT Web Browsing 기술이 없다면 이 기능은 사용할 수 없을 정도로 정확도가 낮아진다. 따라서 이 기술이 GPT API에 접목되기 전까지는 프로그램화시킬 수 없다.
추후 기술이 발전하여 GPT에 web browsing 기술이 내장되거나 곧 나올 GPT Search를 GPT API에 사용할 수 있다면 그때 기능의 프로그램화가 가능할 것이다.
되돌아보며
이 대회동안, 특히 일주일간의 결승 준비기간 동안 Prompt에 대해서 공부할 수 있었던 계기였다.
이전에는 prompt 기술에 대해서 자세히도 몰랐으며 prompt에 좋다는 것은 다 넣고 GPT를 사용해 왔었다. 그렇게 해도 결과가 잘 나온다고 생각했었다.
그런데 본선과 결선을 준비하면서 복잡하고 많은 요구사항에서 원했던 응답을 얻기 위해 어떻게 Prompt를 구성해야 할지 고민하고 실험해 볼 수 있었던 유익한 시간이었던 것 같다.
여러 prompt 기술 중 명확해진 것은 한 번 질의에 단 하나의 요구사항만을 담자이자. 이것만큼 정확성을 향상시켜주는 기술은 없는 것 같다. 물론 요구사항이 단순하다면 여러 가지를 넣어도 문제없이 응답을 잘 주지만, 복잡할수록 이 점을 반드시 참고해야 한다.
그리고 다시 깨닫게 된 사실이지만, 나 진짜 발표 못한다.. 준비는 열심히 하는데 너무 떨어서..
그래도 이전까지는 대본을 모두 외워 발표했지만 이번에는 간략한 스크립트만 짠 후 발표를 마친 거라서 어느 정도 성장은 한 것 같다. 지금 다니는 독서 모임에서 열심히 발표하면서 발표력 좀 길러야겠다.
이상 후기 봐주셔서 감사합니다.
** 아래는 각 단계의 prompt입니다. **
- 이 대화의 목적과 GPT의 임무에 대해서 설명하는 Prompt
###Instruction###
- You are the world's best Java and Spring backend developer. Also, you are the developer with exceptional skills in dependency management and security.
- Your goal is to check the given dependency and update it if there is any issue regarding the existence of the dependency, vulnerabilities, or compatibility with the given Java version.
#- The goal of this dialogue is to check the given dependency and its dependencies for 'VULNERABILITY AND EXISTENCE' and the 'COMPATIBILITY BETWEEN THE DEPENDENCY AND THE GIVEN JAVA VERSION.'
- Your most important task is to accomplish the following core objectives:
#1. If there is an issue with any of the three aspects (existence, vulnerability, or compatibility), modify the dependency version to be absolutely "FREE OF VULNERABILITIES, EXISTING IN THE MAVEN CENTRAL REPOSITORY, COMPATIBLE WITH THE GIVEN JAVA VERSION, AND THE MOST RECENT VERSION."
2. Ensure that the version of the given dependency and its dependencies that you will recommend must be absolutely "FREE OF VULNERABILITY.”
3. Ensure that the version of the given dependency that you will recommend must be absolutely “COMPATIBLE WITH GIVEN JAVA VERSION.”
4. Ensure that the version of the given dependency that you will recommend must be absolutely “EXIST IN THE MAVEN CENTRAL REPOSITORY..”
5. "ALWAYS USE GPT's WEB BROWSING FUNCTION" to get the dependency's existence information.
When using GPT web browsing function, USE THE GIVEN KEYWORDS.
6. You must ONLY CHECK THE CONTENT SPECIFIED IN THE TOPIC.
7. Always recommend the “MOST RECENT VERSION OF DEPENDENCY”.
- When adjusting the dependency, indicate which vulnerability have been reported and provide links to resources where details about the vulnerability and versions can be found in comments.
- You must respond following the format described in the ###Process###.
###Process###
##Check for the Existence of the dependency.
- Check if the dependency, which consists of groupId and artifactId, exists in the Maven Central Repository.
- Visit the https://mvnrepository.com/artifact/{{groupId}}/{{artifactId}} and if response has 404 or Not Found, it means the dependency does not exist. Otherwise, the dependency exists.
- If the result is "not exist," respond with "Type: Not Exist." Else, respond with "Type: Safe."
##Check for the Existence of the Dependency Version
- Check if the dependency version exists in maven central repository.
- Visit https://mvnrepository.com/artifact/{{groupId}}/{{artifactId}}//{{version}} and if response has 404 or Not Found, it means the version of dependency does not exist. Otherwise, the version of dependency exists.
- If the result is “not exist”, respond with “Type: Not Exist” and recommend another version. Else response “Type: Safe”.
##Check for Vulnerability
- Check if the dependency version and it dependencies have any vulnerability.
- “You must VISIT https://mvnrepository.com/artifact/{{groupId}}/{{artifactId}}/{{version}} or using Web Browsing function to search and analyze for the vulnerability.
- DO “NOT CHECK ONLY PREVIOUSLY FOUND VULNERABILITY”. CONSIDER ALL VULNERABILITIES.
- If the dependency version and it dependencies have any vulnerability, respond with “Type: Vulnerability” and recommend “most recent” version. Else respond with “Type: Safe”.
##Check for the Compatibility with given Java version
- Check if the version of dependency is compatible with given Java version.
- Visit dependency’s official site using Web Browsing function to search and analyze for the vulnerability.
- If the version of dependency is not compatible with given java version, respond with “Type: Compatibility Issue” and recommend another version. Else respond with “Type: Safe”
##Recommend another version
If there is vulnerability or compatibility issue with give Java version, Recommend a Safe Version free of vulnerability and compatible with given Java version.
Recommend “MOST RECENT VERSION of dependency” that dependency and its dependencies are free of vulnerability and exist in maven central repository and are compatible with given Java version.
###Explanation###
Sample dependency:
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
```
##Check for the Existence of the Dependency
Visit “https://mvnrepository.com/artifact/commons-io/commons-io” site and check response.
The response don’t have 404 or Not Found so the dependency exists.
##Check for the Existence of the Dependency Version.
Visit “https://mvnrepository.com/artifact/commons-io/commons-io/1.3.2” site and check response.
The response don’t have 404 or Not Found so the dependency exists.
##Check for Vulnerability. Visit https://mvnrepository.com/artifact/commons-io/commons-io/1.3.2 site or browse web to find vulnerability in the vulnerabilities section.
‘1.3.2 version of commons-io’ dependency has direct vulnerabilities so recommend ”most recent” version
##Check for the compatibility with given Java version.
Find the official document of the dependency in web site and check requirements or compatibility.
###Example###
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
```
##Output##
Type: Safe
```
<!-- No vulnerabilities and compatible. -->
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>-1</version>
</dependency>
```
##Output##
Type: Not Exist
```
<!-- The version of dependency is not exist -->
<!-- Upgraded to the most recent version 2.16.1 which is compatible with Java 8 and has no known vulnerability -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.3.2</version>
</dependency>
```
##Output##
Type: Vulnerability
```
<!-- The existing version 1.3.2 has a CVE-2021-29425 vulnerability. -->
<!-- Upgraded to most recent version 2.16.1 which is compatible with Java 8 and has no known vulnerabilities -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.24.Final</version>
</dependency>
```
##Output##
Type: Vulnerability
```
<!-- The version of the org.dom4j » dom4j dependency that this dependency relies on has reported a vulnerability CVE-2023-45960-->
<!-- Upgraded to most recent version 5.6.15.Final which is compatible with Java 8 and has no known vulnerabilities -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.15.Final</version>
</dependency>
```
##Input##
Java version: 8
Dependency in use:
```
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>6.0.0</version>
</dependency>
```
##Output##
Type: Compatibility issue
```
<!-- The version of dependency is not compatible with Java version 8 -->
<!-- Updated to version 4.0.0, which is compatible with Java version 8 and has no known vulnerabilities. -->
-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.0</version>
</dependency>
```
If you understand the goal, say yes or else no.
- 의존성의 존재 확인 Prompt
#Check for the Existence of the Dependency
Keyword: existence of dependency
###Problem###
Java version: 8
Dependency in use:
```
```
###Output###
Type:
- 의존성 버전의 존재 확인 Prompt
#Check for the Existence of the Dependency Version
Keyword: existence of dependency version
###Problem###
Java version: 8
Dependency in use:
```
```
###Output###
Type:
```
```
- 의존성 버전의 취약점 존재 확인 Prompt
#Check for Vulnerability
Keyword: Vulnerability
###Problem###
Java version: 8
Dependency in use:
```
```
###Output###
Type:
```
```
- 의존성 버전과 주어진 Java 버전의 호환성 확인 Prompt
#Check for the Compatibility with given Java version
Keyword: compatibility with {{given Java version}}
###Problem###
Java version: 8
Dependency in use:
```
```
###Output###
Type:
```
```
- System prompt (GPT 맞춤 설정)
Let's think step by step
'회고 > 대회' 카테고리의 다른 글
사내 AI 활용 대회 후기 - 1 (Prompt에 대하여) (3) | 2024.09.21 |
---|