Incluye reglas de entrada, salida y errores en una solicitud de script para el trabajo
Convierte “automatiza esto” en una descripción de tarea ejecutable. Adjunta una muestra sintética sin datos sensibles y un resultado esperado comprobado manualmente para completar una solicitud de script que totalice registros de trabajo por equipo.
Contenido revisado 2026.09.19Incluye archivos de ejemplo
Ver el índice
La traducción se ha realizado con IA. Comprueba el código, las unidades y los valores junto con el original. La revisión por hablantes nativos de cada idioma aún no se ha completado. English
Para quién esPersonas no desarrolladoras que quieren pedir a una IA tareas sencillas de organización de archivos o recuento
Preparación
Define en una frase la tarea que quieres automatizar y comprueba el formato del archivo objetivo.
En lugar de datos reales, prepara una muestra sintética de 3 a 5 filas creada por ti.
Calcula primero manualmente el resultado que quieres. Este artículo se centra en diseñar la solicitud, no en ejecutar código ni realizar una revisión de seguridad.
01Completar la descripción de la tarea antes de obtener código
Una buena solicitud contiene work rules concretas en lugar de una role instruction larga. “Organiza bien los archivos” no decide qué folder leer, cómo nombrar el result, cómo tratar duplicates ni si sobrescribir. Este artículo limita el scope a una tarea pequeña: combinar una semana de synthetic work logs por team. El result es una request reutilizable junto con archivos de input y expected result.
02Dividir el trabajo en seis elementos
Elemento
Lo que decide este ejemplo
Purpose
Ver completed count, work time y time per item por team
Input
UTF-8 input.json en la current folder
Output
Nuevo output.json; detenerse si el file ya existe
Calculation
Sumar por team y después time ÷ completed count
Exceptions
Si completed es 0, average es null; cualquier invalid row detiene todo
Allowed scope
Solo local files; conservar originals; sin external connections
También necesitas escribir qué significa realmente “time per item”. En este synthetic example, todos los input minutes se definen como el work time correspondiente al completed count de la row. Si incluye waiting time o tiempo de unfinished work, cambia el significado de este average, así que fija primero la work definition.
03Orden para escribir la solicitud
Reduce el scope de automation a un solo result. No mezcles collecting files, tallying y sending email a la vez; establece este result como un per-team summary file.
Escribe los key names, data types y units del input. Indica claramente, por ejemplo, que completed es un integer y time es un integer en minutes.
En lugar de utilizar un original al que se le hayan quitado real names e internal paths, crea una synthetic sample. Los datos pueden identificarse por transactions o unusual values aunque se cambien los nombres, así que escribe todo el example desde cero.
Calcula tú mismo el expected result de la sample. Decide en este paso si debes dividir después de sumar o promediar por row.
Escribe las handling rules para errors, empty input, division by zero y existing output files.
Antes de enviar la request, busca conflicting instructions. No digas que todos los values son integers y después indiques que los blanks se conviertan automáticamente en 0.
04Emparejar el input con el resultado esperado
Record ID
Team
Completed
Work hours
S001
Design
3
90 min
S002
Design
2
50 min
O001
Operations
4
80 min
H001
Support
0
0 min
El Design team tiene 5 items y 140 minutes, por lo que time per item es 28 minutes. Si utilizas 27.5 minutes, el simple average de los per-row values de 30 y 25 minutes, no se refleja la diferencia en item counts. El Operations team tiene 4 items, 80 minutes y 20 minutes per item. Los 0 items del Support team significan que no existe un average que calcular, por lo que se muestra como null.
input-sample.json y expected-output.json son un pair que muestra estas diferencias. JSON es un formato de structured data y null es diferente del number 0. Esta distinción también puede confirmarse en el value mapping descrito en la documentación oficial de json de Python.
05Una solicitud que puedes editar y utilizar inmediatamente
text
다음 조건을 만족하는 로컬 Python 스크립트를 작성해 주세요.
[업무 목적]
한 주의 작업 기록을 팀별로 합쳐 완료 건수, 작업 시간 합계(분), 건당 작업 시간(분/건)을 확인합니다.
이 요청의 모든 기록은 합성 샘플입니다. 실명, 고객 정보, 계약 내용, 사내 경로, 계정 키는 포함하지 않습니다.
[실행 환경과 범위]
Python 3 표준 라이브러리만 사용합니다. 외부 패키지 설치, 인터넷 접속, 유료 API 호출, 이메일 전송은 하지 않습니다.
현재 작업 폴더의 input.json만 읽습니다. 하위 폴더 탐색, 원본 수정, 파일 삭제는 하지 않습니다.
새 output.json을 만듭니다. output.json이 이미 있으면 덮어쓰지 말고 이유를 알려주며 종료합니다.
[입력 형식]
UTF-8 JSON 배열입니다. 각 행에는 record_id, team, completed, minutes 네 키만 있습니다.
record_id는 중복되지 않는 비어 있지 않은 문자열입니다.
team은 설계, 운영, 지원 가운데 하나입니다. 알 수 없는 팀은 임의로 바꾸지 않습니다.
completed와 minutes는 0 이상의 정수입니다. 문자열 숫자, true/false, null, 누락 값은 허용하지 않습니다.
입력 배열은 비어 있어도 됩니다. 한 행의 오류라도 있으면 전체 집계를 중단합니다.
[입력 샘플]
[
{"record_id":"S001","team":"설계","completed":3,"minutes":90},
{"record_id":"S002","team":"설계","completed":2,"minutes":50},
{"record_id":"O001","team":"운영","completed":4,"minutes":80},
{"record_id":"H001","team":"지원","completed":0,"minutes":0}
]
[처리 규칙]
팀별 completed와 minutes를 각각 합합니다.
minutes_per_completed = 팀 작업 시간 합계 / 팀 완료 건수 합계입니다.
행별 평균을 다시 평균하지 않습니다. 건수가 0이면 minutes_per_completed는 JSON null입니다.
평균은 계산 후 Decimal의 ROUND_HALF_UP 방식으로 소수 둘째 자리까지 반올림해 JSON 숫자로 저장합니다.
출력에는 입력에 나타난 팀만 넣고, 팀 순서는 설계 → 운영 → 지원으로 고정합니다.
빈 입력의 출력은 빈 배열 []입니다.
[기대 결과]
[
{"team":"설계","total_completed":5,"total_minutes":140,"minutes_per_completed":28.0},
{"team":"운영","total_completed":4,"total_minutes":80,"minutes_per_completed":20.0},
{"team":"지원","total_completed":0,"total_minutes":0,"minutes_per_completed":null}
]
JSON 숫자는 28과 28.0의 표기가 달라도 같은 값으로 비교합니다.
[오류 원칙]
파일 없음, 잘못된 JSON, 배열이 아닌 최상위 구조, 중복 record_id, 필수 키 누락,
추가 키, 허용되지 않은 팀, 음수/문자열/불리언 숫자를 발견하면 성공 결과를 만들지 않습니다.
오류 메시지는 행 번호(1부터 시작)와 필드 이름, 오류 이유만 출력하고 입력 내용 전체를 출력하지 않습니다.
입력 오류를 0으로 바꾸거나 잘못된 행을 조용히 건너뛰지 않습니다. 종료 코드는 실패를 나타내야 합니다.
[답변 형식]
먼저 목적, 입력, 출력, 오류 처리, 남은 가정을 짧게 요약합니다.
그 다음 완성 스크립트와 실행 방법, 이 샘플의 기대 결과를 제시합니다.
요구사항끼리 충돌하거나 업무 의미를 확정할 수 없으면 코드를 쓰기 전에 해당 쟁점만 질문합니다.
실제로 실행하지 않았다면 실행 완료라고 쓰지 않습니다.
Al reutilizar esto para otro trabajo, no cambies únicamente los team names; cambia también el purpose, la definición del input, la formula, el significado de los valores 0 y blank y el expected result. Si el input sample y el expected result no coinciden, no queda claro cuál tratará la IA como reference.
06Comprobar antes de enviar
¿Están indicados el file name, read scope y output location?
¿Están definidos data type, unit y allowed values para cada field?
¿Puedes ver el denominator del average y cuándo ocurre el rounding?
¿Están definidos de forma diferente los casos missing, duplicate, zero-count y empty-array?
¿La sample muestra la work structure sin ninguna real sensitive information?
¿Puede una persona explicar el sample result?
¿Pediste que no afirme haber ejecutado algo que no ejecutó?
OWASP explica la comprobación tanto del input format como del business meaning de los values. Este artículo lleva esa distinción a la request definiendo por separado “¿es un integer?”, “¿es 0 o mayor?” y “¿es un allowed team?”. Escribir esto en la request no significa que el returned code implemente realmente esas rules.
07Causas comunes de respuestas inconsistentes
Instrucción vaga
Problema resultante
Redacción más específica
Calculate the average
No está claro si es un per-row average o un ratio of totals
Team total time ÷ team total completed
Handle errors however you like
Puede eliminar rows o rellenarlas con 0
If there is even one error, stop without producing a result
Save the result
Puede sobrescribir el original o un existing result
New output.json; stop if the file already exists
Organize my folder
El target scope es amplio y el expected behavior no está claro
Read only the single input.json in the current folder
08Qué comprobó este material y siguientes pasos
Una request es un agreement document para la implementation. Si el code se ejecuta correctamente, maneja files de forma segura y encaja con real work data debe comprobarse por separado en el code que recibas. Este material comprobó los expected values de la synthetic sample con Python y verificó que la request contenga los required items. No incluye resultados de pedir algo a un AI service ni de ejecutar generated code.
request.txt: la request completa anterior
input-sample.json: cuatro rows de synthetic input sin sensitive information
expected-output.json: expected result que coincide con el hand calculation y Python check
prompt-checklist.txt: checklist para escribir requests
README.txt: orden para leer los files
Las References se comprobaron en las páginas oficiales el 2026-09-19. Los documentos de Python y OWASP respaldan los principios de input format y validation; no garantizan la answer quality de ningún AI service.
Registro de ejecución y verificación
Biblioteca estándar local de Python en Windows; fuentes oficiales comprobadas 2026-09-19
Se calcularon independientemente los count y time totals y averages por team para las 4 synthetic input rows y se compararon con expected-output.json
Se comprobó que el average del Support team con 0 items sea null
Se comprobaron los elementos input, output, sample, error y sensitive-information exclusion de la request y la sintaxis JSON
Límites de la verificación
No se llamó a ningún AI service ni se generó o ejecutó code
No garantiza la corrección ni la seguridad del code generado únicamente a partir de la request
El código de ejemplo, los nombres de archivo y las claves de entrada se mantienen como en el original. Consulta también los comandos y los pasos de comprobación del texto traducido.
Material de práctica original · Guarda los archivos originales por separado antes de ejecutarlo.
Fuentes de referencia
Las explicaciones y los ejemplos son de elaboración propia. Puedes consultar los comportamientos y conceptos relacionados en las siguientes fuentes oficiales.
Comprueba una función de agregación con cuatro filas que puedes calcular manualmente y 12 unit tests. Verifica no solo valores normales, sino también entrada vacía, cero, decimales y entrada no válida.
Divide un resumen plausible en hechos, cálculos e interpretaciones. Recalcula proporciones y promedios a partir de datos mensuales sintéticos y reescribe las frases con fuentes faltantes o causas exageradas para convertirlas en afirmaciones comprobables.
Trata una expresión regular generada por IA como un borrador, no como una regla terminada. Crea una pequeña tabla de pruebas sintéticas, compara las coincidencias esperadas con las reales, corrige el patrón y guarda un informe de revisión antes de usarlo con datos reales.
Trata una consulta SQL generada por IA como un borrador y pruébala en una pequeña base de datos SQLite con respuestas conocidas. Compara el resultado de la IA con una tabla esperada calculada manualmente antes de usar la consulta con datos reales.