Code: Select all
import time
import random
class TinyAgent:
def __init__(self):
# primitive memory: a list of (user_input, tool, result)
self.memory = []
# tools the agent can use
self.tools = {
"echo": self.tool_echo,
"reverse": self.tool_reverse,
"think": self.tool_think
}
# --- tools ---
def tool_echo(self, text):
return f"ECHO: {text}"
def tool_reverse(self, text):
return text[::-1]
def tool_think(self, text):
# deliberately odd “thinking” tool
words = text.split()
random.shuffle(words)
return " ".join(words)
# --- decision policy ---
def decide(self, user_input):
"""
Tiny decision engine.
Swap this for something smarter later.
"""
if "reverse" in user_input:
return ("reverse", user_input.replace("reverse", "").strip())
if "think" in user_input:
return ("think", user_input.replace("think", "").strip())
return ("echo", user_input)
# --- main loop ---
def run(self):
print("TinyAgent online. Type 'quit' to exit.")
while True:
user_input = input("You: ")
if user_input.lower() == "quit":
break
tool_name, arg = self.decide(user_input)
result = self.tools[tool_name](arg)
# store memory
self.memory.append((user_input, tool_name, result))
print(f"[{tool_name.upper()}] -> {result}")
time.sleep(0.1)
print("\nMemory log:")
for m in self.memory:
print(m)
if __name__ == "__main__":
agent = TinyAgent()
agent.run()