Projetar um Processo
Use esta skill para transformar uma solicitação como "crie um processo que conte as palavras
em algum texto" em um plano de etapas. Em seguida, construa-o com a skill create-process.
O pacote reside em process_package/. A classe pai é
process_package/toy_process/process.py.
1. Liste as etapas
Escreva o objetivo como uma lista ordenada de pequenas ações, cada uma como uma frase verbal:
WordReport
1. limpar o texto
2. contar as palavras
3. construir o relatório
Cada etapa deve fazer uma única coisa e colocar seu resultado no dicionário context compartilhado.
2. Decida o que é cada etapa
Para cada etapa, escolha:
| Use uma etapa de método quando... | Use uma etapa de subprocesso quando... |
|---|---|
| for uma única ação pequena | for várias ações que pertencem juntas |
| for usada apenas aqui | puder ser reutilizada em outros processos |
| não precisar de configurações próprias | tiver seus próprios parâmetros |
Subprocessos podem conter subprocessos. Mantenha o aninhamento raso: dois níveis é suficiente para a maioria dos processos toy.
3. Escreva o plano
Para cada processo (pai e cada subprocesso), registre:
- Nome da classe: um substantivo ou frase verbal em
CamelCase, ex.:CleanText. - Parâmetros: nome → valor padrão. Eles vão em
set_parameters. - Etapas: em ordem. Métodos são
snake_case; subprocessos usam o nome da classe. - Chaves de contexto: o que cada etapa lê e escreve.
Exemplo de plano:
CleanText params: lowercase=True
- strip_punctuation lê text escreve text
- normalise_case lê text escreve text
WordReport params: text="", lowercase=True, top_n=3
- load_text lê - escreve text
- CleanText(lowercase=...) (subprocesso)
- count_words lê text escreve counts
- build_report lê counts escreve report
4. Verifique o plano
- Toda chave de contexto que uma etapa lê é escrita por uma etapa anterior.
- Todo parâmetro que uma etapa usa está nos parâmetros desse processo.
- Um subprocesso recebe seus parâmetros do pai como argumentos nomeados,
ex.:
CleanText(lowercase=self.params["lowercase"]).
Mostre o plano ao usuário se a solicitação foi vaga e, em seguida, siga a
skill create-process.