added default system prompt
This commit is contained in:
@@ -38,9 +38,23 @@ def num(cfg, k, d):
|
||||
try: return type(d)(cfg.get(k, 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"):
|
||||
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)}}}
|
||||
TOOLS = [T("shell_exec", "Run a shell command, return output and exit code.", {"command": {"type": "string"}}),
|
||||
|
||||
@@ -78,11 +78,25 @@ func getCfg(path string) 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 {
|
||||
if d, err := os.ReadFile(path); err == nil {
|
||||
return strings.TrimSpace(string(d))
|
||||
}
|
||||
return "You are Bantam, a tiny, powerful AI agent."
|
||||
return defaultSystemPrompt
|
||||
}
|
||||
|
||||
func c(t string, cs ...int) string {
|
||||
|
||||
Reference in New Issue
Block a user