79 lines
2.1 KiB
Python
79 lines
2.1 KiB
Python
"""
|
||
Temporäres Test-Script für den CodingAgent – kann danach gelöscht werden.
|
||
|
||
Ausführen:
|
||
python run_agent.py
|
||
|
||
Steuerung:
|
||
Enter → Aktion ausführen (approve)
|
||
Text + Enter → Feedback geben (reject + replan)
|
||
stop → Abbrechen
|
||
"""
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
sys.path.insert(0, str(Path(__file__).parent))
|
||
|
||
from backend.agent.coding_agent import CodingAgent, WORKSPACE
|
||
|
||
|
||
def run():
|
||
print("\n" + "=" * 60)
|
||
print(" CodingAgent – Interaktiver Test")
|
||
print("=" * 60)
|
||
print(f" Workspace: {WORKSPACE}")
|
||
print(" [Enter] = Aktion ausführen | Text = Feedback | 'stop' = Abbruch")
|
||
print("=" * 60 + "\n")
|
||
|
||
task = input("Aufgabe eingeben: ").strip()
|
||
if not task:
|
||
print("Keine Aufgabe eingegeben. Beende.")
|
||
return
|
||
|
||
agent = CodingAgent()
|
||
agent.start_task(task)
|
||
print(f"\nAgent gestartet für: '{task}'\n")
|
||
|
||
step = 0
|
||
while not agent.is_done:
|
||
step += 1
|
||
print(f"\n{'─' * 60}")
|
||
print(f" Schritt {step} – Agent überlegt...")
|
||
|
||
action = agent.propose_next_action()
|
||
|
||
print(f"\n Thought : {action.get('thought', '')}")
|
||
print(f" Tool : {action.get('tool', '')}")
|
||
print(f" Arguments: {action.get('arguments', {})}")
|
||
print()
|
||
|
||
user_input = input(" [Enter]=ausführen | Text=Feedback | stop=Abbruch: ").strip()
|
||
|
||
if user_input.lower() in ("stop", "abort"):
|
||
print("\nAbgebrochen.")
|
||
break
|
||
|
||
if user_input:
|
||
agent.reject(user_input)
|
||
print(f" → Feedback injiziert. Agent plant neu.\n")
|
||
continue
|
||
|
||
result = agent.approve()
|
||
|
||
print(f"\n Resultat ({result['tool']}):")
|
||
print(f" {result['result'][:300]}{'...' if len(result['result']) > 300 else ''}")
|
||
|
||
if result["is_done"]:
|
||
print("\n" + "=" * 60)
|
||
print(" FERTIG!")
|
||
print(f" {result['result']}")
|
||
print("=" * 60)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
try:
|
||
run()
|
||
except KeyboardInterrupt:
|
||
print("\n\nUnterbrochen.")
|