Curso de Ingeniería de Indicios Antrópicos - Capítulo 9 Ejercicio: Programación de Indicios Complejos
Base de conocimientos de IAActualizado hace 11 meses Círculo de intercambio de inteligencia artificial 2.4K 00
ejercicio
En este ejercicio, vamos a crear un nuevo conjunto de reglas para unAsistencia a la programación y robots didácticos capaces de leer el código y proporcionar correcciones guiadas cuando proceda.Escriba las instrucciones. Rellene cada uno de los recuadros amarillos que aparecen a continuación con los elementos de las instrucciones que coincidan con las descripciones y los ejemplos del ejemplo anterior de instrucciones complejas. Cuando haya rellenado todas las casillas amarillas, verá el aviso final cosido en la casilla morada de la parte inferior.
Le recomendamos que se desplace hasta la parte inferior para ver las entradas que debe tener en cuenta (incluyendo qué es {{VARIABLE_WORD}}). Asegúrese de hacer referencia a esta {{VARIABLE_WORD}} directamente en la solicitud para que el contenido real de la variable pueda ser sustituido.
elemento taco | descripciones | ejemplo típico | nota |
---|---|---|---|
1. Formato "Usuario:". | Utilice "Usuario:" al principio de la consulta CLAUDEMESSAGES(). | Usuario. | Esto es obligatorio. En CLAUDEMESSAGES() añada una nueva línea a la línea Claude Cuando se le solicite, debe empezar con esto. |
2. Contexto de la misión | Dígale a Claude la función que debe desempeñar o el objetivo de la tarea que quiere que realice. | Eres Codebot, un asistente que ayuda a identificar problemas de código y sugiere mejoras. | Lo mejor es situar el contexto de la tarea al principio del texto. |
3. Contexto tonal (opcional) | Si es importante para la interacción, dile a Claude el tono que debe utilizar. | Actuar como un tutor socrático para ayudar a los usuarios a aprender. | Dependiendo de los requisitos de la misión, este elemento puede no ser necesario. |
4. Descripción detallada de la misión y normas | Amplía las tareas específicas que quieres que Claude realice y las normas que debe seguir, y dale también la opción de "abandonar". | "Obtendrá un código proporcionado por el usuario. Por favor, haga lo siguiente: 1. Identifique los problemas del código. Cada problema debe colocarse en un <issues> Etiquetado en.2. Invitar a los usuarios a escribir código revisado para solucionar el problema". | Es una buena idea mostrar esta descripción y las reglas a un amigo para asegurarse de que la lógica es clara y está bien definida. |
5. Ejemplos | Proporcione al menos un ejemplo de respuesta ideal para que Claude emule utilizando el <example></example> Las etiquetas XML lo rodean. | "Esto es un ejemplo:<example> <code> def calcular_área_del_círculo(radio). devolver (3,14 * radio) ** 2 </code> <issues> <issue> 3,14 se eleva al cuadrado, cuando en realidad sólo debería elevarse al cuadrado el radio.<issue> </issues> <response> Esto es casi correcto, pero hay un problema con el orden de las operaciones. Puedes escribir la fórmula del círculo y luego fijarte bien en los paréntesis del código.<response> </example> | Los ejemplos son la herramienta más eficaz para conseguir que Claude trabaje con el comportamiento esperado. Contiene casos extremos comunes. Más ejemplos = respuesta más fiable, pero añade latencia y tokens. aquí sólo se da un ejemplo para simplificar las cosas. |
6. Tratamiento de los datos de entrada | utilizar {{CODE}} indica el código que quieres que Claude procese, recuerda rodearlo de etiquetas XML. | "Aquí está el código que analizarás:<code> {{CODE}} </code> | Este elemento puede variar en función de los requisitos de la tarea. Cuando los datos de entrada son largos, es mejor colocarlos antes de la instrucción. |
7. Descripción inmediata de la misión o solicitud | "Recordar" a Claude o decirle explícitamente lo que tiene que hacer para completar la tarea solicitada. | Identifique las cuestiones relevantes y redacte una respuesta al estilo del tutor socrático. No ayudes demasiado al usuario. En lugar de eso, oriéntale un poco y deja que encuentre la solución adecuada por sí mismo. | Colocar esta sección al final de una pregunta más larga funciona mejor. Normalmente es mejor colocar la consulta del usuario al final de la pregunta. |
8. Pasos previos a la reflexión (opcional) | Para las tareas de varios pasos, es una buena idea decirle a Claude que piense paso a paso antes de dar una respuesta. | No todas las solicitudes requieren este paso. Mejora la inteligencia de la respuesta, pero también aumenta el tiempo de respuesta. | |
9. Formato de salida (opcional) | Si desea que Claude devuelva los resultados en un formato determinado, indíquele explícitamente cuál es ese formato. | Coloque cada pregunta en el <issue> y colocar la respuesta final en la etiqueta <response> Etiquetado en. | Este elemento puede variar en función de los requisitos de la misión. |
10. Respuesta de Claude rellenada previamente (si es necesario) | Proporcione un espacio para rellenar previamente la respuesta de Claude para ayudar a guiar su comportamiento o respuesta. | Si quieres rellenar previamente la respuesta de Claude, debes incluir "Assistant:" y debe ser una línea nueva, de lo contrario se tratará como parte de "User:" (nosotros nos encargaremos de este paso por ti automáticamente). Si no necesitas rellenarla, puedes omitir "Assistant:". |
Ahora vamos a empalmarlo todo, hacer las sustituciones y ver cómo queda realmente.
Sugerencia: Si desea ver el consejo completo, puede configurar la opción pornográfico Copia y pega el cuadro de entrada sustituido en un editor de texto.
Plantilla Prompt (empalmada a partir de la anterior)
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> 标签内。
variante
Entrada {{CODE}}
# 打印乘法逆元素的函数
def print_multiplicative_inverses(x, n):
for i in range(n):
print(x / i)
Consejos de empalme y sustituciones
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> 标签中。
Respuesta de 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>
© declaración de copyright
Derechos de autor del artículo Círculo de intercambio de inteligencia artificial Todos, por favor no reproducir sin permiso.
Artículos relacionados
Sin comentarios...