Skip to main content

bamboo_engine/runtime/
task_evaluation.rs

1// TaskList Evaluation Module
2// 在 Agent Loop 每轮结束时,让 LLM 评估任务进度
3
4use bamboo_domain::TaskItemStatus;
5
6mod executor;
7mod message_builder;
8mod schema;
9mod token_estimation;
10mod update_parsing;
11
12/// 评估结果
13#[derive(Debug, Clone)]
14pub struct TaskEvaluationResult {
15    /// 是否需要评估(有 in_progress 的任务)
16    pub needs_evaluation: bool,
17    /// LLM 建议更新的项目
18    pub updates: Vec<TaskItemUpdate>,
19    /// LLM 的推理说明
20    pub reasoning: String,
21    /// Estimated prompt tokens consumed by the evaluation call
22    pub prompt_tokens: u64,
23    /// Estimated completion tokens consumed by the evaluation call
24    pub completion_tokens: u64,
25}
26
27#[derive(Debug, Clone)]
28pub struct TaskItemUpdate {
29    pub item_id: String,
30    pub status: TaskItemStatus,
31    pub notes: Option<String>,
32    pub evidence: Option<String>,
33    pub blocker: Option<String>,
34    pub criteria_met: Option<Vec<String>>,
35}
36
37pub use executor::evaluate_task_progress;
38pub use message_builder::build_task_evaluation_messages;
39pub use schema::get_task_evaluation_tools;
40
41#[cfg(test)]
42mod tests;