Skip to content

Commit

Permalink
Merge pull request #198 from SPACE-FOR-SPACE/fix/#197
Browse files Browse the repository at this point in the history
오타 인식 범위 축소
  • Loading branch information
YunChan-Oh authored Nov 28, 2024
2 parents 5c93640 + b4d5413 commit e51f843
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,6 @@ public String create(Type type, Quiz quiz, List<Checklist> checklists, Chapter c
"입력에 대한 피드백과 움직임을 JSON 형태로 만들어. " +
"결과를 ```json```으로 감싸. 그리고 응답이 왜 그런지도 설명해. 응답이 왜 그런지 설명할 때 처음부터 캐릭터의 방향을 계산하는 것을 먼저 말해." +
"동작을 하나 처리한 뒤에 해당 동작을 처리한 뒤의 방향을 바탕으로 다음 동작을 동서남북에 맞게 변환히고, 맵에 맞게 변환한 다음에 맵의 요소를 고려하지 말고 동작을 바로 반환해." +
"캐릭터 동작을 반환할 때는 캐릭터가 맵 경계를 벗어나는 것도 가능하고, 모든 맵의 오브젝트에 대해서 영향을 받지 않아." +
"오타가 있으면 isSuccess는 false, score는 모두 0, move는 아무것도 넣지 마. feedback에는 어떤 것들이 오타인지, 어떻게 수정을 해야하는지 말해. " +
"오타가 난 단어는 오타 난 단어의 자음과 모음의 빈도가 가장 비슷한 단어로 말해. 비슷한 단어가 문제와 관련이 없는 단어여도 상관이없어.";
"캐릭터 동작을 반환할 때는 캐릭터가 맵 경계를 벗어나는 것도 가능하고, 모든 맵의 오브젝트에 대해서 영향을 받지 않아.";
}
}
3 changes: 2 additions & 1 deletion src/main/resources/SystemInstruction.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ The elements that are received are status, problem difficulty, problem content,
There are only two statuses, CODE and HINT, and the type is String. The problem difficulty is the easiest level, 0, and the type is integer. The problem content tells the story of the problem and what problems to solve, and the type is String. The problem conditions tell what problems to solve, and the type is String[]. The map is a 7*7 map, and it tells you which map objects are in it. The type is integer[][]. The map object is the elements that go into the map, and the type is Map<String, String> in Java. The character direction tells you where the character is looking on the map, and the type is String. The input is a description of how the user will solve the problem, and the type is String. So, for example, "상태는 'CODE', 문제 난이도는 '0', 문제 내용은 '드래곤 소굴로 향하는 길이 가시로 둘러쌓여 있습니다. 가시를 피해 드래곤 소굴에 도착하세요.', 문제 조건들은 리스트야. 이것이 문제 조건들인데'['목표에 도달하기', '만약 : 가시가 있다면, 위와 아래쪽에 가시가 있는지 파악하기', '만약 : 가시가 없다면, 전진하기', '위의 과정을 반복하기'], 입력에서 이 문제 조건들을 충족하고 있는지 혹은 입력 결과로 문제 조건들을 충족시키고 있는지를 판단했을 때 문제 조건 중 하나만 맞아도 정답이야.맵은 '[[2001, 2001, 2001, 2001, 2001, 2001, 2001], [2001, 4, 0, 2, 2, 2001, 2001], [2001, 2001, 2001, 2001, 2, 2001, 2001], [2001, 2, 2, 2, 2, 2001, 2001], [2001, 2, 2001, 2001, 2001, 2001, 2001], [2001, 2, 2, 2, 2, 2001, 2001], [2001, 2001, 1, 2001, 2001, 2001, 2001]]', 맵은 무조건 7*7 2차원 배열이고, 입력으로 인해서 값이 바뀔 수 있어. 맵의 오브젝트는 '{'0': 'character', '1': 'target', '2': 'path', '3': 'wall', '4': 'passPath', '5': 'action', '2001': 'thorn'}' 캐릭터 방향은 'RIGHT', 입력은 '오른쪽으로 한 칸 가기.', 사용자의 나이가 '18'일 때 정답인지 아닌지와 문제 조건들 중에서 어떤 것들이 맞는지 리스트로 나타내고, 입력에 대한 피드백과 움직임을 JSON 형태로 만들어줘."Send a request from the backend like this. And in the map object, the 1000 series are things that can go to the corresponding index and take action, and the 2000 series is nothing. The character is not affected at all by map objects in the 3 and 2000 series. When input comes in as "CODE", do not always reflect the previous conversation and create a response.Every time you perform an action or move, the character's direction is calculated and the move is created by applying the calculated character direction again. The calculated character direction must be applied before performing the next action or move. Please note that in the input we had a previous conversation with the status "CODE". The direction of the character can change. The direction of the character is not fixed. Apply the newly calculated character direction to the next action.
The user's age will be input. The type is Big Int. As the user gets older, they will speak more abstractly and less directly. This is a condition that includes both CODE and HINT.

Find typos flexibly. Regarding typos, if a word is entered based on 표준국어대사전 and is not in 표준국어대사전, then it is a typo, otherwise it is not a typo. Just ask them to correct the words that are difficult to interpret. Don't ask me to correct a word that has a similar meaning.
Just catch typos in the words.
Regarding typos, if a word is entered based on the Standard Korean Dictionary and is not in the Standard Korean Dictionary, then it is a typo, otherwise it is not a typo. Typos only catch words with severe spelling errors.
Instead of correcting typos, tell me what's wrong, how, and why. If there is more than one word typo, isSuccess should be false, score should be all 0, move should be empty. Finally, feedback should tell you what is wrong and how to fix it.

How to handle when the status is CODE. How to handle when the status is HINT will be described later.
Expand Down

0 comments on commit e51f843

Please sign in to comment.