mirror of
https://github.com/openai/codex.git
synced 2026-11-13 14:46:14 +00:00
Add task context to shadow skill selection (#39008)
## Why Short continuation prompts such as `continue` do not contain enough context for skill selection on their own. ## What changed - Add the `task_context_fusion_v1` shadow selector, combining the current request with up to two prior substantive requests and recently relevant skills. - Record explicit skill intent and successful skill invocations for future turns, while excluding same-turn observations from predictions. - Bound retained requests, augmented queries, and skill history, including safe truncation at UTF-8 character boundaries. ## Testing Add unit and extension tests for continuation prompts, explicit intent, turn isolation, cold thread state, bounded history, and unchanged control selectors. GitOrigin-RevId: 72eca3f0d64620a0d24e95d5675f126ac982f8c7
This commit is contained in:
1 parent
def7ed5572
commit
21cfd369ef
8 files changed
+524
-9
No files matched your search
@@ -23,6 +23,7 @@ use crate::provider::SkillListQuery;
|
||||
use crate::provider::SkillReadRequest;
|
||||
use crate::shadow_selection_experiment::RecentSkillInvocations;
|
||||
use crate::shadow_selection_experiment::ShadowSelectionTurnState;
|
||||
use crate::shadow_selection_experiment::ShadowTaskContext;
|
||||
use crate::sources::SkillProviders;
|
||||
|
||||
const MAX_CACHED_ORCHESTRATOR_RESOURCES: usize = 100;
|
||||
@@ -41,6 +42,7 @@ pub(crate) struct SkillsThreadState {
|
||||
orchestrator_cache: Mutex<Option<Arc<OrchestratorGenerationCache>>>,
|
||||
shadow_selection_turn: Mutex<Option<ShadowSelectionTurn>>,
|
||||
pub(crate) recent_skill_invocations: Arc<RecentSkillInvocations>,
|
||||
pub(crate) shadow_task_context: Arc<ShadowTaskContext>,
|
||||
}
|
||||
|
||||
impl SkillsThreadState {
|
||||
@@ -53,6 +55,7 @@ impl SkillsThreadState {
|
||||
orchestrator_cache: Mutex::new(None),
|
||||
shadow_selection_turn: Mutex::new(None),
|
||||
recent_skill_invocations: Arc::new(RecentSkillInvocations::default()),
|
||||
shadow_task_context: Arc::new(ShadowTaskContext::default()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user