mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-06-25 10:47:19 -07:00
feat(prompt-optimization): implement Data Layer MVP and Tool Alignment dataset
Established the "Heart" of the Prompt Optimization Pipeline by building a robust, extensible data infrastructure and a high-fidelity golden dataset. Key improvements: - Core Schema: Defined the `Scenario` interface in `data/schema.ts` supporting multiple negative failure modes, platform-specific shell contexts (Unix/Win32), and strict tool-call typing. - Optimization Manifest: Created `data/manifest.json` to define "No-Fly Zones" for the optimizer, protecting literal tool names and template variables, while providing descriptive context for validation. - Tool Alignment Dataset: Authored 113 scenarios in `data/tool_alignment.jsonl` across 20 tools, focusing on "Built-in over Shell" preference. Heavily weighted `replace` (12) and `write_file` (10) to enforce surgical editing. - Extensible Validator: Implemented `scripts/validate-data.ts` to provide real-time integrity checks and purpose-driven coverage reports. - Project Integration: Added `data:validate`, `data:format`, and `data:lint` scripts to package.json and updated ESLint config to cover the data directory.
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
{
|
||||
"project": "Gemini CLI Tool Alignment Optimization",
|
||||
"version": "1.0.0",
|
||||
"optimization_constraints": {
|
||||
"immutable_tokens": [
|
||||
"glob",
|
||||
"grep_search",
|
||||
"list_directory",
|
||||
"read_file",
|
||||
"run_shell_command",
|
||||
"write_file",
|
||||
"replace",
|
||||
"google_web_search",
|
||||
"write_todos",
|
||||
"web_fetch",
|
||||
"read_many_files",
|
||||
"save_memory",
|
||||
"get_internal_docs",
|
||||
"activate_skill",
|
||||
"ask_user",
|
||||
"exit_plan_mode",
|
||||
"enter_plan_mode",
|
||||
"codebase_investigator",
|
||||
"cli_help",
|
||||
"generalist"
|
||||
],
|
||||
"protected_variables": [
|
||||
"${FILE_PATH}",
|
||||
"${DIR_PATH}",
|
||||
"${PATTERN}",
|
||||
"${OLD_STRING}",
|
||||
"${NEW_STRING}",
|
||||
"${GREP_PATTERN}",
|
||||
"${SEARCH_PATTERN}"
|
||||
]
|
||||
},
|
||||
"data_inventory": {
|
||||
"target_samples_per_tool": 5,
|
||||
"overrides": {
|
||||
"replace": 12,
|
||||
"write_file": 10
|
||||
},
|
||||
"tools": {
|
||||
"glob": { "description": "Find files by glob pattern" },
|
||||
"grep_search": { "description": "Search text in files" },
|
||||
"list_directory": { "description": "List files in a directory" },
|
||||
"read_file": { "description": "Read a single file" },
|
||||
"run_shell_command": { "description": "Execute shell commands" },
|
||||
"write_file": { "description": "Write a complete file" },
|
||||
"replace": { "description": "Surgical text replacement" },
|
||||
"google_web_search": { "description": "Web search via Google" },
|
||||
"write_todos": { "description": "Manage subtasks" },
|
||||
"web_fetch": { "description": "Extract content from URLs" },
|
||||
"read_many_files": { "description": "Read multiple files" },
|
||||
"save_memory": { "description": "Global user preferences" },
|
||||
"get_internal_docs": { "description": "Gemini CLI internal docs" },
|
||||
"activate_skill": { "description": "Enable specialized skills" },
|
||||
"ask_user": { "description": "Interactive user questions" },
|
||||
"enter_plan_mode": { "description": "Start planning mode" },
|
||||
"exit_plan_mode": { "description": "Exit planning mode" },
|
||||
"codebase_investigator": {
|
||||
"description": "High-level architecture mapping"
|
||||
},
|
||||
"cli_help": { "description": "Assistance with Gemini CLI" },
|
||||
"generalist": { "description": "General purpose agent delegation" }
|
||||
},
|
||||
"file_descriptions": {
|
||||
"data/tool_alignment.jsonl": "Ensures the model selects the correct built-in tool over generic shell commands and optimizes for brevity."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user