Packages
fnord
0.9.40
0.9.40
0.9.39
0.9.38
0.9.37
0.9.36
0.9.35
0.9.34
0.9.33
0.9.32
0.9.31
0.9.30
0.9.29
0.9.28
0.9.27
0.9.26
0.9.25
0.9.24
0.9.23
0.9.22
0.9.21
0.9.20
0.9.19
0.9.18
0.9.17
0.9.16
0.9.15
0.9.14
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.99
0.8.98
0.8.97
0.8.96
0.8.95
0.8.94
0.8.93
0.8.92
0.8.91
0.8.90
0.8.89
0.8.88
0.8.87
0.8.86
0.8.85
0.8.84
0.8.83
0.8.82
0.8.81
0.8.80
0.8.79
0.8.78
0.8.77
0.8.76
0.8.75
0.8.74
0.8.73
0.8.72
0.8.71
0.8.70
0.8.69
0.8.68
0.8.67
0.8.66
0.8.65
0.8.64
0.8.63
0.8.62
0.8.61
0.8.60
0.8.59
0.8.58
0.8.57
0.8.56
0.8.55
0.8.54
0.8.53
0.8.52
0.8.51
0.8.50
0.8.49
0.8.48
0.8.47
0.8.46
0.8.45
0.8.44
0.8.43
0.8.42
0.8.41
0.8.40
0.8.39
0.8.38
0.8.37
0.8.36
0.8.35
0.8.34
0.8.33
0.8.32
0.8.31
0.8.30
0.8.29
0.8.27
0.8.26
0.8.25
0.8.24
0.8.23
0.8.22
0.8.21
0.8.20
0.8.19
0.8.18
0.8.17
0.8.16
0.8.15
0.8.14
0.8.13
0.8.12
0.8.11
0.8.1
0.8.0
0.7.24
0.7.23
0.7.22
0.7.21
0.7.20
0.7.19
0.7.18
0.7.17
0.7.16
0.7.15
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
0.7.7
0.7.6
0.7.5
0.7.3
0.7.2
0.7.1
0.7.0
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.1
0.6.0
0.5.9
0.5.8
0.5.7
0.5.6
0.5.5
0.5.4
0.5.3
0.5.2
0.5.1
0.5.0
0.4.44
0.4.43
0.4.42
0.4.41
0.4.40
0.4.39
0.4.38
0.4.37
0.4.36
0.4.35
0.4.34
0.4.33
0.4.32
0.4.30
0.4.29
0.4.28
0.4.27
0.4.26
0.4.25
0.4.24
0.4.23
0.4.22
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.0
AI code archaeology
Current section
Files
Jump to
Current section
Files
lib/ai/agent/motd.ex
defmodule AI.Agent.MOTD do
@behaviour AI.Agent
@model AI.Model.fast()
@prompt """
You are the MOTD Agent, an AI agent within a larger application that is comprised of multiple coordinated agents.
Your role is to provide a humorous, off-color message of the day (MOTD) based on the user's prompt.
You will be provided with a prompt that the user sent to the Coordinating Agent.
Do NOT respond to the prompt directly.
Instead, use the prompt to infer the topic of the conversation.
Your goal is to create a humorous MOTD that is relevant or pokes fun at to the topic of the prompt.
# Instructions
- Select a **real** quote from a **real** historical figure.
- **Invent a brief, fictional and humorous scenario** related to software development or programming where the quote would be relevant.
- The scenario should be a made-up situation involving coding, debugging, technology, etc.
- The scenario should be relevant and related to the user's prompt.
- Attribute the quote to the real person, but as though speaking from the made-up scenario.
- Example: "I have not failed. I've just found 10,000 ways that won't work." - Thomas Edison, on the importance of negative path testing."
- Don't just use my example. Be creative. Sheesh.
- Every now and then, just for fun, make up a slightly off-putting quote about how AI is subverting people's ability to think critically.
Or a short poem about AI takes advantage of our laziness to displace us as a species.
Just to freak people out a little bit.
# Output Template
```
### MOTD
> “[quote]” - [speaker], [briefly state made-up scenario]
```
DO NOT include ANY additional text or explanations.
Just provide the formatted MOTD.
"""
@impl AI.Agent
def get_response(opts) do
with {:ok, agent} <- Map.fetch(opts, :agent),
{:ok, user_prompt} <- Map.fetch(opts, :prompt) do
user_prompt = """
This was the user's prompt:
#{user_prompt}
-----
Do not respond to the prompt directly.
Create your MOTD based on the topic of the prompt.
"""
AI.Agent.get_completion(agent,
log_msgs: false,
log_tool_calls: false,
model: @model,
messages: [
AI.Util.system_msg(@prompt),
AI.Util.user_msg(user_prompt)
]
)
|> case do
{:ok, %{response: response}} -> {:ok, response}
{:error, reason} -> {:error, reason}
end
end
end
end