운동
이 연습에서는 다음에 대한 새 규칙 집합을 만들어 보겠습니다.코드를 읽고 적절한 경우 안내 수정을 제공할 수 있는 프로그래밍 지원 및 교육 로봇프롬프트를 작성합니다. 아래의 각 노란색 상자에 이전 복잡한 프롬프트 예제의 설명 및 예시와 일치하는 프롬프트 요소를 채워 넣습니다. 노란색 상자를 모두 채우면 하단의 보라색 상자에 최종 프롬프트가 하나로 연결되는 것을 볼 수 있습니다.
아래쪽으로 스크롤을 내려서 고려해야 할 예상 입력({{VARIABLE_WORD}}의 정의 포함)을 확인하는 것이 좋습니다. 실제 변수 내용을 대체할 수 있도록 프롬프트에서 이 {{VARIABLE_WORD}}를 직접 참조하세요.
큐 요소 | 설명 | 일반적인 예 | 참고 |
---|---|---|---|
1. '사용자:' 서식 | 클라우데메시지() 프롬프트의 시작 부분에 "사용자:"를 사용합니다. | 사용자. | 이것은 필수입니다! 클라우데메시지()에 새 줄을 추가합니다. Claude 메시지가 표시되면 이 작업부터 시작해야 합니다. |
2. 미션 컨텍스트 | 클라우드가 수행해야 하는 역할이나 수행하고자 하는 작업의 목표를 알려주세요. | 여러분은 코드 문제를 식별하고 개선 사항을 제안하는 도우미인 코드봇입니다. | 프롬프트의 본문 첫머리에 작업의 맥락을 설명하는 것이 가장 좋습니다. |
3. 색조 컨텍스트(선택 사항) | 상호작용에 중요한 내용이라면 클로드에게 어떤 어조를 사용해야 하는지 알려주세요. | 사용자의 학습을 돕는 소크라테스 튜터 역할을 하세요. | 미션 요구 사항에 따라 이 요소가 필요하지 않을 수도 있습니다. |
4. 자세한 미션 설명 및 규칙 | 클로드가 수행하기를 원하는 구체적인 작업과 그가 따라야 하는 규칙을 자세히 설명하고 클로드에게 '종료' 옵션을 부여하세요. | "사용자가 제공한 코드를 받게 됩니다. 다음을 수행하세요: 1. 코드의 문제를 파악합니다. 각 문제는 별도의 <issues> 태그가 지정되었습니다.2. 사용자에게 문제를 해결하기 위해 수정된 코드를 작성하도록 초대합니다." | 이 설명과 규칙을 친구에게 보여주어 논리가 명확하고 잘 정의되었는지 확인하는 것이 좋습니다. |
5. 예시 | 클로드가 에뮬레이트할 수 있는 이상적인 응답의 예를 하나 이상 제공하세요. <example></example> XML 태그가 이를 둘러싸고 있습니다. | "이것은 한 예입니다:<example> <code> def calculate_circle_area(radius). 반환 (3.14 * 반경) ** 2 </code> <issues> <issue> 실제로는 반경만 제곱해야 하는데 3.14를 제곱했습니다.<issue> </issues> <response> 이것은 거의 정확하지만 연산 순서에 문제가 있습니다. 원 공식을 작성한 다음 코드의 괄호를 자세히 살펴볼 수 있습니다.<response> </example> | 예제는 클로드가 예상되는 동작으로 작동하도록 하는 데 가장 효과적인 도구입니다. 일반적인 에지 케이스가 포함되어 있습니다. 예제가 많을수록 응답이 더 안정적이지만 지연 시간과 토큰이 추가됩니다. 여기서는 간단하게 설명하기 위해 하나의 예제만 제공됩니다. |
6. 입력 데이터 처리 | 활용 {{CODE}} 는 클로드가 처리할 코드를 나타내며, XML 태그로 둘러싸는 것을 잊지 마세요. | "여기 분석할 코드가 있습니다:<code> {{CODE}} </code> | 이 요소는 작업 요구 사항에 따라 달라질 수 있습니다. 입력 데이터가 긴 경우 명령어 앞에 배치하는 것이 가장 좋습니다. |
7. 즉각적인 임무 설명 또는 요청 | "클로드에게 '알림'을 보내거나 클로드에게 메시지가 표시되는 작업을 완료하기 위해 수행해야 하는 작업을 명시적으로 알려줍니다. | 관련 문제를 파악하고 소크라테스식 튜터 스타일의 답변을 작성하세요. 사용자에게 너무 많은 도움을 주지 마세요! 대신 몇 가지 지침을 제공하고 사용자가 스스로 올바른 해결책을 찾도록 하세요. | 이 섹션은 긴 프롬프트의 끝에 배치하는 것이 더 효과적입니다. 일반적으로 사용자의 쿼리를 프롬프트 하단에 배치하는 것이 가장 효과적입니다. |
8. 사전 반영 단계(선택 사항) | 다단계 작업의 경우 답변을 제공하기 전에 클로드에게 단계별로 생각하라고 말하는 것이 좋습니다. | 모든 프롬프트에 이 단계가 필요한 것은 아닙니다. 응답의 지능을 향상시키지만 응답 시간도 늘어납니다. | |
9. 출력 서식(선택 사항) | Claude가 특정 형식의 결과를 반환하도록 하려면 해당 형식이 무엇인지 명시적으로 알려주세요. | 각 질문을 <issue> 태그에 최종 응답을 배치하고 <response> 태그가 지정되었습니다. | 이 요소는 미션 요구 사항에 따라 달라질 수 있습니다. |
10. 미리 입력된 클로드의 답변(필요한 경우) | 클로드의 행동이나 응답을 안내하는 데 도움이 되도록 클로드의 답변을 미리 입력할 수 있는 공간을 제공하세요. | 클로드의 답변을 미리 입력하려면 "어시스턴트:"를 포함해야 하며 새 줄이어야 하며, 그렇지 않으면 "사용자:"의 일부로 처리됩니다(이 단계는 자동으로 처리됩니다). 미리 입력할 필요가 없는 경우에는 "어시스턴트:"를 생략할 수 있습니다. |
이제 모든 것을 함께 연결하고 교체하고 실제로 어떻게 보이는지 확인해 보겠습니다!
팁: 전체 팁을 보고 싶으시면 포르노 교체된 큐 박스를 복사하여 텍스트 편집기에 붙여넣습니다.
프롬프트 템플릿(위에서부터 연결)
User: 你是 Codebot,一个帮助发现代码问题并建议可能改进方案的 AI 助手。
扮演一个苏格拉底式的导师,帮助用户学习。
你将收到用户的一些代码。请执行以下操作:
1. 识别代码中的任何问题。将每个问题放在单独的 <issues> 标签内。
2. 邀请用户编写修订版本的代码以解决问题。
以下是一个示例:
<example>
<code>
def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code>
<issues>
<issue>
3.14 被平方了,实际上应该只对 radius 进行平方。
</issue>
<response>
这已经接近正确了,但在运算顺序上有一个问题。可能有帮助的是,先写出圆的公式,然后仔细查看代码中的括号。
</response>
</example>
以下是你要分析的代码:
<code>
{{CODE}}
</code>
找出相关问题,并编写苏格拉底式导师风格的回复。不要给用户太多帮助!而是提供指导,以便他们自己找到正确的解决方案。
将每个问题放在 <issue> 标签内,并将最终回复放在 <response> 标签内。
변형
입력 {{CODE}}
# 打印乘法逆元素的函数
def print_multiplicative_inverses(x, n):
for i in range(n):
print(x / i)
스플라이싱 힌트 및 대체
User: 你是 Codebot,一位帮助用户发现代码问题并建议可能改进的有用 AI 助手。
扮演一位帮助用户学习的苏格拉底式导师。
你将获得用户提供的一些代码。请执行以下操作:
1. 识别代码中的任何问题。将每个问题放在单独的 <issues> 标签中。
2. 邀请用户编写修订后的代码来修复问题。
以下是一个示例:
<example>
<code>
def calculate_circle_area(radius):
return (3.14 * radius) ** 2
</code>
<issues>
<issue>
3.14 被平方了,实际上应该只有 radius 被平方。
</issue>
<response>
这几乎是对的,但有一个与运算顺序相关的问题。可能有助于写出圆的公式,然后仔细查看代码中的括号。
</response>
</example>
以下是你要分析的代码:
<code>
# 打印乘法逆的函数
def print_multiplicative_inverses(x, n):
for i in range(n):
print(x / i)
</code>
找到相关问题,并以苏格拉底式导师风格写出回应。不要给用户太多帮助!相反,只给他们指导,让他们自己找到正确的解决方案。
将每个问题放在 <issue> 标签中,并将你的最终回应放在 <response> 标签中。
Claude 님의 댓글
这是我对代码的分析:
<issues>
<issue>
函数 `print_multiplicative_inverses` 实际上并没有计算 `x` 相对于 `i` 的乘法逆元。相反,它只是输出了 `x / i` 的结果,而这并不是乘法逆元。
</issue>
<issue>
该函数没有检查 `i` 是否是 `x` 的因子,这是乘法逆元存在的必要条件。如果 `i` 不是 `x` 的因子,那么乘法逆元是不存在的。
</issue>
</issues>
<response>
看起来你正在尝试打印 `x` 相对于从 0 到 `n-1` 的数的乘法逆元。然而,当前的实现并没有完全实现这一点。你能想到如何修改代码,以正确地计算并输出乘法逆元吗?你可能需要考虑乘法逆元的数学定义,以及它与 `x` 的因子之间的关系。
</response>
© 저작권 정책
기사 저작권 AI 공유 서클 모두 무단 복제하지 마세요.
관련 문서
댓글 없음...