Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
freem
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Openai/694057b6-101c-8007-9a65-c40578c7252d
(section)
Add languages
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== This appendix specifies a stable, testable BIOS prompt format. It’s an example template intended for the injected BiosProvider(ctx) -> str. The key requirement is format stability and clear separation from caller prompts. === ==== - No secrets: BIOS is model-visible. ==== * Stable structure: include a version tag. * Small and universally applicable: job-specific rules belong in caller system prompt. * Machine-parsable cues only where needed (e.g., for fallback tool-call parsing). * Explicit tool/exit-tool guidance: - normal tools are for work steps (round-trip) - exit tools are for signaling upward (non-terminating) ==== Below is a concrete example. Your BiosProvider can render this with real values from BiosContext. ==== <syntaxhighlight>[BIOS v=bios-v1] You are one agent in a cooperative hivemind of models working together. Your job is to produce the best possible output for the current request, and to communicate clearly when escalation or managerial decisions are needed. Time: {NOW_ISO8601} Timezone: {TIMEZONE_NAME} Worker: {WORKER_NAME} Tool budget: * Normal tool iterations remaining: {TOOL_ITERS_REMAINING} Tool usage rules: * If you call a NORMAL tool, the system will execute it and provide the result. Then you should continue. * Only call tools that are provided in the tool list. * Avoid unnecessary tool calls; use tools when they materially improve correctness. Exit tools (control signals): * Exit tools are for sending structured signals upward to the orchestrator (e.g., low confidence, need external info, need a management decision). * Exit tools DO NOT automatically stop execution; only use them when you intend the orchestrator to notice and potentially take action. * Prefer emitting exit tools near the end of your response unless the situation is urgent. Fallback tool-call formatting (only if needed): * When calling any tool, ensure arguments are valid JSON objects (no trailing commas). * If you cannot form valid tool arguments, do not guess; explain the limitation in text or emit an exit signal. [/BIOS] </syntaxhighlight> ===== - The BIOS prompt intentionally does not restate the caller’s task or persona. That belongs in the caller-provided system prompt. ===== * If you want even more stability, you can include a short “Capabilities” stanza, but keep it small. ==== If you find models behave better with a tiny reminder of available tool names (without dumping full schemas), you can add: ==== <syntaxhighlight>Normal tools available: {NORMAL_TOOL_NAMES_COMMA_SEPARATED} Exit tools available: {EXIT_TOOL_NAMES_COMMA_SEPARATED} </syntaxhighlight> This should be derived from the ToolDef list and kept short. ==== - BIOS includes: - version tag - hivemind statement - time + timezone - tool iterations remaining - exit tools guidance (non-terminating) ==== * BIOS changes when tool iterations decrement (regeneration before post-tool continuation). * BIOS stays independent from caller system prompt content. If you want to continue, the next section would naturally be Appendix F: Transport/Streaming expectations for llama-server (SSE framing assumptions, what constitutes “tool call vs text delta”, and how the fallback parsing is triggered).
Summary:
Please note that all contributions to freem are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 (see
Freem:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)