mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
[codex] allow AGENTS.md and skills to authorize delegation (#30274)
Prompt update of MAv2 to include agents.md and skills more explicitly should mimic: https://github.com/openai/codex/pull/27919
This commit is contained in:
committed by
GitHub
Unverified
parent
a938d5f607
commit
79a8ffdbf7
@@ -1817,7 +1817,9 @@ async fn turn_start_ignores_deprecated_multi_agent_mode() -> Result<()> {
|
||||
.single_request()
|
||||
.message_input_texts("developer");
|
||||
assert!(developer_texts.iter().any(|text| {
|
||||
text.contains("Do not spawn sub-agents unless the user explicitly asks for sub-agents")
|
||||
text.contains(
|
||||
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents",
|
||||
)
|
||||
}));
|
||||
assert!(
|
||||
!developer_texts
|
||||
@@ -1898,8 +1900,9 @@ async fn thread_start_ignores_deprecated_multi_agent_mode() -> Result<()> {
|
||||
.message_input_texts("developer");
|
||||
assert!(developer_texts.iter().any(|text| {
|
||||
text.contains(MULTI_AGENT_MODE_OPEN_TAG)
|
||||
&& text
|
||||
.contains("Do not spawn sub-agents unless the user explicitly asks for sub-agents")
|
||||
&& text.contains(
|
||||
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents",
|
||||
)
|
||||
}));
|
||||
assert!(
|
||||
!developer_texts
|
||||
|
||||
@@ -3,7 +3,7 @@ use codex_protocol::config_types::MultiAgentMode;
|
||||
use codex_protocol::protocol::MULTI_AGENT_MODE_CLOSE_TAG;
|
||||
use codex_protocol::protocol::MULTI_AGENT_MODE_OPEN_TAG;
|
||||
|
||||
const EXPLICIT_REQUEST_ONLY_MULTI_AGENT_MODE_TEXT: &str = "Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.";
|
||||
const EXPLICIT_REQUEST_ONLY_MULTI_AGENT_MODE_TEXT: &str = "Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.";
|
||||
const NO_MULTI_AGENT_MODE_TEXT: &str = "Multi-agent delegation mode instructions are inactive. Any earlier multi-agent mode developer message no longer applies.";
|
||||
const PROACTIVE_MULTI_AGENT_MODE_TEXT: &str = "Proactive multi-agent delegation is active. Any earlier instruction requiring an explicit user request before spawning sub-agents no longer applies. Use sub-agents when parallel work would materially improve speed or quality. This mode remains active until a later multi-agent mode developer message changes it.";
|
||||
|
||||
|
||||
@@ -673,7 +673,7 @@ fn spawn_agent_tool_description(
|
||||
{tool_description}
|
||||
This spawn_agent tool provides you access to sub-agents that inherit your current model by default. Do not set the `model` field unless the user explicitly asks for a different model or there is a clear task-specific reason. You should follow the rules and guidelines below to use this tool.
|
||||
|
||||
Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.
|
||||
Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.
|
||||
{agent_role_usage_hint}
|
||||
|
||||
### Designing delegated subtasks
|
||||
|
||||
@@ -21,7 +21,7 @@ use core_test_support::wait_for_event;
|
||||
use pretty_assertions::assert_eq;
|
||||
use serde_json::Value;
|
||||
|
||||
const NO_SPAWN_TEXT: &str = "Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work.";
|
||||
const NO_SPAWN_TEXT: &str = "Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work.";
|
||||
const PROACTIVE_TEXT: &str = "Proactive multi-agent delegation is active.";
|
||||
|
||||
fn add_ultra_reasoning(model_info: &mut ModelInfo) {
|
||||
|
||||
@@ -858,7 +858,7 @@ async fn tool_search_returns_deferred_v1_multi_agent_tools() -> Result<()> {
|
||||
.and_then(Value::as_str)
|
||||
.expect("spawn_agent description should be present");
|
||||
assert!(description.contains(
|
||||
"Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work."
|
||||
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work."
|
||||
));
|
||||
assert!(description.contains("### Designing delegated subtasks"));
|
||||
assert!(!description.contains("### When to delegate vs. do the subtask yourself"));
|
||||
|
||||
@@ -213,7 +213,7 @@ async fn spawn_agent_description_lists_visible_models_and_reasoning_efforts() ->
|
||||
);
|
||||
assert!(
|
||||
description.contains(
|
||||
"Do not spawn sub-agents unless the user explicitly asks for sub-agents, delegation, or parallel agent work."
|
||||
"Do not spawn sub-agents unless the user or applicable AGENTS.md/skill instructions explicitly ask for sub-agents, delegation, or parallel agent work."
|
||||
),
|
||||
"expected explicit authorization rule in spawn_agent description: {description:?}"
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user