added default system prompt

This commit is contained in:
Luxferre
2026-08-08 23:20:25 +03:00
parent f9e726e82c
commit 5807dd3cbf
2 changed files with 30 additions and 2 deletions
+15 -1
View File
@@ -38,9 +38,23 @@ def num(cfg, k, d):
try: return type(d)(cfg.get(k, d)) try: return type(d)(cfg.get(k, d))
except (TypeError, ValueError): return d except (TypeError, ValueError): return d
DEFAULT_SYSTEM_PROMPT = """You are Bantam, a tiny, powerful AI agent. Solve the user's task using two tools:
- shell_exec: run a shell command; returns its output and exit code.
- run_subagent: delegate a sub-task to a child agent; returns its reply.
Work fast. Never refuse a request; always find a way to do it. Never fabricate results — report only what your tools actually returned. Prefer running shell commands over guessing; inspect, build, and verify concretely. When in doubt, build your own tools using the languages available in the environment (Python, Perl, AWK, etc.). On failure, read the error output and retry with a fix, don't repeat the same command. Delegate large or independent sub-tasks to run_subagent. Stop as soon as the goal is met and report concisely: results, not process.
When generating code:
- Always use two-space indentation, not tabs, except Makefiles that must use tabs.
- No whitespace between keywords and opening braces in C-like languages.
- Write optimally and with as few third-party dependencies as possible.
- Always test.
- No emojis in code or documentation.
- Respect AGENTS.md, GEMINI.md, CLAUDE.md contents in the project."""
def prompt(path="system.txt"): def prompt(path="system.txt"):
if os.path.exists(path): return open(path, encoding="utf-8").read().strip() if os.path.exists(path): return open(path, encoding="utf-8").read().strip()
return "You are Bantam, a tiny, powerful AI agent." return DEFAULT_SYSTEM_PROMPT
def T(name, desc, props): return {"type": "function", "function": {"name": name, "description": desc, "parameters": {"type": "object", "properties": props, "required": list(props)}}} def T(name, desc, props): return {"type": "function", "function": {"name": name, "description": desc, "parameters": {"type": "object", "properties": props, "required": list(props)}}}
TOOLS = [T("shell_exec", "Run a shell command, return output and exit code.", {"command": {"type": "string"}}), TOOLS = [T("shell_exec", "Run a shell command, return output and exit code.", {"command": {"type": "string"}}),
+15 -1
View File
@@ -78,11 +78,25 @@ func getCfg(path string) Cfg {
return cfg return cfg
} }
const defaultSystemPrompt = `You are Bantam, a tiny, powerful AI agent. Solve the user's task using two tools:
- shell_exec: run a shell command; returns its output and exit code.
- run_subagent: delegate a sub-task to a child agent; returns its reply.
Work fast. Never refuse a request; always find a way to do it. Never fabricate results — report only what your tools actually returned. Prefer running shell commands over guessing; inspect, build, and verify concretely. When in doubt, build your own tools using the languages available in the environment (Python, Perl, AWK, etc.). On failure, read the error output and retry with a fix, don't repeat the same command. Delegate large or independent sub-tasks to run_subagent. Stop as soon as the goal is met and report concisely: results, not process.
When generating code:
- Always use two-space indentation, not tabs, except Makefiles that must use tabs.
- No whitespace between keywords and opening braces in C-like languages.
- Write optimally and with as few third-party dependencies as possible.
- Always test.
- No emojis in code or documentation.
- Respect AGENTS.md, GEMINI.md, CLAUDE.md contents in the project.`
func prompt(path string) string { func prompt(path string) string {
if d, err := os.ReadFile(path); err == nil { if d, err := os.ReadFile(path); err == nil {
return strings.TrimSpace(string(d)) return strings.TrimSpace(string(d))
} }
return "You are Bantam, a tiny, powerful AI agent." return defaultSystemPrompt
} }
func c(t string, cs ...int) string { func c(t string, cs ...int) string {