357 lines
17 KiB
Markdown
357 lines
17 KiB
Markdown
# agent2 閫氱敤鑳藉姏鎺ュ叆鏂囨。
|
||
|
||
## 1. 鏂囨。鐩殑
|
||
|
||
鏈枃妗g敤浜庤鏄?`agent2` 鐩綍涓嬧€滈€氱敤鑳藉姏鈥濈殑杈圭晫銆佹斁缃綅缃€佹帴鍏ユ柟寮忎笌缁存姢瑕佹眰銆?
|
||
|
||
杩欓噷鐨勨€滈€氱敤鑳藉姏鈥濈壒鎸囷細
|
||
|
||
1. 涓嶅彧鏈嶅姟浜庢煇涓€涓妧鑳介摼璺紝鑰屾槸鍙兘琚?`chat`銆乣quicknote`銆乣taskquery`銆乣schedule` 绛夊涓ā鍧楀叡鍚屽鐢ㄧ殑鑳藉姏銆?
|
||
2. 涓庡叿浣撲笟鍔¤涔夊急鑰﹀悎锛屾娊鍑烘潵鍚庝笉浼氬己琛屾妸鏌愪釜鍗曚竴鎶€鑳界殑 prompt銆佺姸鎬佸瓧娈点€佷笟鍔¤鍒欐薄鏌撳埌鍏跺畠妯″潡銆?
|
||
3. 鎶藉嚭鏉ュ悗锛岃兘澶熸槑鏄惧噺灏戞牱鏉夸唬鐮併€侀檷浣庨噸澶嶅疄鐜板拰鍚庣画杩佺Щ鎴愭湰銆?
|
||
|
||
鏈枃妗d笉璐熻矗鎻忚堪鏌愪釜鍏蜂綋鎶€鑳界殑涓氬姟娴佺▼锛屾妧鑳借嚜韬殑鍥剧紪鎺掋€佺姸鎬佸瓧娈点€乸rompt 缁嗚妭锛屽簲缁х画鏀惧湪瀵瑰簲鎶€鑳界洰褰曟垨瀵瑰簲鍐崇瓥璁板綍涓淮鎶ゃ€?
|
||
|
||
## 2. 褰撳墠鐩綍鍒嗗眰
|
||
|
||
### 2.1 鎬诲叆鍙e眰
|
||
|
||
鏂囦欢锛?
|
||
|
||
- `entrance.go`
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 浣滀负 `agent2` 妯″潡瀵逛笂灞傛湇鍔$殑缁熶竴鍏ュ彛銆?
|
||
2. 璐熻矗鎶娾€滆矾鐢卞櫒 + 鍚勬妧鑳?handler鈥濊閰嶅埌涓€璧枫€?
|
||
3. 涓嶈礋璐e叿浣撴妧鑳介€昏緫锛屼笉璐熻矗鐩存帴璋冩ā鍨嬶紝涔熶笉璐熻矗宸ュ叿鎵ц銆?
|
||
|
||
閫傚悎鏀句粈涔堬細
|
||
|
||
1. 妯″潡绾у叆鍙e璞°€?
|
||
2. 閫氱敤娉ㄥ唽鏂规硶銆?
|
||
3. 涓庘€滄€诲垎鍙戔€濇湁鍏崇殑鏈€灏忛棬闈㈠皝瑁呫€?
|
||
|
||
涓嶉€傚悎鏀句粈涔堬細
|
||
|
||
1. 鏌愪釜鍏蜂綋鎶€鑳界殑鑺傜偣閫昏緫銆?
|
||
2. 鍏蜂綋涓氬姟 DAO 璋冪敤銆?
|
||
3. 鏌愪釜鎶€鑳界嫭鍗犵殑 prompt 鎴栫姸鎬佹満銆?
|
||
|
||
### 2.2 璺敱灞?
|
||
|
||
鐩綍锛?
|
||
|
||
- `router/`
|
||
|
||
褰撳墠閫氱敤鑳藉姏锛?
|
||
|
||
1. `Dispatcher`
|
||
2. `Resolver`
|
||
3. `AgentRequest / AgentResponse`
|
||
4. `Action` 涓庤矾鐢辨帶鍒剁爜瑙f瀽
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 缁熶竴澶勭悊鈥滆姹傝璧板摢鏉℃妧鑳介摼璺€濈殑鍒嗘祦闂銆?
|
||
2. 鎻愪緵瀵逛笂灞傜ǔ瀹氱殑鍔ㄤ綔鏋氫妇涓庤姹傚3缁撴瀯銆?
|
||
3. 鍏煎杩佺Щ鏈熺殑鏂版棫 action 璇箟锛岄伩鍏嶄笂灞傛湇鍔$洿鎺ヤ緷璧栨棫鐩綍銆?
|
||
|
||
閫傚悎鏀句粈涔堬細
|
||
|
||
1. 閫氱敤璺敱鍗忚銆?
|
||
2. 鎺у埗鐮佽В鏋愩€?
|
||
3. 鍒嗗彂鍣ㄣ€?
|
||
4. 鎵€鏈夋妧鑳藉叡鐢ㄧ殑璺敱璇锋眰/鍝嶅簲缁撴瀯銆?
|
||
|
||
涓嶉€傚悎鏀句粈涔堬細
|
||
|
||
1. 鏌愪釜鎶€鑳藉唴閮ㄧ殑浜屾鍒ゆ柇銆?
|
||
2. 鏌愪釜鎶€鑳戒笓灞炵殑 prompt銆?
|
||
3. 鎶€鑳藉唴閮ㄩ噸璇曟垨鐘舵€佹祦杞€昏緫銆?
|
||
|
||
### 2.3 妯″瀷浜や簰灞?
|
||
|
||
鐩綍锛?
|
||
|
||
- `llm/`
|
||
|
||
褰撳墠閫氱敤鑳藉姏锛?
|
||
|
||
1. `Client`
|
||
2. `GenerateOptions`
|
||
3. `TextResult`
|
||
4. `BuildSystemUserMessages`
|
||
5. `GenerateJSON`
|
||
6. `ParseJSONObject`
|
||
7. `MergeUsage / CloneUsage`
|
||
8. `ark.go` 涓殑 Ark 閫傞厤瀹炵幇
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 缁熶竴鏀跺彛妯″瀷璋冪敤鎺ュ彛锛屽噺灏戝悇鎶€鑳介噸澶嶆嫾瑁?`messages`銆乣thinking`銆乣temperature`銆乣max_tokens`銆?
|
||
2. 鎻愪緵閫氱敤 JSON 瑙f瀽涓?usage 鍚堝苟鑳藉姏銆?
|
||
3. 鎶婂叿浣撳巶鍟?SDK 缁嗚妭灏介噺鍘嬪湪閫傞厤灞傦紝涓嶅悜涓婂眰鑺傜偣鎵╂暎銆?
|
||
|
||
閫傚悎鏀句粈涔堬細
|
||
|
||
1. 鎵€鏈夋妧鑳介兘鍙兘澶嶇敤鐨勬ā鍨嬭皟鐢ㄥ3銆?
|
||
2. 閫氱敤 JSON 鎻愬彇涓庡弽搴忓垪鍖栥€?
|
||
3. 娴佸紡/闈炴祦寮忚皟鐢ㄧ殑缁熶竴閫傞厤鎺ュ彛銆?
|
||
4. usage 鏀舵暃銆佺┖鍝嶅簲閿欒鏍煎紡鍖栥€?
|
||
|
||
涓嶉€傚悎鏀句粈涔堬細
|
||
|
||
1. 鍙湇鍔′簬鏌愪竴涓妧鑳界殑 prompt 鏂囨銆?
|
||
2. 鏌愪竴涓妧鑳界壒鏈夌殑杈撳嚭缁撴瀯浣撱€?
|
||
3. 鏌愪竴涓妧鑳界嫭鍗犵殑鈥滄垚鍔熸枃妗堟鼎鑹测€濊鍒欍€?
|
||
|
||
璇存槑锛?
|
||
|
||
1. 濡傛灉鍙槸鈥滃熀浜庨€氱敤 `Client` 鍐嶅寘涓€灞傛妧鑳戒笓鐢ㄥ嚱鏁扳€濓紝渚嬪 quicknote 鐨勮仛鍚堣鍒掕皟鐢紝杩欑浠g爜鍙互鏀惧湪 `llm/`锛屼絾鏂囦欢鍚嶅簲鏄庣‘甯︽妧鑳借涔夛紝閬垮厤璇涓哄畬鍏ㄩ€氱敤鑳藉姏銆?
|
||
2. 鐪熸璺ㄦ妧鑳藉鐢ㄧ殑鍐呭锛屼紭鍏堟矇鍒?`client.go`銆乣ark.go`銆乣json.go` 杩欑被鍏叡鏂囦欢銆?
|
||
|
||
### 2.4 娴佽緭鍑哄崗璁眰
|
||
|
||
鐩綍锛?
|
||
|
||
- `stream/`
|
||
|
||
褰撳墠閫氱敤鑳藉姏锛?
|
||
|
||
1. OpenAI 鍏煎 chunk DTO
|
||
2. reasoning chunk 鏋勯€?
|
||
3. assistant chunk 鏋勯€?
|
||
4. finish / done 杈撳嚭
|
||
5. 闃舵鎺ㄩ€?emitter
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 缁熶竴澶勭悊 SSE / OpenAI 鍏煎杈撳嚭鏍煎紡銆?
|
||
2. 璁?service銆乬raph銆乶ode 鍙叧蹇冣€滄垜瑕佹帹浠€涔堝唴瀹光€濓紝鑰屼笉鏄嚜宸辨嫾 JSON銆?
|
||
3. 涓哄悗缁墠绔崗璁崌绾ч鐣欑粺涓€淇敼鐐广€?
|
||
|
||
閫傚悎鏀句粈涔堬細
|
||
|
||
1. chunk DTO銆?
|
||
2. reasoning / content / finish 鐨勭粺涓€灏佽銆?
|
||
3. 闃舵娑堟伅鎺ㄩ€佸櫒鎺ュ彛銆?
|
||
|
||
涓嶉€傚悎鏀句粈涔堬細
|
||
|
||
1. 鏌愪釜鎶€鑳界殑闃舵鍛藉悕琛ㄣ€?
|
||
2. 鏌愪釜鎶€鑳戒笓灞炵殑姝f枃鏂囨銆?
|
||
3. 鍏蜂綋涓氬姟鐘舵€佸璞°€?
|
||
|
||
### 2.5 鍏变韩宸ュ叿灞?
|
||
|
||
鐩綍锛?
|
||
|
||
- `shared/`
|
||
|
||
褰撳墠閫氱敤鑳藉姏锛?
|
||
|
||
1. 鏃堕棿鏍煎紡鍖栦笌鍒嗛挓绾у綊涓€鍖?
|
||
2. 娣辨嫹璐?
|
||
3. 閫氱敤閲嶈瘯杈呭姪
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 鎵胯浇绾伐鍏峰瀷銆佹棤涓氬姟璇箟銆佹棤鎶€鑳借€﹀悎鐨勮緟鍔╁嚱鏁般€?
|
||
2. 浣滀负澶氫釜鎶€鑳介兘鑳界洿鎺ュ鐢ㄧ殑鏈€搴曞眰宸ュ叿灞傘€?
|
||
|
||
閫傚悎鏀句粈涔堬細
|
||
|
||
1. 鏃堕棿宸ュ叿銆?
|
||
2. clone 宸ュ叿銆?
|
||
3. retry 甯姪鍑芥暟銆?
|
||
4. 绾嚱鏁板瀷灏忓伐鍏枫€?
|
||
|
||
涓嶉€傚悎鏀句粈涔堬細
|
||
|
||
1. 澶瑰甫鍏蜂綋鎶€鑳藉瓧娈靛悕鐨勫伐鍏枫€?
|
||
2. 渚濊禆鏁版嵁搴撱€佺紦瀛樸€佹ā鍨嬨€佽矾鐢卞姩浣滅殑閫昏緫銆?
|
||
|
||
### 2.6 鎶€鑳藉唴閮ㄥ眰
|
||
|
||
鐩綍锛?
|
||
|
||
- `graph/`
|
||
- `node/`
|
||
- `prompt/`
|
||
- `model/`
|
||
- `chat/`
|
||
|
||
鑱岃矗锛?
|
||
|
||
1. 杩欏嚑灞備富瑕佹壙杞芥妧鑳藉唴閮ㄨ兘鍔涖€?
|
||
2. 鍗充娇鍏朵腑鏌愪釜鏂囦欢鐜板湪浣嶄簬 `agent2` 鏍逛綋绯诲唴锛屽彧瑕佸畠甯︽槑鏄炬妧鑳借涔夛紝灏变笉瑕佽鍒ゆ垚鈥滈€氱敤鑳藉姏鈥濄€?
|
||
|
||
鍒ゆ柇鏍囧噯锛?
|
||
|
||
1. 濡傛灉浠g爜閲屽ぉ鐒剁粦瀹氭煇涓妧鑳界姸鎬佺粨鏋勩€佹煇涓妧鑳介樁娈靛悕銆佹煇涓妧鑳?prompt 杈撳嚭濂戠害锛屼竴鑸笉搴旂‖鎶芥垚閫氱敤鑳藉姏銆?
|
||
2. 濡傛灉鍙槸澶氫釜鎶€鑳介兘閲嶅浜嗗悓涓€娈垫牱鏉夸唬鐮侊紝涓旀娊鍑哄悗涓嶄細璁╂娊璞″彉褰紝灏卞簲璇ヨ瘎浼颁笅娌夈€?
|
||
|
||
### 2.7 鍥惧眰涓庤妭鐐瑰眰鐨勫崗浣滅害瀹?
|
||
|
||
杩欐槸褰撳墠 `agent2` 宸茬粡鏄庣‘涓嬫潵鐨勭粨鏋勭害鏉燂細
|
||
|
||
1. `graph/` 鍙礋璐b€滅敾鍥锯€濓細
|
||
- 娉ㄥ唽鑺傜偣
|
||
- 娣诲姞杈?
|
||
- 娣诲姞鍒嗘敮
|
||
- 缂栬瘧涓庤繍琛屽浘
|
||
2. `graph/` 涓嶅啀璐熻矗锛?
|
||
- 棰濆鍒涘缓 runner 閫傞厤灞?
|
||
- 鍦ㄥ浘鍐呯户缁爢璇锋眰绾т緷璧栬浆鍙戦€昏緫
|
||
- 鐩存帴瀹炵幇鑺傜偣涓氬姟
|
||
3. `node/` 璐熻矗锛?
|
||
- 瀹氫箟鑺傜偣瀹瑰櫒锛堜緥濡?`QuickNoteNodes`锛?
|
||
- 閫氳繃瀵硅薄鏂规硶鐩存帴鍚?graph 鏆撮湶鍙寕杞借妭鐐?
|
||
- 鍦ㄨ妭鐐规柟娉曞唴閮ㄦ秷璐硅姹傜骇渚濊禆
|
||
|
||
鎺ㄨ崘褰㈡€侊細
|
||
|
||
1. `graph` 閲岀洿鎺ユ寕锛?
|
||
- `nodes.Intent`
|
||
- `nodes.Priority`
|
||
- `nodes.Persist`
|
||
- `nodes.Exit`
|
||
2. 鍒嗘敮涔熺洿鎺ユ寕锛?
|
||
- `nodes.NextAfterIntent`
|
||
- `nodes.NextAfterPersist`
|
||
3. 涓嶆帹鑽愬啀棰濆寮曞叆 `runner -> node` 杩欑杞帴灞傘€?
|
||
|
||
杩欐牱璁捐鐨勭洰鐨勶細
|
||
|
||
1. 閬垮厤 graph 鏂囦欢闅忕潃妯″潡鍙樺鍐嶆闀挎垚鈥滃ぇ瑁呴厤鏂囦欢鈥濄€?
|
||
2. 璁┾€滆姹傜骇渚濊禆娉ㄥ叆鈥濆洖鍒?node 灞傝嚜宸辩殑鑺傜偣瀹瑰櫒閲屻€?
|
||
3. 璁╅槄璇昏矾寰勭ǔ瀹氭垚锛?
|
||
- 鍏堢湅 graph 鐭ラ亾娴佺▼鍥?
|
||
- 鍐嶈烦 node 鐪嬭妭鐐规柟娉曞疄鐜?
|
||
- 涓嶉渶瑕佸湪 graph 鍜?runner 涓ゅ眰涔嬮棿鏉ュ洖璺炽€?
|
||
|
||
## 3. 浠€涔堝簲璇ユ娊鎴愰€氱敤鑳藉姏
|
||
|
||
婊¤冻浠ヤ笅浠绘剰涓ゆ潯锛屼竴鑸氨搴旇璁ょ湡璇勪及鎶藉叕鍏卞眰锛?
|
||
|
||
1. 鍦ㄧ浜屼釜鎶€鑳介噷鍑虹幇浜嗘槑鏄鹃噸澶嶅疄鐜般€?
|
||
2. 杩欐閫昏緫鏈川涓婁笉渚濊禆鏌愪釜鎶€鑳界嫭鍗犵姸鎬併€?
|
||
3. 鎶藉嚭鏉ュ悗鎺ュ彛鍙互鍋氬埌鈥滃叆鍙傚皯銆佽亴璐f竻銆佽涔夌ǔ瀹氣€濄€?
|
||
4. 涓婂眰閲嶅浠g爜涓昏鏄湪鍋氭牱鏉胯閰嶏紝鑰屼笉鏄笟鍔″喅绛栥€?
|
||
|
||
鍏稿瀷渚嬪瓙锛?
|
||
|
||
1. 妯″瀷娑堟伅鎷艰銆?
|
||
2. JSON 鎻愬彇涓庤В鏋愩€?
|
||
3. usage 鍚堝苟銆?
|
||
4. OpenAI chunk 鏋勯€犮€?
|
||
5. 鏃堕棿褰掍竴鍖栥€?
|
||
6. 娣辨嫹璐濅笌閲嶈瘯宸ュ叿銆?
|
||
7. 鎬诲叆鍙h矾鐢变笌鎶€鑳藉垎鍙戙€?
|
||
|
||
## 4. 浠€涔堜笉搴旇寮鸿鎶藉叕鍏卞眰
|
||
|
||
鍑虹幇浠ヤ笅鎯呭喌鏃讹紝涓嶈涓轰簡鈥滅湅璧锋潵澶嶇敤鈥濊€岀‖鎶斤細
|
||
|
||
1. 鎶藉畬涔嬪悗鍑芥暟绛惧悕鍙嶈€岃濉炰竴鍫嗘妧鑳戒笓灞炲弬鏁般€?
|
||
2. 鍏叡灞傚紑濮嬬煡閬撴煇涓妧鑳界殑鐘舵€佸瓧娈点€侀樁娈靛悕銆侀敊璇枃妗堛€?
|
||
3. 琛ㄩ潰鐩镐技锛屽疄鍒欐瘡涓妧鑳界殑涓氬姟绾︽潫瀹屽叏涓嶅悓銆?
|
||
4. 涓轰簡澶嶇敤鑰屽紩鍏ュぇ閲?`if action == xxx`銆乣switch skill` 杩欑被鍒嗘敮銆?
|
||
|
||
鍏稿瀷渚嬪瓙锛?
|
||
|
||
1. quicknote 鐨勪紭鍏堢骇鍒ゅ畾杈撳嚭缁撴瀯銆?
|
||
2. taskquery 鐨勬煡璇㈣鍒掑瓧娈点€?
|
||
3. schedule 鐨勬帓绋嬬姸鎬佸揩鐓с€?
|
||
4. 鏌愪釜鎶€鑳界壒鏈夌殑 prompt 妯℃澘銆?
|
||
|
||
## 5. 鏂板閫氱敤鑳藉姏鐨勬帴鍏ユ楠?
|
||
|
||
### 5.1 鍏堝垽鏂槸鍚﹀€煎緱鎶?
|
||
|
||
1. 鍏堢‘璁よ繖娈甸€昏緫鏄惁宸茬粡鍦ㄧ浜屽鍑虹幇閲嶅銆?
|
||
2. 鍐嶇‘璁ゅ畠鏄笉鏄彲浠ヨ劚绂诲崟涓€鎶€鑳借涔夌嫭绔嬪瓨鍦ㄣ€?
|
||
3. 濡傛灉鏆傛椂杩樹笉鑳芥娊锛屼篃瑕佸湪浠g爜娉ㄩ噴鎴栧喅绛栬褰曢噷鍐欐槑鍘熷洜锛岄伩鍏嶅悗闈㈢涓夋閲嶅鏃跺繕璁般€?
|
||
|
||
### 5.2 閫夋嫨钀界偣鐩綍
|
||
|
||
鎸夎亴璐d紭鍏堣惤鍒颁互涓嬬洰褰曪細
|
||
|
||
1. 璺敱鍗忚涓庡垎鍙戯細`router/`
|
||
2. 妯″瀷璋冪敤涓?JSON 瑙f瀽锛歚llm/`
|
||
3. 娴佽緭鍑哄崗璁細`stream/`
|
||
4. 绾伐鍏凤細`shared/`
|
||
5. 鎶€鑳戒笓灞炰絾鍙鐢ㄧ殑澹筹細鏀惧搴旀妧鑳借涔夋枃浠讹紝涓嶈浼鎴愬畬鍏ㄥ叕鍏卞眰
|
||
|
||
### 5.3 瀹氫箟鏈€灏忔帴鍙?
|
||
|
||
1. 鍏堝畾涔夋渶灏忓彲澶嶇敤鎺ュ彛锛屽彧鏆撮湶涓婂眰鐪熸闇€瑕佺殑鑳藉姏銆?
|
||
2. 涓嶈鎶婁笅灞?SDK銆丏AO銆佺紦瀛樺疄鐜扮粏鑺傜洿鎺ラ€忎紶鍒版墍鏈夎皟鐢ㄦ柟銆?
|
||
3. 浼樺厛璁┾€滃叕鍏卞眰鐭ラ亾寰楁洿灏戔€濓紝鑰屼笉鏄鈥滀笂灞備负浜嗗鐢ㄨ杩煡閬撴洿澶氣€濄€?
|
||
|
||
### 5.4 琛ユ敞閲?
|
||
|
||
蹇呴』鍐欐竻妤氾細
|
||
|
||
1. 杩欎釜閫氱敤鑳藉姏璐熻矗浠€涔堛€?
|
||
2. 涓嶈礋璐d粈涔堛€?
|
||
3. 涓轰粈涔堝畠閫傚悎鎶藉埌鍏叡灞傘€?
|
||
4. 澶辫触鏃剁敱璋佸厹搴曘€?
|
||
|
||
### 5.5 琛ユ祴璇?
|
||
|
||
鑷冲皯瑕嗙洊锛?
|
||
|
||
1. 姝e父璺緞銆?
|
||
2. 鍏抽敭杈圭晫銆?
|
||
3. 鏄庣‘鐨勫け璐ヨ矾寰勩€?
|
||
|
||
濡傛灉杩佺Щ鏈熸殏鏃舵病娉曞畬鏁磋ˉ榻愶紝涔熻浼樺厛淇濊瘉鍏叡鍑芥暟鏈韩鏈夋渶灏忓洖褰掓祴璇曘€?
|
||
|
||
### 5.6 鏇存柊鏈枃妗?
|
||
|
||
鍙鍑虹幇浠ヤ笅浠讳竴鎯呭喌锛屽繀椤诲悓姝ユ洿鏂版湰鏂囨。锛?
|
||
|
||
1. 鏂板浜嗕竴涓€氱敤鑳藉姏銆?
|
||
2. 璋冩暣浜嗘煇涓€氱敤鑳藉姏鐨勮惤鐐圭洰褰曘€?
|
||
3. 淇敼浜嗘煇涓叕鍏辨帴鍙g殑鑱岃矗杈圭晫銆?
|
||
4. 鍒犳帀浜嗘煇涓棫鐨勫叕鍏卞疄鐜帮紝骞剁敱鏂板疄鐜版浛浠c€?
|
||
|
||
## 6. 鎺ㄨ崘鎺ュ叆妯℃澘
|
||
|
||
鍙互鎸変笅闈㈣繖涓€濊矾鎺ュ叆锛?
|
||
|
||
1. 鍏堝湪鎶€鑳戒唬鐮侀噷璇嗗埆閲嶅鐗囨銆?
|
||
2. 鎻愮偧鍑衡€滄渶灏忓叕鍏卞嚱鏁?/ 鏈€灏忓叕鍏辩粨鏋勪綋 / 鏈€灏忓叕鍏辨帴鍙b€濄€?
|
||
3. 鏀捐繘 `router / llm / stream / shared` 涔嬩竴銆?
|
||
4. 鍏堣鏂版妧鑳芥帴杩欎釜鍏叡瀹炵幇銆?
|
||
5. 鍐嶉€愭鍥炴敹鏃ф妧鑳介噷閲嶅鐨勮€佷唬鐮併€?
|
||
6. 鏈€鍚庤ˉ鏈枃妗o紝璇存槑杩欎釜鑳藉姏鐜板湪褰掕皝绠°€佷笂灞傝鎬庝箞鐢ㄣ€?
|
||
|
||
## 7. 褰撳墠缁存姢瑕佹眰
|
||
|
||
1. `agent2` 鐨勫叕鍏卞眰瑕佸敖閲忎繚鎸佲€滀綆鑰﹀悎銆佸己娉ㄩ噴銆佹槗杩佺Щ鈥濄€?
|
||
2. 鏂版妧鑳藉紑鍙戞椂锛屼紭鍏堝鐢ㄨ繖閲屽凡鏈夌殑鍏叡鑳藉姏锛岃€屼笉鏄洿鎺ュ鍒舵棫鎶€鑳戒唬鐮併€?
|
||
3. 濡傛灉鍙戠幇鏌愭閫昏緫宸茬粡鍑虹幇绗簩浠藉疄鐜帮紝搴斾紭鍏堣瘎浼版娊鍏叡灞傦紝鑰屼笉鏄户缁啓绗笁浠姐€?
|
||
4. 鍚庣画鍙鎵╁睍閫氱敤鑳藉姏锛屽繀椤诲悓姝ユ洿鏂版湰鏂囨。锛屽惁鍒欒涓鸿縼绉绘垨閲嶆瀯鏈畬鎴愩€?
|
||
|
||
## 8. 2026-03-25 schedule_refine 鎺ュ叆璁板綍
|
||
|
||
1. 鏂板 `agent2/node/schedule_refine_impl` 鐩綍锛屽鍒舵壙鎺ュ師 `agent/schedulerefine` 鍏ㄩ噺杩炵画寰皟瀹炵幇锛坓raph + runner + state + nodes + tool + prompt锛夈€?2. `agent2/node/schedule_refine.go` 浣滀负 node 灞傜粺涓€闂ㄩ潰锛氬澶栨毚闇?`ScheduleRefineState`銆乣ScheduleRefineGraphRunInput`銆乣NewScheduleRefineState`銆乣RunScheduleRefineGraph`銆乣FinalHardCheckPassed`銆?3. `agent2/node/schedule_refine_tool.go` 淇濈暀鍙屾枃浠舵牸灞€涓殑宸ュ叿鎵胯浇浣嶏紝褰撳墠宸ュ叿鍏蜂綋瀹炵幇涓嬫矇鍦?`agent2/node/schedule_refine_impl/tool.go`銆?4. `agent2/graph/schedule.go` 宸叉柊澧?`RunScheduleRefineGraph`锛岄€氳繃 node 闂ㄩ潰杩涘叆杩炵画寰皟鍥俱€?5. `service/agentsvc/agent_schedule_refine.go` 宸插垏娴佸埌 agent2锛氱姸鎬佸垵濮嬪寲銆佸浘鎵ц銆佺粓瀹¢€氳繃鍒ゅ畾鍧囦笉鍐嶄緷璧栨棫 `agent/schedulerefine`銆?6. 鍏煎璇存槑锛氭棫 `agent/schedulerefine` 鐩綍鏆備繚鐣欙紝浣滀负杩佺Щ鏈熷苟琛屽疄鐜帮紝褰撳墠鐢熶骇鍏ュ彛宸叉寚鍚?agent2 閾捐矾銆?
|
||
|
||
## 9. 2026-03-26 schedule_refine 缁撴瀯淇锛堣ˉ璁帮級
|
||
|
||
1. 绉婚櫎 `agent2/node/schedule_refine_impl` 鏍圭洰褰曞疄鐜帮紝鏀逛负鏀惧埌 `agent2/node/schedule_refine_impl`銆?2. `agent2/node/schedule_refine.go` 缁х画淇濈暀缁熶竴闂ㄩ潰鑱岃矗锛岄伩鍏?service/graph 鐩存帴渚濊禆缁嗚妭瀹炵幇銆?3. `agent2/node/schedule_refine_tool.go` 淇濈暀鍙屾枃浠舵牸灞€锛屽伐鍏峰疄鐜颁綅缃敼涓?`agent2/node/schedule_refine_impl/tool.go`銆?4. `agent2/graph/schedule.go` 娉ㄩ噴宸叉竻鐞嗕贡鐮侊紝graph 浠呰礋璐f牎楠屼笌缂栨帓銆?5. `service/agentsvc/agent_schedule_refine.go` 鍏ュ彛淇濇寔涓嶅彉锛屼粛瀹屽叏涓庢棫 `backend/agent/*` 瑙h€︺€?
|
||
|
||
## 10. 2026-03-26 schedule_refine 正式落地记录
|
||
|
||
1. `agent2/node/schedule_refine.go` 已从“兼容门面”升级为正式节点实现,直接承载 contract / plan / slice / route / react / hard_check / summary 全链路逻辑。
|
||
2. `agent2/node/schedule_refine_tool.go` 已承接全部微调工具实现,当前 `schedule_refine` 在 `node` 层落为“双文件结构”,不再依赖 `_impl` 子目录。
|
||
3. `agent2/model/schedule_refine.go` 继续作为 refine 状态与默认预算的正式归属,`node` 层仅复用状态别名与初始化入口,避免再维护第二份 state。
|
||
4. `agent2/prompt/schedule_refine.go` 已同步承接 refine 的正式 prompt,删除了 `_impl/prompt.go` 这一份重复定义。
|
||
5. `agent2/graph/schedule.go` 已改为像 `schedule_plan` 一样在 graph 层真实组图,调用 `NewScheduleRefineNodes` 挂载节点,不再绕回 `_impl` 的独立运行入口。
|
||
6. 当前生产切流点保持不变:`service/agentsvc/agent_schedule_refine.go` 仍从 agent2 入口进入,但底层已完全切到新架构实现。
|
||
7. 本轮评估过把“模型调用 / JSON 解析 / ReAct 输出恢复 / 截断文本”等 helper 继续上提到更高公共层;暂未抽出的原因是 `schedule_refine` 与 `schedule_plan` 在输出契约、错误恢复、工具门禁、终审收口上仍存在较强领域差异,当前强行抽象会把公共层做成“带业务分支的半成品”,因此先保留在各自能力域内,等待下一轮出现更稳定的第三处复用后再统一抽象。
|
||
|