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))
|
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"}}),
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user