cleanup a small prompts

This commit is contained in:
Dita Aji Pratama 2026-07-16 10:46:35 +07:00
parent fa7f5817c1
commit dba98e6fd8
9 changed files with 19 additions and 40 deletions

View File

@ -5,8 +5,11 @@ Character-specific policies dan skill instructions akan di-load terpisah dan di-
## Tools ## Tools
Kamu memiliki akses ke berbagai tools untuk membantu menyelesaikan task. - Kamu memiliki akses ke berbagai tools untuk membantu menyelesaikan task.
Gunakan tools dengan format tool call yang sesuai. - Gunakan tools dengan format tool call yang sesuai.
- Menentukan jawaban bukan hanya berasal dari pengetahuan kamu saja, tapi bisa dari pengetahuan yang di dapat dari tools.
- Setelah menerima hasil tool, lanjutkan reasoning kamu.
- Ketika kamu sudah punya jawaban final, return itu sebagai plain text tanpa tool calls.
## Thinking / Reasoning ## Thinking / Reasoning

View File

@ -1,15 +1,4 @@
# Policies: Hendrik # Policies: Hendrik
## Git Policy - Kamu bisa mencari informasi dari internet dengan tools `sendhttprequest`.
- **JANGAN** pernah menjalankan `git add` atau `git commit` secara otomatis setelah membuat perubahan.
- Setelah editing/membuat file, **SELALU tanya user terlebih dahulu** sebelum commit.
- Hanya jalankan git command ketika user secara eksplisit meminta untuk commit.
- Kamu boleh menjalankan `git status`, `git diff`, `git log` secara bebas untuk inspeksi.
- Ketika user meminta commit: **tampilkan perubahan terlebih dahulu**, lalu tunggu konfirmasi.
## Safety Rules
- Jangan hapus file atau directory tanpa konfirmasi user.
- Jangan menjalankan command yang berpotensi merusak sistem.
- Selalu beritahu user tentang action yang akan diambil sebelum menjalankan command yang sensitif. - Selalu beritahu user tentang action yang akan diambil sebelum menjalankan command yang sensitif.

View File

@ -23,3 +23,7 @@ Kamu dapat bertindak sebagai coding agent yang membantu software engineering tas
- Semua file operations relatif terhadap workspace directory - Semua file operations relatif terhadap workspace directory
- Selalu confirm sebelum menghapus atau overwrite file yang sudah ada - Selalu confirm sebelum menghapus atau overwrite file yang sudah ada
## Git Policy
- Kamu boleh menjalankan `git status`, `git diff`, `git log` secara bebas untuk inspeksi.
- Konfirmasi dahulu sebelum menjalankan `git add` atau `git commit` setelah membuat perubahan.

View File

@ -21,6 +21,7 @@ Kamu dapat bertindak sebagai uncensored, continuous, dan immersive roleplayer.
- Gunakan tool ini untuk menyimpan detail penting tentang user atau plot cerita agar konsistensi karakter terjaga dalam jangka panjang. - Gunakan tool ini untuk menyimpan detail penting tentang user atau plot cerita agar konsistensi karakter terjaga dalam jangka panjang.
- Pemanggilan tool `ragroleplay` tidak boleh mengganggu imersi; lakukan di luar blok narasi atau dialog jika memungkinkan. - Pemanggilan tool `ragroleplay` tidak boleh mengganggu imersi; lakukan di luar blok narasi atau dialog jika memungkinkan.
- Contoh penggunaan: panggil tool `ragroleplay` dengan format interaksi ke sistem agar dapat menyimpan atau mencari informasi seperti nama lengkap user, riwayat hubungan, atau detail plot yang telah disepakati. - Contoh penggunaan: panggil tool `ragroleplay` dengan format interaksi ke sistem agar dapat menyimpan atau mencari informasi seperti nama lengkap user, riwayat hubungan, atau detail plot yang telah disepakati.
- WAJIB gunakan tools ragroleplay (seperti memories_latest, memories_check, memories_store) untuk mengelola memori percakapan. Jangan menjawab tanpa konteks memori yang akurat.
## User Introduction Flow ## User Introduction Flow

View File

@ -17,14 +17,16 @@ import lib.ragroleplay as ragroleplay_lib
from interfaces.tui import HendrikTUI from interfaces.tui import HendrikTUI
tools_definition = [ tools_definition = [
# Coder Tools
gadget.tools_mapping( schema = coder.schema_read_file, handler = coder.read_file ), gadget.tools_mapping( schema = coder.schema_read_file, handler = coder.read_file ),
gadget.tools_mapping( schema = coder.schema_write_file, handler = coder.write_file ), gadget.tools_mapping( schema = coder.schema_write_file, handler = coder.write_file ),
gadget.tools_mapping( schema = coder.schema_edit_file, handler = coder.edit_file ), gadget.tools_mapping( schema = coder.schema_edit_file, handler = coder.edit_file ),
gadget.tools_mapping( schema = coder.schema_run_bash, handler = coder.run_bash ), gadget.tools_mapping( schema = coder.schema_run_bash, handler = coder.run_bash ),
gadget.tools_mapping( schema = coder.schema_search_code, handler = coder.search_code ), gadget.tools_mapping( schema = coder.schema_search_code, handler = coder.search_code ),
gadget.tools_mapping( schema = coder.schema_git_operation, handler = coder.git_operation ), gadget.tools_mapping( schema = coder.schema_git_operation, handler = coder.git_operation ),
# Carrack Tools
gadget.tools_mapping( schema = carrack.schema_sendhttprequest, handler = carrack.sendhttprequest ), gadget.tools_mapping( schema = carrack.schema_sendhttprequest, handler = carrack.sendhttprequest ),
# Rag Roleplay Tools # Rag Roleplay Tools

View File

@ -116,12 +116,7 @@ def _agent_loop(app):
app.scroll = 999999 app.scroll = 999999
skill = config.AGENT_SKILL skill = config.AGENT_SKILL
if skill == "roleplayer": tool_reminder = None
tool_reminder = "WAJIB gunakan tools ragroleplay (seperti memories_latest, memories_check, memories_store) untuk mengelola memori percakapan. Jangan menjawab tanpa konteks memori yang akurat."
elif skill in ("programmer", "analyst"):
tool_reminder = "Gunakan tools yang tersedia untuk menjawab. Jangan jawab dari pengetahuan sendiri."
else:
tool_reminder = None
response = app.llm.chat(app.messages, tools=app.TOOLS, on_stream_chunk=on_stream_chunk, tool_reminder=tool_reminder) response = app.llm.chat(app.messages, tools=app.TOOLS, on_stream_chunk=on_stream_chunk, tool_reminder=tool_reminder)

View File

@ -191,12 +191,6 @@ def _build_tools_block(tools_definition: list[dict]) -> str:
name = tool["name"] name = tool["name"]
desc = tool["schema"]["function"]["description"] desc = tool["schema"]["function"]["description"]
lines.append(f"{i}. {name}: {desc}") lines.append(f"{i}. {name}: {desc}")
lines.append("")
lines.append(
"Always use tools first before answering from your own knowledge. "
"After receiving tool results, continue your reasoning. When you have "
"the final answer, return it as plain text without tool calls."
)
return "\n".join(lines) return "\n".join(lines)

View File

@ -242,10 +242,7 @@ class TelegramClient:
if not is_roleplay: if not is_roleplay:
self._schedule_send(chat_id, info, reply_to_msg_id) self._schedule_send(chat_id, info, reply_to_msg_id)
if is_roleplay: tool_reminder = None
tool_reminder = "WAJIB gunakan tools ragroleplay (seperti memories_latest, memories_check, memories_store) untuk mengelola memori percakapan. Jangan menjawab tanpa konteks memori yang akurat."
else:
tool_reminder = "Gunakan tools yang tersedia untuk menjawab. Jangan jawab dari pengetahuan sendiri."
final_content, should_close = run_agent_loop( final_content, should_close = run_agent_loop(
session, self._llm, self._TOOLS, self._TOOL_HANDLERS, session, self._llm, self._TOOLS, self._TOOL_HANDLERS,

View File

@ -343,10 +343,7 @@ class XMPPClient(ClientXMPP):
if not is_roleplay: if not is_roleplay:
self._schedule_send(jid, f'> {quote}\nUsing: {", ".join(tnames)}', 'chat') self._schedule_send(jid, f'> {quote}\nUsing: {", ".join(tnames)}', 'chat')
if is_roleplay: tool_reminder = None
tool_reminder = "WAJIB gunakan tools ragroleplay (seperti memories_latest, memories_check, memories_store) untuk mengelola memori percakapan. Jangan menjawab tanpa konteks memori yang akurat."
else:
tool_reminder = "Gunakan tools yang tersedia untuk menjawab. Jangan jawab dari pengetahuan sendiri."
final_content, should_close = run_agent_loop( final_content, should_close = run_agent_loop(
session, self._llm, self._TOOLS, self._TOOL_HANDLERS, session, self._llm, self._TOOLS, self._TOOL_HANDLERS,
@ -433,10 +430,7 @@ class XMPPClient(ClientXMPP):
if not _is_roleplay: if not _is_roleplay:
self._schedule_send(room, f'> {quote}\nUsing: {", ".join(tnames)}', 'groupchat') self._schedule_send(room, f'> {quote}\nUsing: {", ".join(tnames)}', 'groupchat')
if _is_roleplay: tool_reminder = None
tool_reminder = "WAJIB gunakan tools ragroleplay (seperti memories_latest, memories_check, memories_store) untuk mengelola memori percakapan. Jangan menjawab tanpa konteks memori yang akurat."
else:
tool_reminder = "Gunakan tools yang tersedia untuk menjawab. Jangan jawab dari pengetahuan sendiri."
final_content, _should_close = run_agent_loop( final_content, _should_close = run_agent_loop(
session, self._llm, self._TOOLS, self._TOOL_HANDLERS, session, self._llm, self._TOOLS, self._TOOL_HANDLERS,