* feat: support role args
We can use role args to pass some additional arguments to the prompt.
```
- name: convert:json:yaml
prompt: convert __ARG1__ below to __ARG2__
```
`:json:yaml` is `role args`. It has two args:
- arg1 `json`, it will replace __ARG1__ in prompt
- arg2 `yaml`, it will replace __ARG2__ in prompt
```
〉.role convert:json:yaml
name: convert:json:yaml
prompt: convert json below to yaml
temperature: null
〉.role convert:yaml:json
name: convert:yaml:json
prompt: convert yaml below to json
temperature: null
```
different role args, will generate different prompts.
* small updates
1. embeded prompt
use __INPUT__ placeholder
will generate one user message when send to gpt
```
- name: shell
prompt: >
I want you to act as a linux shell expert.
Q: How to unzip a file
A: unzip file.zip
Q: __INPUT__
A:
```
2. system prompt
no __INPUT__ placeholder
will generate on system message and one user message when send to gpt
```
- name: shell
prompt: |
I want you to act as a linux shell expert.
I want you to answer only with bash code.
Do not write explanations.
```